@foxford/ui 2.0.0-beta-38ffcd6-20220707 → 2.0.0-beta-e44eaea-20220707
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/dts/index.d.ts +5 -5
- package/index.cjs.js +1 -1
- package/index.cjs.js.map +1 -1
- package/mixins/responsive-property.js +1 -1
- package/mixins/responsive-property.js.map +1 -1
- package/mixins/shared.js +1 -1
- package/mixins/shared.js.map +1 -1
- package/package.json +1 -1
package/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/theme/colors.ts","../../src/theme/breakpoints.ts","../../src/theme/global-styled.ts","../../src/theme/index.ts","../../src/mixins/screen.ts","../../src/mixins/shared.ts","../../src/mixins/responsive-property.ts","../../src/mixins/color.ts","../../src/mixins/vAlign.ts","../../src/hooks/useClassname.ts","../../src/components/Icon/style.ts","../../src/components/Icon/images/book.module.svg","../../src/components/Icon/images/blackBoard.module.svg","../../src/components/Icon/images/burger.module.svg","../../src/components/Icon/images/eye.module.svg","../../src/components/Icon/images/email.module.svg","../../src/components/Icon/images/sort.module.svg","../../src/components/Icon/images/unsort.module.svg","../../src/components/Icon/images/person.module.svg","../../src/components/Icon/images/diamond.module.svg","../../src/components/Icon/images/diamondFilled.module.svg","../../src/components/Icon/images/diamondSolid.module.svg","../../src/components/Icon/images/infoInverse.module.svg","../../src/components/Icon/images/list.module.svg","../../src/components/Icon/images/login.module.svg","../../src/components/Icon/images/logout.module.svg","../../src/components/Icon/images/fire.module.svg","../../src/components/Icon/images/camps.module.svg","../../src/components/Icon/images/cart.module.svg","../../src/components/Icon/images/clock.module.svg","../../src/components/Icon/images/clockFilled.module.svg","../../src/components/Icon/images/courses.module.svg","../../src/components/Icon/images/discount.module.svg","../../src/components/Icon/images/externat.module.svg","../../src/components/Icon/images/headphones.module.svg","../../src/components/Icon/images/priceTag.module.svg","../../src/components/Icon/images/prof.module.svg","../../src/components/Icon/images/phone.module.svg","../../src/components/Icon/images/star.module.svg","../../src/components/Icon/images/settings.module.svg","../../src/components/Icon/images/student.module.svg","../../src/components/Icon/images/target.module.svg","../../src/components/Icon/images/textbook.module.svg","../../src/components/Icon/images/trophy.module.svg","../../src/components/Icon/images/message.module.svg","../../src/components/Icon/images/wallet.module.svg","../../src/components/Icon/images/edit.module.svg","../../src/components/Icon/images/copy.module.svg","../../src/components/Icon/images/page.module.svg","../../src/components/Icon/images/print.module.svg","../../src/components/Icon/images/objective.module.svg","../../src/components/Icon/images/present.module.svg","../../src/components/Icon/images/coins.module.svg","../../src/components/Icon/icons.tsx","../../src/components/Icon/Icon.tsx","../../src/mixins/display.ts","../../src/components/ActionBtn/style.ts","../../src/components/ActionBtn/ActionBtn.tsx","../../src/components/Text.Heading/Text.Heading.tsx","../../src/components/Spacer/style.ts","../../src/components/Spacer/Spacer.tsx","../../src/components/Anchor/style.ts","../../src/components/Anchor/Anchor.tsx","../../src/components/Text.Ellipse/style.ts","../../src/components/Text.Ellipse/Text.Ellipse.tsx","../../src/components/Text/style.ts","../../src/components/Text/Text.tsx","../../src/components/Amount/data/index.ts","../../src/components/Amount/style.ts","../../src/components/Amount/Amount.tsx","../../src/components/Arrow/images/arrow.module.svg","../../src/components/Arrow/style.ts","../../src/components/Arrow/Arrow.tsx","../../src/components/Avatar/utils/index.ts","../../src/components/Avatar/style.ts","../../src/components/Avatar/Avatar.tsx","../../src/components/Badge/style.ts","../../src/components/Badge/Badge.tsx","../../src/components/Button/constants.ts","../../src/components/Button/helpers.ts","../../src/components/Button/style.ts","../../src/components/Button/default.ts","../../src/components/Button/Button.tsx","../../src/components/Container/style.ts","../../src/components/Container/Container.tsx","../../src/components/Modal/style.ts","../../src/components/Modal/adapter.tsx","../../src/components/Modal/Modal.tsx","../../src/components/Modal/Close.tsx","../../src/components/Paper/style.ts","../../src/components/Paper/Paper.tsx","../../src/components/Progress.Segmented/style.ts","../../src/components/Progress.Segmented/Progress.Segmented.tsx","../../src/components/Progress.Circle/style.ts","../../src/components/Progress.Circle/Progress.Circle.tsx","../../src/components/Progress/style.ts","../../src/components/Progress/Progress.tsx","../../src/components/Scrollable/Scrollable.tsx","../../src/components/Section/style.ts","../../src/components/Section/Section.tsx","../../src/components/Separator/style.ts","../../src/components/Separator/Separator.tsx","../../src/components/Separator/SeparatorText.tsx","../../src/components/Spinner/style.ts","../../src/components/Spinner/Spinner.tsx","../../src/components/Switcher/style.ts","../../src/components/Switcher/Switcher.tsx","../../src/components/Tabs/style.ts","../../src/components/Tabs/TabsTab.tsx","../../src/components/Tabs/Tabs.tsx","../../src/components/Tooltip/tooltip-styles.ts","../../src/components/Tooltip/Tooltip.tsx","../../src/components/Tag/style.ts","../../src/components/Tag/Tag.tsx","../../src/components/ContextMenu.Multilevel/style.ts","../../src/components/ContextMenu.Multilevel/Heading.tsx","../../src/components/ContextMenu.Multilevel/SubHeading.tsx","../../src/components/ContextMenu.Multilevel/Controls.tsx","../../src/components/ContextMenu.Multilevel/ContextMenu.Multilevel.tsx","../../src/components/ContextMenu/style.ts","../../src/components/ContextMenu/Item.tsx","../../src/components/ContextMenu/ContextMenu.tsx","../../src/components/ContextMenu/tooltip-styles.ts","../../src/components/Input/constants.ts","../../src/components/Input/helpers.ts","../../src/components/Input/style.ts","../../src/components/Textarea/style.ts","../../src/components/Textarea/Textarea.tsx","../../src/components/Input.Phone/constants.ts","../../src/components/Input.Phone/Input.Phone.tsx","../../src/components/Input/Input.tsx","../../src/components/Radio/style.ts","../../src/components/Radio/Radio.tsx","../../src/components/Radio/Group.tsx","../../src/components/Checkbox/style.ts","../../src/components/Checkbox/Checkbox.tsx","../../src/components/Checkbox/Group.tsx","../../src/components/Select/style.ts","../../src/components/Select/Select.tsx","../../src/theme/theme-provider.tsx"],"sourcesContent":["import { HEX, RGB, RGBA } from '../shared/interfaces'\n\n/* eslint-disable no-unused-vars */\nexport enum ColorNames {\n facebook = 'facebook',\n twitter = 'twitter',\n youtube = 'youtube',\n instagrammagenta = 'instagrammagenta',\n instagramblue = 'instagramblue',\n instagrampurple = 'instagrampurple',\n instagramorange = 'instagramorange',\n instagramyellow = 'instagramyellow',\n pinterest = 'pinterest',\n googleplus = 'googleplus',\n linkedin = 'linkedin',\n vimeoblue = 'vimeoblue',\n vimeogreen = 'vimeogreen',\n vimeoorange = 'vimeoorange',\n vimeopink = 'vimeopink',\n tumblr = 'tumblr',\n snapchat = 'snapchat',\n whatsappgreen = 'whatsappgreen',\n whatsappteal1 = 'whatsappteal1',\n whatsappteal2 = 'whatsappteal2',\n foursquarepink = 'foursquarepink',\n foursquareblue = 'foursquareblue',\n swarm = 'swarm',\n skypeblue = 'skypeblue',\n skypegreen = 'skypegreen',\n android = 'android',\n stumbleupon = 'stumbleupon',\n flickrpink = 'flickrpink',\n flickrblue = 'flickrblue',\n yahoo = 'yahoo',\n soundcloud = 'soundcloud',\n spotifygreen = 'spotifygreen',\n spotifydarkgreen = 'spotifydarkgreen',\n dribbble = 'dribbble',\n reddit = 'reddit',\n deviantart = 'deviantart',\n pocket = 'pocket',\n quora = 'quora',\n quorablue = 'quorablue',\n slideshareorange = 'slideshareorange',\n slideshareblue = 'slideshareblue',\n telegram = 'telegram',\n fivehundredpx = 'fivehundredpx',\n listlyorange = 'listlyorange',\n listlyblue = 'listlyblue',\n vine = 'vine',\n vk = 'vk',\n ok = 'ok',\n mailru = 'mailru',\n white = 'white',\n black = 'black',\n tundora = 'tundora',\n paleSky = 'paleSky',\n bostonBlue = 'bostonBlue',\n atlantisBrightly = 'atlantisBrightly',\n cinnabar = 'cinnabar',\n sail = 'sail',\n bittersweet = 'bittersweet',\n turquoise = 'turquoise',\n dodgerBlue = 'dodgerBlue',\n mantis = 'mantis',\n azure = 'azure',\n bahamaBlue = 'bahamaBlue',\n shamrock = 'shamrock',\n olive = 'olive',\n copperRose = 'copperRose',\n cyan = 'cyan',\n plum = 'plum',\n hokeyPokey = 'hokeyPokey',\n monaLisa = 'monaLisa',\n mariner = 'mariner',\n heliotrope = 'heliotrope',\n dandelion = 'dandelion',\n fruitSalad = 'fruitSalad',\n fuchsiaBlue = 'fuchsiaBlue',\n persianGreen = 'persianGreen',\n watermelon = 'watermelon',\n tropaz = 'tropaz',\n lima = 'lima',\n mintTulip = 'mintTulip',\n carnationPink = 'carnationPink',\n paleRose = 'paleRose',\n deYork = 'deYork',\n peppermint = 'peppermint',\n cornflowerBlue = 'cornflowerBlue',\n colonialWhite = 'colonialWhite',\n cherokee = 'cherokee',\n supernova = 'supernova',\n picasso = 'picasso',\n bilobaFlower = 'bilobaFlower',\n linkWater = 'linkWater',\n mineShaft = 'mineShaft',\n silver = 'silver',\n alto = 'alto',\n mercury = 'mercury',\n wildSand = 'wildSand',\n whiteGray = 'whiteGray',\n alabaster = 'alabaster',\n whiteLilac = 'whiteLilac',\n atlantis = 'atlantis',\n yellowOrange = 'yellowOrange',\n mystic = 'mystic',\n pomegranate = 'pomegranate',\n oliveDrab = 'oliveDrab',\n curious = 'curious',\n orangePeel = 'orangePeel',\n nebula = 'nebula',\n seaNymph = 'seaNymph',\n chromeWhite = 'chromeWhite',\n onahau = 'onahau',\n citrineWhite = 'citrineWhite',\n coralReef = 'coralReef',\n creemBrulee = 'creemBrulee',\n frangipani = 'frangipani',\n yourPink = 'yourPink',\n periwinkleGray = 'periwinkleGray',\n baliHai = 'baliHai',\n primary = 'primary',\n accent = 'accent',\n profession = 'profession',\n professionDark = 'professionDark',\n camps = 'camps',\n campsDark = 'campsDark',\n courses = 'courses',\n coursesDark = 'coursesDark',\n openLesson = 'openLesson',\n openLessonDark = 'openLessonDark',\n externat = 'externat',\n externatDark = 'externatDark',\n olympiad = 'olympiad',\n olympiadDark = 'olympiadDark',\n textbook = 'textbook',\n textbookDark = 'textbookDark',\n tutors = 'tutors',\n tutorsDark = 'tutorsDark',\n training = 'training',\n trainingDark = 'trainingDark',\n mathematics = 'mathematics',\n physics = 'physics',\n informatics = 'informatics',\n chemistry = 'chemistry',\n biology = 'biology',\n english = 'english',\n russian = 'russian',\n history = 'history',\n society = 'society',\n geography = 'geography',\n developing = 'developing',\n literature = 'literature',\n intersubject = 'intersubject',\n primarySchool = 'primarySchool',\n recommended = 'recommended',\n astronomy = 'astronomy',\n ecology = 'ecology',\n technology = 'technology',\n languages = 'languages',\n art = 'art',\n physicalCulture = 'physicalCulture',\n logic = 'logic',\n businessLogic = 'businessLogic',\n rap = 'rap',\n ikt = 'ikt',\n kids = 'kids',\n fgos = 'fgos',\n blue = 'blue',\n red = 'red',\n green = 'green',\n grey = 'grey',\n darkgrey = 'darkgrey',\n lightgrey = 'lightgrey',\n superlightgrey = 'superlightgrey',\n}\n\nexport const socialColors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n facebook: '#0561af',\n twitter: '#00bff3',\n youtube: '#ff0000',\n instagrammagenta: '#c32aa3',\n instagramblue: '#4c5fd7',\n instagrampurple: '#7232bd',\n instagramorange: '#f46f30',\n instagramyellow: '#ffdc7d',\n pinterest: '#cb2027',\n googleplus: '#df4a32',\n linkedin: '#007bb6',\n vimeoblue: '#45bbff',\n vimeogreen: '#aad450',\n vimeoorange: '#f7b42c',\n vimeopink: '#f27490',\n tumblr: '#2c4762',\n snapchat: '#fffc00',\n whatsappgreen: '#25d366',\n whatsappteal1: '#075e54',\n whatsappteal2: '#128c7e',\n foursquarepink: '#fc4575',\n foursquareblue: '#2d5be3',\n swarm: '#ffb000',\n skypeblue: '#00aff0',\n skypegreen: '#7fba00',\n android: '#a4c639',\n stumbleupon: '#eb4924',\n flickrpink: '#f40083',\n flickrblue: '#006add',\n yahoo: '#430297',\n soundcloud: '#ff5500',\n spotifygreen: '#1ed760',\n spotifydarkgreen: '#1db954',\n dribbble: '#ea4c89',\n reddit: '#ff5700',\n deviantart: '#4a5d4e',\n pocket: '#ee4056',\n quora: '#aa2200',\n quorablue: '#2b6dad',\n slideshareorange: '#f7941e',\n slideshareblue: '#1191d0',\n telegram: '#0088cc',\n fivehundredpx: '#0099e5',\n listlyorange: '#df6d46',\n listlyblue: '#52b1b3',\n vine: '#00b489',\n vk: '#4d75a2',\n ok: '#ee8208',\n mailru: '#158DE2',\n})\n\nexport const colors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n white: '#ffffff',\n black: '#000000',\n tundora: '#4a4a4a',\n paleSky: '#697389',\n bostonBlue: '#0060d0',\n atlantisBrightly: '#99cc33',\n cinnabar: '#e00000',\n sail: '#a9dbf8',\n bittersweet: '#ff6666',\n turquoise: '#33cccc',\n dodgerBlue: '#33ccff',\n mantis: '#66cc66',\n azure: '#336699',\n bahamaBlue: '#006699',\n shamrock: '#33cc99',\n olive: '#999900',\n copperRose: '#996666',\n cyan: '#3399ff',\n plum: '#993399',\n hokeyPokey: '#cc9933',\n monaLisa: '#ff9999',\n mariner: '#3366cc',\n heliotrope: '#cc33ff',\n dandelion: '#ffce03',\n fruitSalad: '#49a15d',\n fuchsiaBlue: '#8d58bc',\n persianGreen: '#009999',\n watermelon: '#ff4679',\n tropaz: '#2863a8',\n lima: '#5fd0da',\n mintTulip: '#bfecf0',\n carnationPink: '#ffa6ce',\n paleRose: '#ffdcec',\n deYork: '#82d180',\n peppermint: '#cdedcc',\n cornflowerBlue: '#62aee9',\n colonialWhite: '#fdedd2',\n cherokee: '#fbd291',\n supernova: '#ffce03',\n picasso: '#ffeb9a',\n bilobaFlower: '#9fafe9',\n linkWater: '#d8dff6',\n transparent: 'transparent',\n mineShaft: '#333333',\n silver: '#b8b8b8',\n alto: '#d4d4d4',\n mercury: '#e9e9e9',\n wildSand: '#f6f6f6',\n whiteGray: '#eaeaea',\n alabaster: '#f8f8f8',\n whiteLilac: '#F6F7FB',\n atlantis: '#7fc92e',\n yellowOrange: '#ffb334',\n mystic: '#dcdfea',\n pomegranate: '#f94b28',\n oliveDrab: '#6ca82a',\n curious: '#007CEE',\n orangePeel: '#ff9900',\n nebula: '#d8e6e2',\n seaNymph: '#7ca79b',\n chromeWhite: '#daefc9',\n onahau: '#c6e6ff',\n citrineWhite: '#faf3dd',\n coralReef: '#c9c1a6',\n creemBrulee: '#ffe89e',\n frangipani: '#ffdcb5',\n yourPink: '#ffc2c2',\n periwinkleGray: '#d4d9ee',\n baliHai: '#8890b4',\n primary: '#ff732b',\n accent: '#1A96F6',\n})\n\nexport const unitColors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n profession: colors.mintTulip,\n professionDark: colors.lima,\n camps: colors.chromeWhite,\n campsDark: colors.atlantis,\n courses: colors.onahau,\n coursesDark: colors.cornflowerBlue,\n openLesson: colors.colonialWhite,\n openLessonDark: colors.cherokee,\n externat: colors.paleRose,\n externatDark: colors.carnationPink,\n olympiad: colors.yourPink,\n olympiadDark: colors.bittersweet,\n textbook: colors.picasso,\n textbookDark: colors.supernova,\n tutors: colors.linkWater,\n tutorsDark: colors.bilobaFlower,\n training: colors.peppermint,\n trainingDark: colors.deYork,\n mathematics: colors.orangePeel,\n physics: colors.curious,\n informatics: colors.turquoise,\n chemistry: colors.shamrock,\n biology: colors.mantis,\n english: colors.bittersweet,\n russian: colors.dodgerBlue,\n history: colors.bahamaBlue,\n society: colors.primary,\n geography: colors.copperRose,\n developing: colors.olive,\n literature: colors.cyan,\n intersubject: colors.plum,\n primarySchool: colors.hokeyPokey,\n recommended: colors.monaLisa,\n astronomy: colors.mariner,\n ecology: colors.atlantisBrightly,\n technology: colors.turquoise,\n languages: colors.bittersweet,\n art: colors.heliotrope,\n physicalCulture: colors.olive,\n logic: colors.dandelion,\n businessLogic: colors.fruitSalad,\n rap: colors.fuchsiaBlue,\n ikt: colors.persianGreen,\n kids: colors.watermelon,\n fgos: colors.tropaz,\n blue: colors.accent,\n red: colors.pomegranate,\n green: colors.atlantis,\n grey: colors.silver,\n darkgrey: colors.mineShaft,\n lightgrey: colors.alto,\n superlightgrey: colors.mercury,\n})\n","export const breakpoints = Object.freeze({\n xl: 1440,\n l: 1280,\n m: 1024,\n s: 768,\n xs: 374,\n xxs: 320,\n})\n","import { createGlobalStyle, css } from 'styled-components'\nimport { colors, socialColors, unitColors } from './colors'\n\nconst _colors = Object.keys(colors).map((colorName) => css`--${colorName}: ${colors[colorName]};`)\nconst _socialColors = Object.keys(socialColors).map((colorName) => css`--${colorName}: ${socialColors[colorName]};`)\nconst _unitColors = Object.keys(unitColors).map((colorName) => css`--${colorName}: ${unitColors[colorName]};`)\n\nexport const UiGlobalStyles = createGlobalStyle`\n #react-floater-portal {\n position: relative;\n }\n :root {\n ${_colors}\n ${_socialColors}\n ${_unitColors}\n }\n`\n","import { Theme } from '../shared/interfaces'\nimport { colors, socialColors, unitColors } from './colors'\nimport { breakpoints } from './breakpoints'\n\nexport const TEXT_COLOR = 'mineShaft'\nexport const FALLBACK_COLOR = 'mineShaft'\n\nconst theme: Theme = {\n breakpoints,\n colors: {\n ...colors,\n ...socialColors,\n ...unitColors,\n },\n borderRadius: '5px',\n textColor: TEXT_COLOR,\n fallbackColor: FALLBACK_COLOR,\n zIndex: {\n modal: 9000,\n tooltip: 80,\n },\n classNamePrefix: 'fox',\n}\n\nexport { theme }\n\nexport { ColorNames } from './colors'\n\nexport { ThemeProvider } from './theme-provider'\n","import { css, CSSObject, SimpleInterpolation } from 'styled-components'\nimport { theme } from '../theme'\n\ntype StyledComponentProps = {\n theme?: { breakpoints?: typeof theme.breakpoints }\n}\n\ntype MediaQueryParams = {\n and?: string\n condition?: (_props: any) => boolean\n}\n\nconst CONDITIONS = (() => {\n const maxWidth = (breakpoints: typeof theme.breakpoints, point: string) =>\n `(max-width: ${breakpoints[point] + 0.02}px)`\n const minWidth = (breakpoints: typeof theme.breakpoints, point: string) => `(min-width: ${breakpoints[point] + 1}px)`\n\n return {\n MAX: maxWidth,\n MIN: minWidth,\n RANGE: (breakpoints: typeof theme.breakpoints, point1: string, point2: string) =>\n `${minWidth(breakpoints, point1)} and ${maxWidth(breakpoints, point2)}`,\n }\n})()\n\nconst createMediaQuery =\n (condition: (_breakpoints: typeof theme.breakpoints, ..._points: string[]) => string, ...points: string[]) =>\n (params?: MediaQueryParams) =>\n (...args: [CSSObject | TemplateStringsArray, ...SimpleInterpolation[]]) =>\n (props: StyledComponentProps) => {\n const breakpoints = props.theme?.breakpoints ?? theme.breakpoints\n\n if (params !== undefined && typeof params.condition === 'function' && params.condition(props) === false) {\n return css``\n }\n\n return css`\n @media screen and ${condition(breakpoints, ...points)} ${params !== undefined && typeof params.and === 'string'\n ? `and ${params.and}`\n : ``} {\n ${css(...args)}\n }\n `\n }\n\n/**\n * @return `@media screen and (min-width: 320px) and (max-width: 374px) { ...args }`\n */\nexport const screenXs = createMediaQuery(CONDITIONS.RANGE, 'xxs', 'xs')\n\n/**\n * @return `@media screen and (min-width: 375px) and (max-width: 767px) { ...args }`\n */\nexport const screenS = createMediaQuery(CONDITIONS.RANGE, 'xs', 's')\n\n/**\n * @return `@media screen and (min-width: 768) and (max-width: 1023px) { ...args }`\n */\nexport const screenM = createMediaQuery(CONDITIONS.RANGE, 's', 'm')\n\n/**\n * @return `@media screen and (min-width: 1024px) and (max-width: 1279px) { ...args }`\n */\nexport const screenL = createMediaQuery(CONDITIONS.RANGE, 'm', 'l')\n\n/**\n * @return `@media screen and (min-width: 1280px) and (max-width: 1439px) { ...args }`\n */\nexport const screenXl = createMediaQuery(CONDITIONS.RANGE, 'l', 'xl')\n\n/**\n * @return `@media screen and (max-width: 319px) { ...args }`\n */\nexport const screenMaxXxs = createMediaQuery(CONDITIONS.MAX, 'xxs')\n\n/**\n * @return `@media screen and (max-width: 374px) { ...args }`\n */\nexport const screenMaxXs = createMediaQuery(CONDITIONS.MAX, 'xs')\n\n/**\n * @return `@media screen and (min-width: 375px) { ...args }`\n */\nexport const screenMinXs = createMediaQuery(CONDITIONS.MIN, 'xs')\n\n/**\n * @return `@media screen and (max-width: 767px) { ...args }`\n */\nexport const screenMaxS = createMediaQuery(CONDITIONS.MAX, 's')\n\n/**\n * @return `@media screen and (min-width: 768px) { ...args }`\n */\nexport const screenMinS = createMediaQuery(CONDITIONS.MIN, 's')\n\n/**\n * @return `@media screen and (max-width: 1023px) { ...args }`\n */\nexport const screenMaxM = createMediaQuery(CONDITIONS.MAX, 'm')\n\n/**\n * @return `@media screen and (min-width: 1024px) { ...args }`\n */\nexport const screenMinM = createMediaQuery(CONDITIONS.MIN, 'm')\n\n/**\n * @return `@media screen and (max-width: 1279px) { ...args }`\n */\nexport const screenMaxL = createMediaQuery(CONDITIONS.MAX, 'l')\n\n/**\n * @return `@media screen and (min-width: 1280px) { ...args }`\n */\nexport const screenMinL = createMediaQuery(CONDITIONS.MIN, 'l')\n\n/**\n * @return `@media screen and (max-width: 1439px) { ...args }`\n */\nexport const screenMaxXl = createMediaQuery(CONDITIONS.MAX, 'xl')\n\n/**\n * @return `@media screen and (min-width: 1440px) { ...args }`\n */\nexport const screenMinXl = createMediaQuery(CONDITIONS.MIN, 'xl')\n\n/**\n * @return `@media -webkit-min-device-pixel-ratio: 2 and (min-resolution: 192dpi) { ...args }`\n */\nexport const screenRetina = (...args: [CSSObject | TemplateStringsArray, SimpleInterpolation]) => css`\n @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n ${css(...args)}\n }\n`\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport { SizeLatin } from './enums/sizeLatin'\nimport { screenXs } from './screen'\n\nexport const SIZES_LATIN: Readonly<Record<SizeLatin, number>> = Object.freeze({\n xxxl: 44,\n xxl: 40,\n xl: 36,\n l: 28,\n m: 24,\n s: 20,\n xs: 16,\n xxs: 8,\n xxxs: 4,\n})\n\n// eslint-disable-next-line no-unused-vars\nexport const FONT_SIZES_LATIN: Readonly<Record<SizeLatin, number>> = Object.freeze({\n xxxl: 24,\n xxl: 22,\n xl: 20,\n l: 18,\n m: 16,\n s: 14,\n xs: 12,\n xxs: 10,\n xxxs: 8,\n})\n\n/**\n *\n * @param {number | keyof typeof SizeLatin} value\n * @returns\n */\nexport function calcValueWithLatinAlias(value: number | keyof typeof SizeLatin): number {\n if (typeof value === 'string' && SIZES_LATIN[value]) return SIZES_LATIN[value]\n\n return value as number\n}\n\nexport function buildMediaQuery(\n value: number | keyof typeof SizeLatin,\n property: string | ((_size: number, _sizing?: string) => FlattenSimpleInterpolation | null),\n screenQueryFunction: typeof screenXs,\n sizing = 'px'\n): ReturnType<typeof css> {\n const size = calcValueWithLatinAlias(value)\n\n if (typeof property === 'function') {\n const value = property(size, sizing)\n return css`\n ${screenQueryFunction()`\n ${value}\n `}\n `\n }\n\n return css`\n ${screenQueryFunction()`\n ${property}: ${calcValueWithLatinAlias(value)}${sizing};\n `}\n `\n}\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport { SizeLatin } from './enums/sizeLatin'\nimport { screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMinL, screenMaxXxs, screenMinM } from './screen'\nimport { buildMediaQuery, FONT_SIZES_LATIN, SIZES_LATIN } from './shared'\n\n/**\n * Value for breakpoint\n */\nexport type PossibleValues = number | keyof typeof SizeLatin | 'auto' | 'initial' | 'inherit' | boolean\n\ntype PropsProperties =\n | 'size'\n | 'fontSize'\n | 'height'\n | 'width'\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'padding'\n | 'paddingTop'\n | 'paddingRight'\n | 'paddingBottom'\n | 'paddingLeft'\n | 'margin'\n | 'marginTop'\n | 'marginRight'\n | 'marginBottom'\n | 'marginLeft'\n | 'fluid'\n\nexport type CalcProperty = (_size: number, _sizing?: string) => FlattenSimpleInterpolation | null\ntype CssProperty = string | CalcProperty\ntype ResponsiveKeys = '' | 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL'\n\nexport type ResponsiveNamedProperty<T extends PropsProperties, V extends PossibleValues = PossibleValues> = {\n /**\n * Size for breakpoint\n */\n [key in `${T}${ResponsiveKeys}`]?: V // eslint-disable-line no-unused-vars\n}\n\nexport type ResponsiveProperty<V = number | string | keyof typeof SizeLatin> =\n | V\n | [desktop: V, tablet: V, mobile: V]\n | [xl: V, l: V, m: V, s: V, xs: V, xxs: V]\n\nexport const property =\n (value: PossibleValues, cssProperty: CssProperty = 'size', sizing = 'px') =>\n () =>\n () => {\n if (typeof value === 'boolean') {\n return typeof cssProperty === 'function' ? cssProperty(1) : null\n }\n\n let sizeMap\n\n switch (cssProperty) {\n case 'font-size':\n sizeMap = FONT_SIZES_LATIN\n break\n default:\n sizeMap = SIZES_LATIN\n }\n\n if (typeof cssProperty === 'function') {\n return cssProperty(typeof value === 'number' ? value : sizeMap[value])\n }\n\n if (typeof value === 'string' && ['auto', 'initial', 'inherit'].includes(value))\n return css`\n ${cssProperty}: ${value};\n `\n\n return css`\n ${cssProperty}: ${typeof value === 'string' && sizeMap[value] ? sizeMap[value] : value}${sizing};\n `\n }\n\nconst SCREEN_SIZE_MAP: Record<Exclude<ResponsiveKeys, ''>, typeof screenMaxXs> = {\n XXS: screenMaxXxs,\n XS: screenMaxXs,\n S: screenMaxS,\n M: screenMaxM,\n L: screenMaxL,\n XL: screenMinL,\n}\n\nconst SCREEN_SIZE_MAP_BY_DEVICE_ALIAS: Record<'desktop' | 'tablet' | 'mobile', typeof screenMaxXs> = {\n desktop: screenMinM,\n tablet: screenMaxM,\n mobile: screenMaxS,\n}\n\nfunction getScreenFnByResponsiveKey(size: string) {\n if (size.endsWith('XXS')) {\n return SCREEN_SIZE_MAP.XXS\n } else if (size.endsWith('XS')) {\n return SCREEN_SIZE_MAP.XS\n } else if (size.endsWith('S')) {\n return SCREEN_SIZE_MAP.S\n } else if (size.endsWith('M')) {\n return SCREEN_SIZE_MAP.M\n } else if (size.endsWith('L')) {\n return SCREEN_SIZE_MAP.L\n } else {\n return SCREEN_SIZE_MAP.XL\n }\n}\n\nconst getKey = (key: string): 'xs' | 's' | 'm' | 'l' | 'xl' | null => {\n if (key.endsWith('XS')) return 'xs' // first check XS\n if (key.endsWith('S')) return 's'\n if (key.endsWith('M')) return 'm'\n if (key.endsWith('XL')) return 'xl' // first check XL\n if (key.endsWith('L')) return 'l'\n return null\n}\n\nconst DEKSTOP_FIRST_KEYS = ['xl', 'l', 'm', 's', 'xs']\nconst MOBILE_FIRST_KEYS = ['xs', 's', 'm', 'l', 'xl']\n\n/**\n * Sort keys as desktop first\n * @param a key a\n * @param b key b\n * @returns number\n */\nexport const desktopFirst = (a: string, b: string): number => {\n const aKey = getKey(a)\n const bKey = getKey(b)\n if (!aKey || !bKey) return 0\n\n const aIndex = DEKSTOP_FIRST_KEYS.findIndex((el) => el === aKey)\n const bIndex = DEKSTOP_FIRST_KEYS.findIndex((el) => el === bKey)\n\n return aIndex < bIndex ? -1 : 1\n}\n\n/**\n * Sort keys as mobile first\n * @param a key a\n * @param b key b\n * @returns number\n */\nexport const mobileFirst = (a: string, b: string): number => {\n const aKey = getKey(a)\n const bKey = getKey(b)\n if (!aKey || !bKey) return 0\n\n const aIndex = MOBILE_FIRST_KEYS.findIndex((el) => el === aKey)\n const bIndex = MOBILE_FIRST_KEYS.findIndex((el) => el === bKey)\n\n return aIndex < bIndex ? -1 : 1\n}\n\ninterface ResponsiveNamedPropertyPayload<T extends PropsProperties> {\n sizes: ResponsiveNamedProperty<T>\n cssProperty: CssProperty\n sizing?: 'px' | 'rem' | 'em' | '%'\n customSizeHandler?: (_value: PossibleValues) => PossibleValues\n sort?: (_a: string, _b: string) => number\n}\n\n/**\n * Миксин для генерации media запросов\n *\n * @param obj.sizes Объект, в качестве ключей брэйкпоинт, в качестве значений - величина\n * @param obj.cssProperty CSS свойство, может быть функцией, возвращающей css`` из styled-components\n * @param obj.sizing значение величины, по умолчанию `px`\n * @param obj.customSizeHandler функция для вычисления кастомных значений величин\n * @returns строки медиазапросов\n */\nexport const responsiveNamedProperty =\n <T extends PropsProperties>({\n sizes,\n cssProperty = 'size',\n sizing = 'px',\n customSizeHandler,\n sort = desktopFirst,\n }: ResponsiveNamedPropertyPayload<T>) =>\n () =>\n () => {\n const mediaCssStrArr = Object.keys(sizes)\n .sort(sort)\n .map((size) => {\n if (sizes[size]) {\n const _size = typeof customSizeHandler === 'function' ? customSizeHandler(sizes[size]) : sizes[size]\n return buildMediaQuery(_size, cssProperty, getScreenFnByResponsiveKey(size), sizing)\n }\n return null\n })\n .filter(Boolean)\n .map(\n (item) =>\n css`\n ${item}\n `\n )\n\n return mediaCssStrArr\n }\n\n/**\n * Миксин для генерации media запросов\n *\n * @param property имя пропсы\n * @param cssProperty имя css свойства\n * @param sizing значение величины, по умолчанию `px`\n * @returns строки медиазапросов\n */\nexport const responsiveProperty =\n (property: string, cssProperty: string | null = null, sizing = 'px') =>\n () =>\n (props: any) => {\n const prop: ResponsiveProperty | null = props[property] ?? null\n const _cssProperty = cssProperty ?? property\n if (!prop) return null\n\n if (Array.isArray(prop) && prop.length === 3) {\n const [desktop, tablet, mobile] = prop\n return css`\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.desktop()`\n ${_cssProperty}: ${typeof desktop === 'number' ? `${desktop}${sizing}` : desktop};\n `}\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.tablet()`\n ${_cssProperty}: ${typeof tablet === 'number' ? `${tablet}${sizing}` : tablet};\n `}\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.mobile()`\n ${_cssProperty}: ${typeof mobile === 'number' ? `${mobile}${sizing}` : mobile};\n `}\n `\n }\n\n if (Array.isArray(prop) && prop.length === 6 && typeof _cssProperty === 'string') {\n const [xl, l, m, s, xs, xxs] = prop\n return css`\n ${SCREEN_SIZE_MAP.XL()`\n ${_cssProperty}: ${typeof xl === 'number' ? `${xl}${sizing}` : xl};\n `}\n ${SCREEN_SIZE_MAP.L()`\n ${_cssProperty}: ${typeof l === 'number' ? `${l}${sizing}` : l};\n `}\n ${SCREEN_SIZE_MAP.M()`\n ${_cssProperty}: ${typeof m === 'number' ? `${m}${sizing}` : m};\n `}\n ${SCREEN_SIZE_MAP.S()`\n ${_cssProperty}: ${typeof s === 'number' ? `${s}${sizing}` : s};\n `}\n ${SCREEN_SIZE_MAP.XS()`\n ${_cssProperty}: ${typeof xs === 'number' ? `${xs}${sizing}` : xs};\n `}\n ${SCREEN_SIZE_MAP.XXS()`\n ${_cssProperty}: ${typeof xxs === 'number' ? `${xxs}${sizing}` : xxs};\n `}\n `\n }\n\n if (typeof prop === 'number') {\n return css`\n ${_cssProperty}: ${prop}${sizing};\n `\n }\n\n if (typeof prop === 'string') {\n return css`\n ${_cssProperty}: ${prop};\n `\n }\n\n return null\n }\n","import { css, DefaultTheme, FlattenSimpleInterpolation } from 'styled-components'\nimport { HEX, RGB, RGBA } from '../shared/interfaces'\nimport { ColorNames, FALLBACK_COLOR } from '../theme'\n\ntype ColorPropsProperties = 'color' | 'fontColor' | `${string}Color` | `color${string}`\nexport type ColorValue = keyof typeof ColorNames | RGB | RGBA | HEX\ntype ColorCalcProperty = (_color: ColorValue) => FlattenSimpleInterpolation | null\ntype ColorCssProperty = string | ColorCalcProperty\n\nexport type Color<T extends ColorPropsProperties = 'color'> = {\n /**\n * Color name, HEX, rgb or rgba\n */\n [key in `${T}`]?: RGB | RGBA | HEX | keyof typeof ColorNames // eslint-disable-line no-unused-vars\n}\n\nexport const getColor = (color: ColorValue, props: { theme: DefaultTheme }) => {\n if (typeof color === 'string' && (color.includes('#') || color.includes('rgb'))) return color\n\n if (props.theme.colors[color]) return props.theme.colors[color]\n\n return color\n}\n\nexport const color =\n (color?: ColorValue, cssProperty: ColorCssProperty = 'color') =>\n () =>\n (props: { theme: DefaultTheme }) => {\n const colorVal = color || props?.theme?.textColor || FALLBACK_COLOR\n const _color = getColor(colorVal as ColorValue, props)\n\n if (typeof cssProperty === 'function') {\n return cssProperty(_color)\n }\n\n return css`\n ${cssProperty}: ${_color};\n `\n }\n","import { css } from 'styled-components'\n\nexport interface VAlign {\n vAlign?: 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'baseline'\n}\n\nexport const vAlign = (vAlign: 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'baseline') => css`\n verical-align: ${vAlign};\n`\n","import cx from 'clsx'\nimport { useTheme } from 'styled-components'\n\nexport function useClassname(componentName: string, originalClassName: string | undefined) {\n const theme = useTheme()\n return cx(`${theme.classNamePrefix}-${componentName}`, originalClassName)\n}\n","import styled, { css } from 'styled-components'\nimport { vAlign } from '../../mixins/vAlign'\nimport { color } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { IconProps } from './Icon'\n\nconst pointerStyle = css`\n cursor: pointer;\n`\nexport const Root = styled.div.withConfig<IconProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style, dangerouslySetInnerHTML'].includes(prop),\n})`\n display: inline-block;\n flex-shrink: 0;\n vertical-align: baseline;\n width: 1em;\n height: 1em;\n svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n ${(props) => (props.pointer ? pointerStyle : null)}\n ${(props) => (props.vAlign ? vAlign(props.vAlign) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.size ? property(props.size, 'font-size') : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({ sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL }, cssProperty: 'font-size' })}\n`\n","<svg viewBox=\"0 0 20 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M3.275 2.11h-2.4v13.015h18.25v-13.015h-2.4v-1.235h-5.525c-.454 0-.871.163-1.2.433-.329-.27-.746-.433-1.2-.433h-5.525v1.235zm13.45 1.485h.95v10.044h-15.35v-10.044h.95v9.059h5.525c.258 0 .475.218.475.493v.125h1.45v-.125c0-.275.217-.493.475-.493h5.525v-9.059zm-6-.743c0-.275.217-.493.475-.493h4.075v8.809h-4.075c-.164 0-.323.021-.475.061v-8.377zm-6-.493h4.075c.258 0 .475.218.475.493v8.377c-.152-.04-.311-.061-.475-.061h-4.075v-8.809z\" stroke-width=\".25\"/></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M4 4h2v2h-2v-2zM7 4h5v2h-5v-2zM4 7h2v2h-2v-2zM7 7h5v2h-5v-2z\" /><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16 0v13h-5l3 3h-2.828l-2.172-2.172v2.172h-2v-2.172l-2.172 2.172h-2.828l3-3h-5v-13h16zm-2 11v-9h-12v9h12z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M0 4v-2h16v2h-16zm0 5v-2h16v2h-16zm0 3v2h16v-2h-16z\"/></svg>\n","<svg enable-background=\"new 0 0 26 16\" viewBox=\"0 0 26 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m0 0h26v16h-26z\" fill=\"none\"/><path d=\"m20.8 4.6c-2.2-2.2-4.7-4.6-7.8-4.6s-5.6 2.4-7.8 4.6c-1.9 1.8-3.5 3.4-5.2 3.4 1.7 0 3.3 1.6 5.2 3.4 2.2 2.2 4.7 4.6 7.8 4.6s5.6-2.4 7.8-4.6c1.9-1.8 3.5-3.4 5.2-3.4-1.7 0-3.3-1.6-5.2-3.4zm-7.8 8.7c-2.9 0-5.2-2.4-5.2-5.3s2.3-5.3 5.2-5.3 5.2 2.4 5.2 5.3-2.3 5.3-5.2 5.3zm1.3-5.3c-.7 0-1.3-.6-1.3-1.3 0-.5.3-1 .8-1.2-.2-.1-.5-.1-.8-.1-1.4 0-2.6 1.2-2.6 2.7s1.2 2.7 2.6 2.7 2.6-1.2 2.6-2.7c0-.3 0-.5-.1-.8-.2.4-.7.7-1.2.7z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M0 1v14h16v-14h-16zm14 2v1.2l-6 4-6-4v-1.2h12zm-12 10v-6.4l6 4 6-4v6.4h-12z\"/></svg>\n","<svg width=\"14\" height=\"12\" viewBox=\"0 0 14 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2.5v-1.75h14v1.75h-14zm0 4.375v-1.75h10.5v1.75h-10.5zm0 2.625v1.75h7v-1.75h-7z\" /></svg>\n","<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2v-2h8v2h-8zm0 3v2h12v-2h-12zm0 5v2h10v-2h-10z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M12 9h-.6c.4-.6.6-1.3.6-2v-3c0-2.2-1.8-4-4-4s-4 1.8-4 4v3c0 .7.2 1.4.6 2h-.6c-2.2 0-4 1.8-4 4v3h16v-3c0-2.2-1.8-4-4-4zm-6-2v-3c0-1.1.9-2 2-2s2 .9 2 2v3c0 1.1-.9 2-2 2s-2-.9-2-2zm8 7h-12v-1c0-1.1.9-2 2-2h8c1.1 0 2 .9 2 2v1z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 14 11\" enable-background=\"new 0 0 14 11\"><path d=\"M3.5.5h7.1l2.8 4.1-6.4 6.3-6.3-6.3 2.8-4.1zm1 2l-1.2 1.9 3.7 3.7 3.7-3.7-1.2-1.9h-5z\"/></svg>\n","<svg viewBox='0 0 19 16' xmlns='http://www.w3.org/2000/svg' fill='none'><path d='M0 6l3.8-6h11.4l3.8 6-9.5 10-9.5-10z' /></svg>\n","<svg fill=\"none\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"10\" cy=\"10\" r=\"10\"/><path d=\"m12.5 6.5h-5l-2 3 4.5 4.5 4.5-4.5z\" stroke=\"#fff\" stroke-width=\"2\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM7 7h2v5h-2zM7 4h2v2h-2z\"/></svg>\n","<svg viewBox=\"0 0 16 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 0h-2v2h2v-2zm0 5h-2v2h2v-2zm-2 5h2v2h-2v-2zm16-10h-12v2h12v-2zm-12 5h12v2h-12v-2zm12 5h-12v2h12v-2z\" /></svg>\n","<svg viewBox=\"0 0 17 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.8852 9L5.5018 11.2929L6.97184 12.7071L11.8647 8L6.97184 3.29289L5.5018 4.70711L7.8852 7L-3.0598e-07 7L-3.93402e-07 9L7.8852 9ZM14.5526 14L9.35523 14L9.35523 16L16.6315 16L16.6315 7.26987e-07L9.35523 4.0893e-07L9.35523 2L14.5526 2L14.5526 14Z\" />\n</svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.414 7l2.293-2.293-1.414-1.414-4.707 4.707 4.707 4.707 1.414-1.414-2.293-2.293h7.586v-2h-7.586zm-6.414-5h5v-2h-7v16h7v-2h-5v-12z\" /></svg>\n","<svg viewBox=\"0 0 14 19\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7 19c3.866 0 7-3.224 7-7.2 0-6.792-6.444-5.8-4.5-11.8-2.472.152-5.5 1-6.5 4.5-.491 1.718.107 3.044.27 3.764.163.72-.211 1.343-.761 1.233-.548-.109-.762-.831-.548-2.247-1.96 1.231-1.96 3.518-1.96 4.55 0 3.976 3.134 7.2 7 7.2z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M15 6v-6h-14v6h-1v3h1v5h1v2h3v-2h6v2h3v-2h1v-5h1v-3h-1zm-2 6h-10v-1h10v1zm0-3h-10v-7h10v7zm-8-6h6v2h-6z\"/></svg>\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2h1.236l3 11h8.764v-2h-7.236l-.273-1h8.29l2-8h-9.781v2h7.219l-1 4h-7.274l-2.182-8h-2.764v2zm12 14c.552 0 1-.448 1-1s-.448-1-1-1-1 .448-1 1 .448 1 1 1zm-6-1c0 .552-.448 1-1 1s-1-.448-1-1 .448-1 1-1 1 .448 1 1z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM7.4 7.8h-2.2v2h4.2v-5h-2z\"/></svg>\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M10 20c5.5 0 10-4.5 10-10s-4.5-10-10-10-10 4.5-10 10 4.5 10 10 10zm0-15h2v8h-6v-2h4v-6z\" fill=\"#48A1E6\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M16 0h-16v16h16v-16zm-14 14v-12h12v12h-12zm4.4-8.3l3.9 2.3-3.9 2.3v-4.6z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M.08 14.505l14.425-14.425 1.414 1.414-14.425 14.425zM3.2 6.4c1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2zm0-4.4c.7 0 1.2.5 1.2 1.2s-.5 1.2-1.2 1.2-1.2-.5-1.2-1.2.5-1.2 1.2-1.2zM12.8 9.6c-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2 1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2zm0 4.4c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M13 4v-4h-13v6h2v3h-2v7h16v-12h-3zm-11-2h9v2h-9v-2zm3 4v3h-1v-3h1zm6 8h-9v-3h9v3zm3 0h-1v-3h1v3zm0-5h-7v-3h7v3z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M16 9v-2c0-3.9-3.1-7-7-7h-2c-3.9 0-7 3.1-7 7v9h5v-7h-3v-2c0-2.8 2.2-5 5-5h2c2.8 0 5 2.2 5 5v2h-3v7h5v-7zm-13 2v3h-1v-3h1zm11 3h-1v-3h1v3z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8.4 0h7.6000000000000005v7.6000000000000005l-.3.3-.2.2c1 2.4.4 5.1-1.3 6.4-1.3 1-2.7 1.2-3.9 1-.6-.1-1.1-.3-1.6-.7l-.4.4-.7.8-.7-.7-6.2-6.2-.7-.7.7-.7 7.4-7.4.3-.3zm2.4 4.2c1.3.4 2.4 1 3.2 1.8v-4h-4.8l-6.4 6.4 4.8 4.8 5.4-5.4c-.5-.6-1.2-1.1-2.2-1.5v.9h-1v-4.1h1v1.1zm2.2 8.7c.7-.5 1.2-1.8.9-3.2l-3.7 3.7c.1.1.3.1.5.2.7.1 1.5 0 2.3-.7z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14 3.2h-2v-3.2h-8v3.1999999999999997h-4v12.8h16v-12.8h-2zm-8-1.2h4v.8h-4v-.8zm8 12h-12v-4h5v1.2h2v-1.2h5v4zm0-6h-12v-2.8h12v2.8z\"/></svg>\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 2c4.418 0 8 3.582 8 8h2c0-5.523-4.477-10-10-10v2zm0 4c2.209 0 4 1.791 4 4h2c0-3.314-2.686-6-6-6v2zm2 7.75c.5-.625 1.25-.625 1.875 0 .25.25.486.5.722.75.472.5.944 1 1.528 1.5.625.625.625 1.375 0 2l-1.25 1.25c-.625.625-1.375.75-2.125.75-1.25-.125-2.375-.5-3.375-1-2.375-1.125-4.375-2.625-6-4.625-1.125-1.5-2.25-3.125-2.875-4.875-.375-.875-.5-1.75-.5-2.75 0-.5.25-1 .75-1.5.375-.375.875-.875 1.375-1.25.5-.625 1.25-.625 1.875 0 .375.25.75.625 1.125 1l.269.285c.25.273.484.529.856.715.625.625.625 1.375 0 2l-.481.51c-.291.319-.566.619-.894.865-.125.125-.125.25-.125.375.375.625.75 1.25 1.25 1.875 1 1.25 2 2.25 3.375 3.125.191.191.455.309.68.41l.195.09c.125 0 .25 0 .375-.125l1.375-1.375z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14.7 5.5h-3.7l-2.1-4.7c-.3-.7-1.4-.7-1.7 0l-2.2 4.7h-3.7c-.8 0-1.3 1-.7 1.6l2.8 2.7-.7 4.8c-.1.8.8 1.4 1.5.9l3.8-2.8 3.8 2.9c.7.5 1.6-.1 1.5-.9l-.7-4.8 2.8-2.7c.6-.7.2-1.7-.7-1.7zm-4.3 3.6l.5 3.3-2.9-2.2-2.9 2.2.5-3.3-1.7-1.6h2.4l1.7-3.7 1.7 3.7h2.4l-1.7 1.6z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14.4 7.8l1.4-1.7-1.9-3.8-2.4.6-.8-.5-.5-2.4h-4.6l-.6 2.4-.8.5-2.3-.6-1.8 3.8 1.3 1.7v1.2l-1.3 2 1.9 3 2.3-.7.7.4.6 2.3h4.6l.6-2.3.7-.4 2.3.7 2-3-1.4-2c.1 0 .1-1.2 0-1.2zm-.8 3.3l-.4.6-1.7-.5-2.3 1.2-.5 1.6h-1.5l-.4-1.7-2.3-1.2-1.7.5-.3-.6 1-1.4v-2.4l-1-1.3.5-1.2 1.6.4 2.2-1.5.4-1.6h1.4l.4 1.6 2.2 1.5 1.7-.4.6 1.2-1 1.3v2.5l1.1 1.4zM7.9 5c-1.7 0-3 1.3-3 3s1.3 3 3 3 3-1.3 3-3-1.2-3-3-3zm0 4c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.3 1-1 1z\"/></svg>\n","<svg viewBox=\"0 0 25 17\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M24.051 6.289l.254-.114-.254-.114-11.515-5.175-.051-.023-.051.023-11.485 5.175-.253.114.253.114 5.363 2.416v3.516c0 1.168.729 2.202 2.01 2.923 1.129.635 2.608.981 4.164.981 1.556 0 3.035-.346 4.164-.981 1.281-.72 2.01-1.755 2.01-2.923v-3.509l2.659-1.195 1.344-.604 1.388-.624zm-11.617 5.175l.051.023.051-.023 4.529-2.035v2.792c0 .228-.107.475-.325.723-.218.248-.54.489-.949.701-.82.423-1.976.718-3.305.718-1.329 0-2.485-.296-3.305-.718-.41-.211-.732-.453-.95-.701-.218-.248-.325-.496-.325-.723v-2.797l4.528 2.04zm.052-1.879l-7.568-3.41 7.568-3.41 7.587 3.41-7.587 3.41z\" stroke-width=\".25\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 14c3.3 0 6-2.7 6-6 0-.9-.2-1.8-.6-2.6l-1.2.9c.2.5.3 1.1.3 1.7 0 2.5-2 4.5-4.5 4.5s-4.5-2-4.5-4.5 2-4.5 4.5-4.5c1.1 0 2.2.4 3 1.1l1.2-.9c-1.1-1-2.5-1.7-4.2-1.7-3.3 0-6 2.7-6 6s2.7 6 6 6zm1.3-8.1c-.4-.3-.8-.4-1.3-.4-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5c0-.2 0-.4-.1-.5l-1.8 1.3c-.5.3-1.1.2-1.4-.2-.3-.5-.2-1.1.2-1.4l1.9-1.3zm5.7-1.7c.6 1.1 1 2.4 1 3.8 0 4.4-3.6 8-8 8s-8-3.6-8-8 3.6-8 8-8c2.3 0 4.4 1 5.9 2.6l.5-.4c.4-.3 1.1-.2 1.4.2.3.4.2 1.1-.2 1.4l-.6.4z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M13 0h-13v16h16v-16h-3zm-6 2h1v1l-.5-.2-.5.2v-1zm4 12h-9v-12h3v4l2.5-1 2.5 1v-4h1v12zm3 0h-1v-12h1v12z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14 0h-14v3c0 1.9 1.3 3.4 3 3.9v.1c0 2.4 1.7 4.4 4 4.9v2.1h-4v2h10v-2h-4v-2.1c2.3-.5 4-2.5 4-4.9v-.1c1.7-.4 3-2 3-3.9v-3h-2zm-11 4.7c-.6-.3-1-1-1-1.7v-1h1v2.7zm8 .3v2c0 1.7-1.3 3-3 3s-3-1.3-3-3v-5h6v3zm3-2c0 .7-.4 1.4-1 1.7v-2.7h1v1z\"/></svg>\n","<svg enable-background=\"new 0 0 16 16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m8.5 2c-3 0-5.5 2.5-5.5 5.5 0 .8.2 1.5.4 2.2l.2.3-.8 3.1 2.9-.9.3.2c.7.4 1.6.6 2.5.6 3 0 5.5-2.5 5.5-5.5s-2.5-5.5-5.5-5.5zm-7.5 5.5c0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5c-1.1 0-2.1-.2-3.1-.7l-5.4 1.7 1.5-5.9c-.3-.8-.5-1.7-.5-2.6z\" /></svg>","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M11 4v-4h-8c-1.7 0-3 1.3-3 3v13h16v-12h-5zm-8-2h6v2h-6c-.6 0-1-.4-1-1s.4-1 1-1zm11 12h-12v-8.2c.1 0 .2 0 .3.1h.2c.1.1.3.1.5.1h11v8z\"/><circle cx=\"11\" cy=\"10\" r=\"1\"/></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.5 0l4.243 4.243-11.5 11.757h-4.243v-4.243l11.5-11.757zm0 3l-9.5 9.586v1.414h1.414l9.5-9.586-1.414-1.414zm-2.5 11v2h7v-2h-7z\" /></svg>\n","<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5 2V4H3V0H16V13H12V11H14V2H5Z\" />\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13 3H0V16H13V3ZM2 14V5H11V14H2Z\" />\n</svg>\n","<svg fill=\"none\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><g><path d=\"m0 0v20h20v-20zm18 18h-16v-16h16z\"/><path d=\"m15 5h-10v2h10z\"/><path d=\"m15 9h-10v2h10z\"/><path d=\"m15 13h-10v2h10z\"/></g></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M13 4v-4h-10v4h-3v9h3v3h10v-3h3v-9h-3zm-8-2h6v2h-6v-2zm6 12h-6v-3h6v3zm3-3h-1v-2h-10v2h-1v-5h12v5zm-10.2-2.4c.442 0 .8-.358.8-.8 0-.442-.358-.8-.8-.8-.442 0-.8.358-.8.8 0 .442.358.8.8.8z\" /></svg>\n","<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path fill-rule=\"evenodd\" d=\"M7 0H0v15h15V8h-2v5H2V2h5V0zm0 10.9142l8.7072-8.7071L14.293.7928 7 8.0858l-2.2928-2.293L3.293 7.2071 7 10.9142z\" clip-rule=\"evenodd\"/></svg>\n","<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 16 18\" style=\"enable-background:new 0 0 16 18;\" xml:space=\"preserve\">\n<style type=\"text/css\">\n\t.st0{fill-rule:evenodd;clip-rule:evenodd;}\n</style>\n<path class=\"st0\" d=\"M6.1,4.4c-0.4-0.9-1-1.7-1.4-2.1C4.4,2.1,4,2,3.7,2C3.5,2,3.3,2.1,3.2,2.2C3,2.4,3,2.6,3,2.9\n\tc0,0.3,0.2,0.6,0.5,0.9C4,4.1,4.9,4.6,5.8,4.9C6,4.9,6.2,5,6.3,5C6.3,4.8,6.2,4.6,6.1,4.4z M6.9,5C6.9,5,6.9,5,6.9,5\n\tC6.9,5,6.9,5,6.9,5z M6,0.9c0.7,0.6,1.5,1.7,2,2.8c0.5-1.1,1.3-2.2,2-2.8c1.4-1.2,3.4-1.1,4.4,0.1c1,1.1,0.8,2.9-0.3,4.1H16v2v2v2\n\th-1v5v2h-2H3H1v-2v-5H0V9V7V5h1.9C0.8,3.8,0.7,2.1,1.6,0.9C2.7-0.3,4.7-0.3,6,0.9z M9.9,4.4c0.4-0.9,1-1.7,1.4-2.1\n\tC11.6,2.1,12,2,12.3,2c0.3,0,0.5,0.1,0.6,0.2C13,2.4,13,2.6,13,2.9c0,0.3-0.2,0.6-0.5,0.9c-0.4,0.4-1.3,0.8-2.3,1.1\n\tC10,4.9,9.8,5,9.7,5C9.7,4.8,9.8,4.6,9.9,4.4z M9.1,5C9.1,5,9.1,5,9.1,5C9.1,5,9.1,5,9.1,5z M14,7H2v2h1h10h1V7z M3,11h10v5H3V11z\"\n\t/>\n</svg>\n","<svg viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path clip-rule=\"evenodd\" d=\"M3 10a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-6a6 6 0 1 0 0 12A6 6 0 0 0 7 4Zm5.333 11.963A8.034 8.034 0 0 0 14 13.873a4.002 4.002 0 0 0 0-7.747 8.034 8.034 0 0 0-1.668-2.09 6 6 0 1 1 0 11.927Z\"/></svg>\n","/* eslint-disable no-unused-vars */\nimport Book from './images/book.module.svg'\nimport BlackBoard from './images/blackBoard.module.svg'\nimport Burger from './images/burger.module.svg'\nimport Eye from './images/eye.module.svg'\nimport Email from './images/email.module.svg'\nimport Sort from './images/sort.module.svg'\nimport Unsort from './images/unsort.module.svg'\nimport Person from './images/person.module.svg'\nimport Diamond from './images/diamond.module.svg'\nimport DiamondFIlled from './images/diamondFilled.module.svg'\nimport DiamondSolid from './images/diamondSolid.module.svg'\nimport InfoInverse from './images/infoInverse.module.svg'\nimport List from './images/list.module.svg'\nimport Login from './images/login.module.svg'\nimport Logout from './images/logout.module.svg'\nimport Fire from './images/fire.module.svg'\nimport Camps from './images/camps.module.svg'\nimport Cart from './images/cart.module.svg'\nimport Clock from './images/clock.module.svg'\nimport ClockFilled from './images/clockFilled.module.svg'\nimport Courses from './images/courses.module.svg'\nimport Discount from './images/discount.module.svg'\nimport Externat from './images/externat.module.svg'\nimport Headphones from './images/headphones.module.svg'\nimport PriceTag from './images/priceTag.module.svg'\nimport Prof from './images/prof.module.svg'\nimport Phone from './images/phone.module.svg'\nimport Star from './images/star.module.svg'\nimport Settings from './images/settings.module.svg'\nimport Student from './images/student.module.svg'\nimport Target from './images/target.module.svg'\nimport Textbook from './images/textbook.module.svg'\nimport Trophy from './images/trophy.module.svg'\nimport Message from './images/message.module.svg'\nimport Wallet from './images/wallet.module.svg'\nimport Edit from './images/edit.module.svg'\nimport Copy from './images/copy.module.svg'\nimport Page from './images/page.module.svg'\nimport Print from './images/print.module.svg'\nimport Objective from './images/objective.module.svg'\nimport Present from './images/present.module.svg'\nimport Coins from './images/coins.module.svg'\n\nexport enum IconNames {\n book = 'book',\n blackBoard = 'blackBoard',\n burger = 'burger',\n eye = 'eye',\n email = 'email',\n sort = 'sort',\n unsort = 'unsort',\n person = 'person',\n diamond = 'diamond',\n diamondFilled = 'diamondFilled',\n diamondSolid = 'diamondSolid',\n infoInverse = 'infoInverse',\n list = 'list',\n login = 'login',\n logout = 'logout',\n fire = 'fire',\n camps = 'camps',\n cart = 'cart',\n clock = 'clock',\n clockFilled = 'clockFilled',\n courses = 'courses',\n discount = 'discount',\n externat = 'externat',\n headphones = 'headphones',\n page = 'page',\n priceTag = 'priceTag',\n phone = 'phone',\n prof = 'prof',\n star = 'star',\n settings = 'settings',\n student = 'student',\n target = 'target',\n textbook = 'textbook',\n trophy = 'trophy',\n message = 'message',\n wallet = 'wallet',\n edit = 'edit',\n copy = 'copy',\n print = 'print',\n objective = 'objective',\n present = 'present',\n coins = 'coins',\n calendar = 'calendar',\n calendar_simple = 'calendar_simple',\n chevronDown = 'chevronDown',\n chevronUp = 'chevronUp',\n chevronRight = 'chevronRight',\n chevronLeft = 'chevronLeft',\n cross = 'cross',\n dialog = 'dialog',\n dropDownArrow = 'dropDownArrow',\n externalLink = 'externalLink',\n file = 'file',\n fileBordered = 'fileBordered',\n lessons = 'lessons',\n pencil = 'pencil',\n phoneNoFill = 'phoneNoFill',\n radioChecked = 'radioChecked',\n radioNotChecked = 'radioNotChecked',\n search = 'search',\n tasks = 'tasks',\n tinyCross = 'tinyCross',\n sharpCross = 'sharpCross',\n plus = 'plus',\n plusThin = 'plusThin',\n play = 'play',\n reload = 'reload',\n checkCircle = 'checkCircle',\n info = 'info',\n check = 'check',\n home = 'home',\n questionFilled = 'questionFilled',\n document = 'document',\n cancel = 'cancel',\n playPause = 'playPause',\n video = 'video',\n}\n\ntype Icon = React.FC<React.SVGProps<SVGSVGElement>> | (() => JSX.Element)\n\nexport const defaultIcons: Record<IconNames, Icon> = {\n book: Book,\n blackBoard: BlackBoard,\n burger: Burger,\n eye: Eye,\n email: Email,\n sort: Sort,\n unsort: Unsort,\n person: Person,\n diamond: Diamond,\n diamondFilled: DiamondFIlled,\n diamondSolid: DiamondSolid,\n infoInverse: InfoInverse,\n list: List,\n login: Login,\n logout: Logout,\n fire: Fire,\n camps: Camps,\n cart: Cart,\n clock: Clock,\n clockFilled: ClockFilled,\n courses: Courses,\n discount: Discount,\n externat: Externat,\n headphones: Headphones,\n page: Page,\n priceTag: PriceTag,\n phone: Phone,\n prof: Prof,\n star: Star,\n settings: Settings,\n student: Student,\n target: Target,\n textbook: Textbook,\n trophy: Trophy,\n message: Message,\n wallet: Wallet,\n edit: Edit,\n copy: Copy,\n print: Print,\n objective: Objective,\n present: Present,\n coins: Coins,\n calendar: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='20' viewBox='0 0 21 20'>\n <path d='M.8 19.8h19.4c.4 0 .7-.3.7-.7V2.4a.7.7 0 0 0-.8-.8h-3.7V1A.7.7 0 1 0 15 1v.5H6V1a.7.7 0 1 0-1.4 0v.5H.8a.7.7 0 0 0-.7.8V19c0 .5.4.8.8.8zM1.5 3h3v.5a.7.7 0 1 0 1.5 0V3h9v.5a.7.7 0 1 0 1.5 0V3h3v2h-18V3zm0 3.5h18v12h-18v-12z' />\n <path d='M15.8 10H5.2a.7.7 0 0 0-.7.7c0 .4.3.8.7.8h10.6c.4 0 .7-.4.7-.8a.7.7 0 0 0-.7-.8zm-5.3 3.6H5.2a.7.7 0 0 0-.7.7c0 .5.3.8.7.8h5.3c.4 0 .7-.2.7-.7a.7.7 0 0 0-.7-.7z' />\n </svg>\n ),\n calendar_simple: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M13 2V0H11V2H5V0H3V2H0V4V5V16H16V5V4V2H13ZM14 14H2V6H14V14Z' />\n </svg>\n ),\n chevronDown: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='13' viewBox='0 0 21 13'>\n <path d='M10.109 10.604l-7.74-8.297a1.42 1.42 0 0 1 0-1.911 1.201 1.201 0 0 1 1.783 0l6.848 7.342 6.848-7.342a1.202 1.202 0 0 1 1.783 0 1.421 1.421 0 0 1 0 1.911l-7.74 8.297a1.214 1.214 0 0 1-.89.396c-.323 0-.646-.132-.892-.396z' />\n </svg>\n ),\n chevronUp: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='13' viewBox='0 0 21 13'>\n <path d='M10.109 1.396l-7.74 8.297a1.42 1.42 0 0 0 0 1.911c.493.528 1.29.528 1.783 0l6.848-7.342 6.848 7.342c.492.528 1.29.528 1.783 0a1.421 1.421 0 0 0 0-1.911l-7.74-8.297a1.214 1.214 0 0 0-.89-.396c-.323 0-.646.132-.892.396z' />\n </svg>\n ),\n chevronRight: () => (\n <svg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M0 1.87054L1.39309 0.5L8 7L1.39309 13.5L0 12.1295L5.21383 7L0 1.87054Z' />\n </svg>\n ),\n chevronLeft: () => (\n <svg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8 12.1295L6.60691 13.5L0 7L6.60691 0.5L8 1.87054L2.78617 7L8 12.1295Z' />\n </svg>\n ),\n cross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'>\n <path d='M17.333.668a1.845 1.845 0 0 0-2.61 0l-5.723 5.722-5.723-5.722a1.845 1.845 0 1 0-2.61 2.61l5.723 5.723-5.723 5.724a1.845 1.845 0 1 0 2.61 2.61l5.723-5.723 5.723 5.723c.36.36.832.54 1.305.54a1.845 1.845 0 0 0 1.305-3.151l-5.723-5.721 5.723-5.724a1.845 1.845 0 0 0 0-2.61z' />\n </svg>\n ),\n dialog: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25'>\n <path d='M3.66 3.664a12.422 12.422 0 0 1 8.84-3.664c3.342 0 6.48 1.303 8.841 3.664 4.556 4.554 4.886 11.83.828 16.761.56 1.146 1.22 1.91 1.969 2.277.455.225.712.717.639 1.22a1.16 1.16 0 0 1-.974.979 5.953 5.953 0 0 1-.886.068c-1.534 0-3.147-.53-4.493-1.456a12.52 12.52 0 0 1-5.923 1.487 12.417 12.417 0 0 1-8.84-3.659 12.414 12.414 0 0 1-3.661-8.836c0-3.334 1.299-6.48 3.66-8.84zm1.001 16.672a11.02 11.02 0 0 0 7.84 3.245c1.98 0 3.922-.528 5.614-1.523.11-.063.236-.1.356-.1.152 0 .31.053.435.147 1.602 1.24 3.215 1.424 3.922 1.44-.843-.628-1.55-1.602-2.142-2.958a.711.711 0 0 1 .12-.753c3.876-4.377 3.672-11.045-.465-15.18a11.02 11.02 0 0 0-7.84-3.246 11.02 11.02 0 0 0-7.84 3.245c-4.326 4.33-4.326 11.365 0 15.683zM7.581 8.125h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625zm0 3.875h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625zm0 4h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625z' />\n </svg>\n ),\n dropDownArrow: () => (\n <svg width='11' height='7' viewBox='0 0 11 7'>\n <path d='M4.288 5.703l.117.139c.393.393.973.441 1.302.112l.009-.009.123-.105.104-.122 4.015-4.015c.38-.38.384-1.017-.007-1.408-.393-.393-1.025-.389-1.417.002l-3.412 3.412-3.419-3.419c-.388-.388-1.016-.388-1.409.005-.391.391-.393 1.021-.005 1.409l3.999 3.999z' />\n </svg>\n ),\n externalLink: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' enableBackground='new 0 0 16 16'>\n <path className='st0' d='M0 0h16v16h-16z' fillOpacity='0' />\n <path className='st1' d='M9 0v2h3.6l-7.3 7.3 1.4 1.4 7.3-7.3v3.6h2v-7zM14 14h-12v-12h4v-2h-6v16h16v-6h-2z' />\n </svg>\n ),\n file: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='17' height='20' viewBox='0 0 17 20'>\n <path d='M16.734 5.931c-.176-.416-.388-.745-.636-.988l-4.138-4.059c-.247-.242-.583-.45-1.007-.624-.425-.173-.814-.26-1.167-.26h-8.488a1.24 1.24 0 0 0-.901.364 1.192 1.192 0 0 0-.372.885v17.481c0 .347.124.642.372.885.247.242.548.364.901.364h14.429c.353 0 .654-.122.901-.364.248-.243.371-.538.371-.885v-11.654c0-.347-.088-.729-.265-1.145zm-6.524-4.161c.256.087.437.182.544.286l4.15 4.071c.106.104.204.282.292.534h-4.986v-4.892zm5.092 16.545h-13.58v-16.651h6.79v5.412c0 .347.124.642.372.884.247.243.548.365.901.365h5.517v9.989z' />\n </svg>\n ),\n fileBordered: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8.3 0H6H0V16H13H16V0H8.3ZM8 2.5L10.5 5H8V2.5ZM2 14V2H6V7H11V14H2ZM14 14H13V7V4.7L10.3 2H14V14Z' />\n </svg>\n ),\n lessons: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='22' height='16' viewBox='0 0 22 16'>\n <path d='M21.8 8.4a1.8 1.8 0 0 0-.8-.8 2.4 2.4 0 0 0-1-.3h-2.3V5.5c0-.7-.3-1.3-.8-1.8a2.5 2.5 0 0 0-2-.8H9v-.4c0-.7-.2-1.3-.7-1.8A2.5 2.5 0 0 0 6.4 0H2.6C2 0 1.3.3.8.8S0 1.8 0 2.6v10.8c0 .7.3 1.3.8 1.8a2.5 2.5 0 0 0 1.8.8H15c.6 0 1 0 1.7-.4.6-.3 1-.6 1.3-1l3.4-4c.4-.6.6-1 .6-1.5a1.8 1.8 0 0 0-.2-.6zM1.5 2.6c0-.3 0-.6.3-.8.2-.2.5-.3.8-.3h3.7c.3 0 .5 0 .7.3.3.2.4.5.4.8v.7c0 .3 0 .5.3.8.2.3.5.4.8.4H15c.4 0 .7 0 1 .3l.2.8v1.8H7.4c-.6 0-1 0-1.6.4s-1 .6-1.4 1l-3 3.5V2.6zm18.8 7l-3.4 4-1 .7-1 .2H2.7c-.4 0-.6 0-.6-.4l.2-.3 3.4-4c.2-.4.4-.6.8-.7.3-.2.7-.3 1-.3H20c.3 0 .5.2.5.4 0 .3 0 .4-.2.6z' />\n </svg>\n ),\n pencil: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19'>\n <path d='M17.863 5.258l-4.113-4.122.283-.283a2.9 2.9 0 0 1 4.113.005 2.909 2.909 0 0 1 0 4.117l-.283.283zm-5.388-2.847l4.118 4.117-11.553 11.551-5.04.921.92-5.038 11.556-11.551z' />\n </svg>\n ),\n phoneNoFill: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'>\n <path d='M25.28 19.815c-.655-.682-1.445-1.047-2.282-1.047-.83 0-1.627.358-2.309 1.04l-2.133 2.127-.52-.27a8.579 8.579 0 0 1-.669-.358c-1.998-1.27-3.814-2.923-5.556-5.064-.844-1.066-1.41-1.964-1.822-2.876.553-.506 1.066-1.032 1.566-1.539l.567-.574c1.418-1.417 1.418-3.254 0-4.671l-1.843-1.843c-.21-.21-.425-.426-.628-.642-.405-.418-.83-.85-1.27-1.255-.654-.649-1.437-.993-2.26-.993-.824 0-1.621.344-2.296.993l-.014.013-2.295 2.316a4.94 4.94 0 0 0-1.465 3.138c-.162 1.971.419 3.808.864 5.01 1.094 2.95 2.728 5.684 5.165 8.614 2.957 3.53 6.514 6.319 10.579 8.283 1.552.736 3.625 1.607 5.94 1.755l.426.014c1.56 0 2.87-.56 3.895-1.674l.027-.034c.351-.425.756-.81 1.182-1.222.29-.277.587-.567.877-.87.669-.696 1.02-1.506 1.02-2.337 0-.837-.358-1.64-1.04-2.315l-3.706-3.72zm1.595 6.857c-.227.245-.46.465-.71.71-.377.36-.76.738-1.121 1.163-.588.628-1.28.924-2.187.924l-.267-.006c-1.727-.11-3.378-.572-4.581-1.148-1.565-.757-6.166-3.373-9.24-6.667-3.39-3.633-5.311-8.135-5.772-9.379a8.219 8.219 0 0 1-.51-3.704 2.67 2.67 0 0 1 .802-1.727l1.983-1.983c.285-.268.587-.413.884-.413.366 0 .663.22.849.407.372.349.71.692 1.064 1.058l.552.564 1.589 1.589c.616.616.616 1.186 0 1.802l-.5.5c-.489.5-1.206 1.178-1.712 1.631-.53.53-.436 1.018-.331 1.35.242.596 1.767 3.576 3.98 5.982 1.856 2.017 4.38 3.504 5.231 4.042.239.152.483.274.715.39.21.105.407.203.576.308l.07.04c.198.1.384.146.576.146.482 0 .785-.302.883-.401l2.241-2.2c.198-.198.512-.437.878-.437.361 0 .658.227.838.425l3.215 3.215c.6.593.6 1.204.006 1.82zm-9.589-19.063a8.56 8.56 0 0 1 4.659 2.417 8.606 8.606 0 0 1 2.417 4.658c.074.446.459.756.897.756l.156-.013c.5-.081.83-.554.75-1.054a10.413 10.413 0 0 0-2.924-5.637 10.413 10.413 0 0 0-5.637-2.923.916.916 0 0 0-1.053.743.902.902 0 0 0 .735 1.053zm14.664 6.501a17.13 17.13 0 0 0-4.814-9.283 17.13 17.13 0 0 0-9.282-4.813.908.908 0 0 0-1.047.743c-.08.5.25.965.75 1.053 3.146.533 6.015 2.025 8.297 4.3a15.294 15.294 0 0 1 4.3 8.297c.074.446.46.756.898.756a.894.894 0 0 0 .898-1.053z' />\n </svg>\n ),\n radioChecked: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10 5c-2.8 0-5 2.2-5 5s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5zm0-5c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 18c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z'\n />\n </svg>\n ),\n radioNotChecked: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10 0c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 18c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z'\n />\n </svg>\n ),\n search: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='29' height='30' viewBox='0 0 29 30'>\n <path d='M28.6 27.3l-7-7.4a12.2 12.2 0 0 0 2.7-8c0-6.6-5.3-12-12-12C6 0 .6 5.4.6 12c0 6.8 5.4 12.2 12 12.2 2.4 0 4.7-.7 6.7-2.2l7 7.5a1.5 1.5 0 0 0 2.3 0 1.6 1.6 0 0 0 0-2.2zm-16.2-24c5 0 8.8 4 8.8 8.8 0 5-4 9-8.8 9s-8.8-4-8.8-9c0-4.8 4-8.8 8.8-8.8z' />\n </svg>\n ),\n tasks: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='20' viewBox='0 0 18 20'>\n <path d='M17.2 2H13V.8c0-.4-.3-.7-.7-.7H5.8c-.5 0-.8.3-.8.7v4c0 .3.3.6.8.6h4.8c.4 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7h-4V1.4h5V3c0 .3.2.6.7.6h4v15H1.7v-15h1.2c.4 0 .8-.3.8-.7 0-.5-.4-1-.8-1h-2C.4 2 0 2.6 0 3v16.3c0 .4.4.7.8.7h16.4c.4 0 .8-.3.8-.8V3c0-.5-.4-1-.8-1z' />\n <path d='M12.6 9a.8.8 0 0 0-1 0l-3.7 3.3L6.4 11a.8.8 0 0 0-1 0 .7.7 0 0 0 0 1l1.8 1.8c.2.2.4.2.6.2 0 0 .3 0 .4-.2l4.2-4a.7.7 0 0 0 0-1z' />\n </svg>\n ),\n tinyCross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'>\n <path\n fillRule='evenodd'\n d='M10.7 12.8L1 22.4c-.5.6-.5 1.6 0 2.2.8.6 1.7.6 2.3 0L13 15l9.5 9.6c.6.6 1.6.6 2.2 0 .6-.6.6-1.6 0-2.2L15 12.8l9.6-9.5c.6-.6.6-1.6 0-2.2-.6-.5-1.6-.5-2.2 0L13 10.7 3.3 1C2.8.6 1.8.6 1.2 1c-.6.7-.6 1.7 0 2.3l9.5 9.5z'\n />\n </svg>\n ),\n sharpCross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'>\n <path d='M8 6.53l6.53-6.53 1.47 1.47-6.53 6.53 6.53 6.53-1.47 1.47-6.53-6.53-6.53 6.53-1.47-1.47 6.53-6.53-6.53-6.53 1.47-1.47z' />\n </svg>\n ),\n plus: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='19' viewBox='0 0 18 19'>\n <g fillRule='evenodd'>\n <rect width='18' height='3' y='8' rx='1.5' />\n <rect width='18' height='3' y='8' rx='1.5' transform='rotate(90 9 9.5)' />\n </g>\n </svg>\n ),\n plusThin: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'>\n <path fillRule='nonzero' d='M7.875 6.125H14v1.75H7.875V14h-1.75V7.875H0v-1.75h6.125V0h1.75v6.125z' />\n </svg>\n ),\n play: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'>\n <path d='M28.197 7.501c-4.173-7.173-13.414-9.63-20.64-5.489-7.227 4.141-9.703 13.314-5.53 20.486 4.172 7.174 13.413 9.632 20.639 5.49 7.227-4.142 9.704-13.314 5.53-20.487zm-7.042 17.889c-5.78 3.313-13.173 1.347-16.511-4.392-3.338-5.738-1.357-13.076 4.424-16.388 5.78-3.314 13.174-1.348 16.512 4.39 3.337 5.74 1.356 13.077-4.425 16.39zm-.604-11l-7.911-4.58c-.72-.418-1.302-.084-1.298.744l.04 9.091c.004.828.593 1.165 1.316.75l7.851-4.499c.722-.414.724-1.088.003-1.506z' />\n </svg>\n ),\n reload: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='19' height='20' viewBox='0 0 19 20'>\n <g fillRule='evenodd'>\n <path d='M1.638 8.346c.653 0 1.243-.386 1.495-.978a6.896 6.896 0 0 1 6.351-4.164c1.575 0 3.019.53 4.176 1.412l-.907.138a.702.702 0 0 0-.593.594.694.694 0 0 0 .411.729l4.99 2.208a.72.72 0 0 0 .673-.05.695.695 0 0 0 .325-.582l.026-5.408a.697.697 0 0 0-.501-.669.714.714 0 0 0-.796.28L16.6 2.873A10.202 10.202 0 0 0 9.484 0C5.284 0 1.672 2.523.132 6.109a1.586 1.586 0 0 0 .143 1.516c.303.45.815.72 1.363.72zM18.693 12.344a1.643 1.643 0 0 0-1.364-.721c-.652 0-1.242.385-1.494.977a6.896 6.896 0 0 1-6.351 4.165 6.872 6.872 0 0 1-4.176-1.412l.907-.138a.702.702 0 0 0 .593-.595.694.694 0 0 0-.411-.728l-4.99-2.208a.72.72 0 0 0-.673.05.695.695 0 0 0-.325.582l-.026 5.407a.697.697 0 0 0 .501.67c.3.09.623-.025.796-.28l.688-1.017a10.201 10.201 0 0 0 7.116 2.872c4.2 0 7.812-2.523 9.352-6.109a1.586 1.586 0 0 0-.143-1.515z' />\n </g>\n </svg>\n ),\n checkCircle: () => (\n <svg height='14' viewBox='0 0 14 14' width='14' xmlns='http://www.w3.org/2000/svg'>\n <path d='m4.13 5.67-.98.98 3.15 3.15 7-7-.98-.98-6.02 6.02zm8.47 1.33c0 3.08-2.52 5.6-5.6 5.6s-5.6-2.52-5.6-5.6 2.52-5.6 5.6-5.6c.56 0 1.05.07 1.54.21l1.12-1.12c-.84-.28-1.75-.49-2.66-.49-3.85 0-7 3.15-7 7s3.15 7 7 7 7-3.15 7-7z' />\n </svg>\n ),\n info: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10.986 6.995v-2.019h-1.972v2.02h1.972zm0 8.029v-6.01h-1.972v6.01h1.972zm-.986-15.024c1.827 0 3.518.457 5.072 1.37a9.478 9.478 0 0 1 3.558 3.558 9.835 9.835 0 0 1 1.37 5.072 9.835 9.835 0 0 1-1.37 5.072 9.478 9.478 0 0 1-3.558 3.558 9.835 9.835 0 0 1-5.072 1.37 9.835 9.835 0 0 1-5.072-1.37 9.657 9.657 0 0 1-3.558-3.582 9.79 9.79 0 0 1-1.37-5.048 9.79 9.79 0 0 1 1.37-5.048 9.842 9.842 0 0 1 3.582-3.582 9.79 9.79 0 0 1 5.048-1.37z'\n />\n </svg>\n ),\n check: () => (\n <svg width='20px' height='20px' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'>\n <g stroke='none' strokeWidth='1' fill='none' fillRule='evenodd'>\n <g transform='translate(-675.000000, -7517.000000)' fill='#7FC92E'>\n <g transform='translate(675.000000, 7517.000000)'>\n <path d='M10,0 C15.5228475,-1.01453063e-15 20,4.4771525 20,10 C20,15.5228475 15.5228475,20 10,20 C4.4771525,20 6.76353751e-16,15.5228475 0,10 C-6.76353751e-16,4.4771525 4.4771525,1.01453063e-15 10,0 Z M14.2928932,6.29289322 L9,11.5857864 L6.70710678,9.29289322 L5.29289322,10.7071068 L9,14.4142136 L15.7071068,7.70710678 L14.2928932,6.29289322 Z' />\n </g>\n </g>\n </g>\n </svg>\n ),\n home: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <g>\n <rect width='16' height='16' fill='black' fillOpacity='0' />\n <path\n id='house_2'\n fillRule='evenodd'\n clipRule='evenodd'\n d='M7 16V11H9V16H15V5L8 0L1 5V16H7ZM5 14H3V6.02917L8 2.45776L13 6.02917V14H11V9H5V14Z'\n />\n </g>\n </svg>\n ),\n questionFilled: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' enableBackground='new 0 0 20 20'>\n <path className='st0' fillOpacity='0' d='M0 0h20v20h-20z' />\n <path\n className='st1'\n d='M17.1 2.9c-1.9-1.8-4.4-2.9-7.1-2.9-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10c0-2.7-1.1-5.2-2.9-7.1zm-6.1 12.1h-2v-2h2v2zm.5-4.5c-.3.2-.6.6-.5.9v.1h-2v-.1c0-1.1.6-2.2 1.7-2.7.5-.2.8-.8.8-1.3 0-.8-.7-1.4-1.5-1.4s-1.5.6-1.5 1.4h-2c0-1.9 1.6-3.4 3.5-3.4s3.5 1.5 3.5 3.4c0 1.3-.8 2.5-2 3.1z'\n />\n </svg>\n ),\n document: () => (\n <svg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M16.0004 4.50038L12.4648 0.964844L5.36865 8.06104L5.39378 11.5714L8.90418 11.5966L16.0004 4.50038ZM7.37459 8.88353L12.4648 3.79327L13.172 4.50038L8.08169 9.59063L7.37961 9.58561L7.37459 8.88353Z'\n />\n <path d='M13 15V10H15V17H0V2H7V4H2V15H13Z' />\n </svg>\n ),\n cancel: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8 0C3.6 0 0 3.6 0 8C0 12.4 3.6 16 8 16C12.4 16 16 12.4 16 8C16 3.6 12.4 0 8 0ZM8 14C4.7 14 2 11.3 2 8C2 4.7 4.7 2 8 2C11.3 2 14 4.7 14 8C14 11.3 11.3 14 8 14Z' />\n <path d='M9.7998 4.79999L7.9998 6.59999L6.1998 4.79999L4.7998 6.19999L6.5998 7.99999L4.7998 9.79999L6.1998 11.2L7.9998 9.39999L9.7998 11.2L11.1998 9.79999L9.3998 7.99999L11.1998 6.19999L9.7998 4.79999Z' />\n </svg>\n ),\n playPause: () => (\n <svg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M7 6L5.46341 4.68292L2 1.71429L0 0V2.63416V9.36584V12L2 10.2857L5.46341 7.31708L7 6ZM3.92682 6L2 4.34845V7.65155L3.92682 6ZM14 0H16V12H14V0ZM12 0H10V12H12V0Z'\n />\n </svg>\n ),\n video: () => (\n <svg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M2 2H9V10H2V2ZM0 0H2H9H11V2V6V10V12H9H2H0V10V2V0ZM11 6L12.6008 4.71938L14 3.6L16 2V4.56125V7.43875V10L14 8.4L12.6008 7.28062L11 6Z'\n />\n </svg>\n ),\n}\n","import cx from 'clsx'\nimport { Color } from '../../mixins/color'\nimport { VAlign } from '../../mixins/vAlign'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nimport { defaultIcons, IconNames } from './icons'\n\nexport interface IconProps extends BaseProps, Color, VAlign, ResponsiveNamedProperty<'size'> {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Name of default icon\n */\n name?: keyof typeof IconNames\n /**\n * Object with icon's svg. Use for custom icon insertion\n */\n svg?: string\n /**\n * Object with icon's svg. Use for custom icon insertion\n */\n icon?: React.ReactNode\n /**\n * Show pointer cursor on hover?\n */\n pointer?: boolean\n}\n\nIcon.displayName = 'Icon'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`VAlign`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Icon(props: IconProps) {\n const {\n name,\n icon,\n svg,\n pointer,\n color,\n size,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n className,\n style,\n vAlign,\n children,\n } = props\n\n if (name && defaultIcons[name]) {\n const Icon = defaultIcons[name]\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={cx('fox-icon', className)}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n >\n <Icon />\n {children}\n </Styled.Root>\n )\n }\n\n if (svg)\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={cx('fox-icon', className)}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n dangerouslySetInnerHTML={{ __html: svg || '' }}\n >\n {icon || null}\n </Styled.Root>\n )\n\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={cx('fox-icon', className)}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n >\n {icon || null}\n {children}\n </Styled.Root>\n )\n}\n\nexport { IconNames }\n","import { css } from 'styled-components'\n\nexport interface Display {\n display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'table-cell' | 'inherit' | 'none'\n}\n\nexport const display =\n (display: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'table-cell' | 'inherit' | 'none') => () =>\n css`\n display: ${display};\n `\n","import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { ActionBtnProps } from './ActionBtn'\n\nconst active = css`\n background: ${(props) => props.theme.colors.onahau};\n color: ${(props) => props.theme.colors.accent};\n`\n\nconst notDisabled = css`\n &:hover {\n background: ${(props) => props.theme.colors.mercury};\n }\n &:active {\n ${active}\n }\n`\n\nconst disabled = css`\n cursor: default;\n opacity: 0.6;\n`\n\nexport const Root = styled.div<ActionBtnProps>`\n padding: 4px;\n background: transparent;\n color: ${(props) => props.theme.colors.silver};\n transition: background 0.4s ease-out, color 0.6s ease-out;\n line-height: 0;\n cursor: pointer;\n border-radius: 5px;\n & + & {\n margin-left: 16px;\n }\n ${(props) => (props.disabled ? disabled : notDisabled)}\n ${(props) => (props.active ? active : null)}\n ${(props) =>\n props.display\n ? display(props.display)\n : css`\n display: inline-block;\n `}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Icon, IconNames } from './../Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, Display {\n /** Icon name (for inner Icon component) */\n icon?: keyof typeof IconNames\n disabled?: boolean\n active?: boolean\n onClick?(): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nActionBtn.displayName = 'ActionBtn'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function ActionBtn({ icon, disabled = false, onClick, children, className, active, style }: ActionBtnProps) {\n const _className = useClassname(ActionBtn.displayName, className)\n\n return (\n <Styled.Root className={_className} style={style} disabled={disabled} active={active} onClick={onClick}>\n {icon && <Icon size={16} name={icon} />}\n {children}\n </Styled.Root>\n )\n}\n","import { Text, TextProps } from '../Text'\n\n/* eslint-disable no-unused-vars */\nenum H {\n h1,\n h2,\n h3,\n h4,\n}\n/* eslint-enable no-unused-vars */\n\nconst PARAMS: Record<keyof typeof H, Partial<TextProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nexport interface TextHeadingProps extends Omit<TextProps, 'content' | 'as'> {\n h?: keyof typeof H\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nTextHeading.displayName = 'Text.Heading'\n\nexport function TextHeading({ h = 'h1', ...props }: TextHeadingProps) {\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} {...predefinedParams} {...props} />\n}\n","import styled from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { property, responsiveNamedProperty } from '../../mixins/responsive-property'\nimport { SpacerProps } from './Spacer'\n\nexport const Root = styled.div.withConfig<SpacerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n ${(props) => (props.display ? display(props.display) : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n","import { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpacerProps\n extends BaseProps,\n Display,\n ResponsiveNamedProperty<'top'>,\n ResponsiveNamedProperty<'right'>,\n ResponsiveNamedProperty<'bottom'>,\n ResponsiveNamedProperty<'left'>,\n ResponsiveNamedProperty<'padding'>,\n ResponsiveNamedProperty<'paddingTop'>,\n ResponsiveNamedProperty<'paddingRight'>,\n ResponsiveNamedProperty<'paddingBottom'>,\n ResponsiveNamedProperty<'paddingLeft'>,\n ResponsiveNamedProperty<'margin'>,\n ResponsiveNamedProperty<'marginTop'>,\n ResponsiveNamedProperty<'marginRight'>,\n ResponsiveNamedProperty<'marginBottom'>,\n ResponsiveNamedProperty<'marginLeft'> {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nSpacer.displayName = 'Spacer'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'top'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'right'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'left'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Spacer(props: SpacerProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { display } from '../../mixins/display'\nimport { AnchorProps } from './Anchor'\n\nconst wrapper = css`\n display: block;\n color: inherit;\n transition: none;\n &:hover {\n color: inherit;\n cursor: pointer;\n }\n`\n\nconst underline = css`\n text-decoration: underline;\n`\n\nconst pseudo = css`\n display: inline-block;\n color: ${(props) => props.theme.colors.accent};\n border-bottom: 1px dashed currentColor;\n`\n\nexport const Root = styled.div.withConfig<AnchorProps>({\n shouldForwardProp: (prop) =>\n !['wrapper', 'underline', 'pseudo', 'display', 'color'].includes(prop) && !prop.includes('size'),\n})`\n color: ${(props) => props.theme.colors.accent};\n text-decoration: none;\n transition: 0.2s;\n &:hover {\n cursor: pointer;\n color: ${(props) => props.theme.colors.primary};\n }\n ${(props) => (props.underline ? underline : null)}\n ${(props) => (props.pseudo ? pseudo : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.size ? property(props.size, 'font-size') : null)}\n ${(props) => (props.wrapper ? wrapper : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({ sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL }, cssProperty: 'font-size' })}\n`\n","import { Link } from 'react-router-dom'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport * as Styled from './style'\n\nexport interface AnchorProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * Custom CSS class name\n */\n as?: 'div' | 'span' | 'a' | typeof Link\n /**\n * React router link to\n */\n to?: string\n /**\n * Link href\n */\n href?: string\n /**\n * Is display inline\n * */\n wrapper?: boolean\n /**\n * Pseudo link has dashed bottom border\n * */\n pseudo?: boolean\n /**\n * If link should be underlined\n * */\n underline?: boolean\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Primary content\n */\n content?: string\n /**\n * Onclick handler\n */\n onClick?: () => void\n target?: string\n rel?: string\n}\n\nAnchor.displayName = 'Anchor'\nAnchor.defaultProps = {\n display: 'inline-block',\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Anchor(props: typeof Anchor.defaultProps & AnchorProps) {\n const {\n as,\n to,\n href,\n wrapper,\n className,\n style,\n children,\n content,\n pseudo,\n underline,\n color,\n display,\n size,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n ...rest\n } = props\n\n const _className = useClassname(Anchor.displayName, className)\n\n let _display: Display['display']\n\n if (as === 'div' && !display) _display = 'block'\n else _display = display\n\n let contentProps = {}\n\n if (content) {\n contentProps = {\n ...contentProps,\n dangerouslySetInnerHTML: { __html: content },\n }\n }\n\n if (as)\n return (\n <Styled.Root\n as={as}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={_className}\n style={style}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n\n if (pseudo)\n return (\n <Styled.Root\n as='div'\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={_className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n else if (to)\n return (\n <Styled.Root\n as={Link}\n to={to}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={_className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n else\n return (\n <Styled.Root\n as='a'\n href={href}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={_className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...contentProps}\n {...rest}\n >\n {children}\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\n\nexport const Ul = styled.ul`\n padding: 0;\n margin: 0;\n list-style-position: inside;\n`\n\nexport const Li = styled.li`\n & + & {\n margin-top: 4px;\n }\n`\n","import { Component } from 'react'\nimport { Spacer } from '../Spacer/Spacer'\nimport { Anchor } from '../Anchor/Anchor'\nimport { Text, TextProps } from '../Text'\nimport * as Styled from './style'\n\nexport interface TextEllipseProps extends Omit<TextProps, 'content'> {\n /** Toggle text for folded state */\n moreText?: string\n /** Toggle text for unfolded state */\n lessText?: string\n /** Classname */\n className?: string\n /** Html content */\n content: string | string[]\n /** Characters quantity for ellipsed text */\n chars?: number\n /** Wrap text in quotes */\n quoted?: boolean\n /** Flag to show toggler */\n showToggler?: boolean\n}\n\ninterface TextEllipseState {\n isUnFolded: boolean\n isEllipsed: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport class TextEllipse extends Component<TextEllipseProps, TextEllipseState> {\n static displayName = 'Text.Ellipse'\n\n constructor(props: TextEllipseProps) {\n super(props)\n\n this.state = {\n isUnFolded: false,\n isEllipsed: false,\n }\n }\n\n // componentDidUpdate({ content }: Props) {\n // if (content !== this.props.content && this.state.isUnFolded) {\n // this.toggle()\n // }\n // }\n\n getContent = (props: Omit<TextEllipseProps, 'className' | 'moreText' | 'lessText' | 'showToggler'>) => {\n const { content, chars = 0 } = this.props\n\n if (!content) return ''\n\n let { isEllipsed } = this.state\n let text: string | string[] = typeof content === 'string' ? '' : []\n\n if (!this.state.isUnFolded) {\n if (typeof text === 'string') {\n isEllipsed = content.length > chars\n\n text = isEllipsed ? `${content.slice(0, chars)}...` : content\n } else {\n let leftChars = chars\n\n for (let index = 0; index < content.length; index++) {\n if (leftChars - content[index].length > 0) {\n leftChars -= content[index].length\n\n text[index] = content[index]\n } else {\n isEllipsed = true\n text[index] = `${content[index].slice(0, leftChars)}...`\n\n break\n }\n }\n }\n } else {\n text = content\n }\n\n if (this.state.isEllipsed !== isEllipsed) setTimeout(() => this.setState({ isEllipsed }))\n\n return typeof text === 'string' ? (\n <Text {...props} content={this.getQuted(text)} />\n ) : (\n <Styled.Ul>\n {text.map((item, index) => (\n <Styled.Li key={index}>\n <Text {...props} display='inline' content={item} />\n </Styled.Li>\n ))}\n </Styled.Ul>\n )\n }\n\n getQuted = (content: string) => (this.props.quoted ? `«${content}»` : content)\n\n toggle = () => {\n console.log(this.state)\n this.setState({ isUnFolded: !this.state.isUnFolded })\n }\n\n render() {\n const {\n className = '',\n style,\n moreText = 'Читать полностью',\n lessText = 'Свернуть',\n showToggler = true,\n ...restProps\n } = this.props\n const { isUnFolded, isEllipsed } = this.state\n\n return (\n <div className={className} style={style}>\n {this.getContent(restProps)}\n {showToggler && isEllipsed && (\n <Spacer marginTop={16} marginBottom={1}>\n <Anchor pseudo onClick={this.toggle}>\n {isUnFolded ? lessText : moreText}\n </Anchor>\n </Spacer>\n )}\n </div>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { color, ColorValue } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { TextProps } from './Text'\n\nconst WEIGHT_MAP = {\n lighter: 100,\n normal: 400,\n bold: 600,\n bolder: 800,\n}\n\nconst LINE_HEIGHT_MAP: Record<Exclude<TextProps['lineHeight'], undefined>, number> = {\n l: 1.5,\n m: 1.3,\n s: 1.15,\n xs: 1,\n}\n\nconst underlineLinksStyle = css`\n a {\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n }\n`\n\nexport const Root = styled.div.withConfig<TextProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'title', 'dangerouslySetInnerHTML'].includes(prop),\n})`\n line-height: inherit;\n margin: initial;\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : color(props.theme.textColor as ColorValue))}\n ${(props) =>\n props.lineHeight\n ? css`\n line-height: ${typeof props.lineHeight === 'string' && LINE_HEIGHT_MAP[props.lineHeight]\n ? LINE_HEIGHT_MAP[props.lineHeight]\n : props.lineHeight};\n `\n : null}\n ${(props) =>\n props.fontStyle\n ? css`\n font-style: ${props.fontStyle};\n `\n : null}\n ${(props) =>\n props.weight\n ? css`\n font-weight: ${typeof props.lineHeight === 'string' && WEIGHT_MAP[props.weight]\n ? WEIGHT_MAP[props.weight]\n : props.weight};\n `\n : null}\n\n a {\n text-decoration: none;\n &:hover {\n text-decoration: none;\n }\n }\n\n ${(props) => (props.underlineLinks ? underlineLinksStyle : null)}\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n\n ${(props) => (props.size ? property(props.size, 'font-size') : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({ sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL }, cssProperty: 'font-size' })}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { TextHeading } from '../../components/Text.Heading'\nimport { TextEllipse } from '../../components/Text.Ellipse'\nimport { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface TextProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * An element type to render as (string).\n */\n as?: 'div' | 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'p'\n /**\n * Primary content\n */\n content?: string\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Text font weight\n */\n weight?: 'lighter' | 'normal' | 'bold' | 'bolder' | number\n /**\n * Text font style\n */\n fontStyle?: 'normal' | 'italic'\n /**\n * Add underline to inline links\n */\n underlineLinks?: boolean\n /**\n * Text align\n */\n textAlign?: 'left' | 'center' | 'right' | 'justify' | 'start' | 'end'\n /**\n * Line height\n */\n lineHeight?: 'l' | 'm' | 's' | 'xs' | number\n /**\n * Element title\n */\n title?: string\n}\n\nText.Heading = TextHeading\nText.Ellipse = TextEllipse\nText.displayName = 'Text'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Text(props: TextProps) {\n const {\n as = 'div',\n children,\n weight = 'normal',\n content,\n textAlign,\n underlineLinks,\n className: origClassName,\n style,\n lineHeight = 'm',\n fontStyle = 'normal',\n title,\n color,\n size = 'm',\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n display,\n } = props\n\n const className = useClassname(Text.displayName, origClassName)\n\n if (children) {\n return (\n <Styled.Root\n as={as}\n color={color}\n className={className}\n title={title}\n weight={weight}\n lineHeight={lineHeight}\n textAlign={textAlign}\n fontStyle={fontStyle}\n underlineLinks={underlineLinks}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n display={display}\n style={style}\n >\n {children}\n </Styled.Root>\n )\n }\n\n return (\n <Styled.Root\n as={as}\n color={color}\n className={className}\n title={title}\n weight={weight}\n lineHeight={lineHeight}\n textAlign={textAlign}\n fontStyle={fontStyle}\n underlineLinks={underlineLinks}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n display={display}\n style={style}\n dangerouslySetInnerHTML={{ __html: content || '' }}\n />\n )\n}\n","/* eslint-disable no-unused-vars */\nexport enum CurrencyCodes {\n ALL = 'ALL',\n AFN = 'AFN',\n ARS = 'ARS',\n AWG = 'AWG',\n AUD = 'AUD',\n AZN = 'AZN',\n BSD = 'BSD',\n BBD = 'BBD',\n BYR = 'BYR',\n BZD = 'BZD',\n BMD = 'BMD',\n BOB = 'BOB',\n BAM = 'BAM',\n BWP = 'BWP',\n BGN = 'BGN',\n BRL = 'BRL',\n BND = 'BND',\n KHR = 'KHR',\n CAD = 'CAD',\n KYD = 'KYD',\n CLP = 'CLP',\n CNY = 'CNY',\n COP = 'COP',\n CRC = 'CRC',\n HRK = 'HRK',\n CUP = 'CUP',\n CZK = 'CZK',\n DKK = 'DKK',\n DOP = 'DOP',\n XCD = 'XCD',\n EGP = 'EGP',\n SVC = 'SVC',\n EEK = 'EEK',\n EUR = 'EUR',\n FKP = 'FKP',\n FJD = 'FJD',\n FRF = 'FRF',\n GHC = 'GHC',\n GIP = 'GIP',\n GTQ = 'GTQ',\n GGP = 'GGP',\n GYD = 'GYD',\n HNL = 'HNL',\n HKD = 'HKD',\n HUF = 'HUF',\n ISK = 'ISK',\n INR = 'INR',\n IDR = 'IDR',\n IRR = 'IRR',\n IMP = 'IMP',\n ILS = 'ILS',\n JMD = 'JMD',\n JPY = 'JPY',\n JEP = 'JEP',\n KZT = 'KZT',\n KGS = 'KGS',\n LAK = 'LAK',\n LVL = 'LVL',\n LBP = 'LBP',\n LRD = 'LRD',\n LTL = 'LTL',\n MKD = 'MKD',\n MYR = 'MYR',\n MUR = 'MUR',\n MXN = 'MXN',\n MNT = 'MNT',\n MZN = 'MZN',\n NAD = 'NAD',\n NPR = 'NPR',\n ANG = 'ANG',\n NZD = 'NZD',\n NIO = 'NIO',\n NGN = 'NGN',\n KPW = 'KPW',\n NOK = 'NOK',\n OMR = 'OMR',\n PKR = 'PKR',\n PAB = 'PAB',\n PYG = 'PYG',\n PEN = 'PEN',\n PHP = 'PHP',\n PLN = 'PLN',\n QAR = 'QAR',\n RON = 'RON',\n RUR = 'RUR',\n RUB = 'RUB',\n SHP = 'SHP',\n SAR = 'SAR',\n RSD = 'RSD',\n SCR = 'SCR',\n SGD = 'SGD',\n SBD = 'SBD',\n SOS = 'SOS',\n ZAR = 'ZAR',\n KRW = 'KRW',\n LKR = 'LKR',\n SEK = 'SEK',\n CHF = 'CHF',\n SRD = 'SRD',\n SYP = 'SYP',\n TWD = 'TWD',\n THB = 'THB',\n TTD = 'TTD',\n TRY = 'TRY',\n TRL = 'TRL',\n TVD = 'TVD',\n UAH = 'UAH',\n GBP = 'GBP',\n USD = 'USD',\n UYU = 'UYU',\n UZS = 'UZS',\n VEF = 'VEF',\n VND = 'VND',\n YER = 'YER',\n ZWD = 'ZWD',\n}\n\nexport const CURRENCY_MAP: Readonly<Record<CurrencyCodes, string>> = Object.freeze({\n ALL: '\\u004C\\u0065\\u006b',\n AFN: '\\u060B',\n ARS: '\\u0024',\n AWG: '\\u0192',\n AUD: '\\u0024',\n AZN: '\\u20BC',\n BSD: '\\u0024',\n BBD: '\\u0024',\n BYR: '\\u0042\\u0072',\n BZD: '\\u0042\\u005a\\u0024',\n BMD: '\\u0024',\n BOB: '\\u0024\\u0062',\n BAM: '\\u004B\\u004d',\n BWP: '\\u0050',\n BGN: '\\u043B\\u0432',\n BRL: '\\u0052\\u0024',\n BND: '\\u0024',\n KHR: '\\u17DB',\n CAD: '\\u0043\\u0024',\n KYD: '\\u0024',\n CLP: '\\u0024',\n CNY: '\\u00A5',\n COP: '\\u0024',\n CRC: '\\u20A1',\n HRK: '\\u006B\\u006e',\n CUP: '\\u20B1',\n CZK: '\\u004B\\u010d',\n DKK: '\\u006B\\u0072',\n DOP: '\\u0052\\u0044\\u0024',\n XCD: '\\u0024',\n EGP: '\\u00A3',\n SVC: '\\u0024',\n EEK: '\\u006B\\u0072',\n EUR: '\\u20AC',\n FKP: '\\u00A3',\n FJD: '\\u0024',\n FRF: '\\u20A3',\n GHC: '\\u00A2',\n GIP: '\\u00A3',\n GTQ: '\\u0051',\n GGP: '\\u00A3',\n GYD: '\\u0024',\n HNL: '\\u004C',\n HKD: '\\u0024',\n HUF: '\\u0046\\u0074',\n ISK: '\\u006B\\u0072',\n INR: '\\u20A8',\n IDR: '\\u0052\\u0070',\n IRR: '\\uFDFC',\n IMP: '\\u00A3',\n ILS: '\\u20AA',\n JMD: '\\u004A\\u0024',\n JPY: '\\u00A5',\n JEP: '\\u00A3',\n KZT: '\\u20B8',\n KGS: '\\u004B\\u0047\\u0053',\n LAK: '\\u20AD',\n LVL: '\\u004C\\u0073',\n LBP: '\\u00A3',\n LRD: '\\u0024',\n LTL: '\\u004C\\u0074',\n MKD: '\\u0434\\u0435\\u043d',\n MYR: '\\u0052\\u004d',\n MUR: '\\u20A8',\n MXN: '\\u0024',\n MNT: '\\u20AE',\n MZN: '\\u004D\\u0054',\n NAD: '\\u0024',\n NPR: '\\u20A8',\n ANG: '\\u0192',\n NZD: '\\u0024',\n NIO: '\\u0043\\u0024',\n NGN: '\\u20A6',\n KPW: '\\u20A9',\n NOK: '\\u006B\\u0072',\n OMR: '\\uFDFC',\n PKR: '\\u20A8',\n PAB: '\\u0042\\u002f\\u002e',\n PYG: '\\u0047\\u0073',\n PEN: '\\u0053\\u002f\\u002e',\n PHP: '\\u20B1',\n PLN: '\\u007A\\u0142',\n QAR: '\\uFDFC',\n RON: '\\u006C\\u0065\\u0069',\n RUR: '\\u20BD',\n RUB: '\\u20BD',\n SHP: '\\u00A3',\n SAR: '\\uFDFC',\n RSD: '\\u0414\\u0438\\u043d\\u002e',\n SCR: '\\u20A8',\n SGD: '\\u0024',\n SBD: '\\u0024',\n SOS: '\\u0053',\n ZAR: '\\u0052',\n KRW: '\\u20A9',\n LKR: '\\u20A8',\n SEK: '\\u006B\\u0072',\n CHF: '\\u0043\\u0048\\u0046',\n SRD: '\\u0024',\n SYP: '\\u00A3',\n TWD: '\\u004E\\u0054\\u0024',\n THB: '\\u0E3F',\n TTD: '\\u0054\\u0054\\u0024',\n TRY: '\\u20A4',\n TRL: '\\u20A4',\n TVD: '\\u0024',\n UAH: '\\u20B4',\n GBP: '\\u00A3',\n USD: '\\u0024',\n UYU: '\\u0024\\u0055',\n UZS: '\\u043B\\u0432',\n VEF: '\\u0042\\u0073',\n VND: '\\u20AB',\n YER: '\\uFDFC',\n ZWD: '\\u005A\\u0024',\n})\n","import styled, { css } from 'styled-components'\nimport { AmountProps } from './Amount'\n\nconst crossedOut = css`\n text-decoration: line-through;\n`\n\nexport const Root = styled.span.withConfig<AmountProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n color: inherit;\n white-space: nowrap;\n ${(props) => (props.crossedOut ? crossedOut : null)}\n`\n","import { PureComponent } from 'react'\nimport cx from 'clsx'\nimport { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text/Text'\nimport { Display } from '../../mixins/display'\nimport { CurrencyCodes, CURRENCY_MAP } from './data'\nimport * as Styled from './style'\n\nexport interface AmountProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * Value for amount\n */\n value?: number\n /**\n * Digits after point\n */\n digitsAfterPoint?: number\n /**\n * Show zero minor part\n */\n showZeroMinorPart?: boolean\n /**\n * Separator of major and minor part of amount\n */\n separator?: string\n /**\n * International code of currency.\n */\n currency?: keyof typeof CurrencyCodes\n /**\n * Use Header component for display amount\n */\n isHeader?: boolean\n /**\n * Amount is not valid and will be crossed out with ```text-decoration: line-through```\n */\n crossedOut?: boolean\n /**\n * If need only currency symbol\n */\n onlyCurrency?: boolean\n}\n\nconst AMOUNT_MAJOR_PART_SIZE = 3\nconst ZERO_MINOR_PART_REGEXP = /^0+$/\nconst MINUS_SIGN_HTML_CODE = '\\u2212'\n\nfunction createSplitter(partSize: number): (_s: string) => string[] {\n const parts = (str: string): string[] => {\n const { length } = str\n\n if (length <= partSize) {\n return [str]\n }\n\n const from = length - partSize\n const to = length\n\n return [str.slice(from, to)].concat(parts(str.slice(0, from)))\n }\n\n return parts\n}\n\nfunction formatAmount(\n value: AmountProps['value'] = 0,\n digitsAfterPoint: AmountProps['digitsAfterPoint'],\n currencyCode: AmountProps['currency']\n) {\n const isNegative = value < 0\n\n const valueAbs = Math.abs(value)\n const valueAbsStr = valueAbs.toFixed(digitsAfterPoint)\n\n const numberParts = valueAbsStr.split('.')\n const majorPart = numberParts[0]\n const minorPart = numberParts[1]\n\n const amountSplitter = createSplitter(AMOUNT_MAJOR_PART_SIZE)\n\n const majorPartFormatted = amountSplitter(majorPart).reverse().join(' ')\n\n const formattedValueStr = majorPartFormatted + (minorPart ? `,${minorPart}` : '')\n\n return {\n majorPart: majorPartFormatted,\n minorPart,\n value: formattedValueStr,\n isNegative,\n currencySymbol: currencyCode ? Amount.getCurrencySymbol(currencyCode) : '',\n }\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport class Amount extends PureComponent<AmountProps> {\n static displayName = 'Amount'\n static defaultProps = {\n isHeader: false,\n showZeroMinorPart: false,\n crossedOut: false,\n digitsAfterPoint: 2,\n separator: ',',\n onlyCurrency: false,\n }\n\n static getCurrencySymbol(currencyCode: keyof typeof CurrencyCodes) {\n return CURRENCY_MAP[currencyCode] || currencyCode\n }\n\n renderMinorPart(minorPart: string) {\n const { showZeroMinorPart, separator } = this.props\n\n let needMinorPart = false\n\n if (minorPart) {\n needMinorPart = true\n\n if (!showZeroMinorPart && ZERO_MINOR_PART_REGEXP.test(minorPart)) {\n needMinorPart = false\n }\n }\n\n if (needMinorPart) {\n return (\n <span className='minor-container'>\n <span className='separator'>{separator}</span>\n <span className='minor'>{minorPart}</span>\n </span>\n )\n }\n\n return null\n }\n\n renderCurrencySymbol = (currencySymbol: string) => (\n <span style={{ position: 'relative' }}>\n {this.props.currency === 'RUR' ? (\n <span\n style={{\n position: 'absolute',\n width: 0,\n opacity: 0,\n visibility: 'hidden',\n }}\n >\n руб.\n </span>\n ) : null}\n <span>{` ${currencySymbol}`}</span>\n </span>\n )\n\n render() {\n const { value, digitsAfterPoint, currency, isHeader, className, style, crossedOut, onlyCurrency, ...rest } =\n this.props\n\n const { majorPart, minorPart, isNegative, currencySymbol } = formatAmount(value, digitsAfterPoint, currency)\n\n const classNames = cx('amount', className)\n\n const amountInner = (\n <Styled.Root className={classNames} style={style} crossedOut={crossedOut}>\n {!onlyCurrency ? (\n <>\n <span className='major'>\n {isNegative && MINUS_SIGN_HTML_CODE}\n {majorPart}\n </span>\n {this.renderMinorPart(minorPart)}\n </>\n ) : null}\n {currency && this.renderCurrencySymbol(currencySymbol)}\n </Styled.Root>\n )\n\n const Element = isHeader ? Text.Heading : Text\n\n return (\n <Element {...rest} as='span'>\n {amountInner}\n </Element>\n )\n }\n}\n","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 4.233 4.233\"><path d=\"M.76 3.175l-.363-.369 1.72-1.748 1.72 1.748-.363.369-1.357-1.38z\" /></svg>\n","import styled, { css } from 'styled-components'\nimport { ArrowProps } from './Arrow'\n\nconst outline = css`\n box-shadow: inset 0 0 0 2px ${(props) => props.theme.colors.alto};\n background: transparent;\n\n svg {\n fill: ${(props) => props.theme.colors.alto};\n }\n`\n\nconst inverse = css`\n box-shadow: inset 0 0 0 2px ${(props) => props.theme.colors.white};\n background: transparent;\n &:hover,\n &:active {\n background: ${(props) => props.theme.colors.white};\n svg {\n fill: ${(props) => props.theme.colors.accent};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 #eaecf3;\n }\n\n svg {\n fill: ${(props) => props.theme.colors.white};\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n -webkit-filter: grayscale(100%);\n -moz-filter: grayscale(100%);\n -ms-filter: grayscale(100%);\n -o-filter: grayscale(100%);\n filter: grayscale(100%);\n`\n\nconst size = (size: ArrowProps['size']) => {\n let radius\n switch (size) {\n case 'l':\n radius = 40\n break\n case 'm':\n radius = 28\n break\n case 'xs':\n radius = 20\n break\n default:\n radius = 28\n }\n return css`\n border-radius: ${radius}px;\n width: ${radius}px;\n height: ${radius}px;\n `\n}\n\nexport const Root = styled.button<ArrowProps>`\n outline: 0;\n border: 0;\n background: #fff;\n border-radius: 99em;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 0;\n line-height: 0;\n box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);\n transition: all 0.2s ease;\n margin: 0;\n padding: 0;\n cursor: pointer;\n ${(props) => (props.size ? size(props.size) : null)}\n\n &:hover {\n background: ${(props) => props.theme.colors.accent};\n box-shadow: none;\n svg {\n fill: white;\n }\n }\n\n &:active {\n background: darken($accent, 13);\n box-shadow: inset 0 4px 0 rgba(5, 108, 188, 0.5);\n }\n\n svg {\n transition: all 0.2s ease;\n fill: ${(props) => props.theme.colors.accent};\n }\n\n ${(props) => (props.outline ? outline : null)}\n ${(props) => (props.inverse ? inverse : null)}\n ${(props) => (props.disabled ? disabled : null)}\n`\n","import { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport ArrowSvg from './images/arrow.module.svg'\nimport * as Styled from './style'\n\nconst DIR_MAP = {\n top: 0,\n right: 90,\n bottom: 180,\n left: 270,\n}\n\nexport interface ArrowProps extends BaseProps {\n /**\n * Size of icon\n */\n size?: 'xs' | 'm' | 'l'\n /**\n * Direction arrow\n */\n top?: boolean\n /**\n * Direction arrow\n */\n right?: boolean\n /**\n * Direction arrow\n */\n bottom?: boolean\n /**\n * Direction arrow\n */\n left?: boolean\n inverse?: boolean\n outline?: boolean\n disabled?: boolean\n // eslint-disable-next-line no-unused-vars\n onClick?(event: React.MouseEvent<HTMLButtonElement>): void\n}\n\n/* eslint-disable react/prefer-stateless-function */\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class Arrow extends PureComponent<ArrowProps> {\n static displayName = 'Arrow'\n static defaultProps = {\n size: 'l',\n top: false,\n right: false,\n bottom: false,\n left: false,\n inverse: false,\n outline: false,\n disabled: false,\n onClick: () => undefined,\n }\n\n onClickHandler = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n const { disabled, onClick } = this.props\n\n if (!disabled && typeof onClick === 'function') {\n onClick(event)\n }\n }\n\n render() {\n const {\n top,\n right,\n bottom,\n left,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onClick, // eslint-disable-line no-unused-vars\n ...restProps\n } = this.props\n\n const arrowDir = {\n top: top && !bottom,\n right: right && !left,\n bottom: bottom && !top,\n left: left && !right,\n }\n\n const isMultiDir = Object.values(arrowDir).filter((value) => value === true).length > 1\n\n const rotateDeg =\n Object.keys(arrowDir).reduce((acc, key) => (arrowDir[key] ? acc + DIR_MAP[key] : acc), 0) / (isMultiDir ? 2 : 1)\n\n const arrowStyle = {\n transform: `rotate(${rotateDeg}deg)${isMultiDir ? ' translateY(-3px)' : ''}`,\n }\n\n return (\n <Styled.Root {...restProps} onClick={this.onClickHandler}>\n <span>\n <ArrowSvg style={arrowStyle} />\n </span>\n </Styled.Root>\n )\n }\n}\n","/**\n * Возвращает цвет по строке\n *\n * @param {string} string строка имени\n * @param {Array} colors массив цветов (hex коды или имёна)\n * @return {string | null} цвет из массива цветов\n */\nexport const getColorByString = (string: string, colors: string[]) => {\n let i = string.length\n let sum = 0\n\n while (i--) {\n sum += string.charCodeAt(i)\n }\n\n return colors ? colors[sum % colors.length] : null\n}\n\nconst pattern = /^[\\uD83C-\\uDBFF\\uDC00-\\uDFFF]+$/u\n\n/**\n * Определяет является ли текст emoji\n * @param {string} text\n * @return {boolean}\n */\nfunction isEmoji(text: string) {\n return pattern.test(text)\n}\n\n/**\n * Возвращает буквы из имени\n *\n * @param {string} title\n * @return {string}\n */\nexport const getAvatarText = (title: string) => {\n if (title && title.length) {\n const trimmedTitleArray = title.trim().split(' ')\n const titleArray = trimmedTitleArray.filter((item) => !isEmoji(item))\n\n if (titleArray.length === 1) {\n return titleArray[0][0]\n } else if (titleArray.length > 1) {\n return `${titleArray[0][0]}${titleArray[1][0]}`\n }\n }\n\n return '#'\n}\n","import styled, { css } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport { AvatarProps } from './Avatar'\nimport { getColorByString } from './utils'\n\nconst SIZES: Record<Exclude<AvatarProps['size'], undefined>, number> = {\n l: 120,\n m: 68,\n sm: 52,\n s: 40,\n xs: 32,\n}\n\nconst linearGenerator = (color: string | null) => {\n if (!color) return null\n\n return css`\n background-image: linear-gradient(40deg, ${tiny(color).lighten(20).toString()}, ${color});\n `\n}\n\nconst withPlaceholder = css`\n display: inline-flex;\n overflow: hidden;\n text-align: center;\n vertical-align: middle;\n text-transform: uppercase;\n pointer-events: none;\n align-content: center;\n justify-content: center;\n align-items: center;\n color: ${(props) => props.theme.colors.white};\n line-height: 0;\n font-family: -apple-system, 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',\n 'Droid Sans', 'Helvetica Neue', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n`\n\nconst WITH_PH_SIZE = {\n l: 36,\n m: 24,\n}\n\nexport const Root = styled.div<AvatarProps>`\n display: inline-block;\n vertical-align: middle;\n flex-shrink: 0;\n border-radius: 100%;\n box-sizing: border-box;\n background: ${(props) => tiny(props.theme.colors.mercury).setAlpha(0.6).toString()} center center no-repeat;\n background-size: cover;\n transition: background 0.2s ease, box-shadow 0.2s ease;\n ${(props) => (props.color ? linearGenerator(props.theme.colors[props.color]) : null)}\n ${(props) =>\n props.size\n ? css`\n width: ${typeof props.size === 'string' && SIZES[props.size] ? SIZES[props.size] : props.size}px;\n height: ${typeof props.size === 'string' && SIZES[props.size] ? SIZES[props.size] : props.size}px;\n `\n : null}\n ${(props) =>\n props.shadow\n ? css`\n &:not(:hover) {\n box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1);\n }\n `\n : null}\n\n ${(props) =>\n props.autoColor && props.title\n ? linearGenerator(getColorByString(props.title, Object.values(props.theme.colors)))\n : null}\n ${(props) => (!props.src ? withPlaceholder : null)}\n ${(props) =>\n !props.src && props.size\n ? css`\n font-size: ${WITH_PH_SIZE[props.size] || 12}px;\n `\n : null}\n`\n","import { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport { getAvatarText } from './utils'\nimport * as Styled from './style'\n\nexport interface AvatarProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /** Title for avatar. Example user name. */\n title?: string\n /** Image source */\n src?: string\n /** Size of avatar */\n size?: 'l' | 'm' | 'sm' | 's' | 'xs' | number\n /** Shadow of avatar */\n shadow?: boolean\n /** Make ref func */\n ref?: React.LegacyRef<HTMLDivElement>\n /**\n * Generate color by title automatically\n *\n * `Performance Info`: Each render of component call getAvatarColor function on received title\n */\n autoColor?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n */\nexport class Avatar extends PureComponent<AvatarProps> {\n static defaultProps = {\n size: 'm',\n autoColor: false,\n }\n\n static displayName = 'Avatar'\n\n getAvatarText() {\n return getAvatarText(this.props.title || '')\n }\n\n render() {\n const { src, ref, ...restProps } = this.props\n\n const text = this.getAvatarText()\n\n if (src) {\n return (\n <Styled.Root\n {...restProps}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={\n src\n ? {\n backgroundImage: src && `url(${src})`,\n }\n : undefined\n }\n />\n )\n }\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <Styled.Root {...restProps} ref={this.props.ref as any}>\n {text}\n </Styled.Root>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { display } from '../../mixins/display'\nimport { BadgeProps } from './Badge'\n\nconst round = css`\n min-width: 16px;\n padding: 3px 4px 1px;\n border-radius: 100%;\n box-sizing: border-box;\n line-height: 0;\n\n .text {\n line-height: 12px;\n }\n`\n\nexport const Root = styled.div.withConfig<BadgeProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n background-color: currentColor;\n padding: 2px 12px 0px;\n border-radius: 3px;\n vertical-align: middle;\n text-align: center;\n\n &:not(:last-child) {\n margin-right: 8px;\n }\n\n .text {\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n }\n\n ${(props) => (props.round ? round : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text, TextProps } from './../Text/Text'\nimport * as Styled from './style'\n\nexport interface BadgeProps extends BaseProps, Color, Display {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: string | React.ReactNode\n textProps?: TextProps\n /** Make badge round */\n round?: string\n}\n\nBadge.displayName = 'Badge'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Badge({\n children,\n content,\n className,\n textProps,\n round,\n display = 'inline-block',\n ...restProps\n}: BadgeProps) {\n const _className = useClassname(Badge.displayName, className)\n return (\n <Styled.Root round={round} display={display} className={_className} {...restProps}>\n <Text\n className='text'\n size={round ? 10 : 12}\n weight={round ? 'bolder' : 'normal'}\n lineHeight='s'\n content={typeof content === 'string' ? content : undefined}\n {...textProps}\n >\n {children || content}\n </Text>\n </Styled.Root>\n )\n}\n","export const WIDTHS = {\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n","import { PossibleValues } from 'mixins/responsive-property'\nimport { WIDTHS } from './constants'\n\nexport const chooseWidthValue = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && WIDTHS[width]) return WIDTHS[width]\n\n return 'auto'\n}\n","import styled, { css, DefaultTheme, keyframes } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport { CalcProperty, property, responsiveNamedProperty } from '../../mixins/responsive-property'\nimport { color } from '../../mixins/color'\nimport { display } from '../../mixins/display'\nimport { ButtonProps } from './Button'\nimport { chooseWidthValue } from './helpers'\n\nconst ROUND_SIZE: Record<Exclude<ButtonProps['size'], undefined>, number> = {\n l: 52,\n m: 48,\n s: 40,\n xs: 32,\n}\n\nconst loadingAnimation = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst loading = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.2) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.2) 50%,\n rgba(255, 255, 255, 0.2) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${loadingAnimation} 2s linear infinite;\n /* pointer-events: none; */\n cursor: progress;\n`\n\nconst rounded = css`\n border-radius: ${(props) => props.theme.borderRadius};\n`\n\nconst disabled = css`\n cursor: not-allowed;\n background-color: ${(props) => props.theme.colors.mercury};\n color: ${(props) => props.theme.colors.silver};\n`\n\nconst active = css`\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n ${(props: ButtonProps & { theme: DefaultTheme }) => {\n if (!props.color || !props.fontColor) return null\n\n return css`\n color: ${props.fontColor};\n background-color: ${tiny(props.theme.colors[props.color]).saturate(-5).lighten(-8).toString()};\n `\n }}\n }\n ${(props) =>\n (props.inverted || props.basic) && props.fontColor && props.color\n ? css`\n &:not(:hover) {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n &:hover {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n `\n : null}\n`\n\nconst roundSize: CalcProperty = (size, sizing = 'px') => {\n return css`\n width: ${size}${sizing};\n height: ${size}${sizing};\n font-size: ${0.44 * size}${sizing};\n line-height: ${0.44 * size}${sizing};\n padding: ${0.28 * size}${sizing};\n `\n}\n\nconst fluid: CalcProperty = () => {\n return css`\n min-width: initial;\n width: 100%;\n `\n}\n\nexport const Content = styled.span`\n display: inline-block;\n line-height: 1;\n vertical-align: middle;\n`\n\nexport const Root = styled.div.withConfig<ButtonProps>({\n shouldForwardProp: (prop) =>\n [\n 'children',\n 'className',\n 'style',\n 'target',\n 'to',\n 'href',\n 'ref',\n 'onClick',\n 'type',\n 'onMouseEnter',\n 'onMouseLeave',\n ].includes(prop),\n})`\n -webkit-box-sizing: border-box !important;\n -moz-box-sizing: border-box !important;\n -ms-box-sizing: border-box !important;\n box-sizing: border-box !important;\n position: relative;\n overflow: hidden;\n border: none;\n cursor: pointer;\n user-select: none;\n font-weight: 600;\n padding-top: 0;\n padding-bottom: 0;\n text-decoration: none;\n justify-content: center;\n align-items: center;\n text-align: center;\n transition: 0.2s all;\n white-space: nowrap;\n appearance: none;\n vertical-align: top;\n & + & {\n margin-left: 1em;\n ${(props) =>\n props.noSpacing\n ? css`\n margin-left: auto;\n `\n : null}\n }\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.loading ? loading : null)}\n ${(props) => (props.rounded ? rounded : null)}\n ${(props) => (props.color ? color(props.color, props.inverted || props.basic ? 'color' : 'background-color') : null)}\n ${(props) =>\n props.fontColor ? color(props.fontColor, props.inverted || props.basic ? 'background-color' : 'color') : null}\n ${(props) =>\n props.basic\n ? css`\n background-color: transparent;\n `\n : null}\n\n ${(props) =>\n props.round\n ? css`\n border-radius: 100%;\n letter-spacing: 0.5px;\n & > * {\n display: inline-block !important;\n vertical-align: middle !important;\n }\n .icon {\n vertical-align: middle;\n\n & > * {\n vertical-align: middle !important;\n }\n svg {\n vertical-align: middle;\n }\n }\n `\n : css`\n .icon {\n display: inline-block;\n font-size: inherit;\n line-height: 0;\n vertical-align: middle;\n & > * {\n vertical-align: baseline !important;\n }\n & + ${Content} {\n margin-left: 10px;\n }\n }\n `}\n\n &:focus {\n outline: 0;\n }\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n /** BEGIN Responsive font-size */\n ${(props) => (props.fontSize ? property(props.fontSize, 'font-size') : null)}\n ${({ fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL }) => {\n return responsiveNamedProperty({\n sizes: { fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL },\n cssProperty: 'font-size',\n })\n }}\n /** END Responsive font-size */\n\n ${(props) => (props.size ? property(chooseWidthValue(props.size), 'width') : null)}\n\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n ${({ heightXS, heightS, heightM, heightL, heightXL }) =>\n responsiveNamedProperty({ sizes: { heightXS, heightS, heightM, heightL, heightXL }, cssProperty: 'height' })}\n\n ${(props) => (props.width ? property(chooseWidthValue(props.width), 'width') : null)}\n ${({ widthXS, widthS, widthM, widthL, widthXL }) =>\n responsiveNamedProperty({\n sizes: { widthXS, widthS, widthM, widthL, widthXL },\n cssProperty: 'width',\n customSizeHandler: chooseWidthValue,\n })}\n \n\n ${(props) =>\n props.round && props.size\n ? property(\n typeof props.size === 'string' && ROUND_SIZE[props.size] ? ROUND_SIZE[props.size] : props.size,\n roundSize\n )\n : null}\n \n\n ${(props) => (props.fluid ? property(props.fluid, fluid) : null)}\n ${({ fluidXS, fluidS, fluidM, fluidL, fluidXL }) =>\n responsiveNamedProperty({ sizes: { fluidXS, fluidS, fluidM, fluidL, fluidXL }, cssProperty: fluid })}\n\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (!props.disabled && !props.loading ? active : null)}\n`\n","import { ButtonProps } from './Button'\n\nexport const PROPS_BY_SIZE: Record<Exclude<ButtonProps['size'], number | undefined>, Partial<ButtonProps>> = {\n l: {\n fontSize: 'l',\n fontSizeM: 'm',\n height: 60,\n heightM: 56,\n heightS: 52,\n paddingLeft: 36,\n paddingRight: 36,\n paddingLeftM: 28,\n paddingRightM: 28,\n paddingLeftS: 24,\n paddingRightS: 24,\n },\n m: {\n fontSize: 'm',\n height: 52,\n paddingLeft: 32,\n paddingRight: 32,\n paddingLeftM: 24,\n paddingRightM: 24,\n paddingLeftS: 20,\n paddingRightS: 20,\n },\n s: {\n fontSize: 's',\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n xs: {\n fontSize: 's',\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n}\n\nexport const PRESETS: Record<'default' | 'primary' | 'secondary', Partial<ButtonProps>> = {\n default: {\n color: 'accent',\n fontColor: 'white',\n },\n primary: {\n color: 'primary',\n fontColor: 'white',\n },\n secondary: {\n color: 'atlantis',\n fontColor: 'white',\n },\n}\n","import { Link } from 'react-router-dom'\nimport { useClassname } from 'hooks/useClassname'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps, Tooltiped } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport { Anchor } from '../../components/Anchor'\nimport * as Styled from './style'\nimport { PRESETS, PROPS_BY_SIZE } from './default'\n\nexport interface ButtonProps\n extends BaseProps,\n Tooltiped,\n Display,\n Color,\n Color<'fontColor'>,\n ResponsiveNamedProperty<'padding'>,\n ResponsiveNamedProperty<'paddingTop'>,\n ResponsiveNamedProperty<'paddingRight'>,\n ResponsiveNamedProperty<'paddingBottom'>,\n ResponsiveNamedProperty<'paddingLeft'>,\n ResponsiveNamedProperty<'margin'>,\n ResponsiveNamedProperty<'marginTop'>,\n ResponsiveNamedProperty<'marginRight'>,\n ResponsiveNamedProperty<'marginBottom'>,\n ResponsiveNamedProperty<'marginLeft'>,\n ResponsiveNamedProperty<'fontSize'>,\n ResponsiveNamedProperty<'fluid', boolean>,\n ResponsiveNamedProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>,\n ResponsiveNamedProperty<'height', 'l' | 'm' | 's' | 'xs' | number> {\n /**\n * Node type\n */\n as?: 'div' | 'span' | 'a' | 'button' | typeof Link | typeof Anchor\n target?: string\n rel?: string\n /**\n * Link href\n */\n href?: string\n /**\n * React router link to\n */\n to?: string\n /**\n * Type for button element\n */\n type?: 'button' | 'submit' | 'reset'\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Basic button\n */\n basic?: boolean\n /**\n * Disabled\n */\n disabled?: boolean\n /**\n * Is primary\n */\n primary?: boolean\n /**\n * Is secondary\n */\n secondary?: boolean\n /**\n * Is inverted\n */\n inverted?: boolean\n /**\n * Is rounded\n */\n rounded?: boolean\n /**\n * Is round (in a shape of circle)\n */\n round?: boolean\n /**\n * Indicates if there should not be any margin\n * between this button and the previous one\n */\n noSpacing?: boolean\n /**\n * Is in loading state\n */\n loading?: boolean\n /**\n * Button icon\n */\n icon?: React.ReactNode\n /** On click callback */\n onClick?: () => void\n /** Function to make ref */\n ref?: React.LegacyRef<HTMLDivElement>\n /**\n * Size\n */\n size?: 'l' | 'm' | 's' | 'xs'\n}\n\nButton.defaultProps = {\n size: 'm',\n rounded: true,\n display: 'inline-flex',\n type: 'button',\n}\n\nButton.displayName = 'Button'\n\nconst extractPresetByProps = (props: ButtonProps): Partial<ButtonProps> => {\n if (props.primary) return PRESETS.primary\n if (props.secondary) return PRESETS.secondary\n return PRESETS.default\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Tooltiped`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'fontSize'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'fluid', boolean>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'height', 'l' | 'm' | 's' | 'xs' | number>`](#/Миксины)\n */\nexport function Button(props: ButtonProps) {\n const { children, className, disabled, href, to, as, target, onClick, ref, icon, type, innerRef, ...restProps } =\n props\n\n const _as = as || (disabled ? 'button' : href ? 'a' : to ? Link : 'button')\n const aProps = _as === 'a' && !disabled ? { href: href || to, target } : {}\n const linkProps = typeof _as !== 'string' && !disabled ? { to: to || href } : {}\n const propsBySize: Partial<ButtonProps> =\n restProps.size && !restProps.round ? PROPS_BY_SIZE[restProps.size] || {} : {}\n const presetProps: Partial<ButtonProps> = extractPresetByProps(props)\n const _className = useClassname(Button.displayName, className)\n\n return (\n <Styled.Root\n as={_as}\n className={_className}\n type={_as === 'button' ? type : undefined}\n onClick={disabled || restProps.loading ? undefined : onClick}\n {...propsBySize}\n {...aProps}\n {...linkProps}\n {...presetProps}\n {...restProps}\n disabled={disabled}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={(ref || innerRef) as any}\n >\n {icon && <span className='icon'>{icon}</span>}\n {children && <Styled.Content className={`${_className}__content`}>{children}</Styled.Content>}\n </Styled.Root>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { color } from '../../mixins/color'\nimport { screenL, screenM, screenMaxS } from '../../mixins/screen'\nimport { ContainerProps } from './Container'\n\nexport const Root = styled.div.withConfig<ContainerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n display: block;\n width: 100%;\n max-width: ${(props) => props.theme.breakpoints.l - 100 + 2 * 50}px;\n margin: 0 auto;\n padding: 0 50px;\n box-sizing: border-box;\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) =>\n props.fluid\n ? css`\n max-width: 100%;\n `\n : null}\n ${screenL()`\n padding: 0 42px;\n `}\n ${screenM()`\n padding: 0 28px;\n `}\n ${screenMaxS()`\n padding: 0 20px;\n `}\n`\n","import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ContainerProps extends BaseProps, Display, Color {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Container has no maximum width.\n */\n fluid?: boolean\n /**\n * Align container text.\n */\n textAlign?: 'left' | 'center' | 'right' | 'justified'\n}\n\nContainer.displayName = 'Container'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Container(props: ContainerProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { createGlobalStyle, css } from 'styled-components'\nimport ReactModal from 'react-modal'\nimport { property, PossibleValues } from 'mixins/responsive-property'\nimport { ModalProps } from './Modal'\nimport { ReactModalAdapter } from './adapter'\n\ninterface ReactModalProps extends ReactModal.Props {\n zIndex?: ModalProps['zIndex']\n valign?: ModalProps['valign']\n}\n\nconst WIDTHS = {\n xxxs: 100,\n xxs: 200,\n xs: 300,\n s: 400,\n m: 500,\n l: 600,\n xl: 740,\n xxl: 800,\n xxxl: 900,\n}\n\nconst chooseWidthValue = (props: ModalProps): PossibleValues => {\n if (typeof props.width === 'number') return props.width\n\n if (props.width && typeof props.width === 'string' && WIDTHS[props.width]) return WIDTHS[props.width]\n\n return 'auto'\n}\n\nconst getPosition = (valign: ModalProps['valign']) => {\n switch (valign) {\n case 'top':\n return 'flex-start'\n case 'bottom':\n return 'flex-end'\n case 'center':\n return 'center'\n default:\n return 'center'\n }\n}\n\nexport const Modal = styled(ReactModalAdapter)<ReactModalProps>`\n &__overlay {\n z-index: ${(props) => props.zIndex || props.theme.zIndex.modal};\n display: flex;\n flex-direction: row;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-x: none;\n overflow-y: auto;\n ${(props) =>\n props.valign\n ? css`\n align-items: ${getPosition(props.valign)};\n `\n : null}\n &.ReactModal__Overlay--after-open {\n ${(props) =>\n props.overlayClassName\n ? null\n : css`\n background: rgba(246, 247, 251, 0.9);\n `}\n }\n &.ReactModal__Overlay--before-close {\n }\n }\n\n &__content {\n width: 100%;\n max-height: 100%;\n position: relative;\n &:focus {\n outline: 0;\n }\n ${(props) => (props.width ? property(chooseWidthValue(props), 'max-width') : null)}\n &.ReactModal__Content--after-open {\n }\n &.ReactModal__Content--before-close {\n }\n }\n`\n\nexport const ModalClose = styled.span`\n opacity: 1;\n transition: 0.3s;\n position: absolute;\n right: 20px;\n top: 20px;\n cursor: pointer;\n z-index: 10;\n svg {\n width: 18px;\n height: 18px;\n }\n &:hover {\n opacity: 0.5;\n }\n`\n\nexport const GlobalRoot = createGlobalStyle`\n .bodyOpen {\n overflow: hidden;\n }\n`\n","import ReactModal from 'react-modal'\nimport cx from 'clsx'\nimport { ModalProps } from './Modal'\n\nexport const ReactModalAdapter: React.FC<ModalProps> = ({\n className,\n isOpen,\n overlayClassName,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n style: _style,\n ...props\n}: ModalProps) => {\n const contentClassName = `${className}__content`\n const overlayClassNameLocal = `${className}__overlay`\n\n return (\n <ReactModal\n portalClassName={className}\n className={contentClassName}\n isOpen={Boolean(isOpen)}\n overlayClassName={cx(overlayClassNameLocal, overlayClassName)}\n {...props}\n />\n )\n}\n","import ReactModal, { Classes } from 'react-modal'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ModalClose } from './Close'\nimport * as Styled from './style'\n\nfunction setAppModalElement() {\n const appElement = document.body\n\n if (appElement && appElement instanceof HTMLElement) ReactModal.setAppElement(appElement)\n}\n\n// eslint-disable-next-line prettier/prettier\nif (typeof window !== 'undefined') {\n setAppModalElement()\n}\n\nexport interface ModalProps extends BaseProps, ResponsiveNamedProperty<'width'> {\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Modal class name\n */\n className?: string\n /**\n * Number indicating the milliseconds to wait before closing the modal.\n */\n closeTimeoutMS?: number\n /**\n * String indicating how the content container should be announced to screenreaders\n */\n contentLabel?: string\n /**\n * Boolean describing if the modal should be shown or not.\n */\n isOpen?: boolean\n /**\n * Function that will be run after the modal has opened.\n */\n onAfterOpen?(): void\n /**\n * Function that will be run when the modal is requested to be closed, prior to actually closing.\n */\n onRequestClose?(): void\n /**\n * Custom overlay CSS class name\n */\n overlayClassName?: string | Classes\n /**\n * String indicating the role of the modal, allowing the 'dialog' role to be applied if desired.\n */\n role?: string\n /**\n * Boolean indicating if the overlay should close the modal\n */\n shouldCloseOnOverlayClick?: boolean\n /**\n * Vertical align\n */\n valign?: 'top' | 'center' | 'bottom'\n /**\n * z-index\n */\n zIndex?: number\n}\n\nModal.defaultProps = {\n closeTimeoutMS: 0,\n zIndex: 9000,\n contentLabel: '',\n isOpen: false,\n role: 'dialog',\n shouldCloseOnOverlayClick: true,\n width: 'm',\n valign: 'center',\n className: 'modal',\n}\n\nModal.Close = ModalClose\nModal.displayName = 'Modal'\n\n/**\n * Основан на [react-modal](https://github.com/reactjs/react-modal).\n *\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveNamedProperty<'width'>`](#/Миксины)\n */\nexport function Modal(props: ModalProps) {\n const {\n children,\n closeTimeoutMS,\n contentLabel,\n isOpen,\n onAfterOpen,\n onRequestClose,\n overlayClassName,\n role,\n shouldCloseOnOverlayClick,\n width,\n valign,\n className,\n style,\n zIndex,\n } = props\n\n return (\n <Styled.Modal\n closeTimeoutMS={closeTimeoutMS}\n contentLabel={contentLabel}\n isOpen={Boolean(isOpen)}\n onAfterOpen={onAfterOpen}\n onRequestClose={onRequestClose}\n portalClassName={className}\n overlayClassName={overlayClassName}\n bodyOpenClassName='modal--open'\n role={role}\n zIndex={zIndex}\n valign={valign}\n width={width}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n >\n <div style={style}>{children}</div>\n </Styled.Modal>\n )\n}\n","import { Icon } from '../../components/Icon'\nimport * as Styled from './style'\n\nexport interface ModalCloseProps {\n className?: string\n onClick?: () => void\n}\n\nexport function ModalClose({ className, onClick }: ModalCloseProps) {\n return (\n <Styled.ModalClose className={className} onClick={onClick}>\n <Icon name='tinyCross' color='#D9D9D9' />\n </Styled.ModalClose>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { Spacer } from '../../components/Spacer'\nimport { color } from '../../mixins/color'\nimport { PaperProps } from './Paper'\n\nconst zDepth = {\n 0: css`\n box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.11);\n `,\n 1: css`\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);\n `,\n 2: css`\n box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1);\n `,\n 3: css`\n box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.08);\n `,\n 4: css`\n box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.14);\n `,\n}\n\nconst circle = css`\n border-radius: 50%;\n justify-content: center;\n display: flex;\n align-items: center;\n min-width: 100px;\n min-height: 100px;\n`\n\nconst rounded = css`\n border-radius: ${(props) => props.theme.borderRadius};\n`\n\nexport const Root = styled(Spacer)<PaperProps>`\n box-sizing: border-box;\n background-color: ${(props) => props.theme.colors.white};\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) => (typeof props.zDepth === 'number' && props.shadow ? zDepth[props.zDepth] : null)}\n ${(props) => (props.rounded ? rounded : null)}\n ${(props) => (props.circle ? circle : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nexport interface PaperProps extends BaseProps, Display, Color, ResponsiveNamedProperty<'padding'> {\n /**\n * Paper content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Set to true to generate a circlular paper container\n */\n circle?: boolean\n /**\n * Paper with rounded corners\n */\n rounded?: boolean\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: false | 0 | 1 | 2 | 3 | 4\n /**\n * Text align\n */\n textAlign?: 'left' | 'center' | 'right'\n}\n\nPaper.displayName = 'Paper'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n */\nexport function Paper({ padding = 'm', rounded = true, shadow = true, className, ...props }: PaperProps) {\n const _className = useClassname(Paper.displayName, className)\n\n return <Styled.Root padding={padding} rounded={rounded} shadow={shadow} className={_className} {...props} />\n}\n","import styled, { css, DefaultTheme } from 'styled-components'\nimport { color, getColor } from 'mixins/color'\nimport { ProgressSegmentedProps } from './Progress.Segmented'\n\nexport const Progress = styled.div<Pick<ProgressSegmentedProps, 'percent' | 'percentColor'>>`\n height: 100%;\n border-radius: 10px;\n width: ${(props) => `${props.percent || 0}%`};\n ${(props) => (props.percentColor ? color(props.percentColor, 'background') : color('atlantis', 'background'))};\n`\n\nexport const Separators = styled.div`\n position: absolute;\n top: 0;\n display: flex;\n justify-content: space-between;\n width: 100%;\n height: 4px;\n z-index: 3;\n`\n\nexport const Separator = styled.div<Pick<ProgressSegmentedProps, 'separatorColor'>>`\n width: 2px;\n height: 100%;\n &:first-child,\n &:last-child {\n width: 0;\n }\n ${(props) => (props.separatorColor ? color(props.separatorColor, 'background') : color('white', 'background'))}\n`\n\nconst haveCircle = (props: Pick<ProgressSegmentedProps, 'percentColor'> & { theme: DefaultTheme }) => css`\n margin-left: 8px;\n border-radius: 0 10px 10px 0;\n & ${Progress} {\n border-radius: 0 10px 10px 0;\n }\n & ${Separator} {\n &:first-child {\n position: relative;\n &:before {\n position: absolute;\n display: block;\n content: '';\n left: -8px;\n top: -2px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: ${getColor(props.percentColor || 'atlantis', props)};\n }\n }\n }\n`\n\nconst isDone = (props: Pick<ProgressSegmentedProps, 'percentColor'> & { theme: DefaultTheme }) => css`\n & ${Separator} {\n &:last-child {\n position: relative;\n &:before {\n position: absolute;\n top: -6px;\n right: -6px;\n display: block;\n content: '';\n background: ${getColor(props.percentColor || 'atlantis', props)}\n url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjciIHZpZXdCb3g9IjAgMCA5IDciPgogICAgPHBhdGggZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNNi45MTQgMEw4IDEuMDQ1IDIuODQ4IDYgMCAzLjI2MWwxLjA4Ni0xLjA0NUwyLjg0OCAzLjkxeiIvPgo8L3N2Zz4K')\n center no-repeat;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n }\n }\n }\n`\n\nconst isEmpty = css`\n & ${Separator} {\n &:first-child {\n &:before {\n background: rgba(0, 0, 0, 0.1);\n }\n }\n }\n`\n\nexport const Root = styled.div<Pick<ProgressSegmentedProps, 'percent' | 'haveCircle' | 'isActive' | 'percentColor'>>`\n position: relative;\n height: 4px;\n background: rgba(0, 0, 0, 0.1);\n border-radius: 10px;\n ${(props) => (props.haveCircle ? haveCircle(props) : null)}\n ${(props) => (props.percent === 100 ? isDone(props) : null)}\n ${(props) => (props.percent === 0 ? isEmpty : null)}\n`\n","import { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ProgressSegmentedProps extends BaseProps, Color<'separatorColor'>, Color<'percentColor'> {\n /**\n * Current percent complete\n */\n percent?: number\n /**\n * segments count\n */\n segments?: number\n /**\n * custom class\n */\n className?: string\n /**\n * circle in begin progress\n */\n haveCircle?: boolean\n /**\n * active state\n */\n isActive?: boolean\n}\n\nProgressSegmented.defaultProps = {\n percent: 0,\n percentColor: '#7fc92e',\n separatorColor: '#ffffff',\n segments: 9,\n haveCircle: true,\n}\n\nProgressSegmented.displayName = 'Progress.Segmented'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color<'separatorColor'>`](#/Миксины)\n * - [`Color<'percentColor'>`](#/Миксины)\n */\nexport function ProgressSegmented(props: typeof ProgressSegmented.defaultProps & ProgressSegmentedProps) {\n const { percent, segments, className, style, percentColor, separatorColor, haveCircle, isActive } = props\n\n return (\n <Styled.Root\n className={className}\n style={style}\n percent={percent}\n haveCircle={haveCircle}\n percentColor={percentColor}\n isActive={isActive}\n >\n <Styled.Progress percent={percent} percentColor={percentColor} />\n <Styled.Separators>\n {Array.from(new Array(segments + 1).keys()).map((item, key) => (\n <Styled.Separator separatorColor={separatorColor} key={key} />\n ))}\n </Styled.Separators>\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\nimport { color, getColor } from 'mixins/color'\nimport { ProgressCircleProps } from './Progress.Circle'\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => prop === 'children',\n})<Pick<ProgressCircleProps, 'size' | 'resultColor' | 'strokeBGColor' | 'status'>>`\n position: relative;\n width: ${(props) => (props.size ? `${props.size}px` : '84px')};\n height: ${(props) => (props.size ? `${props.size}px` : '84px')};\n flex-shrink: 0;\n svg {\n width: 100%;\n height: 100%;\n font-size: 0px;\n }\n .line {\n fill: none;\n display: block;\n ${(props) => (props.resultColor ? color(props.resultColor, 'stroke') : null)}\n }\n .bg {\n stroke: ${(props) => (props.strokeBGColor ? getColor(props.strokeBGColor, props) : `rgba(0, 0, 0, 0.12)`)};\n fill: rgba(255, 255, 255, 0);\n &.fail {\n stroke: #f1512c;\n }\n &.success {\n stroke: #7bb909;\n }\n &.started {\n stroke: #459ff3;\n }\n }\n`\n\nexport const Content = styled.div`\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n img {\n border-radius: 50%;\n }\n`\n","/* eslint-disable no-use-before-define */\nimport { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nfunction polarToCartesian(centerX: number, centerY: number, radius: number, angleInDegrees: number) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0\n\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n }\n}\n\nfunction describeArc(x: number, y: number, radius: number, startAngle: number, endAngle: number, reverse = false) {\n const start = polarToCartesian(x, y, radius, endAngle)\n const end = polarToCartesian(x, y, radius, startAngle)\n\n const diff = endAngle - startAngle\n const angleDiff = diff < 0 ? -diff : diff\n\n const sweep = angleDiff <= 180 ? '1' : '0'\n const arcSweep = reverse ? +!+sweep : sweep\n\n return ['M', start.x, start.y, 'A', radius, radius, 0, arcSweep, 0, end.x, end.y].join(' ')\n}\n\nexport interface ProgressCircleProps extends BaseProps, Color<'resultColor'>, Color<'strokeBGColor'> {\n /**\n * status ['fail', 'success', 'started']\n */\n status?: 'fail' | 'success' | 'started'\n /**\n * progress percent\n */\n progress?: number\n /**\n * width and height\n */\n size?: number\n /**\n * center content\n */\n htmlContent?: string\n /**\n * width progress line\n */\n strokeLineWidth?: number\n /**\n * width background line\n */\n strokeBGWidth?: number\n /**\n * start angle of progress\n */\n progressStartAngle?: number\n /**\n * content inside progress circle\n */\n content?: string | number\n}\n\ninterface ProgressCircleState {\n bgAngleDiff: number\n describeArcProgress: string | null\n describeArcBg: string | null\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color<'resultColor'>`](#/Миксины)\n * - [`Color<'strokeBGColor'>`](#/Миксины)\n */\nexport class ProgressCircle extends PureComponent<\n typeof ProgressCircle.defaultProps & ProgressCircleProps,\n ProgressCircleState\n> {\n static displayName = 'Progress.Circle'\n static defaultProps = {\n size: 84,\n progress: 0,\n strokeLineWidth: 2,\n strokeBGWidth: 2,\n resultColor: 'accent',\n progressStartAngle: 180,\n }\n\n constructor(props: typeof ProgressCircle.defaultProps & ProgressCircleProps) {\n super(props)\n this.state = {\n bgAngleDiff: 0,\n describeArcProgress: null,\n describeArcBg: null,\n }\n }\n\n componentDidMount() {\n this.renderSvg()\n }\n\n componentDidUpdate(prevProps: ProgressCircleProps) {\n const { progress, size } = this.props\n const { progress: prevProgress, size: prevSize } = prevProps\n\n if (progress !== prevProgress || size !== prevSize) {\n this.renderSvg()\n }\n }\n\n renderSvg = () => {\n const { size, progress, strokeLineWidth, strokeBGWidth, progressStartAngle } = this.props\n\n const thickness = strokeLineWidth > strokeBGWidth ? strokeLineWidth : strokeBGWidth\n\n const center = size / 2 + thickness / 2\n const progressGap = 0.5\n const progressEndAngle = progressStartAngle - progressGap + (+progress / 100) * 360\n const bgStartAngle = progressStartAngle\n const bgEndAngle = bgStartAngle - progressGap\n\n const centerX = center - thickness / 2\n const centerY = center - thickness / 2\n const radius = center - thickness\n const diff = bgStartAngle - bgEndAngle\n\n const describeArcProgress = describeArc(centerX, centerY, radius, progressStartAngle, progressEndAngle, true)\n\n const describeArcBg = describeArc(centerX, centerY, radius, bgStartAngle, bgEndAngle)\n\n const bgAngleDiff = diff < 0 ? -diff : diff\n\n this.setState({\n describeArcProgress,\n describeArcBg,\n bgAngleDiff,\n })\n }\n\n render() {\n const {\n size,\n htmlContent,\n content,\n strokeLineWidth,\n strokeBGWidth,\n resultColor,\n strokeBGColor,\n status,\n progress,\n className,\n style,\n } = this.props\n\n const { bgAngleDiff, describeArcProgress, describeArcBg } = this.state\n\n return (\n <Styled.Root\n className={className}\n style={style}\n size={size}\n strokeBGColor={strokeBGColor}\n resultColor={resultColor}\n status={status}\n >\n <svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <g className={'pathBox'}>\n <path\n className='bg'\n d={bgAngleDiff < 360 && describeArcBg ? describeArcBg : ''}\n fill='none'\n strokeWidth={strokeBGWidth}\n strokeLinecap='round'\n />\n <path\n className='line'\n d={Boolean(+progress) && describeArcProgress ? describeArcProgress : ''}\n strokeWidth={strokeLineWidth}\n strokeLinecap='round'\n />\n </g>\n </svg>\n {htmlContent && <Styled.Content dangerouslySetInnerHTML={{ __html: htmlContent }} />}\n {content && <Styled.Content>{content}</Styled.Content>}\n </Styled.Root>\n )\n }\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { color } from 'mixins/color'\nimport { ProgressProps } from './Progress'\n\nconst move = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst bgColor = (color: string) => css`\n background-color: ${tinycolor(color).setAlpha(0.6).toString()};\n`\n\nconst isLoading = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.4) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.4) 50%,\n rgba(255, 255, 255, 0.4) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${move} 2s linear infinite;\n`\n\nexport const Root = styled.div<Pick<ProgressProps, 'backgroundColor' | 'color'>>`\n display: block;\n height: 4px;\n border-radius: 40px;\n overflow: hidden;\n ${(props) => (props.backgroundColor ? color(props.backgroundColor, bgColor) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n`\n\nexport const Bar = styled.div.withConfig<{ width: number; isLoading: boolean }>({\n shouldForwardProp: () => false,\n})`\n width: 0;\n transition: width 1s ease-in-out;\n height: 100%;\n border-radius: inherit;\n color: inherit;\n background-color: currentColor;\n ${(props) => (props.isLoading ? isLoading : null)}\n ${(props) =>\n props.width\n ? css`\n width: ${props.width}%;\n `\n : css`\n width: 0%;\n `}\n`\n","import { ProgressSegmented } from '../../components/Progress.Segmented'\nimport { ProgressCircle } from '../../components/Progress.Circle'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ProgressProps extends BaseProps, Color, Color<'backgroundColor'> {\n /**\n * Current percent complete\n */\n percent?: number\n isLoading?: boolean\n}\n\nProgress.defaultProps = {\n percent: 0,\n color: 'green',\n backgroundColor: 'alto',\n isLoading: false,\n}\n\nProgress.Circle = ProgressCircle\nProgress.Segmented = ProgressSegmented\nProgress.displayName = 'Progress'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'backgroundColor'>`](#/Миксины)\n */\nexport function Progress(props: ProgressProps) {\n const { className, isLoading, backgroundColor, color, percent } = props\n\n let _percent: number = typeof percent === 'string' ? parseInt(percent, 10) : percent || 0\n\n if (_percent > 100) _percent = 100\n if (_percent < 0) _percent = 0\n\n return (\n <Styled.Root className={className} backgroundColor={backgroundColor} color={color}>\n <Styled.Bar width={_percent} isLoading={Boolean(isLoading)} />\n </Styled.Root>\n )\n}\n","import { PureComponent } from 'react'\nimport { Scrollbars, ScrollbarsProps } from 'rc-scrollbars'\nimport { DefaultTheme, withTheme } from 'styled-components'\n\nexport interface ScrollableProps extends Partial<ScrollbarsProps> {\n /**\n * Children react node\n */\n children: React.ReactNode[] | React.ReactNode\n /**\n * Enable auto-hide mode\n * @see See [github docs](https://github.com/sakhnyuk/rc-scrollbars) for description\n */\n autoHide?: boolean\n /**\n * Hide delay in ms.\n */\n autoHideTimeout?: number\n /**\n * Duration for hide animation in ms.\n */\n autoHideDuration?: number\n /**\n * Enable auto-height mode.\n */\n autoHeight?: boolean\n /**\n * Set a minimum height for auto-height mode\n */\n autoHeightMin?: number\n /**\n * Set a maximum height for auto-height mode\n */\n autoHeightMax?: number\n /**\n * Event handler\n */\n onScroll?(): void\n /**\n * Runs inside the animation frame.\n */\n onScrollFrame?(): void\n /**\n * Called when scrolling starts\n */\n onScrollStart?(): void\n /**\n * Called when scrolling stops\n */\n onScrollStop?(): void\n /**\n * Height of shadow\n */\n shadowHeight?: number\n /**\n * Show shadow in scrollable component\n */\n withShadow?: boolean\n /**\n * Color of shadow from #Colors\n */\n shadowColor?: string\n /**\n * Opacity of shadow\n */\n shadowOpacity?: number\n /**\n * Color of thumb\n */\n thumbColor?: string\n /**\n * Opacity of thumb\n */\n thumbOpacity?: number\n /**\n * Border radius of thumb (px)\n */\n thumbBorderRadius?: number\n /**\n /**\n * Border radius of thumb (px)\n */\n thumbWidth?: number\n /**\n * Color of track (HEX)\n */\n trackColor?: string\n /**\n * Opacity of track\n */\n trackOpacity?: number\n /**\n * Border radius of track (px)\n */\n trackBorderRadius?: number\n /**\n /**\n * Border radius of track (px)\n */\n trackWidth?: number\n /**\n * Style for scrollable container\n */\n style?: object\n /**\n * Classname of scrollable container\n */\n className?: string\n /**\n * Disable scrollbar and return div\n */\n disabled?: boolean\n /**\n * Prevent body scrolling when start|end touched\n */\n isolate?: boolean\n\n theme?: DefaultTheme\n}\n\ntype ScrollableState = {\n scrollTop: number\n scrollHeight: number\n clientHeight: number\n}\n\n// eslint-disable-next-line no-use-before-define\nclass Scrollable extends PureComponent<typeof Scrollable.defaultProps & ScrollableProps, ScrollableState> {\n static displayName = 'Scrollable'\n static defaultProps = {\n autoHide: false,\n autoHideTimeout: 1000,\n autoHideDuration: 200,\n autoHeight: false,\n withShadow: false,\n shadowHeight: 50,\n shadowOpacity: 0.15,\n shadowColor: 'mineShaft',\n thumbColor: 'mineShaft',\n thumbOpacity: 0.15,\n thumbBorderRadius: 1,\n thumbWidth: 4,\n trackColor: '#333333',\n trackOpacity: 0.15,\n trackBorderRadius: 1,\n trackWidth: 4,\n disabled: false,\n isolate: true,\n }\n\n scrollable: HTMLDivElement | null = null\n ts = 0\n\n state = {\n scrollTop: 0,\n scrollHeight: 0,\n clientHeight: 0,\n }\n\n componentDidMount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchstart', this.handleTouchStart, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchmove', this.handleTouchMove, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('wheel', this.handleScroll, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void,\n false\n )\n }\n\n componentWillUnmount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchstart', this.handleTouchStart)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchmove', this.handleTouchMove)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('wheel', this.handleScroll)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void\n )\n }\n\n handleTouchStart = (e: TouchEvent) => {\n this.ts = e.touches[0].clientY\n }\n\n handleTouchMove = (e: TouchEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const te = e.changedTouches[0].clientY\n const dir = this.ts > te ? -1 : 1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n Math.floor((scrollarea as HTMLDivElement).scrollTop) ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n this.ts = te\n }\n\n return true\n }\n\n handleScroll = (e: WheelEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const delta = e.deltaY || e.detail\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const dir = delta < 0 ? 1 : -1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n (scrollarea as HTMLDivElement).scrollTop ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n }\n\n return true\n }\n\n handleUpdate = (values: ScrollableState) => {\n const { scrollTop, scrollHeight, clientHeight } = values\n\n this.setState({\n scrollTop,\n scrollHeight,\n clientHeight,\n })\n }\n\n calculateShadowOffset() {\n const { scrollTop, scrollHeight, clientHeight } = this.state\n const { shadowHeight = 50 } = this.props\n\n const diffH = scrollHeight - clientHeight || 0\n\n const a = (scrollTop * 100) / (diffH <= 0 ? 1 : diffH)\n const b = (shadowHeight * a) / 100\n\n return Math.floor(-shadowHeight + b)\n }\n\n hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null\n }\n\n renderTrack = ({ style, ...props }: { style: React.CSSProperties }, dir: 'vertical' | 'horizontal') => {\n const { trackColor, trackOpacity, trackBorderRadius, trackWidth } = this.props\n\n const hex = trackColor ? this.hexToRgb(trackColor) : null\n\n const trackStyle = {\n background: hex ? `rgba(${hex.r}, ${hex.g}, ${hex.b}, ${trackOpacity})` : `rgba(255,255,255,0)`,\n borderRadius: `${trackBorderRadius}px`,\n zIndex: 14,\n ...(dir === 'vertical'\n ? {\n right: 4,\n top: 2,\n bottom: 2,\n width: `${trackWidth}px`,\n }\n : {\n bottom: 4,\n left: 2,\n right: 2,\n height: `${trackWidth}px`,\n }),\n }\n\n return (\n <div\n style={{\n ...style,\n ...trackStyle,\n }}\n {...props}\n />\n )\n }\n\n renderThumb = ({ style, ...scrollableProps }: { style: React.CSSProperties }) => {\n const { thumbColor, thumbOpacity, thumbBorderRadius, thumbWidth } = this.props\n\n const thumbStyle = {\n opacity: thumbOpacity,\n backgroundColor:\n (this.props.theme as DefaultTheme).colors[thumbColor] || (this.props.theme as DefaultTheme).colors[thumbColor],\n borderRadius: `${thumbBorderRadius}px`,\n width: `${thumbWidth}px`,\n }\n\n return <div style={{ ...style, ...thumbStyle }} {...scrollableProps} />\n }\n\n render() {\n const {\n children,\n withShadow,\n shadowHeight,\n shadowColor,\n shadowOpacity,\n className,\n thumbColor, // eslint-disable-line\n thumbOpacity, // eslint-disable-line\n thumbBorderRadius, // eslint-disable-line\n thumbWidth, // eslint-disable-line\n trackColor, // eslint-disable-line\n trackOpacity, // eslint-disable-line\n trackBorderRadius, // eslint-disable-line\n trackWidth, // eslint-disable-line\n isolate, // eslint-disable-line\n style,\n disabled,\n ...props\n } = this.props\n\n if (disabled) return <div>{children}</div>\n\n const { scrollHeight, clientHeight } = this.state\n\n const shadowOffset = this.calculateShadowOffset()\n\n return (\n <div\n style={{\n ...style,\n position: 'relative',\n }}\n className={className}\n >\n {withShadow && scrollHeight > clientHeight && shadowOffset !== -shadowHeight && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n top: `-${shadowHeight}px`,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to bottom, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n {withShadow && scrollHeight > clientHeight && shadowOffset < 0 && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n bottom: 0,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to top, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n <Scrollbars\n renderTrackVertical={(nodeProps) => this.renderTrack({ ...nodeProps }, 'vertical')}\n renderTrackHorizontal={(nodeProps) => this.renderTrack({ ...nodeProps }, 'horizontal')}\n renderThumbHorizontal={this.renderThumb}\n renderThumbVertical={this.renderThumb}\n onUpdate={this.handleUpdate}\n hideTracksWhenNotNeeded\n {...props}\n >\n <div\n ref={(node) => {\n this.scrollable = node\n }}\n >\n {children}\n </div>\n </Scrollbars>\n </div>\n )\n }\n}\n\n/**\n * Scrollable component for create custom scrollable content\n *\n * Based on https://github.com/sakhnyuk/rc-scrollbars\n */\nconst withThemeScrollable = withTheme(Scrollable)\n\nwithThemeScrollable.displayName = 'Scrollable'\n\nexport { withThemeScrollable as Scrollable }\n","import styled, { css } from 'styled-components'\nimport { Spacer } from '../../components/Spacer'\nimport { color } from '../../mixins/color'\nimport { SectionProps } from './Section'\n\nconst zDepth = {\n 1: css`\n box-shadow: 0 15px 20px 0 rgba(27, 55, 147, 0.06);\n `,\n 2: css`\n box-shadow: rgba(0, 0, 0, 0.156863) 0px 3px 10px, rgba(0, 0, 0, 0.227451) 0px 3px 10px;\n `,\n 3: css`\n box-shadow: rgba(0, 0, 0, 0.188235) 0px 10px 30px, rgba(0, 0, 0, 0.227451) 0px 6px 10px;\n `,\n 4: css`\n box-shadow: rgba(0, 0, 0, 0.247059) 0px 14px 45px, rgba(0, 0, 0, 0.219608) 0px 10px 18px;\n `,\n 5: css`\n box-shadow: rgba(0, 0, 0, 0.298039) 0px 19px 60px, rgba(0, 0, 0, 0.219608) 0px 15px 20px;\n `,\n}\n\nexport const Root = styled(Spacer)<SectionProps>`\n display: block;\n color: #000;\n background-color: ${(props) => props.theme.colors.white};\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) => (typeof props.zDepth === 'number' ? zDepth[props.zDepth] : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n`\n","import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SectionProps extends BaseProps, Display, Color, ResponsiveNamedProperty<'padding'> {\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: 1 | 2 | 3 | 4 | 5\n /**\n * Section content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Text align\n */\n textAlign?: 'left' | 'right' | 'center'\n}\n\nSection.displayName = 'Section'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n */\nexport function Section(props: SectionProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { property, responsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Text as UiText } from '../Text'\nimport { SeparatorProps } from './Separator'\n\nconst WEIGHT_MAP = {\n 1: '0.05em',\n 2: '0.1em',\n 3: '0.15em',\n 4: '0.25em',\n 5: '0.3em',\n}\n\nexport const Text = styled(UiText)`\n position: absolute;\n z-index: 1;\n display: inline-block;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 0 12px;\n background-color: ${(props) => props.theme.colors.white};\n`\n\nexport const TextRoot = styled.div`\n display: block;\n width: auto;\n position: relative;\n z-index: 0;\n text-align: center;\n`\n\nexport const Root = styled.div.withConfig<SeparatorProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n display: block;\n width: auto;\n background-color: currentColor;\n ${(props) => css`\n height: ${WEIGHT_MAP[props.weight || 1]};\n `}\n ${(props) => (props.color ? color(props.color, 'color') : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n","import { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { SeparatorText } from './SeparatorText'\nimport * as Styled from './style'\n\nexport interface SeparatorProps\n extends BaseProps,\n Color,\n ResponsiveNamedProperty<'top'>,\n ResponsiveNamedProperty<'right'>,\n ResponsiveNamedProperty<'bottom'>,\n ResponsiveNamedProperty<'left'>,\n ResponsiveNamedProperty<'padding'>,\n ResponsiveNamedProperty<'paddingTop'>,\n ResponsiveNamedProperty<'paddingRight'>,\n ResponsiveNamedProperty<'paddingBottom'>,\n ResponsiveNamedProperty<'paddingLeft'>,\n ResponsiveNamedProperty<'margin'>,\n ResponsiveNamedProperty<'marginTop'>,\n ResponsiveNamedProperty<'marginRight'>,\n ResponsiveNamedProperty<'marginBottom'>,\n ResponsiveNamedProperty<'marginLeft'> {\n /**\n * Separator weight\n */\n weight?: 1 | 2 | 3 | 4 | 5\n}\n\nSeparator.defaultProps = {\n margin: 's',\n color: 'grey',\n weight: 1,\n}\n\nSeparator.Text = SeparatorText\nSeparator.displayName = 'Separator'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'top'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'right'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'left'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Separator(props: typeof Separator.defaultProps & SeparatorProps) {\n return <Styled.Root {...props} />\n}\n","import { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Separator } from './Separator'\nimport * as Styled from './style'\n\nexport interface SeparatorTextProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nexport function SeparatorText({ children, className, color, ...restProps }: SeparatorTextProps) {\n return (\n <Styled.TextRoot>\n <Separator className={className} color={color} {...restProps} />\n <Styled.Text color={color}>{children}</Styled.Text>\n </Styled.TextRoot>\n )\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport {\n responsiveNamedProperty,\n property,\n ResponsiveNamedProperty,\n CalcProperty,\n} from '../../mixins/responsive-property'\nimport { SpinnerProps } from './Spinner'\n\nconst SIZES = {\n l: 60,\n m: 40,\n s: 20,\n}\n\nconst spinner = keyframes`\n to {\n transform: rotate(360deg);\n }\n`\n\nconst fullscreen = css`\n height: 100vh;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst inline = css`\n display: inline-block;\n vertical-align: middle;\n margin: 0;\n`\n\nconst sizeBuilder: CalcProperty = (size: number, sizing = 'px') => css`\n width: ${size}${sizing};\n height: ${size}${sizing};\n &:before {\n width: ${size}${sizing};\n height: ${size}${sizing};\n margin-top: -${size / 2}${sizing};\n margin-left: -${size / 2}${sizing};\n }\n`\n\nconst getSize = (size: ResponsiveNamedProperty<'size'>['size']): number => {\n if (!size || typeof size === 'boolean') return 0\n if (typeof size === 'number') return size\n if (SIZES[size]) return SIZES[size]\n return 0\n}\n\nexport const Root = styled.div.withConfig<SpinnerProps>({\n shouldForwardProp: (prop) => ['className', 'style'].includes(prop),\n})`\n display: block;\n position: relative;\n display: block;\n margin: 30px auto;\n &:before {\n content: '';\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n left: 50%;\n border-radius: 50%;\n border: 2px solid #eee;\n border-top-color: #459ff3;\n animation: ${spinner} 0.6s linear infinite;\n }\n ${(props) => (props.inline ? inline : null)}\n\n ${(props) => (props.size ? property(SIZES[props.size] || props.size, sizeBuilder) : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) => {\n return responsiveNamedProperty({\n sizes: {\n sizeXS: getSize(sizeXS),\n sizeS: getSize(sizeS),\n sizeM: getSize(sizeM),\n sizeL: getSize(sizeL),\n sizeXL: getSize(sizeXL),\n },\n cssProperty: sizeBuilder,\n })\n }}\n\n ${(props) => (props.fullscreen ? fullscreen : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpinnerProps extends BaseProps, ResponsiveNamedProperty<'size'> {\n /**\n * Size of spinner\n */\n size?: 'l' | 's' | 'm' | number\n /**\n * Vertically center the spinner inside 100vh container\n */\n fullscreen?: boolean\n /**\n * Inline. Has no top/bottom margins\n */\n inline?: boolean\n}\n\nSpinner.defaultProps = {\n size: 'm',\n}\n\nSpinner.displayName = 'Spinner'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Spinner({ className, ...props }: typeof Spinner.defaultProps & SpinnerProps) {\n const _className = useClassname(Spinner.displayName, className)\n\n return <Styled.Root className={_className} {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { getColor } from 'mixins/color'\nimport { SwitcherProps } from './Switcher'\n\nconst switcherWidth = 60\nconst switcherHeight = 32\nconst borderRadius = 40\nconst dotSize = 24\nconst defaultBackground = '#eaecf3'\n\nexport const Input = styled.input`\n position: absolute;\n overflow: visible;\n z-index: -1;\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n`\n\nexport const Label = styled.label`\n display: inline;\n padding-left: 14px;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`\n\nexport const Switcher = styled.label`\n position: relative;\n display: block;\n box-sizing: border-box;\n width: ${switcherWidth}px;\n height: ${switcherHeight}px;\n cursor: pointer;\n user-select: none;\n transition: background 0.3s ease, background-image 0.3s ease;\n border-radius: ${borderRadius}px;\n box-shadow: inset 0 2px 2px 0 rgba(0, 0, 0, 0.08);\n background-color: ${defaultBackground};\n flex: 0 0 auto;\n &:before {\n position: absolute;\n top: ${(switcherHeight - dotSize) / 2}px;\n left: ${(switcherHeight - dotSize) / 2}px;\n display: block;\n width: ${dotSize}px;\n height: ${dotSize}px;\n content: '';\n transition: background 0.3s ease, left 0.3s ease;\n transform: translateZ(0);\n border-radius: 100%;\n background-color: ${(props) => props.theme.colors.white};\n box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);\n }\n\n &:active {\n &::before {\n box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);\n }\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n opacity: 0.7;\n\n & ${Switcher} {\n cursor: not-allowed;\n background-color: ${defaultBackground};\n box-shadow: none;\n &:before {\n background-color: ${(props) => props.theme.colors.white};\n box-shadow: none;\n }\n }\n & ${Label} {\n cursor: not-allowed;\n }\n`\n\nconst checked = css`\n & ${Switcher} {\n &:before {\n left: ${switcherWidth - dotSize - (switcherHeight - dotSize) / 2}px;\n }\n }\n`\n\nexport const Root = styled.div.withConfig<Omit<SwitcherProps, 'onChange'>>({\n shouldForwardProp: (prop) => ['className', 'style', 'children'].includes(prop),\n})`\n line-height: ${switcherHeight}px;\n position: relative;\n display: inline-flex;\n flex-direction: row;\n box-sizing: border-box;\n height: ${switcherHeight}px;\n vertical-align: middle;\n justify-content: flex-start;\n align-content: center;\n align-items: center;\n max-width: 100%;\n color: inherit;\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.value ? checked : null)}\n ${(props) =>\n props.value && props.color\n ? css`\n & ${Switcher} {\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(props.color, props)).lighten(10).toString()},\n ${getColor(props.color, props)}\n );\n }\n `\n : props.inactiveColor\n ? css`\n & ${Switcher} {\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(props.inactiveColor, props)).lighten(10).toString()},\n ${getColor(props.inactiveColor, props)}\n );\n }\n `\n : null}\n`\n","import { createRef } from 'react'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SwitcherProps extends BaseProps, Color<'color'>, Color<'inactiveColor'> {\n /**\n * Id for swithcer\n */\n id?: string\n /**\n * Name of input\n */\n name?: string\n /**\n * Value of input\n */\n value?: boolean\n /**\n * Switcher is disabled\n */\n disabled?: boolean\n /**\n * Tabindex\n */\n tabIndex?: number\n /**\n * Label of switcher\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * onChange function\n */\n onChange?(_checked: boolean, _event: React.ChangeEvent<HTMLInputElement>): void\n}\n\nSwitcher.defaultProps = {\n value: false,\n disabled: false,\n color: 'atlantis',\n}\n\nSwitcher.displayName = 'Switcher'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'inactiveColor'>`](#/Миксины)\n */\nexport function Switcher(props: typeof Switcher.defaultProps & SwitcherProps) {\n const inputRef = createRef<HTMLInputElement>()\n const { id, value, name, children, tabIndex, onChange, ...restProps } = props\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!props.disabled && typeof onChange === 'function') {\n onChange(event.target.checked, event)\n }\n }\n\n return (\n <Styled.Root value={value} {...restProps}>\n <Styled.Input\n id={id}\n name={name}\n checked={value}\n type='checkbox'\n tabIndex={tabIndex}\n ref={inputRef}\n onChange={handleChange}\n />\n <Styled.Switcher htmlFor={id} />\n {children ? <Styled.Label htmlFor={id}>{children}</Styled.Label> : null}\n </Styled.Root>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { color } from 'mixins/color'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { TabsProps } from './Tabs'\nimport { TabProps } from './TabsTab'\n\nconst BEFORE_AFTER_SHADOW_WIDTH = 20\n\nconst borderColor = (color: string) => css`\n border-bottom: 1px solid ${color};\n`\n\nconst getThemedCss = (theme: TabProps['theme']) => {\n switch (theme) {\n case 'compact':\n return css`\n font-weight: normal;\n & + & {\n margin-left: 20px;\n }\n `\n case 'crispyCompact':\n return css`\n text-transform: uppercase;\n font-size: 12px;\n height: 16px;\n line-height: 16px;\n padding-bottom: 8px;\n border-bottom: 1px solid ${(props) => props.theme.colors.mercury};\n & + & {\n margin-left: 18px;\n }\n `\n case 'crispy':\n return css`\n height: 35px;\n text-transform: uppercase;\n font-size: 12px;\n & + & {\n margin-left: 32px;\n }\n `\n default:\n return null\n }\n}\n\nconst activeTab = css`\n color: ${(props) => props.theme.colors.primary};\n position: relative;\n &:after {\n width: initial;\n opacity: 1;\n }\n`\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => prop === 'children',\n})<Pick<TabsProps, 'noBorder' | 'borderColor' | 'color' | 'width'>>`\n color: rgba(247, 247, 247, 1);\n display: flex;\n align-items: flex-end;\n justify-content: center;\n flex-direction: row;\n ${(props) => (props.borderColor && !props.noBorder ? color(props.borderColor, borderColor) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${responsiveProperty('width')}\n`\n\nexport const Inner = styled.div`\n position: relative;\n display: block;\n width: auto;\n height: auto;\n padding: 0;\n margin: 0 -20px;\n box-sizing: border-box;\n background: transparent;\n overflow: visible;\n max-width: 100%;\n width: 100%;\n &::before,\n &::after {\n position: absolute;\n z-index: 1;\n top: 0;\n bottom: 0;\n display: block;\n content: '';\n width: ${BEFORE_AFTER_SHADOW_WIDTH}px;\n height: 100%;\n }\n\n &::before {\n left: 0;\n background: linear-gradient(-90deg, rgba(247, 247, 247, 0) 0%, currentColor 100%);\n }\n\n &::after {\n right: 0;\n background: linear-gradient(90deg, rgba(247, 247, 247, 0) 0%, currentColor 100%);\n }\n`\n\nexport const Content = styled.div<Pick<TabsProps, 'noBorder'>>`\n display: block;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n box-sizing: border-box;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n color: ${(props) => props.theme.colors.mineShaft};\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n height: 0;\n background: transparent;\n visibility: hidden;\n }\n\n &::-webkit-scrollbar-thumb {\n height: 0px;\n background: transparent;\n visibility: hidden;\n }\n\n ${(props) =>\n props.noBorder\n ? css`\n display: flex;\n justify-content: space-between;\n width: 100%;\n `\n : null}\n`\n\nexport const Tab = styled.div.withConfig<TabProps & { themeKey: TabProps['theme'] }>({\n shouldForwardProp: (prop) => !['themeKey', 'color', 'borderColor', 'active'].includes(prop),\n})`\n display: inline-block;\n margin-bottom: -1px;\n flex-shrink: 0;\n font-size: 16px;\n font-weight: bold;\n line-height: 20px;\n padding-bottom: 14px;\n text-decoration: none;\n cursor: pointer;\n z-index: 2;\n transition: color 0.2s ease-out;\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.borderColor ? color(props.borderColor, borderColor) : null)}\n &:after {\n opacity: 0;\n width: 0;\n content: '';\n height: 3px;\n position: absolute;\n bottom: -1px;\n z-index: 1;\n left: 0;\n right: 0;\n background-color: currentColor;\n transition: opacity 0.2s ease-out;\n }\n &:hover {\n color: ${(props) => props.theme.colors.primary};\n }\n & + & {\n margin-left: 60px;\n }\n ${(props) => (props.themeKey ? getThemedCss(props.themeKey) : null)}\n ${(props) => (props.active ? activeTab : null)}\n &.active {\n ${activeTab}\n }\n`\n","import { NavLink } from 'react-router-dom'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nexport interface TabProps extends Color, Color<'borderColor'> {\n /**\n * An element type to render as (string or function).\n */\n as?: 'div' | 'a' | 'button' | 'span' | typeof NavLink\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Active tab.\n */\n active?: boolean\n /**\n * Active tab.\n */\n activeClassName?: string\n /**\n * Active tab.\n */\n theme?: 'compact' | 'crispy' | 'crispyCompact'\n className?: string\n}\n\nTabsTab.defaultProps = {\n as: 'div',\n activeClassName: 'active',\n borderColor: 'alto',\n color: 'mineShaft',\n}\n\nexport function TabsTab(props: TabProps) {\n const { as, className, children, theme, ...rest } = props\n\n const linkProps = typeof as !== 'string' ? { activeClassName: 'active' } : {}\n\n return (\n <Styled.Tab as={as} className={className} themeKey={theme} {...linkProps} {...rest}>\n {children}\n </Styled.Tab>\n )\n}\n","import { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport { TabsTab } from './TabsTab'\nimport * as Styled from './style'\n\nexport interface TabsProps extends BaseProps, Color, Color<'borderColor'> {\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n className?: string\n classNameInner?: string\n classNameContent?: string\n noBorder?: boolean\n width?: ResponsiveProperty<number>\n}\n\nTabs.defaultProps = {\n borderColor: 'alto',\n color: 'rgba(247, 247, 247, 1)',\n}\n\nTabs.Tab = TabsTab\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'borderColor'>`](#/Миксины)\n */\nexport function Tabs(props: TabsProps) {\n const { children, className, classNameInner, classNameContent, borderColor, color, noBorder, style, width } = props\n\n return (\n <Styled.Root\n className={className}\n style={style}\n width={width}\n borderColor={borderColor}\n color={color}\n noBorder={noBorder}\n >\n <Styled.Inner className={classNameInner}>\n <Styled.Content noBorder={noBorder} className={classNameContent}>\n {children}\n </Styled.Content>\n </Styled.Inner>\n </Styled.Root>\n )\n}\n","import { TooltipProps } from './Tooltip'\n\nconst zIndex = 100\n\nexport const tooltipStyles: TooltipProps['styles'] = {\n wrapper: {\n display: 'inline-flex',\n flexDirection: 'column',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0 6px 6px rgba(0, 0, 0, 0.2))',\n WebkitFilter: 'drop-shadow(0 6px 6px rgba(0, 0, 0, 0.2))',\n maxWidth: 300,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 100,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 3,\n backgroundColor: '#fff',\n color: 'var(--mineShaft)',\n minHeight: 32,\n minWidth: 180,\n padding: '16px',\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n title: {\n borderBottom: '1px solid var(--mineShaft)',\n color: 'var(--mineShaft)',\n fontWeight: 'bold',\n fontSize: 18,\n marginBottom: 5,\n paddingBottom: 6,\n paddingRight: 18,\n },\n content: {\n fontSize: 12,\n lineHeight: '16px',\n },\n close: {\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n color: 'var(--mineShaft)',\n fontSize: 14,\n height: 10,\n lineHeight: '16px',\n outline: 'none',\n padding: 0,\n position: 'absolute',\n right: '4px',\n textAlign: 'center',\n top: '4px',\n WebkitAppearance: 'none',\n width: 10,\n },\n footer: {\n borderTop: '1px solid var(--mineShaft)',\n fontSize: 13,\n marginTop: 10,\n paddingTop: 5,\n },\n arrow: {\n color: '#fff',\n display: 'inline-flex',\n length: 6,\n position: 'absolute',\n spread: 12,\n },\n options: {\n zIndex,\n },\n}\n\nexport const tooltipStylesRounend: TooltipProps['styles'] = {\n wrapper: {\n cursor: 'pointer',\n display: 'inline-flex',\n flexDirection: 'column',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n WebkitFilter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n maxWidth: 300,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 100,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 10,\n backgroundColor: '#fff',\n color: 'var(--mineShaft)',\n minHeight: 20,\n minWidth: 58,\n padding: '2px 6px 1px',\n position: 'relative',\n display: 'flex',\n textAlign: 'center',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n title: {\n display: 'block',\n color: 'var(--mineShaft)',\n fontWeight: 'bold',\n fontSize: '12px',\n lineHeight: '17px',\n marginBottom: 0,\n paddingBottom: 0,\n paddingRight: 0,\n borderBottom: 'none',\n },\n content: {\n fontSize: '12px',\n lineHeight: '17px',\n textDecoration: 'none',\n },\n close: {\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n color: 'var(--mineShaft)',\n fontSize: 14,\n height: 10,\n lineHeight: '16px',\n outline: 'none',\n padding: 0,\n position: 'absolute',\n right: '4px',\n textAlign: 'center',\n top: '4px',\n WebkitAppearance: 'none',\n width: 10,\n },\n footer: {\n borderTop: '1px solid var(--mineShaft)',\n fontSize: 13,\n marginTop: 10,\n paddingTop: 5,\n },\n arrow: {\n display: 'none',\n length: 0,\n position: 'absolute',\n spread: 0,\n },\n options: {\n zIndex,\n },\n}\n\nexport const tooltipDisplayBlockStyles: TooltipProps['styles'] = {\n ...tooltipStyles,\n wrapper: {\n ...tooltipStyles.wrapper,\n display: 'block',\n },\n}\n","import Floater from 'react-floater'\nimport { mergeDeepRight } from 'ramda'\nimport { tooltipStyles, tooltipStylesRounend, tooltipDisplayBlockStyles } from './tooltip-styles'\n\nTooltip.defaultProps = {\n autoOpen: false,\n disableAnimation: false,\n disableFlip: false,\n disableHoverToClick: false,\n event: 'click',\n eventDelay: 0.4,\n offset: 15,\n placement: 'bottom',\n showCloseButton: false,\n styles: tooltipStyles,\n target: null,\n wrapperOptions: {\n position: false,\n },\n component: null,\n}\n\nTooltip.themes = {\n tooltipStyles,\n tooltipDisplayBlockStyles,\n tooltipStylesRounend,\n}\n\nTooltip.displayName = 'Tooltip'\n\ntype FloaterProps = Parameters<typeof Floater>[0]\n\nexport type TooltipProps = FloaterProps\n\n/**\n * Основан на [react-floater](https://github.com/gilbarbara/react-floater).\n */\nexport function Tooltip({ children, styles = {}, ...props }: TooltipProps) {\n const tooltipStyle = mergeDeepRight(tooltipStyles || {}, styles) as TooltipProps['styles']\n\n return (\n <Floater styles={tooltipStyle} {...props}>\n {children}\n </Floater>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { color } from 'mixins/color'\nimport { property, PossibleValues, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { Text as UiText, TextProps } from '../Text/Text'\nimport { TagProps } from './Tag'\n\nconst WIDTHS: Record<Partial<Exclude<TagProps['size'], 'auto' | undefined>>, number> = {\n l: 220,\n m: 182,\n s: 100,\n xs: 60,\n}\n\nconst chooseWidthValue = (props: TagProps): PossibleValues => {\n if (props.width === 'auto') return 'auto'\n if (typeof props.width === 'number') return props.width\n\n if (props.size && WIDTHS[props.size]) return WIDTHS[props.size]\n\n return 'auto'\n}\n\nconst active = css`\n border-color: transparent;\n background-color: currentColor;\n`\n\nexport const Text = styled(UiText)<TextProps>`\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n vertical-align: middle;\n transition: color 0.25s ease;\n`\n\nconst disabled = css`\n cursor: not-allowed;\n background-color: rgba(0, 0, 0, 0.04);\n ${Text} {\n color: rgba(0, 0, 0, 0.16);\n }\n`\n\nexport const Root = styled.button.withConfig<TagProps>({\n shouldForwardProp: (prop) => ['children', 'htmlFor', 'className', 'style', 'onClick'].includes(prop),\n})`\n padding: 0px 16px;\n margin-bottom: 10px;\n border-radius: 3px;\n background-color: ${(props) => props.theme.colors.white};\n border: 1px solid ${(props) => props.theme.colors.whiteGray};\n box-sizing: border-box;\n vertical-align: middle;\n transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;\n cursor: pointer;\n text-align: center;\n touch-action: manipulation;\n min-width: 60px;\n\n ${(props) => (props.size ? property(chooseWidthValue(props), 'width') : null)}\n ${(props) => (props.height ? property(props.height, 'line-height') : null)}\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n ${({ heightXS, heightS, heightM, heightL, heightXL }) =>\n responsiveNamedProperty({ sizes: { heightXS, heightS, heightM, heightL, heightXL }, cssProperty: 'height' })}\n\n ${(props) => (props.width ? property(props.width, 'width') : null)}\n ${({ widthXS, widthS, widthM, widthL, widthXL }) =>\n responsiveNamedProperty({ sizes: { widthXS, widthS, widthM, widthL, widthXL }, cssProperty: 'width' })}\n\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n\n &:not(:last-child) {\n margin-right: 20px;\n }\n\n ${(props) =>\n !props.disabled\n ? css`\n &:hover:not(:disabled) {\n border-color: currentColor;\n }\n &:active:not(:disabled) {\n ${active}\n ${Text} {\n color: ${(props) => props.theme.colors.white};\n }\n }\n `\n : null}\n\n ${(props) => (props.inverse || props.checked ? active : null)}\n\n &:disabled {\n ${disabled}\n }\n ${(props) => (props.disabled ? disabled : null)}\n`\n","import { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { TextProps } from '../Text/Text'\nimport * as Styled from './style'\n\nexport interface TagProps\n extends BaseProps,\n Display,\n Color,\n ResponsiveNamedProperty<'height'>,\n ResponsiveNamedProperty<'width'> {\n as?: 'button' | 'div' | 'input' | 'label'\n /**\n * Field id\n */\n id?: string\n /**\n * Field name\n */\n name?: string\n /**\n * Input type\n */\n inputType?: 'checkbox' | 'radio'\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * On click handler\n */\n onClick?(_e: React.MouseEvent<HTMLInputElement>): void\n /**\n * Whether or not Radio is checked\n */\n defaultChecked?: boolean\n /**\n * Value\n */\n value?: string | number\n /** Children are placed before Text */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /** Inner Text content */\n content?: React.ReactNode\n /** Inner Text component props */\n textProps?: TextProps\n /** Checked state */\n checked?: boolean\n /** Disabled state */\n disabled?: boolean\n /** Error state */\n error?: boolean\n /** If as = 'label' could provide for */\n htmlFor?: string\n /**\n * inverse\n */\n inverse?: boolean\n /**\n * Size\n */\n size?: 'l' | 'm' | 's' | 'xs'\n}\n\nTag.defaultProps = {\n display: 'inline-block',\n as: 'button',\n height: 40,\n}\n\nTagInput.defaultProps = {\n display: 'inline-block',\n height: 40,\n}\n\n// Prevent brakechanges\nTag.Input = TagInput\n\nTag.displayName = 'Tag'\n\nfunction TagInput(props: typeof TagInput.defaultProps & TagProps) {\n return <Tag as='input' {...props} />\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'width'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'height'>`](#/Миксины)\n */\nexport function Tag(props: typeof Tag.defaultProps & TagProps) {\n const {\n as,\n textProps,\n content,\n children,\n htmlFor,\n id,\n name,\n inputType,\n value,\n disabled,\n onChange,\n onClick,\n inverse,\n checked,\n ...restProps\n } = props\n\n const buttonProps = as === 'button' ? { type: 'button' } : {}\n const labelProps = as === 'label' ? { htmlFor } : {}\n const inputProps = as === 'input' ? { htmlFor: id || name } : {}\n\n return (\n <Styled.Root\n as={as === 'input' ? 'label' : as}\n inverse={inverse}\n checked={checked}\n disabled={disabled}\n onClick={as !== 'input' ? onClick : undefined}\n {...labelProps}\n {...buttonProps}\n {...inputProps}\n {...restProps}\n >\n {as === 'input' ? (\n <input\n id={id || name}\n name={name}\n type={inputType || 'checkbox'}\n tabIndex={0}\n onChange={(e) => {\n e.persist()\n\n return onChange && onChange(e)\n }}\n onClick={(e) => {\n e.persist()\n\n return onClick && onClick(e)\n }}\n defaultChecked={props.defaultChecked}\n checked={checked}\n value={value}\n disabled={disabled}\n hidden\n />\n ) : null}\n {children}\n <Styled.Text size={14} forwardedAs='span' color={checked && !inverse ? 'white' : 'mineShaft'} {...textProps}>\n {content}\n </Styled.Text>\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\n\nexport const HeadingRoot = styled.div`\n display: block;\n padding: 9px 20px 16px;\n user-select: none;\n text-transform: uppercase;\n`\n\nexport const SubHeadingRoot = styled.div`\n display: block;\n padding: 9px 20px 16px;\n user-select: none;\n`\n\nexport const ControlsRoot = styled.div`\n display: flex;\n justify-content: space-between;\n border-top: 1px solid ${(props) => props.theme.colors.mercury};\n user-select: none;\n`\n\nexport const ControlsItem = styled.div`\n padding: 12px 20px;\n cursor: pointer;\n`\n\nexport const MultilevelItems = styled.div`\n max-height: 170px;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n`\n","import { Text } from '../Text'\nimport * as Styled from './style'\n\nexport interface HeadingProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: React.ReactNode\n}\n\nexport function Heading({ children, content }: HeadingProps) {\n return (\n <Styled.HeadingRoot>\n {children}\n <Text size='s' lineHeight='s' weight='bold' color='mineShaft'>\n {content}\n </Text>\n </Styled.HeadingRoot>\n )\n}\n","import { Text } from '../Text'\nimport * as Styled from './style'\n\nexport interface SubHeadingProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: React.ReactNode\n}\n\nexport function SubHeading({ children, content }: SubHeadingProps) {\n return (\n <Styled.SubHeadingRoot>\n {children}\n <Text size='s' lineHeight='s' color='mineShaft'>\n {content}\n </Text>\n </Styled.SubHeadingRoot>\n )\n}\n","import { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text'\nimport { MultiLevelControls } from './ContextMenu.Multilevel'\nimport * as Styled from './style'\n\nexport interface ControlsProps extends BaseProps {\n /** Cancel Text element props */\n cancel?: MultiLevelControls['cancel']\n /** Confirm Text element props */\n confirm?: MultiLevelControls['confirm']\n}\n\nexport function Controls({ cancel, confirm, className, style }: ControlsProps) {\n return (\n <Styled.ControlsRoot className={className} style={style}>\n {cancel ? (\n <Styled.ControlsItem className='cancel' role='button' onClick={cancel.onClick}>\n <Text size='m' lineHeight='s' content={cancel.content} color={cancel.color || 'silver'} />\n </Styled.ControlsItem>\n ) : null}\n {confirm ? (\n <Styled.ControlsItem className='confirm' role='button' onClick={confirm.onClick}>\n <Text size='m' lineHeight='s' content={confirm.content} color={confirm.color || 'accent'} />\n </Styled.ControlsItem>\n ) : null}\n </Styled.ControlsRoot>\n )\n}\n","import { PureComponent } from 'react'\nimport { ColorNames } from '../../theme/colors'\nimport { Spacer } from '../../components/Spacer'\nimport { ContextMenu, ContextMenuProps } from '../ContextMenu/ContextMenu'\nimport { BaseProps, HEX, RGB, RGBA } from '../../shared/interfaces'\nimport { Heading } from './Heading'\nimport { SubHeading } from './SubHeading'\nimport { Controls } from './Controls'\nimport * as Styled from './style'\n\nexport interface MultiLevelControls {\n cancel?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n confirm?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n}\n\nexport interface MultiLevelItem {\n id: string | number\n heading?: string\n subheading?: string\n content?: string\n preventClosing?: boolean\n // eslint-disable-next-line no-use-before-define\n config?: MultiLevelConfig\n items?: MultiLevelItem[]\n controls?: MultiLevelControls\n level?: number\n active?: boolean\n onClick?(_item: MultiLevelItem): void\n}\n\nexport interface MultiLevelConfig {\n items?: MultiLevelItem[]\n heading?: string\n subheading?: string\n controls?: MultiLevelControls\n}\n\nexport interface ContextMenuMultiLevelProps extends ContextMenuProps, BaseProps {\n /** Menu config */\n config?: MultiLevelConfig\n /** On select item callback */\n onSelectItem?(_item: MultiLevelItem, _level: MultiLevelItem['level']): void\n}\n\ninterface ContextMenuMultiLevelState {\n selectedItems: (number | string)[]\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenuMultiLevel extends PureComponent<ContextMenuMultiLevelProps, ContextMenuMultiLevelState> {\n resetTimeout?: ReturnType<typeof setTimeout>\n static displayName = 'ContextMenu.MultiLevel'\n static defaultProps = {\n config: {},\n }\n\n constructor(props: ContextMenuMultiLevelProps) {\n super(props)\n\n this.state = {\n selectedItems: [],\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.resetTimeout)\n }\n\n onSelectItem = (selectedItem: MultiLevelItem) => {\n const { id, level } = selectedItem\n\n const { selectedItems } = this.state\n const newSelectedItems = [...selectedItems.slice(0, level), id]\n\n this.setState({ selectedItems: newSelectedItems })\n\n if (typeof this.props.onSelectItem === 'function') this.props.onSelectItem(selectedItem, level)\n }\n\n getCurrentConfig = (): MultiLevelConfig | null => {\n const { config } = this.props\n const { selectedItems } = this.state\n\n if (!config) return null\n\n if (!selectedItems.length) return config\n\n try {\n const currentConfig = selectedItems.reduce((acc, levelId) => {\n return acc.items ? acc.items.find((item) => item.id === levelId)?.config || {} : {}\n }, config)\n\n return currentConfig\n } catch (error) {\n return null\n }\n }\n\n reset = () => {\n /* Reset timeout to prevent state switch due to slow tooltip closing animation */\n this.resetTimeout = setTimeout(() => this.setState({ selectedItems: [] }), 200)\n }\n\n itemOnClickHandler: React.MouseEventHandler<HTMLDivElement> = (e) => {\n const config = this.getCurrentConfig()\n if (!config) throw new Error('Config not found')\n\n const { items = [] } = config\n const { currentTarget } = e\n\n const { id = null } = currentTarget.dataset\n\n if (id === null) throw new Error('Data-id for item not found')\n\n const item = items.find((item) => `${item.id}` === id)\n\n if (!item) throw new Error('Item not found')\n\n if (item.config || item.preventClosing) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n if (item.config) {\n /* If menu item has config - select item to show inner level */\n this.onSelectItem(item)\n }\n\n if (typeof item.onClick === 'function') {\n item.onClick(item)\n }\n }\n\n render() {\n const { children, className, tooltipProps, isOpen, trigger, ...anotherProps } = this.props\n const { selectedItems } = this.state\n const config = this.getCurrentConfig()\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { config: _config, onSelectItem: _onSelectItem, ...restProps } = anotherProps\n\n return (\n <ContextMenu\n className={className}\n tooltipProps={tooltipProps}\n isOpen={isOpen}\n onClose={this.reset}\n trigger={trigger}\n {...restProps}\n >\n {children}\n <>\n <Spacer top={9} />\n {config?.heading ? <Heading content={config.heading} /> : null}\n {config?.subheading ? <SubHeading content={config.subheading} /> : null}\n {config?.items ? (\n <Styled.MultilevelItems>\n {config.items.map((item) => (\n <ContextMenu.Item\n key={item.id}\n id={item.id}\n content={item.content}\n active={(item.level && Boolean(selectedItems[item.level] === item.id)) || item.active}\n onClick={this.itemOnClickHandler}\n />\n ))}\n </Styled.MultilevelItems>\n ) : null}\n {config?.controls ? <Controls {...config.controls} /> : <Spacer top={9} />}\n </>\n </ContextMenu>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { ContextMenuProps } from './ContextMenu'\nimport { ContextMenuItemProps } from './Item'\n\nconst isOpen = css`\n &:after {\n cursor: default;\n user-select: none;\n content: '';\n display: block;\n position: fixed;\n width: 100%;\n height: 100%;\n z-index: ${(props) => props.theme.zIndex.tooltip};\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n }\n`\n\nconst disabledItem = css`\n background-color: ${(props) => props.theme.colors.alabaster};\n opacity: 0.6;\n cursor: default;\n`\n\nconst notDisabledItem = css`\n &:hover {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n`\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => ['className', 'onClick', 'children', 'style'].includes(prop),\n})<Pick<ContextMenuProps, 'isOpen' | 'hideOverlay'>>`\n display: inline-block;\n position: relative;\n [style*='cursor'] {\n cursor: default !important;\n }\n & + & {\n margin-left: 16px;\n }\n ${(props) => (props.isOpen && Boolean(props.hideOverlay) === false ? isOpen : null)}\n`\n\nexport const RootItem = styled.div.withConfig({\n shouldForwardProp: (prop) => ['className', 'onClick', 'children', 'data-id'].includes(prop),\n})<Pick<ContextMenuItemProps, 'active' | 'disabled'>>`\n display: block;\n padding: 8px 20px 7px;\n transition: background-color 0.4s ease-out;\n cursor: pointer;\n user-select: none;\n ${(props) =>\n props.active\n ? css`\n background-color: ${props.theme.colors.onahau};\n `\n : null}\n ${(props) => (props.disabled ? disabledItem : notDisabledItem)}\n`\n","import { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text'\nimport * as Styled from './style'\n\nconst disabledHandler = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.preventDefault()\n e.stopPropagation()\n\n return false\n}\n\nexport interface ContextMenuItemProps extends BaseProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: string\n active?: boolean\n disabled?: boolean\n onClick?: React.MouseEventHandler<HTMLDivElement>\n id?: string | number\n}\n\nContextMenuItem.displayName = 'ContextMenu.Item'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport function ContextMenuItem({\n children,\n id,\n content,\n active,\n disabled,\n onClick,\n className,\n style,\n}: ContextMenuItemProps) {\n return (\n <Styled.RootItem\n style={style}\n className={className}\n active={active}\n disabled={disabled}\n onClick={disabled ? disabledHandler : onClick}\n data-id={id}\n >\n {children}\n <Text size='s' lineHeight='s' color='mineShaft' content={content} />\n </Styled.RootItem>\n )\n}\n","/* eslint-disable no-use-before-define */\nimport { cloneElement, PureComponent } from 'react'\nimport { ContextMenuMultiLevel } from '../../components/ContextMenu.Multilevel'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Tooltip } from './../Tooltip'\nimport { ContextMenuItem } from './Item'\nimport * as Styled from './style'\nimport { tooltipStyles } from './tooltip-styles'\n\nexport interface ContextMenuProps extends BaseProps {\n /**\n * Children react node\n */\n children: React.ReactNode\n /** Indicates if button is active (e.g. when context menu is open) */\n onClick?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Manually controled state */\n isOpen?: boolean\n /** On open menu callback */\n onOpen?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** On close menu callback */\n onClose?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Content */\n trigger?: React.ReactNode\n /** Properties for inner Tooltip component */\n tooltipProps?: Partial<Parameters<typeof Tooltip>[0]>\n /** Hide overlay for debug */\n hideOverlay?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenu extends PureComponent<ContextMenuProps, { isOpen: boolean }> {\n static Item = ContextMenuItem\n static MultiLevel = ContextMenuMultiLevel\n static displayName = 'ContextMenu'\n\n static defaultProps = {\n tooltipProps: {\n event: 'click',\n placement: 'left-start',\n offset: 2,\n showCloseButton: false,\n styles: tooltipStyles,\n },\n hideOverlay: false,\n }\n\n constructor(props: ContextMenuProps) {\n super(props)\n\n this.state = {\n isOpen: this.props.isOpen || false,\n }\n }\n\n getOpen = () => {\n const { isOpen } = this.props\n\n if (isOpen !== undefined) return isOpen\n\n return this.state.isOpen || false\n }\n\n openMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: true })\n\n const { onOpen } = this.props\n\n onOpen && onOpen(e)\n }\n\n closeMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: false })\n\n const { onClose } = this.props\n\n onClose && onClose(e)\n }\n\n toggleMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n const { openMenu, closeMenu } = this\n const isOpen = this.getOpen()\n\n e.persist()\n e.preventDefault()\n e.stopPropagation()\n\n isOpen ? closeMenu(e) : openMenu(e)\n\n return false\n }\n\n render() {\n const { className, tooltipProps = {}, trigger, children, hideOverlay } = this.props\n const isOpen = this.getOpen()\n\n if (children) tooltipProps.content = children\n\n return (\n <Styled.Root className={className} isOpen={isOpen} onClick={this.toggleMenu} hideOverlay={hideOverlay}>\n <Tooltip {...tooltipProps} open={isOpen}>\n <div onClick={this.closeMenu}>{trigger && cloneElement(trigger as any, { active: isOpen })}</div>\n </Tooltip>\n </Styled.Root>\n )\n }\n}\n","const zIndex = 100\n\nexport const tooltipStyles = {\n wrapper: {\n display: 'inline-block',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n WebkitFilter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n maxWidth: 300,\n minWidth: 200,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 99,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 4,\n border: '1px solid #E9E9E9',\n color: '#333',\n backgroundColor: '#fff',\n minHeight: 32,\n minWidth: 180,\n padding: '0',\n position: 'relative',\n display: 'block',\n overflow: 'hidden',\n },\n content: {\n display: 'block',\n },\n arrow: {\n display: 'none',\n },\n}\n","export const WIDTHS = {\n l: 380,\n m: 300,\n s: 220,\n xs: 140,\n}\n","import { PossibleValues } from 'mixins/responsive-property'\nimport { WIDTHS } from './constants'\n\nexport const chooseWidthValue = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && WIDTHS[width]) return WIDTHS[width]\n\n return 'auto'\n}\n","import styled, { css, DefaultTheme } from 'styled-components'\nimport InputMask from 'react-input-mask'\nimport tinycolor from 'tinycolor2'\nimport { color } from 'mixins/color'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { chooseWidthValue } from '../../components/Input/helpers'\nimport { InputField } from '../../shared/interfaces'\nimport { InputProps } from './Input'\n\nexport const errorStyle = css`\n border: 1px solid ${(props) => props.theme.colors.pomegranate};\n background-color: ${(props) => tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n`\n\nexport const disabledStyle = css`\n background-color: rgba(0, 0, 0, 0.04);\n border-color: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n &:disabled {\n background-color: rgba(0, 0, 0, 0.04);\n border-color: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n }\n`\n\nexport const focusStyle = css`\n &:focus {\n border: 1px solid ${(props) => props.theme.colors.accent};\n outline: none;\n }\n`\n\nexport const roundedStyle = css`\n border-radius: ${(props) => props.theme.borderRadius};\n`\n\nexport const baseInputStyle = <T extends InputField>(props: T & { theme: DefaultTheme }) => css`\n box-sizing: border-box;\n display: block;\n background-color: ${props.theme.colors.white};\n border: solid 1px ${props.theme.colors.alto};\n width: 100%;\n appearance: none;\n font-size: 16px;\n ${props.color ? color(props.color) : null};\n &::placeholder {\n ${props.placeholderColor ? color(props.placeholderColor) : null}\n }\n ${focusStyle}\n ${props.disabled ? disabledStyle : null}\n ${props.rounded ? roundedStyle : null}\n\n ${props.width ? property(chooseWidthValue(props.fluid ? 'auto' : props.width), 'max-width') : null}\n ${responsiveNamedProperty({\n sizes: {\n widthXS: props.widthXS,\n widthS: props.widthS,\n widthM: props.widthM,\n widthL: props.widthL,\n widthXL: props.widthXL,\n },\n cssProperty: 'max-width',\n customSizeHandler: chooseWidthValue,\n })}\n ${props.error ? errorStyle : null}\n`\n\nexport const Root = styled(InputMask).withConfig<InputProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n line-height: 24px;\n padding: 15px 20px 11px;\n ${(props) => baseInputStyle(props)}\n`\n","import styled from 'styled-components'\nimport { baseInputStyle } from '../../components/Input/style'\nimport { TextareaProps } from './Textarea'\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n ${(props) => baseInputStyle(props)}\n`\n","import { useCallback, useState } from 'react'\nimport { BaseProps, InputField } from '../../shared/interfaces'\nimport * as Styled from './style'\n\ntype TextAreaHTMLAttributes = Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'cols' | 'rows' | 'color'>\n\nexport interface TextareaProps extends BaseProps, InputField, TextAreaHTMLAttributes {\n /**\n * Specifies the visible width of a text area\n */\n cols?: number\n /**\n * Specifies the visible number of lines in a text area\n */\n rows?: number\n /**\n * Specifies the visible max number of lines in a text area\n */\n maxRows?: number\n /**\n * Specifies the maximum number of characters allowed in the text area\n */\n maxLength?: number\n /**\n * On change handler\n */\n onChange?(_event: React.ChangeEvent<HTMLTextAreaElement>): void\n /**\n * Value\n */\n value?: string\n /**\n * Autosize for textarea\n */\n autosize?: boolean\n}\n\nTextarea.defaultProps = {\n onChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n rounded: true,\n width: 'l',\n color: 'mineShaft',\n placeholderColor: 'silver',\n cols: 20,\n maxRows: 30,\n rows: 2,\n autosize: true,\n}\n\nTextarea.displayName = 'Textarea'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`InputField`](#/Миксины)\n * - `React.TextareaHTMLAttributes<HTMLTextAreaElement>`\n */\nexport function Textarea({\n cols,\n disabled,\n error,\n fluid,\n name,\n onChange,\n maxLength,\n placeholder,\n required,\n rounded,\n rows,\n tabIndex,\n value,\n className,\n style,\n children,\n autosize,\n maxRows,\n color,\n placeholderColor,\n ...props\n}: typeof Textarea.defaultProps & TextareaProps) {\n const [tRows, setRows] = useState(rows)\n\n const onChangeHandler: React.ChangeEventHandler<HTMLTextAreaElement> = useCallback(\n (event) => {\n const { target } = event\n\n if (target instanceof HTMLTextAreaElement && autosize) {\n const rect = target.getBoundingClientRect()\n\n if (target.scrollHeight > rect.height && tRows < maxRows) {\n setRows(tRows + 1)\n } else if (!target.value || target.value === '') {\n setRows(rows)\n }\n }\n\n if (typeof onChange === 'function') {\n onChange(event)\n }\n },\n [onChange, tRows, maxRows, autosize]\n )\n\n return (\n <Styled.Root\n className={className}\n style={style}\n onChange={onChangeHandler}\n cols={cols}\n disabled={disabled}\n maxLength={maxLength}\n name={name}\n placeholder={placeholder}\n required={required}\n rows={tRows}\n tabIndex={tabIndex}\n value={value}\n color={color}\n rounded={rounded}\n placeholderColor={placeholderColor}\n fluid={fluid}\n error={error}\n {...props}\n >\n {children}\n </Styled.Root>\n )\n}\n","export const INITIAL_MASK = '99999999999999999999'\n\nexport const DEFAULT_MASK = `+${INITIAL_MASK}`\n\nexport const RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH = 10\n\nexport const COUNTRY_DATA: [string, string, string, RegExp][] = [\n ['Россия', '7', '+9 (999) 999-99-99', /^(\\+?7|8)([0-9()\\-\\s]{8,20})$/],\n ['Россия', '8', '+9 (999) 999-99-99', /^(\\+?7|8)([0-9()\\-\\s]{8,20})$/],\n ['Украина', '380', '+999 (99) 999-99-99', /^(\\+?380)([0-9()\\-\\s]{8,20})$/],\n ['Беларусь', '375', '+999 (999) 99-99-99', /^(\\+?375)([0-9()\\-\\s]{8,20})$/],\n ['Узбекистан', '998', '+999 (99) 999-99-99', /^(\\+?998)([0-9()\\-\\s]{8,20})$/],\n ['Молдова', '373', '+999 (99) 99-99-99', /^(\\+?373)([0-9()\\-\\s]{8,20})$/],\n ['Азербайджан', '994', '+999 (99) 999-99-99', /^(\\+?994)([0-9()\\-\\s]{8,20})$/],\n ['Киргизия', '996', '+999 (999) 99-99-99', /^(\\+?996)([0-9()\\-\\s]{8,20})$/],\n ['Болгария', '359', '+999 (999) 99-99-99', /^(\\+?359)([0-9()\\-\\s]{8,20})$/],\n ['Германия', '49', '+99 (999) 99999999', /^(\\+?49)([0-9()\\-\\s]{8,20})$/],\n ['США', '1', '+9 (999) 999-99-99', /^(\\+?1)([0-9()\\-\\s]{8,20})$/],\n ['Армения', '374', '+999 (99) 99-99-99', /^(\\+?374)([0-9()\\-\\s]{8,20})$/],\n ['Израиль', '972', '+999 (99) 999-99-99', /^(\\+?972)([0-9()\\-\\s]{8,20})$/],\n ['Испания', '34', '+99 (999) 99-99-99', /^(\\+?34)([0-9()\\-\\s]{8,20})$/],\n ['Латвия', '371', '+999 (99) 999-999', /^(\\+?371)([0-9()\\-\\s]{8,20})$/],\n ['Бахрейн', '973', '+999 (99) 999-999', /^(\\+?973)([0-9()\\-\\s]{8,20})$/],\n ['Турция', '90', '+99 (999) 999-9999', /^(\\+?90)([0-9()\\-\\s]{8,20})$/],\n ['Литва', '370', '+999 (999) 99999', /^(\\+?370)([0-9()\\-\\s]{8,20})$/],\n ['Великобритания', '44', '+99 (99) 9999-9999', /^(\\+?44)([0-9()\\-\\s]{8,20})$/],\n ['Индия', '91', '+99 (99) 99-999999', /^(\\+?91)([0-9()\\-\\s]{8,20})$/],\n ['Черногория', '382', '+999 (99) 999-999', /^(\\+?382)([0-9()\\-\\s]{8,20})$/],\n ['Мексика', '52', '+99 (999) 999-99-99', /^(\\+?52)([0-9()\\-\\s]{8,20})$/],\n ['Польша', '48', '+99 999999999', /^(\\+?48)([0-9()\\-\\s]{8,20})$/],\n ['Италия', '39', '+99 (999) 999-99-99', /^(\\+?39)([0-9()\\-\\s]{8,20})$/],\n ['Таиланд', '66', '+99 999-999-999', /^(\\+?66)([0-9()\\-\\s]{8,20})$/],\n ['Грузия', '995', '+999 (999) 999-999', /^(\\+?995)([0-9()\\-\\s]{8,20})$/],\n ['Шри-Ланка', '94', '+99 (99) 9999999', /^(\\+?94)([0-9()\\-\\s]{8,20})$/],\n ['Китай', '86', '+99 (999) 9999-9999', /^(\\+?86)([0-9()\\-\\s]{8,20})$/],\n ['Кипр', '357', '+999 (99) 999999', /^(\\+?357)([0-9()\\-\\s]{8,20})$/],\n ['ОАЭ', '971', '+999 99-999-9999', /^(\\+?971)([0-9()\\-\\s]{8,20})$/],\n ['Франция', '33', '+33(999)999-999', /^(\\+?33)([0-9()\\-\\s]{8,20})$/],\n ['Германия', '49', '+99(9999)999-9999', /^(\\+?49)([0-9()\\-\\s]{8,20})$/],\n ['Япония', '81', '+99 99-9999-9999', /^(\\+?81)([0-9()\\-\\s]{8,20})$/],\n ['Австрия', '43', '+99(999)999-9999', /^(\\+?43)([0-9()\\-\\s]{8,20})$/],\n ['Южная Корея', '82', '+99(999)999-9999', /^(\\+?82)([0-9()\\-\\s]{8,20})$/],\n]\n\nexport const REGEXPS = {\n FILLED: /^\\+\\d.*$/,\n FROM_8: /^\\+?8(.*)$/,\n FROM_9: /^\\+?9(.*)$/,\n NOT_NUMBERS: /\\D/gim,\n}\n","/* eslint-disable no-use-before-define */\nimport { PureComponent } from 'react'\nimport { InputState } from 'react-input-mask'\nimport { Input, InputProps } from '../Input/Input'\nimport {\n COUNTRY_DATA,\n DEFAULT_MASK,\n INITIAL_MASK,\n REGEXPS,\n RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH,\n} from './constants'\n\nconst onlyNumbers = (value = ''): string => value.replace(REGEXPS.NOT_NUMBERS, '')\n\nexport interface InputPhoneProps extends InputProps {\n /**\n * Settings for different country codes\n */\n countryData?: string[][]\n /**\n * Default field mask that is set when none of the countryData prop matches\n */\n defaultMask?: string\n /**\n * The default field mask when the phone field is empty is required to enable autocomplete in\n * the browser\n */\n initialMask?: string\n /** If event should return stripped phone value (not for redux forms) */\n stripValue?: boolean\n}\n\ninterface InputPhoneState {\n mask: string\n regexp?: RegExp | null\n}\n\n/**\n * Расширен:\n * - `InputProps`\n */\nexport class InputPhone extends PureComponent<typeof InputPhone.defaultProps & InputPhoneProps, InputPhoneState> {\n static displayName = 'Input.Phone'\n static defaultProps = {\n countryData: COUNTRY_DATA,\n defaultMask: DEFAULT_MASK,\n initialMask: INITIAL_MASK,\n placeholder: '+9 (999) 999-99-99',\n ...Input.defaultProps,\n }\n\n autocorrectOf8: boolean\n autocorrectOf9: boolean\n\n constructor(props: typeof InputPhone.defaultProps & InputPhoneProps) {\n super(props)\n\n this.autocorrectOf8 = true\n this.autocorrectOf9 = true\n\n const { mask } = this.getUpdates(props.value || '')\n\n this.state = { mask, regexp: null }\n }\n\n componentDidUpdate(nextProps: InputPhoneProps) {\n const { value } = this.props\n\n if (value !== nextProps.value) {\n this.change(value)\n }\n }\n\n getUpdates = (\n value: InputPhoneProps['value'],\n prevValue: InputPhoneProps['value'] = undefined\n ): {\n mask: string\n numbers: string\n startsFrom8: boolean\n startsFrom9: boolean\n regexp: RegExp | null\n } => {\n const { countryData, defaultMask, initialMask } = this.props\n const numbers = onlyNumbers(value as string)\n\n let mask = initialMask\n let regexp = null\n let startsFrom8 = false\n let startsFrom9 = false\n\n if (!numbers)\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n\n let isRussian = false\n\n for (let i = 0; i < countryData.length; i++) {\n if (numbers.startsWith(countryData[i][1])) {\n ;[, , mask, regexp] = countryData[i]\n isRussian = i === 0 || i === 1\n }\n }\n\n startsFrom8 = isRussian && REGEXPS.FROM_8.test(numbers) && this.autocorrectOf8\n startsFrom9 =\n (!mask || (numbers.length === RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH && prevValue === '')) &&\n this.autocorrectOf9 &&\n REGEXPS.FROM_9.test(numbers)\n\n if (startsFrom8) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf8 = false\n }\n\n if (startsFrom9) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf9 = false\n }\n\n if (!mask) {\n mask = defaultMask\n }\n\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n }\n\n change = (phone: InputPhoneProps['value']) => {\n const { mask } = this.getUpdates(phone)\n\n this.setState({ mask })\n }\n\n handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n e.persist()\n\n const { onChange, stripValue } = this.props\n\n if (onChange) {\n const _e = e\n if (stripValue) _e.target.value = onlyNumbers(e.target.value)\n onChange(_e)\n }\n }\n\n beforeMaskedValueChange = (newState: InputState, oldState: InputState) => {\n const { mask, numbers, startsFrom8, startsFrom9, regexp } = this.getUpdates(newState.value, oldState.value)\n\n this.setState({ mask, regexp })\n\n /**\n * For the correct caret position, when the user enters 9 in the phone field and it's replaced\n * by '+7 (9'\n */\n if (startsFrom9) {\n return {\n selection: numbers.length === 1 ? { start: 5, end: 5 } : newState.selection,\n value: newState.value.replace(REGEXPS.FROM_9, '+79$1'),\n }\n }\n\n if (startsFrom8) {\n return { selection: { start: 2, end: 2 }, value: newState.value.replace(REGEXPS.FROM_8, '+7$1') }\n }\n\n if (REGEXPS.FILLED.test(oldState.value) && numbers.length === 1) {\n return { selection: { start: 2, end: 2 }, value: newState.value }\n }\n\n return newState\n }\n\n render() {\n const {\n /* eslint-disable no-unused-vars, @typescript-eslint/no-unused-vars */\n countryData,\n defaultMask,\n initialMask,\n stripValue,\n /* eslint-enable no-unused-vars, @typescript-eslint/no-unused-vars */\n ...props\n } = this.props\n const { mask, regexp } = this.state\n\n return (\n <Input\n {...props}\n beforeMaskedValueChange={this.beforeMaskedValueChange}\n mask={mask}\n dataset={{ 'data-regexp': `${regexp || ''}` }}\n onChange={this.handleChange}\n />\n )\n }\n}\n","import { InputState, MaskOptions } from 'react-input-mask'\nimport { InputPhone } from '../../components/Input.Phone'\nimport { BaseProps, InputField } from '../../shared/interfaces'\nimport * as Styled from './style'\n\ntype InputHTMLAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'color' | 'width'>\n\nexport interface InputProps extends BaseProps, InputField, InputHTMLAttributes {\n /**\n * Mask string. Format characters are:\n * * `9`: `0-9`\n * * `a`: `A-Z, a-z`\n * * `\\*`: `A-Z, a-z, 0-9`\n *\n * Any character can be escaped with backslash, which usually will appear as double backslash in JS strings.\n * For example, German phone mask with unremoveable prefix +49 will look like `mask=\"+4\\\\9 99 999 99\"` or `mask={\"+4\\\\\\\\9 99 999 99\"}`\n */\n mask?: string | Array<string | RegExp>\n /**\n * Character to cover unfilled editable parts of mask. Default character is \"_\". If set to null, unfilled parts will be empty, like in ordinary input.\n */\n maskChar?: string | null\n /**\n * Defines format characters with characters as keys and corresponding RegExp string as values. Default ones:\n * ```\n * {\n * \"9\": \"[0-9]\",\n * \"a\": \"[A-Za-z]\",\n * \"*\": \"[A-Za-z0-9]\"\n * }```\n */\n formatChars?: { [key: string]: string }\n /**\n * Show mask even in empty input without focus.\n */\n alwaysShowMask?: boolean\n /**\n * Use inputRef instead of ref if you need input node to manage focus, selection, etc.\n */\n inputRef?: React.Ref<HTMLInputElement>\n\n /**\n * In case you need to implement more complex masking behavior, you can provide\n * beforeMaskedValueChange function to change masked value and cursor position\n * before it will be applied to the input.\n */\n beforeMaskedValueChange?(\n _newState: InputState,\n _oldState: InputState,\n _userInput: string,\n _maskOptions: MaskOptions\n ): InputState\n /**\n * Input type\n */\n type?: string\n dataset?: Record<string, string>\n}\n\nInput.defaultProps = {\n rounded: true,\n type: 'text',\n width: 'l',\n color: 'mineShaft',\n mask: '',\n placeholderColor: 'silver',\n}\n\nInput.Phone = InputPhone\nInput.displayName = 'Input'\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`InputField`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Input(props: InputProps & typeof Input.defaultProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport { screenMaxS } from 'mixins/screen'\nimport { RadioGroupProps } from './Group'\nimport { RadioProps } from './Radio'\n\nconst sizeRadio = (size = 14) => css`\n font-size: ${size}px;\n svg {\n width: ${size}px;\n height: ${size}px;\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n color: #d4d4d4;\n svg {\n circle:nth-child(1) {\n stroke: #d4d4d4;\n }\n circle:nth-child(2) {\n fill: #d4d4d4;\n }\n }\n span.label {\n cursor: not-allowed;\n }\n`\n\nconst error = css`\n svg {\n circle {\n fill: #ffeef0;\n stroke: #ffa3a3;\n }\n circle:nth-child(2) {\n fill: #ffa3a3;\n }\n }\n`\n\nexport const Root = styled.label.withConfig<RadioProps>({\n shouldForwardProp: (prop) => !['size', 'error'].includes(prop),\n})`\n display: inline-flex;\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n svg {\n position: relative;\n top: 2px;\n flex-shrink: 0;\n circle:nth-child(2) {\n opacity: 0;\n transition: all 0.2s ease;\n }\n }\n & + & {\n margin-left: 15px;\n }\n input {\n display: none;\n appearance: none;\n &:checked + svg {\n circle:nth-child(2) {\n opacity: 1;\n transform: scale(1);\n }\n }\n }\n span.label {\n margin-left: 10px;\n cursor: pointer;\n }\n ${(props) => (props.size === 'small' ? sizeRadio(14) : null)}\n ${(props) => (props.size === 'medium' ? sizeRadio(16) : null)}\n ${(props) => (props.size === 'large' ? sizeRadio(18) : null)}\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.error ? error : null)}\n`\n\nexport const Group = styled.div.withConfig<RadioGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n display: flex;\n flex-direction: column;\n line-height: normal;\n > ${Root} {\n margin-left: 0;\n &:not(:first-child) {\n margin-top: 15px;\n }\n }\n ${(props) =>\n props.inline\n ? css`\n flex-direction: row;\n &&& > ${Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 0;\n margin-top: 15px;\n }\n `}\n `\n : null}\n`\n","import { useCallback, useEffect, useState } from 'react'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { RadioGroup } from './Group'\nimport * as Styled from './style'\n\ntype RadioInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>\n\nexport interface RadioProps extends BaseProps, RadioInputHtmlAttributes {\n /**\n * Field id\n */\n id?: string\n /**\n * Field name\n */\n name?: string\n /**\n * Radio label\n */\n label?: string\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * A Radio can appear disabled and be unable to change states\n */\n disabled?: boolean\n /**\n * Field can show the data contains errors\n */\n error?: boolean\n /**\n * Whether or not Radio is checked\n */\n checked?: boolean\n defaultChecked?: boolean\n /**\n * Checkbox size\n */\n size?: 'small' | 'medium' | 'large'\n /**\n * Value\n */\n value?: string | number\n}\n\nRadio.defaultProps = {\n disabled: false,\n size: 'medium',\n defaultChecked: false,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n}\n\nRadio.Group = RadioGroup\nRadio.displayName = 'Radio'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Radio(props: typeof Radio.defaultProps & RadioProps) {\n const uncontrolled = props.checked === undefined\n const [checkedInput, setChecked] = useState(uncontrolled ? props.defaultChecked : props.checked)\n\n const { children, disabled, error, id, name, onChange, size, value, label, className, style, ...anotherProps } = props\n const _className = useClassname(Radio.displayName, className)\n\n useEffect(() => {\n if (!uncontrolled && checkedInput !== props.checked) setChecked(props.checked)\n }, [props.checked])\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n e.stopPropagation()\n if (typeof onChange === 'function') onChange(e)\n },\n [uncontrolled]\n )\n\n const inputProps = uncontrolled ? { defaultChecked: checkedInput } : { checked: checkedInput }\n\n return (\n <Styled.Root\n className={_className}\n style={style}\n disabled={disabled}\n checked={checkedInput}\n error={error}\n htmlFor={id || name}\n size={size}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='radio'\n onChange={handleOnChange}\n value={value}\n disabled={disabled}\n {...inputProps}\n />\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'>\n <circle cx='10' cy='10' r='9' stroke='#727D8A' strokeWidth='2' fill='#fff' />\n <circle cx='10' cy='10' r='5' fill='#727D8A' />\n </svg>\n {(label || children) && <span className='label'>{label || children}</span>}\n </Styled.Root>\n )\n}\n","import { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface RadioGroupProps extends BaseProps {\n inline?: boolean\n children?: React.ReactNode\n}\n\nexport function RadioGroup({ children, ...props }: RadioGroupProps) {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { screenMaxS } from 'mixins/screen'\nimport { CheckboxGroupProps } from './Group'\nimport { CheckboxProps } from './Checkbox'\n\nconst sizeCheckbox = (size = 14) => css`\n font-size: ${size}px;\n svg {\n width: ${size}px;\n height: ${size}px;\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n color: #d4d4d4;\n svg {\n circle:nth-child(1) {\n stroke: #d4d4d4;\n }\n circle:nth-child(2) {\n fill: #d4d4d4;\n }\n }\n span.label {\n cursor: not-allowed;\n }\n`\n\nconst error = css`\n svg {\n > rect {\n fill: ${(props) => tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n stroke: ${(props) => props.theme.colors.pomegranate};\n }\n g > rect {\n fill: ${(props) => props.theme.colors.pomegranate};\n }\n }\n`\n\nexport const Root = styled.label.withConfig<CheckboxProps>({\n shouldForwardProp: (prop) => !['size', 'error'].includes(prop),\n})`\n display: inline-flex;\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n svg {\n position: relative;\n top: 2px;\n flex-shrink: 0;\n g {\n opacity: 0;\n transition: all 0.2s ease;\n }\n }\n & + & {\n margin-left: 15px;\n }\n input {\n display: none;\n appearance: none;\n &:checked + svg {\n g {\n opacity: 1;\n transform: scale(1);\n }\n }\n }\n span.label {\n margin-left: 10px;\n cursor: pointer;\n }\n ${(props) => (props.size === 'small' || props.size === 's' ? sizeCheckbox(14) : null)}\n ${(props) => (props.size === 'medium' || props.size === 'm' ? sizeCheckbox(16) : null)}\n ${(props) => (props.size === 'large' || props.size === 'l' ? sizeCheckbox(18) : null)}\n ${(props) => (props.size === 'extraLarge' || props.size === 'xl' ? sizeCheckbox(20) : null)}\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.error ? error : null)}\n`\n\nexport const Group = styled.div.withConfig<CheckboxGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n display: flex;\n flex-direction: column;\n line-height: normal;\n > ${Root} {\n margin-left: 0;\n &:not(:first-child) {\n margin-top: 15px;\n }\n }\n ${(props) =>\n props.inline\n ? css`\n flex-direction: row;\n &&& > ${Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 0;\n margin-top: 15px;\n }\n `}\n `\n : null}\n`\n","import { useCallback, useEffect, useState } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { CheckboxGroup } from './Group'\nimport * as Styled from './style'\n\ntype CheckboxInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>\n\nexport interface CheckboxProps extends BaseProps, CheckboxInputHtmlAttributes {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * A checkbox can appear disabled and be unable to change states\n */\n disabled?: boolean\n /**\n * Field can show the data contains errors\n */\n error?: boolean\n /**\n * Whether or not checkbox is checked\n */\n checked?: boolean\n /**\n * Value\n */\n value?: string | number\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * Input element ID\n */\n id?: string\n /**\n * Input element name\n */\n name?: string\n /**\n * Input element label\n */\n label?: string\n /**\n * Checkbox size\n */\n size?: 'small' | 'medium' | 'large' | 'extraLarge' | 's' | 'm' | 'l' | 'xl'\n}\n\nCheckbox.defaultProps = {\n disabled: false,\n size: 'medium',\n defaultChecked: false,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n}\n\nCheckbox.Group = CheckboxGroup\n\nCheckbox.displayName = 'Checkbox'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Checkbox(props: typeof Checkbox.defaultProps & CheckboxProps) {\n const uncontrolled = props.checked === undefined\n const [checkedInput, setChecked] = useState(uncontrolled ? props.defaultChecked : props.checked)\n\n const { children, disabled, error, id, name, onChange, size, value, label, className, style, ...anotherProps } = props\n\n useEffect(() => {\n if (!uncontrolled && checkedInput !== props.checked) setChecked(props.checked)\n }, [props.checked])\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n e.stopPropagation()\n if (typeof onChange === 'function') onChange(e)\n },\n [uncontrolled]\n )\n\n const inputProps = uncontrolled ? { defaultChecked: checkedInput } : { checked: checkedInput }\n\n return (\n <Styled.Root\n className={className}\n style={style}\n disabled={disabled}\n checked={checkedInput}\n error={error}\n htmlFor={id || name}\n size={size}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='checkbox'\n onChange={handleOnChange}\n value={value}\n disabled={disabled}\n {...inputProps}\n />\n <svg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'>\n <rect\n x='.455'\n y='.455'\n width='19.091'\n height='19.091'\n rx='5'\n transform='translate(0 0)'\n fill='#fff'\n stroke='#B8B8B8'\n strokeWidth='1'\n />\n <g fill='none'>\n <rect fill='#48A1E6' width='20' height='20' rx='5' />\n <path stroke='#fff' strokeWidth='2' d='M6 9.99l3 3.01 6-6' />\n </g>\n </svg>\n {(label || children) && <span className='label'>{label || children}</span>}\n </Styled.Root>\n )\n}\n","import { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface CheckboxGroupProps extends BaseProps {\n inline?: boolean\n children?: React.ReactNode\n}\n\nexport function CheckboxGroup({ children, ...props }: CheckboxGroupProps) {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { errorStyle } from '../../components/Input/style'\nimport { SelectProps } from './Select'\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`\n\nconst spin = keyframes`\n to {\n transform: rotate(1turn);\n }\n`\n\nconst fluid = css`\n .Select {\n max-width: 100%;\n width: 100%;\n }\n`\n\nconst error = css`\n .Select-control {\n ${errorStyle}\n }\n`\n\nexport const Root = styled.span.withConfig<SelectProps>({\n shouldForwardProp: (prop) => !['error', 'fluid'].includes(prop),\n})`\n .Select {\n position: relative;\n max-width: 390px;\n }\n .Select,\n .Select div,\n .Select input,\n .Select span {\n box-sizing: border-box;\n }\n .Select.is-disabled > .Select-control {\n cursor: not-allowed;\n background-color: #f5f5f5;\n }\n .Select.is-disabled .Select-value-label {\n color: rgba(0, 0, 0, 0.16) !important;\n }\n .Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n }\n .Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n }\n .Select.is-clearable {\n .Select-placeholder,\n &.Select--single > .Select-control .Select-value {\n padding-right: 70px;\n }\n }\n .Select-control {\n background-color: ${(props) => props.theme.colors.white};\n border: solid 1px ${(props) => props.theme.colors.alto};\n border-radius: 4px;\n color: ${(props) => props.theme.colors.mineShaft};\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 50px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n }\n .Select-control .Select-input:focus {\n outline: none;\n }\n .is-searchable.is-open > .Select-control {\n cursor: text;\n }\n .is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n border: 1px solid ${(props) => props.theme.colors.accent};\n outline: none;\n }\n .is-open > .Select-control .Select-arrow {\n transform: rotate(180deg);\n }\n .is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n }\n .is-focused:not(.is-open) > .Select-control {\n border: 1px solid ${(props) => props.theme.colors.accent};\n }\n .Select-placeholder,\n .Select--single > .Select-control .Select-value {\n bottom: 0;\n color: ${(props) => props.theme.colors.silver};\n left: 0;\n font-size: 16px;\n line-height: 50px;\n padding-left: 20px;\n padding-right: 35px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .has-value.Select--single > .Select-control .Select-value .Select-value-label,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: ${(props) => props.theme.colors.mineShaft};\n }\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n }\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n }\n .Select-input {\n height: 50px;\n padding-left: 20px;\n padding-right: 15px;\n vertical-align: middle;\n }\n .Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: 16px;\n margin: 0;\n outline: none;\n line-height: 30px;\n padding: 10px 0;\n -webkit-appearance: none;\n }\n .is-focused .Select-input > input {\n cursor: text;\n }\n .is-focused .Select-arrow,\n .Select-arrow-zone:hover > .Select-arrow {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiM0OGExZTYiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=');\n }\n .has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n }\n .Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n }\n .Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n }\n .Select-loading {\n animation: ${spin} 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid ${(props) => props.theme.colors.alto};\n border-right-color: ${(props) => props.theme.colors.mineShaft};\n display: inline-block;\n position: relative;\n vertical-align: middle;\n }\n .Select-clear-zone {\n animation: ${fadeIn} 200ms;\n color: ${(props) => props.theme.colors.alto};\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 35px;\n line-height: 0;\n\n .Select-clear {\n position: relative;\n top: -1px;\n }\n }\n .Select-clear-zone:hover {\n color: #d0021b;\n }\n .Select-clear {\n display: inline-block;\n font-size: 0px;\n line-height: 1;\n color: transparent;\n overflow: hidden;\n width: 12px;\n height: 12px;\n background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyMCAyMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz4KICA8cGF0aAogICAgZD0nTTExLjYgOS41TDE5LjIgMmMuNC0uNi40LTEuMyAwLTEuNy0uNC0uNC0xLjItLjQtMS42IDBMMTAgOCAyLjQuMkMyIDAgMS4yIDAgLjguMy40LjcuNCAxLjMuOCAybDcuNiA3LjUtOCA4Yy0uNS41LS41IDEuMiAwIDEuNy4yLjIuNC4zLjcuMy40IDAgLjcgMCAxLS4zbDgtOCA4IDhjLjMuMi42LjMgMSAuMy4yIDAgLjQgMCAuNy0uMy40LS41LjQtMS4yIDAtMS42bC04LTh6JwogICAgZmlsbD0nI0Q5RDlEOScKICAgIGZpbGxSdWxlPSdldmVub2RkJwogIC8+Cjwvc3ZnPgo=')\n no-repeat;\n background-size: cover;\n }\n .Select--multi .Select-clear-zone {\n width: 17px;\n }\n .Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 35px;\n line-height: 0;\n }\n .Select-arrow {\n background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiNiOGI4YjgiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=')\n no-repeat;\n display: inline-block;\n background-size: 12px;\n height: 7px;\n width: 12px;\n position: relative;\n transition: 0.3s;\n transform: rotate(0deg);\n }\n .is-open .Select-arrow,\n .Select-arrow-zone:hover > .Select-arrow {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiM0OGExZTYiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=');\n }\n .Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n padding-left: 20px;\n }\n .Select--multi .Select-multi-value-wrapper {\n .Select-placeholder + .Select-input {\n margin-left: 0;\n }\n }\n .Select--single {\n .Select-multi-value-wrapper {\n display: block;\n width: 100%;\n }\n .Select-input .react-select-2--value {\n display: block;\n width: 100%;\n }\n }\n .Select .Select-aria-only {\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n }\n .Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: ${(props) => props.theme.colors.white};\n border: 1px solid ${(props) => props.theme.colors.onahau};\n box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 270px;\n position: absolute;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n }\n .Select-menu {\n max-height: 226px;\n overflow-x: auto;\n overflow-y: auto;\n font-size: 16px;\n }\n .Select-option {\n box-sizing: border-box;\n background-color: ${(props) => props.theme.colors.white};\n line-height: 30px;\n color: ${(props) => props.theme.colors.mineShaft};\n cursor: pointer;\n display: block;\n padding: 10px 15px 10px 20px;\n transition: background 0.2s ease;\n }\n .Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n }\n .Select-option.is-selected {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n .Select-option.is-focused {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n .Select-option.is-disabled {\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n }\n .Select-noresults {\n box-sizing: border-box;\n color: ${(props) => props.theme.colors.silver};\n cursor: default;\n display: block;\n padding: 10px 20px;\n }\n .Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n }\n .Select--multi.has-value .Select-input {\n margin-left: 5px;\n }\n .Select--multi .Select-value {\n background-color: ${(props) => props.theme.colors.nebula};\n background-color: ${(props) => tinycolor(props.theme.colors.nebula).setAlpha(0.1).toString()};\n border-radius: 4px;\n border: 1px solid ${(props) => props.theme.colors.onahau};\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: ${(props) => props.theme.colors.mineShaft};\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 4px;\n margin-top: 4px;\n vertical-align: top;\n }\n .Select--multi .Select-value-icon,\n .Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n }\n .Select--multi .Select-value-icon {\n font-size: 1.5em;\n line-height: 100%;\n vertical-align: middle;\n box-sizing: border-box;\n padding: 5px 4px 2px;\n color: ${(props) => props.theme.colors.accent};\n }\n\n .Select--multi .Select-value-label {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n cursor: default;\n padding: 2px 4px;\n line-height: 1;\n max-width: 90%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .Select--multi a.Select-value-label {\n color: ${(props) => props.theme.colors.accent};\n cursor: pointer;\n text-decoration: none;\n }\n .Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n }\n .Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n border-right: 1px solid ${(props) => props.theme.colors.onahau};\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n font-size: 1.5em;\n line-height: 100%;\n box-sizing: border-box;\n padding: 5px 4px 2px;\n color: ${(props) => props.theme.colors.accent};\n }\n .Select--multi .Select-value-icon:hover,\n .Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n background-color: rgba(0, 113, 230, 0.08);\n color: ${(props) => props.theme.colors.accent};\n }\n .Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n background-color: rgba(0, 126, 255, 0.24);\n }\n .Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: ${(props) => props.theme.colors.mineShaft};\n }\n .Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n }\n .Select--multi.is-disabled .Select-value-icon:hover,\n .Select--multi.is-disabled .Select-value-icon:focus,\n .Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n }\n ${(props) => (props.fluid ? fluid : null)}\n ${(props) => (props.error ? error : null)}\n`\n","import ReactSelect, { Async, AsyncCreatable, Creatable, ReactSelectProps } from 'react-select'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SelectProps extends BaseProps, ReactSelectProps {\n fluid?: boolean\n error?: boolean\n}\n\nSelect.defaultProps = {\n allowCreate: false,\n searchable: true,\n clearable: false,\n addLabelText: 'Добавить \"{label}\"?',\n backspaceToRemoveMessage: 'Нажмите клавишу Backspace, чтобы удалить {last label}',\n clearAllText: 'Очистить все',\n clearValueText: 'Очистить значение',\n noResultsText: 'Результатов не найдено',\n placeholder: 'Выбрать ...',\n searchPromptText: 'Введите поисковый запрос',\n loadingPlaceholder: 'Загрузка...',\n autoload: true,\n loadOptions: false,\n}\n\nSelect.displayName = 'Select'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `ReactSelectProps`\n */\nexport function Select(props: typeof Select.defaultProps & SelectProps) {\n const { fluid, error, className, style, ...reactSelectProps } = props\n const _className = useClassname(Select.displayName, className)\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const SelectElement: typeof ReactSelect & typeof Creatable = props.loadOptions\n ? props.allowCreate\n ? AsyncCreatable\n : Async\n : props.allowCreate\n ? Creatable\n : ReactSelect\n\n return (\n <Styled.Root className={_className} style={style} error={error} fluid={fluid}>\n <SelectElement {...reactSelectProps} promptTextCreator={(label: string) => `Добавить \"${label}\"`} />\n </Styled.Root>\n )\n}\n","import { DefaultTheme, ThemeProvider as StyledThemeProvider } from 'styled-components'\nimport { UiGlobalStyles } from './global-styled'\n\ninterface Props {\n theme: DefaultTheme\n children: React.ReactNode\n}\n\nexport function ThemeProvider(props: Props) {\n return (\n <>\n <UiGlobalStyles />\n <StyledThemeProvider theme={props.theme}>{props.children}</StyledThemeProvider>\n </>\n )\n}\n"],"names":["ColorNames","socialColors","Object","freeze","facebook","twitter","youtube","instagrammagenta","instagramblue","instagrampurple","instagramorange","instagramyellow","pinterest","googleplus","linkedin","vimeoblue","vimeogreen","vimeoorange","vimeopink","tumblr","snapchat","whatsappgreen","whatsappteal1","whatsappteal2","foursquarepink","foursquareblue","swarm","skypeblue","skypegreen","android","stumbleupon","flickrpink","flickrblue","yahoo","soundcloud","spotifygreen","spotifydarkgreen","dribbble","reddit","deviantart","pocket","quora","quorablue","slideshareorange","slideshareblue","telegram","fivehundredpx","listlyorange","listlyblue","vine","vk","ok","mailru","colors","white","black","tundora","paleSky","bostonBlue","atlantisBrightly","cinnabar","sail","bittersweet","turquoise","dodgerBlue","mantis","azure","bahamaBlue","shamrock","olive","copperRose","cyan","plum","hokeyPokey","monaLisa","mariner","heliotrope","dandelion","fruitSalad","fuchsiaBlue","persianGreen","watermelon","tropaz","lima","mintTulip","carnationPink","paleRose","deYork","peppermint","cornflowerBlue","colonialWhite","cherokee","supernova","picasso","bilobaFlower","linkWater","transparent","mineShaft","silver","alto","mercury","wildSand","whiteGray","alabaster","whiteLilac","atlantis","yellowOrange","mystic","pomegranate","oliveDrab","curious","orangePeel","nebula","seaNymph","chromeWhite","onahau","citrineWhite","coralReef","creemBrulee","frangipani","yourPink","periwinkleGray","baliHai","primary","accent","unitColors","profession","professionDark","camps","campsDark","courses","coursesDark","openLesson","openLessonDark","externat","externatDark","olympiad","olympiadDark","textbook","textbookDark","tutors","tutorsDark","training","trainingDark","mathematics","physics","informatics","chemistry","biology","english","russian","history","society","geography","developing","literature","intersubject","primarySchool","recommended","astronomy","ecology","technology","languages","art","physicalCulture","logic","businessLogic","rap","ikt","kids","fgos","blue","red","green","grey","darkgrey","lightgrey","superlightgrey","breakpoints","xl","l","m","s","xs","xxs","_colors","keys","map","colorName","css","_socialColors","_unitColors","UiGlobalStyles","createGlobalStyle","theme","borderRadius","textColor","fallbackColor","zIndex","modal","tooltip","classNamePrefix","CONDITIONS","maxWidth","point","minWidth","MAX","MIN","RANGE","point1","point2","createMediaQuery","condition","_len","arguments","length","points","Array","_key","params","_len2","args","_key2","props","_props$theme$breakpoi","_props$theme","and","concat","screenXs","screenS","screenM","screenL","screenXl","screenMaxXxs","screenMaxXs","screenMinXs","screenMaxS","screenMinS","screenMaxM","screenMinM","screenMaxL","screenMinL","screenMaxXl","screenMinXl","SIZES_LATIN","xxxl","xxl","xxxs","FONT_SIZES_LATIN","calcValueWithLatinAlias","value","buildMediaQuery","property","screenQueryFunction","o","sizing","size","r","i","cssProperty","sizeMap","includes","SCREEN_SIZE_MAP","XXS","XS","S","M","L","XL","SCREEN_SIZE_MAP_BY_DEVICE_ALIAS","desktop","tablet","mobile","getKey","key","endsWith","DEKSTOP_FIRST_KEYS","MOBILE_FIRST_KEYS","desktopFirst","a","b","aKey","bKey","findIndex","el","responsiveNamedProperty","_ref","sizes","customSizeHandler","sort","filter","Boolean","item","responsiveProperty","_props$property","prop","_cssProperty","isArray","_templateObject2","_taggedTemplateLiteral","_templateObject6","_templateObject7","default","getColor","color","colorVal","_color","vAlign","useClassname","componentName","originalClassName","useTheme","cx","pointerStyle","Root","styled","div","withConfig","shouldForwardProp","componentId","pointer","sizeXS","sizeS","sizeM","sizeL","sizeXL","_path","_extends","assign","target","source","hasOwnProperty","call","apply","this","_path2","_circle","IconNames","defaultIcons","book","React","createElement","viewBox","xmlns","fill","d","blackBoard","clipRule","burger","eye","email","width","height","unsort","person","diamond","diamondFilled","diamondSolid","cy","stroke","strokeWidth","infoInverse","list","login","logout","fire","cart","clock","clockFilled","discount","headphones","page","priceTag","phone","prof","star","settings","student","trophy","message","wallet","edit","copy","print","objective","fillRule","present","style","enableBackground","xmlSpace","coins","calendar","_jsxs","jsxs","children","_jsx","jsx","calendar_simple","chevronDown","chevronUp","chevronRight","chevronLeft","cross","dialog","dropDownArrow","externalLink","className","fillOpacity","file","fileBordered","lessons","pencil","phoneNoFill","radioChecked","radioNotChecked","search","tasks","tinyCross","sharpCross","plus","y","rx","transform","plusThin","play","reload","checkCircle","info","check","home","id","questionFilled","document","cancel","playPause","video","Icon","name","icon","svg","Styled.Root","_Icon","dangerouslySetInnerHTML","__html","displayName","display","active","notDisabled","disabled","ActionBtn","onClick","_className","H","PARAMS","h1","lineHeight","weight","h2","h3","h4","TextHeading","h","_objectWithoutProperties","_excluded","Text","_objectSpread","as","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","paddingXS","paddingS","paddingM","paddingL","paddingXL","_ref2","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","_ref3","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","_ref4","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","_ref5","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","_ref6","marginXS","marginS","marginM","marginL","marginXL","_ref7","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","_ref8","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","_ref9","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","_ref10","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","top","right","bottom","left","_ref11","topXS","topS","topM","topL","topXL","_ref12","rightXS","rightS","rightM","rightL","rightXL","_ref13","bottomXS","bottomS","bottomM","bottomL","bottomXL","_ref14","leftXS","leftS","leftM","leftL","leftXL","Spacer","wrapper","underline","pseudo","Anchor","to","href","content","rest","_display","contentProps","Link","defaultProps","Ul","ul","Li","li","TextEllipse","Component","constructor","super","getContent","chars","isEllipsed","state","text","isUnFolded","slice","leftChars","index","setTimeout","setState","getQuted","Styled.Ul","Styled.Li","quoted","toggle","console","log","render","_this$props","moreText","lessText","showToggler","restProps","WEIGHT_MAP","lighter","normal","bold","bolder","LINE_HEIGHT_MAP","underlineLinksStyle","fontStyle","underlineLinks","textAlign","origClassName","title","CurrencyCodes","Heading","Ellipse","CURRENCY_MAP","ALL","AFN","ARS","AWG","AUD","AZN","BSD","BBD","BYR","BZD","BMD","BOB","BAM","BWP","BGN","BRL","BND","KHR","CAD","KYD","CLP","CNY","COP","CRC","HRK","CUP","CZK","DKK","DOP","XCD","EGP","SVC","EEK","EUR","FKP","FJD","FRF","GHC","GIP","GTQ","GGP","GYD","HNL","HKD","HUF","ISK","INR","IDR","IRR","IMP","ILS","JMD","JPY","JEP","KZT","KGS","LAK","LVL","LBP","LRD","LTL","MKD","MYR","MUR","MXN","MNT","MZN","NAD","NPR","ANG","NZD","NIO","NGN","KPW","NOK","OMR","PKR","PAB","PYG","PEN","PHP","PLN","QAR","RON","RUR","RUB","SHP","SAR","RSD","SCR","SGD","SBD","SOS","ZAR","KRW","LKR","SEK","CHF","SRD","SYP","TWD","THB","TTD","TRY","TRL","TVD","UAH","GBP","USD","UYU","UZS","VEF","VND","YER","ZWD","crossedOut","span","ZERO_MINOR_PART_REGEXP","createSplitter","partSize","parts","str","from","Amount","PureComponent","renderCurrencySymbol","currencySymbol","position","currency","opacity","visibility","static","currencyCode","renderMinorPart","minorPart","showZeroMinorPart","separator","needMinorPart","test","digitsAfterPoint","isHeader","onlyCurrency","majorPart","isNegative","e","t","numberParts","Math","abs","toFixed","split","majorPartFormatted","reverse","join","formattedValueStr","getCurrencySymbol","classNames","amountInner","_Fragment","SvgArrowmodule","outline","inverse","button","radius","DIR_MAP","Arrow","onClickHandler","event","preventDefault","arrowDir","isMultiDir","values","rotateDeg","reduce","acc","arrowStyle","ArrowSvg","pattern","SIZES","sm","linearGenerator","tiny","lighten","toString","withPlaceholder","WITH_PH_SIZE","setAlpha","shadow","autoColor","string","sum","charCodeAt","src","Avatar","getAvatarText","titleArray","trim","ref","backgroundImage","undefined","round","Badge","textProps","WIDTHS","chooseWidthValue","ROUND_SIZE","loadingAnimation","keyframes","loading","rounded","fontColor","saturate","inverted","basic","roundSize","fluid","Content","noSpacing","fontSize","fontSizeXS","fontSizeS","fontSizeM","fontSizeL","fontSizeXL","heightXS","heightS","heightM","heightL","heightXL","widthXS","widthS","widthM","widthL","widthXL","fluidXS","fluidS","fluidM","fluidL","fluidXL","PROPS_BY_SIZE","PRESETS","Button","type","innerRef","_as","aProps","linkProps","propsBySize","presetProps","secondary","Styled.Content","_templateObject3","Container","Modal","isOpen","overlayClassName","contentClassName","overlayClassNameLocal","ReactModal","portalClassName","valign","getPosition","ModalClose","appElement","closeTimeoutMS","contentLabel","onAfterOpen","onRequestClose","role","shouldCloseOnOverlayClick","Styled.Modal","bodyOpenClassName","window","body","HTMLElement","setAppElement","Close","Styled.ModalClose","zDepth","circle","Paper","Progress","percent","percentColor","Separators","Separator","separatorColor","isEmpty","haveCircle","ProgressSegmented","segments","isActive","Styled.Progress","Styled.Separators","Styled.Separator","resultColor","strokeBGColor","polarToCartesian","centerX","centerY","angleInDegrees","angleInRadians","PI","x","cos","sin","describeArc","startAngle","endAngle","start","end","diff","angleDiff","sweep","arcSweep","ProgressCircle","renderSvg","progress","strokeLineWidth","strokeBGWidth","progressStartAngle","thickness","center","bgStartAngle","bgEndAngle","describeArcProgress","describeArcBg","bgAngleDiff","componentDidMount","componentDidUpdate","prevProps","prevProgress","prevSize","htmlContent","status","strokeLinecap","move","bgColor","tinycolor","isLoading","backgroundColor","Bar","_percent","parseInt","Styled.Bar","Circle","Segmented","Scrollable","scrollable","ts","scrollTop","scrollHeight","clientHeight","handleTouchStart","touches","clientY","handleTouchMove","isolate","scrollarea","parentNode","te","changedTouches","dir","upTouch","endTouch","floor","handleScroll","deltaY","detail","handleUpdate","hexToRgb","hex","result","exec","g","renderTrack","trackColor","trackOpacity","trackBorderRadius","trackWidth","trackStyle","background","renderThumb","scrollableProps","_excluded2","thumbColor","thumbOpacity","thumbBorderRadius","thumbWidth","thumbStyle","addEventListener","componentWillUnmount","removeEventListener","calculateShadowOffset","shadowHeight","diffH","withShadow","shadowColor","shadowOpacity","_excluded3","shadowOffset","Scrollbars","renderTrackVertical","nodeProps","renderTrackHorizontal","renderThumbHorizontal","renderThumbVertical","onUpdate","hideTracksWhenNotNeeded","node","autoHide","autoHideTimeout","autoHideDuration","autoHeight","withThemeScrollable","withTheme","Section","UiText","TextRoot","Styled.TextRoot","Styled.Text","spinner","fullscreen","inline","sizeBuilder","getSize","Spinner","Input","input","Label","label","Switcher","checked","switcherWidth","switcherHeight","inactiveColor","inputRef","createRef","tabIndex","onChange","Styled.Input","Styled.Switcher","htmlFor","Styled.Label","borderColor","activeTab","noBorder","Inner","Tab","themeKey","TabsTab","Styled.Tab","activeClassName","Tabs","classNameInner","classNameContent","Styled.Inner","tooltipStyles","flexDirection","wrapperPosition","floater","WebkitFilter","transition","floaterOpening","floaterWithAnimation","floaterClosing","floaterCentered","container","boxSizing","minHeight","justifyContent","borderBottom","fontWeight","close","border","WebkitAppearance","footer","borderTop","arrow","spread","options","tooltipDisplayBlockStyles","Tooltip","styles","tooltipStyle","mergeDeepRight","Floater","autoOpen","disableAnimation","disableFlip","disableHoverToClick","eventDelay","offset","placement","showCloseButton","wrapperOptions","component","themes","tooltipStylesRounend","cursor","textDecoration","TagInput","Tag","inputType","buttonProps","inputProps","_onChange","_x","persist","_onClick","_x2","defaultChecked","hidden","forwardedAs","HeadingRoot","SubHeadingRoot","ControlsRoot","ControlsItem","MultilevelItems","Styled.HeadingRoot","SubHeading","Styled.SubHeadingRoot","Controls","confirm","Styled.ControlsRoot","Styled.ControlsItem","ContextMenuMultiLevel","resetTimeout","onSelectItem","selectedItem","level","selectedItems","newSelectedItems","getCurrentConfig","config","levelId","_acc$items$find","items","find","error","reset","itemOnClickHandler","Error","currentTarget","dataset","preventClosing","stopPropagation","clearTimeout","tooltipProps","trigger","anotherProps","ContextMenu","onClose","heading","subheading","Styled.MultilevelItems","Item","controls","disabledItem","notDisabledItem","hideOverlay","RootItem","disabledHandler","ContextMenuItem","Styled.RootItem","getOpen","openMenu","onOpen","closeMenu","toggleMenu","open","cloneElement","MultiLevel","overflow","errorStyle","disabledStyle","focusStyle","roundedStyle","baseInputStyle","placeholderColor","InputMask","textarea","Textarea","cols","maxLength","placeholder","required","rows","autosize","maxRows","tRows","setRows","useState","onChangeHandler","useCallback","HTMLTextAreaElement","rect","getBoundingClientRect","DEFAULT_MASK","INITIAL_MASK","COUNTRY_DATA","REGEXPS","FILLED","FROM_8","FROM_9","NOT_NUMBERS","onlyNumbers","replace","InputPhone","_this","autocorrectOf8","autocorrectOf9","getUpdates","prevValue","countryData","defaultMask","initialMask","numbers","mask","regexp","startsFrom8","startsFrom9","isRussian","startsWith","change","handleChange","stripValue","_e","beforeMaskedValueChange","newState","oldState","selection","nextProps","Phone","sizeRadio","Group","_templateObject","Radio","uncontrolled","checkedInput","setChecked","useEffect","handleOnChange","Styled.Group","sizeCheckbox","Checkbox","fadeIn","spin","Select","reactSelectProps","loadOptions","allowCreate","AsyncCreatable","Async","Creatable","ReactSelect","promptTextCreator","searchable","clearable","addLabelText","backspaceToRemoveMessage","clearAllText","clearValueText","noResultsText","searchPromptText","loadingPlaceholder","autoload","StyledThemeProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/theme/colors.ts","../../src/theme/breakpoints.ts","../../src/theme/global-styled.ts","../../src/theme/index.ts","../../src/mixins/screen.ts","../../src/mixins/shared.ts","../../src/mixins/responsive-property.ts","../../src/mixins/color.ts","../../src/mixins/vAlign.ts","../../src/hooks/useClassname.ts","../../src/components/Icon/style.ts","../../src/components/Icon/images/book.module.svg","../../src/components/Icon/images/blackBoard.module.svg","../../src/components/Icon/images/burger.module.svg","../../src/components/Icon/images/eye.module.svg","../../src/components/Icon/images/email.module.svg","../../src/components/Icon/images/sort.module.svg","../../src/components/Icon/images/unsort.module.svg","../../src/components/Icon/images/person.module.svg","../../src/components/Icon/images/diamond.module.svg","../../src/components/Icon/images/diamondFilled.module.svg","../../src/components/Icon/images/diamondSolid.module.svg","../../src/components/Icon/images/infoInverse.module.svg","../../src/components/Icon/images/list.module.svg","../../src/components/Icon/images/login.module.svg","../../src/components/Icon/images/logout.module.svg","../../src/components/Icon/images/fire.module.svg","../../src/components/Icon/images/camps.module.svg","../../src/components/Icon/images/cart.module.svg","../../src/components/Icon/images/clock.module.svg","../../src/components/Icon/images/clockFilled.module.svg","../../src/components/Icon/images/courses.module.svg","../../src/components/Icon/images/discount.module.svg","../../src/components/Icon/images/externat.module.svg","../../src/components/Icon/images/headphones.module.svg","../../src/components/Icon/images/priceTag.module.svg","../../src/components/Icon/images/prof.module.svg","../../src/components/Icon/images/phone.module.svg","../../src/components/Icon/images/star.module.svg","../../src/components/Icon/images/settings.module.svg","../../src/components/Icon/images/student.module.svg","../../src/components/Icon/images/target.module.svg","../../src/components/Icon/images/textbook.module.svg","../../src/components/Icon/images/trophy.module.svg","../../src/components/Icon/images/message.module.svg","../../src/components/Icon/images/wallet.module.svg","../../src/components/Icon/images/edit.module.svg","../../src/components/Icon/images/copy.module.svg","../../src/components/Icon/images/page.module.svg","../../src/components/Icon/images/print.module.svg","../../src/components/Icon/images/objective.module.svg","../../src/components/Icon/images/present.module.svg","../../src/components/Icon/images/coins.module.svg","../../src/components/Icon/icons.tsx","../../src/components/Icon/Icon.tsx","../../src/mixins/display.ts","../../src/components/ActionBtn/style.ts","../../src/components/ActionBtn/ActionBtn.tsx","../../src/components/Text.Heading/Text.Heading.tsx","../../src/components/Spacer/style.ts","../../src/components/Spacer/Spacer.tsx","../../src/components/Anchor/style.ts","../../src/components/Anchor/Anchor.tsx","../../src/components/Text.Ellipse/style.ts","../../src/components/Text.Ellipse/Text.Ellipse.tsx","../../src/components/Text/style.ts","../../src/components/Text/Text.tsx","../../src/components/Amount/data/index.ts","../../src/components/Amount/style.ts","../../src/components/Amount/Amount.tsx","../../src/components/Arrow/images/arrow.module.svg","../../src/components/Arrow/style.ts","../../src/components/Arrow/Arrow.tsx","../../src/components/Avatar/utils/index.ts","../../src/components/Avatar/style.ts","../../src/components/Avatar/Avatar.tsx","../../src/components/Badge/style.ts","../../src/components/Badge/Badge.tsx","../../src/components/Button/constants.ts","../../src/components/Button/helpers.ts","../../src/components/Button/style.ts","../../src/components/Button/default.ts","../../src/components/Button/Button.tsx","../../src/components/Container/style.ts","../../src/components/Container/Container.tsx","../../src/components/Modal/style.ts","../../src/components/Modal/adapter.tsx","../../src/components/Modal/Modal.tsx","../../src/components/Modal/Close.tsx","../../src/components/Paper/style.ts","../../src/components/Paper/Paper.tsx","../../src/components/Progress.Segmented/style.ts","../../src/components/Progress.Segmented/Progress.Segmented.tsx","../../src/components/Progress.Circle/style.ts","../../src/components/Progress.Circle/Progress.Circle.tsx","../../src/components/Progress/style.ts","../../src/components/Progress/Progress.tsx","../../src/components/Scrollable/Scrollable.tsx","../../src/components/Section/style.ts","../../src/components/Section/Section.tsx","../../src/components/Separator/style.ts","../../src/components/Separator/Separator.tsx","../../src/components/Separator/SeparatorText.tsx","../../src/components/Spinner/style.ts","../../src/components/Spinner/Spinner.tsx","../../src/components/Switcher/style.ts","../../src/components/Switcher/Switcher.tsx","../../src/components/Tabs/style.ts","../../src/components/Tabs/TabsTab.tsx","../../src/components/Tabs/Tabs.tsx","../../src/components/Tooltip/tooltip-styles.ts","../../src/components/Tooltip/Tooltip.tsx","../../src/components/Tag/style.ts","../../src/components/Tag/Tag.tsx","../../src/components/ContextMenu.Multilevel/style.ts","../../src/components/ContextMenu.Multilevel/Heading.tsx","../../src/components/ContextMenu.Multilevel/SubHeading.tsx","../../src/components/ContextMenu.Multilevel/Controls.tsx","../../src/components/ContextMenu.Multilevel/ContextMenu.Multilevel.tsx","../../src/components/ContextMenu/style.ts","../../src/components/ContextMenu/Item.tsx","../../src/components/ContextMenu/ContextMenu.tsx","../../src/components/ContextMenu/tooltip-styles.ts","../../src/components/Input/constants.ts","../../src/components/Input/helpers.ts","../../src/components/Input/style.ts","../../src/components/Textarea/style.ts","../../src/components/Textarea/Textarea.tsx","../../src/components/Input.Phone/constants.ts","../../src/components/Input.Phone/Input.Phone.tsx","../../src/components/Input/Input.tsx","../../src/components/Radio/style.ts","../../src/components/Radio/Radio.tsx","../../src/components/Radio/Group.tsx","../../src/components/Checkbox/style.ts","../../src/components/Checkbox/Checkbox.tsx","../../src/components/Checkbox/Group.tsx","../../src/components/Select/style.ts","../../src/components/Select/Select.tsx","../../src/theme/theme-provider.tsx"],"sourcesContent":["import { HEX, RGB, RGBA } from '../shared/interfaces'\n\n/* eslint-disable no-unused-vars */\nexport enum ColorNames {\n facebook = 'facebook',\n twitter = 'twitter',\n youtube = 'youtube',\n instagrammagenta = 'instagrammagenta',\n instagramblue = 'instagramblue',\n instagrampurple = 'instagrampurple',\n instagramorange = 'instagramorange',\n instagramyellow = 'instagramyellow',\n pinterest = 'pinterest',\n googleplus = 'googleplus',\n linkedin = 'linkedin',\n vimeoblue = 'vimeoblue',\n vimeogreen = 'vimeogreen',\n vimeoorange = 'vimeoorange',\n vimeopink = 'vimeopink',\n tumblr = 'tumblr',\n snapchat = 'snapchat',\n whatsappgreen = 'whatsappgreen',\n whatsappteal1 = 'whatsappteal1',\n whatsappteal2 = 'whatsappteal2',\n foursquarepink = 'foursquarepink',\n foursquareblue = 'foursquareblue',\n swarm = 'swarm',\n skypeblue = 'skypeblue',\n skypegreen = 'skypegreen',\n android = 'android',\n stumbleupon = 'stumbleupon',\n flickrpink = 'flickrpink',\n flickrblue = 'flickrblue',\n yahoo = 'yahoo',\n soundcloud = 'soundcloud',\n spotifygreen = 'spotifygreen',\n spotifydarkgreen = 'spotifydarkgreen',\n dribbble = 'dribbble',\n reddit = 'reddit',\n deviantart = 'deviantart',\n pocket = 'pocket',\n quora = 'quora',\n quorablue = 'quorablue',\n slideshareorange = 'slideshareorange',\n slideshareblue = 'slideshareblue',\n telegram = 'telegram',\n fivehundredpx = 'fivehundredpx',\n listlyorange = 'listlyorange',\n listlyblue = 'listlyblue',\n vine = 'vine',\n vk = 'vk',\n ok = 'ok',\n mailru = 'mailru',\n white = 'white',\n black = 'black',\n tundora = 'tundora',\n paleSky = 'paleSky',\n bostonBlue = 'bostonBlue',\n atlantisBrightly = 'atlantisBrightly',\n cinnabar = 'cinnabar',\n sail = 'sail',\n bittersweet = 'bittersweet',\n turquoise = 'turquoise',\n dodgerBlue = 'dodgerBlue',\n mantis = 'mantis',\n azure = 'azure',\n bahamaBlue = 'bahamaBlue',\n shamrock = 'shamrock',\n olive = 'olive',\n copperRose = 'copperRose',\n cyan = 'cyan',\n plum = 'plum',\n hokeyPokey = 'hokeyPokey',\n monaLisa = 'monaLisa',\n mariner = 'mariner',\n heliotrope = 'heliotrope',\n dandelion = 'dandelion',\n fruitSalad = 'fruitSalad',\n fuchsiaBlue = 'fuchsiaBlue',\n persianGreen = 'persianGreen',\n watermelon = 'watermelon',\n tropaz = 'tropaz',\n lima = 'lima',\n mintTulip = 'mintTulip',\n carnationPink = 'carnationPink',\n paleRose = 'paleRose',\n deYork = 'deYork',\n peppermint = 'peppermint',\n cornflowerBlue = 'cornflowerBlue',\n colonialWhite = 'colonialWhite',\n cherokee = 'cherokee',\n supernova = 'supernova',\n picasso = 'picasso',\n bilobaFlower = 'bilobaFlower',\n linkWater = 'linkWater',\n mineShaft = 'mineShaft',\n silver = 'silver',\n alto = 'alto',\n mercury = 'mercury',\n wildSand = 'wildSand',\n whiteGray = 'whiteGray',\n alabaster = 'alabaster',\n whiteLilac = 'whiteLilac',\n atlantis = 'atlantis',\n yellowOrange = 'yellowOrange',\n mystic = 'mystic',\n pomegranate = 'pomegranate',\n oliveDrab = 'oliveDrab',\n curious = 'curious',\n orangePeel = 'orangePeel',\n nebula = 'nebula',\n seaNymph = 'seaNymph',\n chromeWhite = 'chromeWhite',\n onahau = 'onahau',\n citrineWhite = 'citrineWhite',\n coralReef = 'coralReef',\n creemBrulee = 'creemBrulee',\n frangipani = 'frangipani',\n yourPink = 'yourPink',\n periwinkleGray = 'periwinkleGray',\n baliHai = 'baliHai',\n primary = 'primary',\n accent = 'accent',\n profession = 'profession',\n professionDark = 'professionDark',\n camps = 'camps',\n campsDark = 'campsDark',\n courses = 'courses',\n coursesDark = 'coursesDark',\n openLesson = 'openLesson',\n openLessonDark = 'openLessonDark',\n externat = 'externat',\n externatDark = 'externatDark',\n olympiad = 'olympiad',\n olympiadDark = 'olympiadDark',\n textbook = 'textbook',\n textbookDark = 'textbookDark',\n tutors = 'tutors',\n tutorsDark = 'tutorsDark',\n training = 'training',\n trainingDark = 'trainingDark',\n mathematics = 'mathematics',\n physics = 'physics',\n informatics = 'informatics',\n chemistry = 'chemistry',\n biology = 'biology',\n english = 'english',\n russian = 'russian',\n history = 'history',\n society = 'society',\n geography = 'geography',\n developing = 'developing',\n literature = 'literature',\n intersubject = 'intersubject',\n primarySchool = 'primarySchool',\n recommended = 'recommended',\n astronomy = 'astronomy',\n ecology = 'ecology',\n technology = 'technology',\n languages = 'languages',\n art = 'art',\n physicalCulture = 'physicalCulture',\n logic = 'logic',\n businessLogic = 'businessLogic',\n rap = 'rap',\n ikt = 'ikt',\n kids = 'kids',\n fgos = 'fgos',\n blue = 'blue',\n red = 'red',\n green = 'green',\n grey = 'grey',\n darkgrey = 'darkgrey',\n lightgrey = 'lightgrey',\n superlightgrey = 'superlightgrey',\n}\n\nexport const socialColors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n facebook: '#0561af',\n twitter: '#00bff3',\n youtube: '#ff0000',\n instagrammagenta: '#c32aa3',\n instagramblue: '#4c5fd7',\n instagrampurple: '#7232bd',\n instagramorange: '#f46f30',\n instagramyellow: '#ffdc7d',\n pinterest: '#cb2027',\n googleplus: '#df4a32',\n linkedin: '#007bb6',\n vimeoblue: '#45bbff',\n vimeogreen: '#aad450',\n vimeoorange: '#f7b42c',\n vimeopink: '#f27490',\n tumblr: '#2c4762',\n snapchat: '#fffc00',\n whatsappgreen: '#25d366',\n whatsappteal1: '#075e54',\n whatsappteal2: '#128c7e',\n foursquarepink: '#fc4575',\n foursquareblue: '#2d5be3',\n swarm: '#ffb000',\n skypeblue: '#00aff0',\n skypegreen: '#7fba00',\n android: '#a4c639',\n stumbleupon: '#eb4924',\n flickrpink: '#f40083',\n flickrblue: '#006add',\n yahoo: '#430297',\n soundcloud: '#ff5500',\n spotifygreen: '#1ed760',\n spotifydarkgreen: '#1db954',\n dribbble: '#ea4c89',\n reddit: '#ff5700',\n deviantart: '#4a5d4e',\n pocket: '#ee4056',\n quora: '#aa2200',\n quorablue: '#2b6dad',\n slideshareorange: '#f7941e',\n slideshareblue: '#1191d0',\n telegram: '#0088cc',\n fivehundredpx: '#0099e5',\n listlyorange: '#df6d46',\n listlyblue: '#52b1b3',\n vine: '#00b489',\n vk: '#4d75a2',\n ok: '#ee8208',\n mailru: '#158DE2',\n})\n\nexport const colors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n white: '#ffffff',\n black: '#000000',\n tundora: '#4a4a4a',\n paleSky: '#697389',\n bostonBlue: '#0060d0',\n atlantisBrightly: '#99cc33',\n cinnabar: '#e00000',\n sail: '#a9dbf8',\n bittersweet: '#ff6666',\n turquoise: '#33cccc',\n dodgerBlue: '#33ccff',\n mantis: '#66cc66',\n azure: '#336699',\n bahamaBlue: '#006699',\n shamrock: '#33cc99',\n olive: '#999900',\n copperRose: '#996666',\n cyan: '#3399ff',\n plum: '#993399',\n hokeyPokey: '#cc9933',\n monaLisa: '#ff9999',\n mariner: '#3366cc',\n heliotrope: '#cc33ff',\n dandelion: '#ffce03',\n fruitSalad: '#49a15d',\n fuchsiaBlue: '#8d58bc',\n persianGreen: '#009999',\n watermelon: '#ff4679',\n tropaz: '#2863a8',\n lima: '#5fd0da',\n mintTulip: '#bfecf0',\n carnationPink: '#ffa6ce',\n paleRose: '#ffdcec',\n deYork: '#82d180',\n peppermint: '#cdedcc',\n cornflowerBlue: '#62aee9',\n colonialWhite: '#fdedd2',\n cherokee: '#fbd291',\n supernova: '#ffce03',\n picasso: '#ffeb9a',\n bilobaFlower: '#9fafe9',\n linkWater: '#d8dff6',\n transparent: 'transparent',\n mineShaft: '#333333',\n silver: '#b8b8b8',\n alto: '#d4d4d4',\n mercury: '#e9e9e9',\n wildSand: '#f6f6f6',\n whiteGray: '#eaeaea',\n alabaster: '#f8f8f8',\n whiteLilac: '#F6F7FB',\n atlantis: '#7fc92e',\n yellowOrange: '#ffb334',\n mystic: '#dcdfea',\n pomegranate: '#f94b28',\n oliveDrab: '#6ca82a',\n curious: '#007CEE',\n orangePeel: '#ff9900',\n nebula: '#d8e6e2',\n seaNymph: '#7ca79b',\n chromeWhite: '#daefc9',\n onahau: '#c6e6ff',\n citrineWhite: '#faf3dd',\n coralReef: '#c9c1a6',\n creemBrulee: '#ffe89e',\n frangipani: '#ffdcb5',\n yourPink: '#ffc2c2',\n periwinkleGray: '#d4d9ee',\n baliHai: '#8890b4',\n primary: '#ff732b',\n accent: '#1A96F6',\n})\n\nexport const unitColors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n profession: colors.mintTulip,\n professionDark: colors.lima,\n camps: colors.chromeWhite,\n campsDark: colors.atlantis,\n courses: colors.onahau,\n coursesDark: colors.cornflowerBlue,\n openLesson: colors.colonialWhite,\n openLessonDark: colors.cherokee,\n externat: colors.paleRose,\n externatDark: colors.carnationPink,\n olympiad: colors.yourPink,\n olympiadDark: colors.bittersweet,\n textbook: colors.picasso,\n textbookDark: colors.supernova,\n tutors: colors.linkWater,\n tutorsDark: colors.bilobaFlower,\n training: colors.peppermint,\n trainingDark: colors.deYork,\n mathematics: colors.orangePeel,\n physics: colors.curious,\n informatics: colors.turquoise,\n chemistry: colors.shamrock,\n biology: colors.mantis,\n english: colors.bittersweet,\n russian: colors.dodgerBlue,\n history: colors.bahamaBlue,\n society: colors.primary,\n geography: colors.copperRose,\n developing: colors.olive,\n literature: colors.cyan,\n intersubject: colors.plum,\n primarySchool: colors.hokeyPokey,\n recommended: colors.monaLisa,\n astronomy: colors.mariner,\n ecology: colors.atlantisBrightly,\n technology: colors.turquoise,\n languages: colors.bittersweet,\n art: colors.heliotrope,\n physicalCulture: colors.olive,\n logic: colors.dandelion,\n businessLogic: colors.fruitSalad,\n rap: colors.fuchsiaBlue,\n ikt: colors.persianGreen,\n kids: colors.watermelon,\n fgos: colors.tropaz,\n blue: colors.accent,\n red: colors.pomegranate,\n green: colors.atlantis,\n grey: colors.silver,\n darkgrey: colors.mineShaft,\n lightgrey: colors.alto,\n superlightgrey: colors.mercury,\n})\n","export const breakpoints = Object.freeze({\n xl: 1440,\n l: 1280,\n m: 1024,\n s: 768,\n xs: 374,\n xxs: 320,\n})\n","import { createGlobalStyle, css } from 'styled-components'\nimport { colors, socialColors, unitColors } from './colors'\n\nconst _colors = Object.keys(colors).map((colorName) => css`--${colorName}: ${colors[colorName]};`)\nconst _socialColors = Object.keys(socialColors).map((colorName) => css`--${colorName}: ${socialColors[colorName]};`)\nconst _unitColors = Object.keys(unitColors).map((colorName) => css`--${colorName}: ${unitColors[colorName]};`)\n\nexport const UiGlobalStyles = createGlobalStyle`\n #react-floater-portal {\n position: relative;\n }\n :root {\n ${_colors}\n ${_socialColors}\n ${_unitColors}\n }\n`\n","import { Theme } from '../shared/interfaces'\nimport { colors, socialColors, unitColors } from './colors'\nimport { breakpoints } from './breakpoints'\n\nexport const TEXT_COLOR = 'mineShaft'\nexport const FALLBACK_COLOR = 'mineShaft'\n\nconst theme: Theme = {\n breakpoints,\n colors: {\n ...colors,\n ...socialColors,\n ...unitColors,\n },\n borderRadius: '5px',\n textColor: TEXT_COLOR,\n fallbackColor: FALLBACK_COLOR,\n zIndex: {\n modal: 9000,\n tooltip: 80,\n },\n classNamePrefix: 'fox',\n}\n\nexport { theme }\n\nexport { ColorNames } from './colors'\n\nexport { ThemeProvider } from './theme-provider'\n","import { css, CSSObject, SimpleInterpolation } from 'styled-components'\nimport { theme } from '../theme'\n\ntype StyledComponentProps = {\n theme?: { breakpoints?: typeof theme.breakpoints }\n}\n\ntype MediaQueryParams = {\n and?: string\n condition?: (_props: any) => boolean\n}\n\nconst CONDITIONS = (() => {\n const maxWidth = (breakpoints: typeof theme.breakpoints, point: string) =>\n `(max-width: ${breakpoints[point] + 0.02}px)`\n const minWidth = (breakpoints: typeof theme.breakpoints, point: string) => `(min-width: ${breakpoints[point] + 1}px)`\n\n return {\n MAX: maxWidth,\n MIN: minWidth,\n RANGE: (breakpoints: typeof theme.breakpoints, point1: string, point2: string) =>\n `${minWidth(breakpoints, point1)} and ${maxWidth(breakpoints, point2)}`,\n }\n})()\n\nconst createMediaQuery =\n (condition: (_breakpoints: typeof theme.breakpoints, ..._points: string[]) => string, ...points: string[]) =>\n (params?: MediaQueryParams) =>\n (...args: [CSSObject | TemplateStringsArray, ...SimpleInterpolation[]]) =>\n (props: StyledComponentProps) => {\n const breakpoints = props.theme?.breakpoints ?? theme.breakpoints\n\n if (params !== undefined && typeof params.condition === 'function' && params.condition(props) === false) {\n return css``\n }\n\n return css`\n @media screen and ${condition(breakpoints, ...points)} ${params !== undefined && typeof params.and === 'string'\n ? `and ${params.and}`\n : ``} {\n ${css(...args)}\n }\n `\n }\n\n/**\n * @return `@media screen and (min-width: 320px) and (max-width: 374px) { ...args }`\n */\nexport const screenXs = createMediaQuery(CONDITIONS.RANGE, 'xxs', 'xs')\n\n/**\n * @return `@media screen and (min-width: 375px) and (max-width: 767px) { ...args }`\n */\nexport const screenS = createMediaQuery(CONDITIONS.RANGE, 'xs', 's')\n\n/**\n * @return `@media screen and (min-width: 768) and (max-width: 1023px) { ...args }`\n */\nexport const screenM = createMediaQuery(CONDITIONS.RANGE, 's', 'm')\n\n/**\n * @return `@media screen and (min-width: 1024px) and (max-width: 1279px) { ...args }`\n */\nexport const screenL = createMediaQuery(CONDITIONS.RANGE, 'm', 'l')\n\n/**\n * @return `@media screen and (min-width: 1280px) and (max-width: 1439px) { ...args }`\n */\nexport const screenXl = createMediaQuery(CONDITIONS.RANGE, 'l', 'xl')\n\n/**\n * @return `@media screen and (max-width: 319px) { ...args }`\n */\nexport const screenMaxXxs = createMediaQuery(CONDITIONS.MAX, 'xxs')\n\n/**\n * @return `@media screen and (max-width: 374px) { ...args }`\n */\nexport const screenMaxXs = createMediaQuery(CONDITIONS.MAX, 'xs')\n\n/**\n * @return `@media screen and (min-width: 375px) { ...args }`\n */\nexport const screenMinXs = createMediaQuery(CONDITIONS.MIN, 'xs')\n\n/**\n * @return `@media screen and (max-width: 767px) { ...args }`\n */\nexport const screenMaxS = createMediaQuery(CONDITIONS.MAX, 's')\n\n/**\n * @return `@media screen and (min-width: 768px) { ...args }`\n */\nexport const screenMinS = createMediaQuery(CONDITIONS.MIN, 's')\n\n/**\n * @return `@media screen and (max-width: 1023px) { ...args }`\n */\nexport const screenMaxM = createMediaQuery(CONDITIONS.MAX, 'm')\n\n/**\n * @return `@media screen and (min-width: 1024px) { ...args }`\n */\nexport const screenMinM = createMediaQuery(CONDITIONS.MIN, 'm')\n\n/**\n * @return `@media screen and (max-width: 1279px) { ...args }`\n */\nexport const screenMaxL = createMediaQuery(CONDITIONS.MAX, 'l')\n\n/**\n * @return `@media screen and (min-width: 1280px) { ...args }`\n */\nexport const screenMinL = createMediaQuery(CONDITIONS.MIN, 'l')\n\n/**\n * @return `@media screen and (max-width: 1439px) { ...args }`\n */\nexport const screenMaxXl = createMediaQuery(CONDITIONS.MAX, 'xl')\n\n/**\n * @return `@media screen and (min-width: 1440px) { ...args }`\n */\nexport const screenMinXl = createMediaQuery(CONDITIONS.MIN, 'xl')\n\n/**\n * @return `@media -webkit-min-device-pixel-ratio: 2 and (min-resolution: 192dpi) { ...args }`\n */\nexport const screenRetina = (...args: [CSSObject | TemplateStringsArray, SimpleInterpolation]) => css`\n @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n ${css(...args)}\n }\n`\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport { SizeLatin } from './enums/sizeLatin'\nimport { screenXs } from './screen'\n\nexport const SIZES_LATIN: Readonly<Record<SizeLatin, number>> = Object.freeze({\n xxxl: 44,\n xxl: 40,\n xl: 36,\n l: 28,\n m: 24,\n s: 20,\n xs: 16,\n xxs: 8,\n xxxs: 4,\n})\n\n// eslint-disable-next-line no-unused-vars\nexport const FONT_SIZES_LATIN: Readonly<Record<SizeLatin, number>> = Object.freeze({\n xxxl: 24,\n xxl: 22,\n xl: 20,\n l: 18,\n m: 16,\n s: 14,\n xs: 12,\n xxs: 10,\n xxxs: 8,\n})\n\n/**\n *\n * @param {number | keyof typeof SizeLatin} value\n * @returns\n */\nexport function calcValueWithLatinAlias(value: number | keyof typeof SizeLatin): number {\n if (typeof value === 'string' && SIZES_LATIN[value]) return SIZES_LATIN[value]\n\n return value as number\n}\n\nexport function buildMediaQuery(\n value: number | keyof typeof SizeLatin,\n property: string | ((_size: number, _sizing?: null | string) => FlattenSimpleInterpolation | null),\n screenQueryFunction: typeof screenXs,\n sizing: null | string\n): ReturnType<typeof css> {\n const size = calcValueWithLatinAlias(value)\n\n if (typeof property === 'function') {\n const value = property(size, sizing)\n return css`\n ${screenQueryFunction()`\n ${value}\n `}\n `\n }\n\n return css`\n ${screenQueryFunction()`\n ${property}: ${calcValueWithLatinAlias(value)}${sizing};\n `}\n `\n}\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport { SizeLatin } from './enums/sizeLatin'\nimport { screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMinL, screenMaxXxs, screenMinM } from './screen'\nimport { buildMediaQuery, FONT_SIZES_LATIN, SIZES_LATIN } from './shared'\n\n/**\n * Value for breakpoint\n */\nexport type PossibleValues = number | keyof typeof SizeLatin | 'auto' | 'initial' | 'inherit' | boolean\n\ntype PropsProperties =\n | 'size'\n | 'fontSize'\n | 'height'\n | 'width'\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'padding'\n | 'paddingTop'\n | 'paddingRight'\n | 'paddingBottom'\n | 'paddingLeft'\n | 'margin'\n | 'marginTop'\n | 'marginRight'\n | 'marginBottom'\n | 'marginLeft'\n | 'fluid'\n\nexport type CalcProperty = (_size: number, _sizing?: null | string) => FlattenSimpleInterpolation | null\ntype CssProperty = string | CalcProperty\ntype ResponsiveKeys = '' | 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL'\n\nexport type ResponsiveNamedProperty<T extends PropsProperties, V extends PossibleValues = PossibleValues> = {\n /**\n * Size for breakpoint\n */\n [key in `${T}${ResponsiveKeys}`]?: V // eslint-disable-line no-unused-vars\n}\n\nexport type ResponsiveProperty<V = number | string | keyof typeof SizeLatin> =\n | V\n | [desktop: V, tablet: V, mobile: V]\n | [xl: V, l: V, m: V, s: V, xs: V, xxs: V]\n\nexport const property =\n (value: PossibleValues, cssProperty: CssProperty = 'size', sizing: null | string = 'px') =>\n () =>\n () => {\n if (typeof value === 'boolean') {\n return typeof cssProperty === 'function' ? cssProperty(1) : null\n }\n\n let sizeMap\n\n switch (cssProperty) {\n case 'font-size':\n sizeMap = FONT_SIZES_LATIN\n break\n default:\n sizeMap = SIZES_LATIN\n }\n\n if (typeof cssProperty === 'function') {\n return cssProperty(typeof value === 'number' ? value : sizeMap[value])\n }\n\n if (typeof value === 'string' && ['auto', 'initial', 'inherit'].includes(value))\n return css`\n ${cssProperty}: ${value};\n `\n\n return css`\n ${cssProperty}: ${typeof value === 'string' && sizeMap[value] ? sizeMap[value] : value}${sizing ?? ''};\n `\n }\n\nconst SCREEN_SIZE_MAP: Record<Exclude<ResponsiveKeys, ''>, typeof screenMaxXs> = {\n XXS: screenMaxXxs,\n XS: screenMaxXs,\n S: screenMaxS,\n M: screenMaxM,\n L: screenMaxL,\n XL: screenMinL,\n}\n\nconst SCREEN_SIZE_MAP_BY_DEVICE_ALIAS: Record<'desktop' | 'tablet' | 'mobile', typeof screenMaxXs> = {\n desktop: screenMinM,\n tablet: screenMaxM,\n mobile: screenMaxS,\n}\n\nfunction getScreenFnByResponsiveKey(size: string) {\n if (size.endsWith('XXS')) {\n return SCREEN_SIZE_MAP.XXS\n } else if (size.endsWith('XS')) {\n return SCREEN_SIZE_MAP.XS\n } else if (size.endsWith('S')) {\n return SCREEN_SIZE_MAP.S\n } else if (size.endsWith('M')) {\n return SCREEN_SIZE_MAP.M\n } else if (size.endsWith('L')) {\n return SCREEN_SIZE_MAP.L\n } else {\n return SCREEN_SIZE_MAP.XL\n }\n}\n\nconst getKey = (key: string): 'xs' | 's' | 'm' | 'l' | 'xl' | null => {\n if (key.endsWith('XS')) return 'xs' // first check XS\n if (key.endsWith('S')) return 's'\n if (key.endsWith('M')) return 'm'\n if (key.endsWith('XL')) return 'xl' // first check XL\n if (key.endsWith('L')) return 'l'\n return null\n}\n\nconst DEKSTOP_FIRST_KEYS = ['xl', 'l', 'm', 's', 'xs']\nconst MOBILE_FIRST_KEYS = ['xs', 's', 'm', 'l', 'xl']\n\n/**\n * Sort keys as desktop first\n * @param a key a\n * @param b key b\n * @returns number\n */\nexport const desktopFirst = (a: string, b: string): number => {\n const aKey = getKey(a)\n const bKey = getKey(b)\n if (!aKey || !bKey) return 0\n\n const aIndex = DEKSTOP_FIRST_KEYS.findIndex((el) => el === aKey)\n const bIndex = DEKSTOP_FIRST_KEYS.findIndex((el) => el === bKey)\n\n return aIndex < bIndex ? -1 : 1\n}\n\n/**\n * Sort keys as mobile first\n * @param a key a\n * @param b key b\n * @returns number\n */\nexport const mobileFirst = (a: string, b: string): number => {\n const aKey = getKey(a)\n const bKey = getKey(b)\n if (!aKey || !bKey) return 0\n\n const aIndex = MOBILE_FIRST_KEYS.findIndex((el) => el === aKey)\n const bIndex = MOBILE_FIRST_KEYS.findIndex((el) => el === bKey)\n\n return aIndex < bIndex ? -1 : 1\n}\n\ninterface ResponsiveNamedPropertyPayload<T extends PropsProperties> {\n sizes: ResponsiveNamedProperty<T>\n cssProperty: CssProperty\n sizing?: null | 'px' | 'rem' | 'em' | '%'\n customSizeHandler?: (_value: PossibleValues) => PossibleValues\n sort?: (_a: string, _b: string) => number\n}\n\n/**\n * Миксин для генерации media запросов\n *\n * @param obj.sizes Объект, в качестве ключей брэйкпоинт, в качестве значений - величина\n * @param obj.cssProperty CSS свойство, может быть функцией, возвращающей css`` из styled-components\n * @param obj.sizing значение величины, по умолчанию `px`\n * @param obj.customSizeHandler функция для вычисления кастомных значений величин\n * @returns строки медиазапросов\n */\nexport const responsiveNamedProperty =\n <T extends PropsProperties>({\n sizes,\n cssProperty = 'size',\n sizing = 'px',\n customSizeHandler,\n sort = desktopFirst,\n }: ResponsiveNamedPropertyPayload<T>) =>\n () =>\n () => {\n const mediaCssStrArr = Object.keys(sizes)\n .sort(sort)\n .map((size) => {\n if (sizes[size]) {\n const _size = typeof customSizeHandler === 'function' ? customSizeHandler(sizes[size]) : sizes[size]\n return buildMediaQuery(_size, cssProperty, getScreenFnByResponsiveKey(size), sizing ?? '')\n }\n return null\n })\n .filter(Boolean)\n .map(\n (item) =>\n css`\n ${item}\n `\n )\n\n return mediaCssStrArr\n }\n\n/**\n * Миксин для генерации media запросов\n *\n * @param property имя пропсы\n * @param cssProperty имя css свойства\n * @param sizing значение величины, по умолчанию `px`\n * @returns строки медиазапросов\n */\nexport const responsiveProperty =\n (property: string, cssProperty: string | null = null, sizing: null | string = 'px') =>\n () =>\n (props: any) => {\n const prop: ResponsiveProperty | null = props[property] ?? null\n const _cssProperty = cssProperty ?? property\n if (!prop) return null\n\n if (Array.isArray(prop) && prop.length === 3) {\n const [desktop, tablet, mobile] = prop\n return css`\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.desktop()`\n ${_cssProperty}: ${typeof desktop === 'number' ? `${desktop}${sizing ?? ''}` : desktop};\n `}\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.tablet()`\n ${_cssProperty}: ${typeof tablet === 'number' ? `${tablet}${sizing ?? ''}` : tablet};\n `}\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.mobile()`\n ${_cssProperty}: ${typeof mobile === 'number' ? `${mobile}${sizing ?? ''}` : mobile};\n `}\n `\n }\n\n if (Array.isArray(prop) && prop.length === 6 && typeof _cssProperty === 'string') {\n const [xl, l, m, s, xs, xxs] = prop\n return css`\n ${SCREEN_SIZE_MAP.XL()`\n ${_cssProperty}: ${typeof xl === 'number' ? `${xl}${sizing ?? ''}` : xl};\n `}\n ${SCREEN_SIZE_MAP.L()`\n ${_cssProperty}: ${typeof l === 'number' ? `${l}${sizing ?? ''}` : l};\n `}\n ${SCREEN_SIZE_MAP.M()`\n ${_cssProperty}: ${typeof m === 'number' ? `${m}${sizing ?? ''}` : m};\n `}\n ${SCREEN_SIZE_MAP.S()`\n ${_cssProperty}: ${typeof s === 'number' ? `${s}${sizing ?? ''}` : s};\n `}\n ${SCREEN_SIZE_MAP.XS()`\n ${_cssProperty}: ${typeof xs === 'number' ? `${xs}${sizing ?? ''}` : xs};\n `}\n ${SCREEN_SIZE_MAP.XXS()`\n ${_cssProperty}: ${typeof xxs === 'number' ? `${xxs}${sizing ?? ''}` : xxs};\n `}\n `\n }\n\n if (typeof prop === 'number') {\n return css`\n ${_cssProperty}: ${prop}${sizing ?? null};\n `\n }\n\n if (typeof prop === 'string') {\n return css`\n ${_cssProperty}: ${prop};\n `\n }\n\n return null\n }\n","import { css, DefaultTheme, FlattenSimpleInterpolation } from 'styled-components'\nimport { HEX, RGB, RGBA } from '../shared/interfaces'\nimport { ColorNames, FALLBACK_COLOR } from '../theme'\n\ntype ColorPropsProperties = 'color' | 'fontColor' | `${string}Color` | `color${string}`\nexport type ColorValue = keyof typeof ColorNames | RGB | RGBA | HEX\ntype ColorCalcProperty = (_color: ColorValue) => FlattenSimpleInterpolation | null\ntype ColorCssProperty = string | ColorCalcProperty\n\nexport type Color<T extends ColorPropsProperties = 'color'> = {\n /**\n * Color name, HEX, rgb or rgba\n */\n [key in `${T}`]?: RGB | RGBA | HEX | keyof typeof ColorNames // eslint-disable-line no-unused-vars\n}\n\nexport const getColor = (color: ColorValue, props: { theme: DefaultTheme }) => {\n if (typeof color === 'string' && (color.includes('#') || color.includes('rgb'))) return color\n\n if (props.theme.colors[color]) return props.theme.colors[color]\n\n return color\n}\n\nexport const color =\n (color?: ColorValue, cssProperty: ColorCssProperty = 'color') =>\n () =>\n (props: { theme: DefaultTheme }) => {\n const colorVal = color || props?.theme?.textColor || FALLBACK_COLOR\n const _color = getColor(colorVal as ColorValue, props)\n\n if (typeof cssProperty === 'function') {\n return cssProperty(_color)\n }\n\n return css`\n ${cssProperty}: ${_color};\n `\n }\n","import { css } from 'styled-components'\n\nexport interface VAlign {\n vAlign?: 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'baseline'\n}\n\nexport const vAlign = (vAlign: 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'baseline') => css`\n verical-align: ${vAlign};\n`\n","import cx from 'clsx'\nimport { useTheme } from 'styled-components'\n\nexport function useClassname(componentName: string, originalClassName: string | undefined) {\n const theme = useTheme()\n return cx(`${theme.classNamePrefix}-${componentName}`, originalClassName)\n}\n","import styled, { css } from 'styled-components'\nimport { vAlign } from '../../mixins/vAlign'\nimport { color } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { IconProps } from './Icon'\n\nconst pointerStyle = css`\n cursor: pointer;\n`\nexport const Root = styled.div.withConfig<IconProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style, dangerouslySetInnerHTML'].includes(prop),\n})`\n display: inline-block;\n flex-shrink: 0;\n vertical-align: baseline;\n width: 1em;\n height: 1em;\n svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n ${(props) => (props.pointer ? pointerStyle : null)}\n ${(props) => (props.vAlign ? vAlign(props.vAlign) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.size ? property(props.size, 'font-size') : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({ sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL }, cssProperty: 'font-size' })}\n`\n","<svg viewBox=\"0 0 20 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M3.275 2.11h-2.4v13.015h18.25v-13.015h-2.4v-1.235h-5.525c-.454 0-.871.163-1.2.433-.329-.27-.746-.433-1.2-.433h-5.525v1.235zm13.45 1.485h.95v10.044h-15.35v-10.044h.95v9.059h5.525c.258 0 .475.218.475.493v.125h1.45v-.125c0-.275.217-.493.475-.493h5.525v-9.059zm-6-.743c0-.275.217-.493.475-.493h4.075v8.809h-4.075c-.164 0-.323.021-.475.061v-8.377zm-6-.493h4.075c.258 0 .475.218.475.493v8.377c-.152-.04-.311-.061-.475-.061h-4.075v-8.809z\" stroke-width=\".25\"/></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M4 4h2v2h-2v-2zM7 4h5v2h-5v-2zM4 7h2v2h-2v-2zM7 7h5v2h-5v-2z\" /><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16 0v13h-5l3 3h-2.828l-2.172-2.172v2.172h-2v-2.172l-2.172 2.172h-2.828l3-3h-5v-13h16zm-2 11v-9h-12v9h12z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M0 4v-2h16v2h-16zm0 5v-2h16v2h-16zm0 3v2h16v-2h-16z\"/></svg>\n","<svg enable-background=\"new 0 0 26 16\" viewBox=\"0 0 26 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m0 0h26v16h-26z\" fill=\"none\"/><path d=\"m20.8 4.6c-2.2-2.2-4.7-4.6-7.8-4.6s-5.6 2.4-7.8 4.6c-1.9 1.8-3.5 3.4-5.2 3.4 1.7 0 3.3 1.6 5.2 3.4 2.2 2.2 4.7 4.6 7.8 4.6s5.6-2.4 7.8-4.6c1.9-1.8 3.5-3.4 5.2-3.4-1.7 0-3.3-1.6-5.2-3.4zm-7.8 8.7c-2.9 0-5.2-2.4-5.2-5.3s2.3-5.3 5.2-5.3 5.2 2.4 5.2 5.3-2.3 5.3-5.2 5.3zm1.3-5.3c-.7 0-1.3-.6-1.3-1.3 0-.5.3-1 .8-1.2-.2-.1-.5-.1-.8-.1-1.4 0-2.6 1.2-2.6 2.7s1.2 2.7 2.6 2.7 2.6-1.2 2.6-2.7c0-.3 0-.5-.1-.8-.2.4-.7.7-1.2.7z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M0 1v14h16v-14h-16zm14 2v1.2l-6 4-6-4v-1.2h12zm-12 10v-6.4l6 4 6-4v6.4h-12z\"/></svg>\n","<svg width=\"14\" height=\"12\" viewBox=\"0 0 14 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2.5v-1.75h14v1.75h-14zm0 4.375v-1.75h10.5v1.75h-10.5zm0 2.625v1.75h7v-1.75h-7z\" /></svg>\n","<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2v-2h8v2h-8zm0 3v2h12v-2h-12zm0 5v2h10v-2h-10z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M12 9h-.6c.4-.6.6-1.3.6-2v-3c0-2.2-1.8-4-4-4s-4 1.8-4 4v3c0 .7.2 1.4.6 2h-.6c-2.2 0-4 1.8-4 4v3h16v-3c0-2.2-1.8-4-4-4zm-6-2v-3c0-1.1.9-2 2-2s2 .9 2 2v3c0 1.1-.9 2-2 2s-2-.9-2-2zm8 7h-12v-1c0-1.1.9-2 2-2h8c1.1 0 2 .9 2 2v1z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 14 11\" enable-background=\"new 0 0 14 11\"><path d=\"M3.5.5h7.1l2.8 4.1-6.4 6.3-6.3-6.3 2.8-4.1zm1 2l-1.2 1.9 3.7 3.7 3.7-3.7-1.2-1.9h-5z\"/></svg>\n","<svg viewBox='0 0 19 16' xmlns='http://www.w3.org/2000/svg' fill='none'><path d='M0 6l3.8-6h11.4l3.8 6-9.5 10-9.5-10z' /></svg>\n","<svg fill=\"none\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"10\" cy=\"10\" r=\"10\"/><path d=\"m12.5 6.5h-5l-2 3 4.5 4.5 4.5-4.5z\" stroke=\"#fff\" stroke-width=\"2\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM7 7h2v5h-2zM7 4h2v2h-2z\"/></svg>\n","<svg viewBox=\"0 0 16 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 0h-2v2h2v-2zm0 5h-2v2h2v-2zm-2 5h2v2h-2v-2zm16-10h-12v2h12v-2zm-12 5h12v2h-12v-2zm12 5h-12v2h12v-2z\" /></svg>\n","<svg viewBox=\"0 0 17 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.8852 9L5.5018 11.2929L6.97184 12.7071L11.8647 8L6.97184 3.29289L5.5018 4.70711L7.8852 7L-3.0598e-07 7L-3.93402e-07 9L7.8852 9ZM14.5526 14L9.35523 14L9.35523 16L16.6315 16L16.6315 7.26987e-07L9.35523 4.0893e-07L9.35523 2L14.5526 2L14.5526 14Z\" />\n</svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.414 7l2.293-2.293-1.414-1.414-4.707 4.707 4.707 4.707 1.414-1.414-2.293-2.293h7.586v-2h-7.586zm-6.414-5h5v-2h-7v16h7v-2h-5v-12z\" /></svg>\n","<svg viewBox=\"0 0 14 19\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7 19c3.866 0 7-3.224 7-7.2 0-6.792-6.444-5.8-4.5-11.8-2.472.152-5.5 1-6.5 4.5-.491 1.718.107 3.044.27 3.764.163.72-.211 1.343-.761 1.233-.548-.109-.762-.831-.548-2.247-1.96 1.231-1.96 3.518-1.96 4.55 0 3.976 3.134 7.2 7 7.2z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M15 6v-6h-14v6h-1v3h1v5h1v2h3v-2h6v2h3v-2h1v-5h1v-3h-1zm-2 6h-10v-1h10v1zm0-3h-10v-7h10v7zm-8-6h6v2h-6z\"/></svg>\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2h1.236l3 11h8.764v-2h-7.236l-.273-1h8.29l2-8h-9.781v2h7.219l-1 4h-7.274l-2.182-8h-2.764v2zm12 14c.552 0 1-.448 1-1s-.448-1-1-1-1 .448-1 1 .448 1 1 1zm-6-1c0 .552-.448 1-1 1s-1-.448-1-1 .448-1 1-1 1 .448 1 1z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM7.4 7.8h-2.2v2h4.2v-5h-2z\"/></svg>\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M10 20c5.5 0 10-4.5 10-10s-4.5-10-10-10-10 4.5-10 10 4.5 10 10 10zm0-15h2v8h-6v-2h4v-6z\" fill=\"#48A1E6\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M16 0h-16v16h16v-16zm-14 14v-12h12v12h-12zm4.4-8.3l3.9 2.3-3.9 2.3v-4.6z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M.08 14.505l14.425-14.425 1.414 1.414-14.425 14.425zM3.2 6.4c1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2zm0-4.4c.7 0 1.2.5 1.2 1.2s-.5 1.2-1.2 1.2-1.2-.5-1.2-1.2.5-1.2 1.2-1.2zM12.8 9.6c-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2 1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2zm0 4.4c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M13 4v-4h-13v6h2v3h-2v7h16v-12h-3zm-11-2h9v2h-9v-2zm3 4v3h-1v-3h1zm6 8h-9v-3h9v3zm3 0h-1v-3h1v3zm0-5h-7v-3h7v3z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M16 9v-2c0-3.9-3.1-7-7-7h-2c-3.9 0-7 3.1-7 7v9h5v-7h-3v-2c0-2.8 2.2-5 5-5h2c2.8 0 5 2.2 5 5v2h-3v7h5v-7zm-13 2v3h-1v-3h1zm11 3h-1v-3h1v3z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8.4 0h7.6000000000000005v7.6000000000000005l-.3.3-.2.2c1 2.4.4 5.1-1.3 6.4-1.3 1-2.7 1.2-3.9 1-.6-.1-1.1-.3-1.6-.7l-.4.4-.7.8-.7-.7-6.2-6.2-.7-.7.7-.7 7.4-7.4.3-.3zm2.4 4.2c1.3.4 2.4 1 3.2 1.8v-4h-4.8l-6.4 6.4 4.8 4.8 5.4-5.4c-.5-.6-1.2-1.1-2.2-1.5v.9h-1v-4.1h1v1.1zm2.2 8.7c.7-.5 1.2-1.8.9-3.2l-3.7 3.7c.1.1.3.1.5.2.7.1 1.5 0 2.3-.7z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14 3.2h-2v-3.2h-8v3.1999999999999997h-4v12.8h16v-12.8h-2zm-8-1.2h4v.8h-4v-.8zm8 12h-12v-4h5v1.2h2v-1.2h5v4zm0-6h-12v-2.8h12v2.8z\"/></svg>\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 2c4.418 0 8 3.582 8 8h2c0-5.523-4.477-10-10-10v2zm0 4c2.209 0 4 1.791 4 4h2c0-3.314-2.686-6-6-6v2zm2 7.75c.5-.625 1.25-.625 1.875 0 .25.25.486.5.722.75.472.5.944 1 1.528 1.5.625.625.625 1.375 0 2l-1.25 1.25c-.625.625-1.375.75-2.125.75-1.25-.125-2.375-.5-3.375-1-2.375-1.125-4.375-2.625-6-4.625-1.125-1.5-2.25-3.125-2.875-4.875-.375-.875-.5-1.75-.5-2.75 0-.5.25-1 .75-1.5.375-.375.875-.875 1.375-1.25.5-.625 1.25-.625 1.875 0 .375.25.75.625 1.125 1l.269.285c.25.273.484.529.856.715.625.625.625 1.375 0 2l-.481.51c-.291.319-.566.619-.894.865-.125.125-.125.25-.125.375.375.625.75 1.25 1.25 1.875 1 1.25 2 2.25 3.375 3.125.191.191.455.309.68.41l.195.09c.125 0 .25 0 .375-.125l1.375-1.375z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14.7 5.5h-3.7l-2.1-4.7c-.3-.7-1.4-.7-1.7 0l-2.2 4.7h-3.7c-.8 0-1.3 1-.7 1.6l2.8 2.7-.7 4.8c-.1.8.8 1.4 1.5.9l3.8-2.8 3.8 2.9c.7.5 1.6-.1 1.5-.9l-.7-4.8 2.8-2.7c.6-.7.2-1.7-.7-1.7zm-4.3 3.6l.5 3.3-2.9-2.2-2.9 2.2.5-3.3-1.7-1.6h2.4l1.7-3.7 1.7 3.7h2.4l-1.7 1.6z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14.4 7.8l1.4-1.7-1.9-3.8-2.4.6-.8-.5-.5-2.4h-4.6l-.6 2.4-.8.5-2.3-.6-1.8 3.8 1.3 1.7v1.2l-1.3 2 1.9 3 2.3-.7.7.4.6 2.3h4.6l.6-2.3.7-.4 2.3.7 2-3-1.4-2c.1 0 .1-1.2 0-1.2zm-.8 3.3l-.4.6-1.7-.5-2.3 1.2-.5 1.6h-1.5l-.4-1.7-2.3-1.2-1.7.5-.3-.6 1-1.4v-2.4l-1-1.3.5-1.2 1.6.4 2.2-1.5.4-1.6h1.4l.4 1.6 2.2 1.5 1.7-.4.6 1.2-1 1.3v2.5l1.1 1.4zM7.9 5c-1.7 0-3 1.3-3 3s1.3 3 3 3 3-1.3 3-3-1.2-3-3-3zm0 4c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.3 1-1 1z\"/></svg>\n","<svg viewBox=\"0 0 25 17\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M24.051 6.289l.254-.114-.254-.114-11.515-5.175-.051-.023-.051.023-11.485 5.175-.253.114.253.114 5.363 2.416v3.516c0 1.168.729 2.202 2.01 2.923 1.129.635 2.608.981 4.164.981 1.556 0 3.035-.346 4.164-.981 1.281-.72 2.01-1.755 2.01-2.923v-3.509l2.659-1.195 1.344-.604 1.388-.624zm-11.617 5.175l.051.023.051-.023 4.529-2.035v2.792c0 .228-.107.475-.325.723-.218.248-.54.489-.949.701-.82.423-1.976.718-3.305.718-1.329 0-2.485-.296-3.305-.718-.41-.211-.732-.453-.95-.701-.218-.248-.325-.496-.325-.723v-2.797l4.528 2.04zm.052-1.879l-7.568-3.41 7.568-3.41 7.587 3.41-7.587 3.41z\" stroke-width=\".25\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 14c3.3 0 6-2.7 6-6 0-.9-.2-1.8-.6-2.6l-1.2.9c.2.5.3 1.1.3 1.7 0 2.5-2 4.5-4.5 4.5s-4.5-2-4.5-4.5 2-4.5 4.5-4.5c1.1 0 2.2.4 3 1.1l1.2-.9c-1.1-1-2.5-1.7-4.2-1.7-3.3 0-6 2.7-6 6s2.7 6 6 6zm1.3-8.1c-.4-.3-.8-.4-1.3-.4-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5c0-.2 0-.4-.1-.5l-1.8 1.3c-.5.3-1.1.2-1.4-.2-.3-.5-.2-1.1.2-1.4l1.9-1.3zm5.7-1.7c.6 1.1 1 2.4 1 3.8 0 4.4-3.6 8-8 8s-8-3.6-8-8 3.6-8 8-8c2.3 0 4.4 1 5.9 2.6l.5-.4c.4-.3 1.1-.2 1.4.2.3.4.2 1.1-.2 1.4l-.6.4z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M13 0h-13v16h16v-16h-3zm-6 2h1v1l-.5-.2-.5.2v-1zm4 12h-9v-12h3v4l2.5-1 2.5 1v-4h1v12zm3 0h-1v-12h1v12z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14 0h-14v3c0 1.9 1.3 3.4 3 3.9v.1c0 2.4 1.7 4.4 4 4.9v2.1h-4v2h10v-2h-4v-2.1c2.3-.5 4-2.5 4-4.9v-.1c1.7-.4 3-2 3-3.9v-3h-2zm-11 4.7c-.6-.3-1-1-1-1.7v-1h1v2.7zm8 .3v2c0 1.7-1.3 3-3 3s-3-1.3-3-3v-5h6v3zm3-2c0 .7-.4 1.4-1 1.7v-2.7h1v1z\"/></svg>\n","<svg enable-background=\"new 0 0 16 16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m8.5 2c-3 0-5.5 2.5-5.5 5.5 0 .8.2 1.5.4 2.2l.2.3-.8 3.1 2.9-.9.3.2c.7.4 1.6.6 2.5.6 3 0 5.5-2.5 5.5-5.5s-2.5-5.5-5.5-5.5zm-7.5 5.5c0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5c-1.1 0-2.1-.2-3.1-.7l-5.4 1.7 1.5-5.9c-.3-.8-.5-1.7-.5-2.6z\" /></svg>","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M11 4v-4h-8c-1.7 0-3 1.3-3 3v13h16v-12h-5zm-8-2h6v2h-6c-.6 0-1-.4-1-1s.4-1 1-1zm11 12h-12v-8.2c.1 0 .2 0 .3.1h.2c.1.1.3.1.5.1h11v8z\"/><circle cx=\"11\" cy=\"10\" r=\"1\"/></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.5 0l4.243 4.243-11.5 11.757h-4.243v-4.243l11.5-11.757zm0 3l-9.5 9.586v1.414h1.414l9.5-9.586-1.414-1.414zm-2.5 11v2h7v-2h-7z\" /></svg>\n","<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5 2V4H3V0H16V13H12V11H14V2H5Z\" />\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13 3H0V16H13V3ZM2 14V5H11V14H2Z\" />\n</svg>\n","<svg fill=\"none\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><g><path d=\"m0 0v20h20v-20zm18 18h-16v-16h16z\"/><path d=\"m15 5h-10v2h10z\"/><path d=\"m15 9h-10v2h10z\"/><path d=\"m15 13h-10v2h10z\"/></g></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M13 4v-4h-10v4h-3v9h3v3h10v-3h3v-9h-3zm-8-2h6v2h-6v-2zm6 12h-6v-3h6v3zm3-3h-1v-2h-10v2h-1v-5h12v5zm-10.2-2.4c.442 0 .8-.358.8-.8 0-.442-.358-.8-.8-.8-.442 0-.8.358-.8.8 0 .442.358.8.8.8z\" /></svg>\n","<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path fill-rule=\"evenodd\" d=\"M7 0H0v15h15V8h-2v5H2V2h5V0zm0 10.9142l8.7072-8.7071L14.293.7928 7 8.0858l-2.2928-2.293L3.293 7.2071 7 10.9142z\" clip-rule=\"evenodd\"/></svg>\n","<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 16 18\" style=\"enable-background:new 0 0 16 18;\" xml:space=\"preserve\">\n<style type=\"text/css\">\n\t.st0{fill-rule:evenodd;clip-rule:evenodd;}\n</style>\n<path class=\"st0\" d=\"M6.1,4.4c-0.4-0.9-1-1.7-1.4-2.1C4.4,2.1,4,2,3.7,2C3.5,2,3.3,2.1,3.2,2.2C3,2.4,3,2.6,3,2.9\n\tc0,0.3,0.2,0.6,0.5,0.9C4,4.1,4.9,4.6,5.8,4.9C6,4.9,6.2,5,6.3,5C6.3,4.8,6.2,4.6,6.1,4.4z M6.9,5C6.9,5,6.9,5,6.9,5\n\tC6.9,5,6.9,5,6.9,5z M6,0.9c0.7,0.6,1.5,1.7,2,2.8c0.5-1.1,1.3-2.2,2-2.8c1.4-1.2,3.4-1.1,4.4,0.1c1,1.1,0.8,2.9-0.3,4.1H16v2v2v2\n\th-1v5v2h-2H3H1v-2v-5H0V9V7V5h1.9C0.8,3.8,0.7,2.1,1.6,0.9C2.7-0.3,4.7-0.3,6,0.9z M9.9,4.4c0.4-0.9,1-1.7,1.4-2.1\n\tC11.6,2.1,12,2,12.3,2c0.3,0,0.5,0.1,0.6,0.2C13,2.4,13,2.6,13,2.9c0,0.3-0.2,0.6-0.5,0.9c-0.4,0.4-1.3,0.8-2.3,1.1\n\tC10,4.9,9.8,5,9.7,5C9.7,4.8,9.8,4.6,9.9,4.4z M9.1,5C9.1,5,9.1,5,9.1,5C9.1,5,9.1,5,9.1,5z M14,7H2v2h1h10h1V7z M3,11h10v5H3V11z\"\n\t/>\n</svg>\n","<svg viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path clip-rule=\"evenodd\" d=\"M3 10a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-6a6 6 0 1 0 0 12A6 6 0 0 0 7 4Zm5.333 11.963A8.034 8.034 0 0 0 14 13.873a4.002 4.002 0 0 0 0-7.747 8.034 8.034 0 0 0-1.668-2.09 6 6 0 1 1 0 11.927Z\"/></svg>\n","/* eslint-disable no-unused-vars */\nimport Book from './images/book.module.svg'\nimport BlackBoard from './images/blackBoard.module.svg'\nimport Burger from './images/burger.module.svg'\nimport Eye from './images/eye.module.svg'\nimport Email from './images/email.module.svg'\nimport Sort from './images/sort.module.svg'\nimport Unsort from './images/unsort.module.svg'\nimport Person from './images/person.module.svg'\nimport Diamond from './images/diamond.module.svg'\nimport DiamondFIlled from './images/diamondFilled.module.svg'\nimport DiamondSolid from './images/diamondSolid.module.svg'\nimport InfoInverse from './images/infoInverse.module.svg'\nimport List from './images/list.module.svg'\nimport Login from './images/login.module.svg'\nimport Logout from './images/logout.module.svg'\nimport Fire from './images/fire.module.svg'\nimport Camps from './images/camps.module.svg'\nimport Cart from './images/cart.module.svg'\nimport Clock from './images/clock.module.svg'\nimport ClockFilled from './images/clockFilled.module.svg'\nimport Courses from './images/courses.module.svg'\nimport Discount from './images/discount.module.svg'\nimport Externat from './images/externat.module.svg'\nimport Headphones from './images/headphones.module.svg'\nimport PriceTag from './images/priceTag.module.svg'\nimport Prof from './images/prof.module.svg'\nimport Phone from './images/phone.module.svg'\nimport Star from './images/star.module.svg'\nimport Settings from './images/settings.module.svg'\nimport Student from './images/student.module.svg'\nimport Target from './images/target.module.svg'\nimport Textbook from './images/textbook.module.svg'\nimport Trophy from './images/trophy.module.svg'\nimport Message from './images/message.module.svg'\nimport Wallet from './images/wallet.module.svg'\nimport Edit from './images/edit.module.svg'\nimport Copy from './images/copy.module.svg'\nimport Page from './images/page.module.svg'\nimport Print from './images/print.module.svg'\nimport Objective from './images/objective.module.svg'\nimport Present from './images/present.module.svg'\nimport Coins from './images/coins.module.svg'\n\nexport enum IconNames {\n book = 'book',\n blackBoard = 'blackBoard',\n burger = 'burger',\n eye = 'eye',\n email = 'email',\n sort = 'sort',\n unsort = 'unsort',\n person = 'person',\n diamond = 'diamond',\n diamondFilled = 'diamondFilled',\n diamondSolid = 'diamondSolid',\n infoInverse = 'infoInverse',\n list = 'list',\n login = 'login',\n logout = 'logout',\n fire = 'fire',\n camps = 'camps',\n cart = 'cart',\n clock = 'clock',\n clockFilled = 'clockFilled',\n courses = 'courses',\n discount = 'discount',\n externat = 'externat',\n headphones = 'headphones',\n page = 'page',\n priceTag = 'priceTag',\n phone = 'phone',\n prof = 'prof',\n star = 'star',\n settings = 'settings',\n student = 'student',\n target = 'target',\n textbook = 'textbook',\n trophy = 'trophy',\n message = 'message',\n wallet = 'wallet',\n edit = 'edit',\n copy = 'copy',\n print = 'print',\n objective = 'objective',\n present = 'present',\n coins = 'coins',\n calendar = 'calendar',\n calendar_simple = 'calendar_simple',\n chevronDown = 'chevronDown',\n chevronUp = 'chevronUp',\n chevronRight = 'chevronRight',\n chevronLeft = 'chevronLeft',\n cross = 'cross',\n dialog = 'dialog',\n dropDownArrow = 'dropDownArrow',\n externalLink = 'externalLink',\n file = 'file',\n fileBordered = 'fileBordered',\n lessons = 'lessons',\n pencil = 'pencil',\n phoneNoFill = 'phoneNoFill',\n radioChecked = 'radioChecked',\n radioNotChecked = 'radioNotChecked',\n search = 'search',\n tasks = 'tasks',\n tinyCross = 'tinyCross',\n sharpCross = 'sharpCross',\n plus = 'plus',\n plusThin = 'plusThin',\n play = 'play',\n reload = 'reload',\n checkCircle = 'checkCircle',\n info = 'info',\n check = 'check',\n home = 'home',\n questionFilled = 'questionFilled',\n document = 'document',\n cancel = 'cancel',\n playPause = 'playPause',\n video = 'video',\n}\n\ntype Icon = React.FC<React.SVGProps<SVGSVGElement>> | (() => JSX.Element)\n\nexport const defaultIcons: Record<IconNames, Icon> = {\n book: Book,\n blackBoard: BlackBoard,\n burger: Burger,\n eye: Eye,\n email: Email,\n sort: Sort,\n unsort: Unsort,\n person: Person,\n diamond: Diamond,\n diamondFilled: DiamondFIlled,\n diamondSolid: DiamondSolid,\n infoInverse: InfoInverse,\n list: List,\n login: Login,\n logout: Logout,\n fire: Fire,\n camps: Camps,\n cart: Cart,\n clock: Clock,\n clockFilled: ClockFilled,\n courses: Courses,\n discount: Discount,\n externat: Externat,\n headphones: Headphones,\n page: Page,\n priceTag: PriceTag,\n phone: Phone,\n prof: Prof,\n star: Star,\n settings: Settings,\n student: Student,\n target: Target,\n textbook: Textbook,\n trophy: Trophy,\n message: Message,\n wallet: Wallet,\n edit: Edit,\n copy: Copy,\n print: Print,\n objective: Objective,\n present: Present,\n coins: Coins,\n calendar: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='20' viewBox='0 0 21 20'>\n <path d='M.8 19.8h19.4c.4 0 .7-.3.7-.7V2.4a.7.7 0 0 0-.8-.8h-3.7V1A.7.7 0 1 0 15 1v.5H6V1a.7.7 0 1 0-1.4 0v.5H.8a.7.7 0 0 0-.7.8V19c0 .5.4.8.8.8zM1.5 3h3v.5a.7.7 0 1 0 1.5 0V3h9v.5a.7.7 0 1 0 1.5 0V3h3v2h-18V3zm0 3.5h18v12h-18v-12z' />\n <path d='M15.8 10H5.2a.7.7 0 0 0-.7.7c0 .4.3.8.7.8h10.6c.4 0 .7-.4.7-.8a.7.7 0 0 0-.7-.8zm-5.3 3.6H5.2a.7.7 0 0 0-.7.7c0 .5.3.8.7.8h5.3c.4 0 .7-.2.7-.7a.7.7 0 0 0-.7-.7z' />\n </svg>\n ),\n calendar_simple: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M13 2V0H11V2H5V0H3V2H0V4V5V16H16V5V4V2H13ZM14 14H2V6H14V14Z' />\n </svg>\n ),\n chevronDown: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='13' viewBox='0 0 21 13'>\n <path d='M10.109 10.604l-7.74-8.297a1.42 1.42 0 0 1 0-1.911 1.201 1.201 0 0 1 1.783 0l6.848 7.342 6.848-7.342a1.202 1.202 0 0 1 1.783 0 1.421 1.421 0 0 1 0 1.911l-7.74 8.297a1.214 1.214 0 0 1-.89.396c-.323 0-.646-.132-.892-.396z' />\n </svg>\n ),\n chevronUp: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='13' viewBox='0 0 21 13'>\n <path d='M10.109 1.396l-7.74 8.297a1.42 1.42 0 0 0 0 1.911c.493.528 1.29.528 1.783 0l6.848-7.342 6.848 7.342c.492.528 1.29.528 1.783 0a1.421 1.421 0 0 0 0-1.911l-7.74-8.297a1.214 1.214 0 0 0-.89-.396c-.323 0-.646.132-.892.396z' />\n </svg>\n ),\n chevronRight: () => (\n <svg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M0 1.87054L1.39309 0.5L8 7L1.39309 13.5L0 12.1295L5.21383 7L0 1.87054Z' />\n </svg>\n ),\n chevronLeft: () => (\n <svg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8 12.1295L6.60691 13.5L0 7L6.60691 0.5L8 1.87054L2.78617 7L8 12.1295Z' />\n </svg>\n ),\n cross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'>\n <path d='M17.333.668a1.845 1.845 0 0 0-2.61 0l-5.723 5.722-5.723-5.722a1.845 1.845 0 1 0-2.61 2.61l5.723 5.723-5.723 5.724a1.845 1.845 0 1 0 2.61 2.61l5.723-5.723 5.723 5.723c.36.36.832.54 1.305.54a1.845 1.845 0 0 0 1.305-3.151l-5.723-5.721 5.723-5.724a1.845 1.845 0 0 0 0-2.61z' />\n </svg>\n ),\n dialog: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25'>\n <path d='M3.66 3.664a12.422 12.422 0 0 1 8.84-3.664c3.342 0 6.48 1.303 8.841 3.664 4.556 4.554 4.886 11.83.828 16.761.56 1.146 1.22 1.91 1.969 2.277.455.225.712.717.639 1.22a1.16 1.16 0 0 1-.974.979 5.953 5.953 0 0 1-.886.068c-1.534 0-3.147-.53-4.493-1.456a12.52 12.52 0 0 1-5.923 1.487 12.417 12.417 0 0 1-8.84-3.659 12.414 12.414 0 0 1-3.661-8.836c0-3.334 1.299-6.48 3.66-8.84zm1.001 16.672a11.02 11.02 0 0 0 7.84 3.245c1.98 0 3.922-.528 5.614-1.523.11-.063.236-.1.356-.1.152 0 .31.053.435.147 1.602 1.24 3.215 1.424 3.922 1.44-.843-.628-1.55-1.602-2.142-2.958a.711.711 0 0 1 .12-.753c3.876-4.377 3.672-11.045-.465-15.18a11.02 11.02 0 0 0-7.84-3.246 11.02 11.02 0 0 0-7.84 3.245c-4.326 4.33-4.326 11.365 0 15.683zM7.581 8.125h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625zm0 3.875h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625zm0 4h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625z' />\n </svg>\n ),\n dropDownArrow: () => (\n <svg width='11' height='7' viewBox='0 0 11 7'>\n <path d='M4.288 5.703l.117.139c.393.393.973.441 1.302.112l.009-.009.123-.105.104-.122 4.015-4.015c.38-.38.384-1.017-.007-1.408-.393-.393-1.025-.389-1.417.002l-3.412 3.412-3.419-3.419c-.388-.388-1.016-.388-1.409.005-.391.391-.393 1.021-.005 1.409l3.999 3.999z' />\n </svg>\n ),\n externalLink: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' enableBackground='new 0 0 16 16'>\n <path className='st0' d='M0 0h16v16h-16z' fillOpacity='0' />\n <path className='st1' d='M9 0v2h3.6l-7.3 7.3 1.4 1.4 7.3-7.3v3.6h2v-7zM14 14h-12v-12h4v-2h-6v16h16v-6h-2z' />\n </svg>\n ),\n file: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='17' height='20' viewBox='0 0 17 20'>\n <path d='M16.734 5.931c-.176-.416-.388-.745-.636-.988l-4.138-4.059c-.247-.242-.583-.45-1.007-.624-.425-.173-.814-.26-1.167-.26h-8.488a1.24 1.24 0 0 0-.901.364 1.192 1.192 0 0 0-.372.885v17.481c0 .347.124.642.372.885.247.242.548.364.901.364h14.429c.353 0 .654-.122.901-.364.248-.243.371-.538.371-.885v-11.654c0-.347-.088-.729-.265-1.145zm-6.524-4.161c.256.087.437.182.544.286l4.15 4.071c.106.104.204.282.292.534h-4.986v-4.892zm5.092 16.545h-13.58v-16.651h6.79v5.412c0 .347.124.642.372.884.247.243.548.365.901.365h5.517v9.989z' />\n </svg>\n ),\n fileBordered: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8.3 0H6H0V16H13H16V0H8.3ZM8 2.5L10.5 5H8V2.5ZM2 14V2H6V7H11V14H2ZM14 14H13V7V4.7L10.3 2H14V14Z' />\n </svg>\n ),\n lessons: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='22' height='16' viewBox='0 0 22 16'>\n <path d='M21.8 8.4a1.8 1.8 0 0 0-.8-.8 2.4 2.4 0 0 0-1-.3h-2.3V5.5c0-.7-.3-1.3-.8-1.8a2.5 2.5 0 0 0-2-.8H9v-.4c0-.7-.2-1.3-.7-1.8A2.5 2.5 0 0 0 6.4 0H2.6C2 0 1.3.3.8.8S0 1.8 0 2.6v10.8c0 .7.3 1.3.8 1.8a2.5 2.5 0 0 0 1.8.8H15c.6 0 1 0 1.7-.4.6-.3 1-.6 1.3-1l3.4-4c.4-.6.6-1 .6-1.5a1.8 1.8 0 0 0-.2-.6zM1.5 2.6c0-.3 0-.6.3-.8.2-.2.5-.3.8-.3h3.7c.3 0 .5 0 .7.3.3.2.4.5.4.8v.7c0 .3 0 .5.3.8.2.3.5.4.8.4H15c.4 0 .7 0 1 .3l.2.8v1.8H7.4c-.6 0-1 0-1.6.4s-1 .6-1.4 1l-3 3.5V2.6zm18.8 7l-3.4 4-1 .7-1 .2H2.7c-.4 0-.6 0-.6-.4l.2-.3 3.4-4c.2-.4.4-.6.8-.7.3-.2.7-.3 1-.3H20c.3 0 .5.2.5.4 0 .3 0 .4-.2.6z' />\n </svg>\n ),\n pencil: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19'>\n <path d='M17.863 5.258l-4.113-4.122.283-.283a2.9 2.9 0 0 1 4.113.005 2.909 2.909 0 0 1 0 4.117l-.283.283zm-5.388-2.847l4.118 4.117-11.553 11.551-5.04.921.92-5.038 11.556-11.551z' />\n </svg>\n ),\n phoneNoFill: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'>\n <path d='M25.28 19.815c-.655-.682-1.445-1.047-2.282-1.047-.83 0-1.627.358-2.309 1.04l-2.133 2.127-.52-.27a8.579 8.579 0 0 1-.669-.358c-1.998-1.27-3.814-2.923-5.556-5.064-.844-1.066-1.41-1.964-1.822-2.876.553-.506 1.066-1.032 1.566-1.539l.567-.574c1.418-1.417 1.418-3.254 0-4.671l-1.843-1.843c-.21-.21-.425-.426-.628-.642-.405-.418-.83-.85-1.27-1.255-.654-.649-1.437-.993-2.26-.993-.824 0-1.621.344-2.296.993l-.014.013-2.295 2.316a4.94 4.94 0 0 0-1.465 3.138c-.162 1.971.419 3.808.864 5.01 1.094 2.95 2.728 5.684 5.165 8.614 2.957 3.53 6.514 6.319 10.579 8.283 1.552.736 3.625 1.607 5.94 1.755l.426.014c1.56 0 2.87-.56 3.895-1.674l.027-.034c.351-.425.756-.81 1.182-1.222.29-.277.587-.567.877-.87.669-.696 1.02-1.506 1.02-2.337 0-.837-.358-1.64-1.04-2.315l-3.706-3.72zm1.595 6.857c-.227.245-.46.465-.71.71-.377.36-.76.738-1.121 1.163-.588.628-1.28.924-2.187.924l-.267-.006c-1.727-.11-3.378-.572-4.581-1.148-1.565-.757-6.166-3.373-9.24-6.667-3.39-3.633-5.311-8.135-5.772-9.379a8.219 8.219 0 0 1-.51-3.704 2.67 2.67 0 0 1 .802-1.727l1.983-1.983c.285-.268.587-.413.884-.413.366 0 .663.22.849.407.372.349.71.692 1.064 1.058l.552.564 1.589 1.589c.616.616.616 1.186 0 1.802l-.5.5c-.489.5-1.206 1.178-1.712 1.631-.53.53-.436 1.018-.331 1.35.242.596 1.767 3.576 3.98 5.982 1.856 2.017 4.38 3.504 5.231 4.042.239.152.483.274.715.39.21.105.407.203.576.308l.07.04c.198.1.384.146.576.146.482 0 .785-.302.883-.401l2.241-2.2c.198-.198.512-.437.878-.437.361 0 .658.227.838.425l3.215 3.215c.6.593.6 1.204.006 1.82zm-9.589-19.063a8.56 8.56 0 0 1 4.659 2.417 8.606 8.606 0 0 1 2.417 4.658c.074.446.459.756.897.756l.156-.013c.5-.081.83-.554.75-1.054a10.413 10.413 0 0 0-2.924-5.637 10.413 10.413 0 0 0-5.637-2.923.916.916 0 0 0-1.053.743.902.902 0 0 0 .735 1.053zm14.664 6.501a17.13 17.13 0 0 0-4.814-9.283 17.13 17.13 0 0 0-9.282-4.813.908.908 0 0 0-1.047.743c-.08.5.25.965.75 1.053 3.146.533 6.015 2.025 8.297 4.3a15.294 15.294 0 0 1 4.3 8.297c.074.446.46.756.898.756a.894.894 0 0 0 .898-1.053z' />\n </svg>\n ),\n radioChecked: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10 5c-2.8 0-5 2.2-5 5s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5zm0-5c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 18c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z'\n />\n </svg>\n ),\n radioNotChecked: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10 0c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 18c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z'\n />\n </svg>\n ),\n search: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='29' height='30' viewBox='0 0 29 30'>\n <path d='M28.6 27.3l-7-7.4a12.2 12.2 0 0 0 2.7-8c0-6.6-5.3-12-12-12C6 0 .6 5.4.6 12c0 6.8 5.4 12.2 12 12.2 2.4 0 4.7-.7 6.7-2.2l7 7.5a1.5 1.5 0 0 0 2.3 0 1.6 1.6 0 0 0 0-2.2zm-16.2-24c5 0 8.8 4 8.8 8.8 0 5-4 9-8.8 9s-8.8-4-8.8-9c0-4.8 4-8.8 8.8-8.8z' />\n </svg>\n ),\n tasks: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='20' viewBox='0 0 18 20'>\n <path d='M17.2 2H13V.8c0-.4-.3-.7-.7-.7H5.8c-.5 0-.8.3-.8.7v4c0 .3.3.6.8.6h4.8c.4 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7h-4V1.4h5V3c0 .3.2.6.7.6h4v15H1.7v-15h1.2c.4 0 .8-.3.8-.7 0-.5-.4-1-.8-1h-2C.4 2 0 2.6 0 3v16.3c0 .4.4.7.8.7h16.4c.4 0 .8-.3.8-.8V3c0-.5-.4-1-.8-1z' />\n <path d='M12.6 9a.8.8 0 0 0-1 0l-3.7 3.3L6.4 11a.8.8 0 0 0-1 0 .7.7 0 0 0 0 1l1.8 1.8c.2.2.4.2.6.2 0 0 .3 0 .4-.2l4.2-4a.7.7 0 0 0 0-1z' />\n </svg>\n ),\n tinyCross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'>\n <path\n fillRule='evenodd'\n d='M10.7 12.8L1 22.4c-.5.6-.5 1.6 0 2.2.8.6 1.7.6 2.3 0L13 15l9.5 9.6c.6.6 1.6.6 2.2 0 .6-.6.6-1.6 0-2.2L15 12.8l9.6-9.5c.6-.6.6-1.6 0-2.2-.6-.5-1.6-.5-2.2 0L13 10.7 3.3 1C2.8.6 1.8.6 1.2 1c-.6.7-.6 1.7 0 2.3l9.5 9.5z'\n />\n </svg>\n ),\n sharpCross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'>\n <path d='M8 6.53l6.53-6.53 1.47 1.47-6.53 6.53 6.53 6.53-1.47 1.47-6.53-6.53-6.53 6.53-1.47-1.47 6.53-6.53-6.53-6.53 1.47-1.47z' />\n </svg>\n ),\n plus: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='19' viewBox='0 0 18 19'>\n <g fillRule='evenodd'>\n <rect width='18' height='3' y='8' rx='1.5' />\n <rect width='18' height='3' y='8' rx='1.5' transform='rotate(90 9 9.5)' />\n </g>\n </svg>\n ),\n plusThin: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'>\n <path fillRule='nonzero' d='M7.875 6.125H14v1.75H7.875V14h-1.75V7.875H0v-1.75h6.125V0h1.75v6.125z' />\n </svg>\n ),\n play: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'>\n <path d='M28.197 7.501c-4.173-7.173-13.414-9.63-20.64-5.489-7.227 4.141-9.703 13.314-5.53 20.486 4.172 7.174 13.413 9.632 20.639 5.49 7.227-4.142 9.704-13.314 5.53-20.487zm-7.042 17.889c-5.78 3.313-13.173 1.347-16.511-4.392-3.338-5.738-1.357-13.076 4.424-16.388 5.78-3.314 13.174-1.348 16.512 4.39 3.337 5.74 1.356 13.077-4.425 16.39zm-.604-11l-7.911-4.58c-.72-.418-1.302-.084-1.298.744l.04 9.091c.004.828.593 1.165 1.316.75l7.851-4.499c.722-.414.724-1.088.003-1.506z' />\n </svg>\n ),\n reload: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='19' height='20' viewBox='0 0 19 20'>\n <g fillRule='evenodd'>\n <path d='M1.638 8.346c.653 0 1.243-.386 1.495-.978a6.896 6.896 0 0 1 6.351-4.164c1.575 0 3.019.53 4.176 1.412l-.907.138a.702.702 0 0 0-.593.594.694.694 0 0 0 .411.729l4.99 2.208a.72.72 0 0 0 .673-.05.695.695 0 0 0 .325-.582l.026-5.408a.697.697 0 0 0-.501-.669.714.714 0 0 0-.796.28L16.6 2.873A10.202 10.202 0 0 0 9.484 0C5.284 0 1.672 2.523.132 6.109a1.586 1.586 0 0 0 .143 1.516c.303.45.815.72 1.363.72zM18.693 12.344a1.643 1.643 0 0 0-1.364-.721c-.652 0-1.242.385-1.494.977a6.896 6.896 0 0 1-6.351 4.165 6.872 6.872 0 0 1-4.176-1.412l.907-.138a.702.702 0 0 0 .593-.595.694.694 0 0 0-.411-.728l-4.99-2.208a.72.72 0 0 0-.673.05.695.695 0 0 0-.325.582l-.026 5.407a.697.697 0 0 0 .501.67c.3.09.623-.025.796-.28l.688-1.017a10.201 10.201 0 0 0 7.116 2.872c4.2 0 7.812-2.523 9.352-6.109a1.586 1.586 0 0 0-.143-1.515z' />\n </g>\n </svg>\n ),\n checkCircle: () => (\n <svg height='14' viewBox='0 0 14 14' width='14' xmlns='http://www.w3.org/2000/svg'>\n <path d='m4.13 5.67-.98.98 3.15 3.15 7-7-.98-.98-6.02 6.02zm8.47 1.33c0 3.08-2.52 5.6-5.6 5.6s-5.6-2.52-5.6-5.6 2.52-5.6 5.6-5.6c.56 0 1.05.07 1.54.21l1.12-1.12c-.84-.28-1.75-.49-2.66-.49-3.85 0-7 3.15-7 7s3.15 7 7 7 7-3.15 7-7z' />\n </svg>\n ),\n info: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10.986 6.995v-2.019h-1.972v2.02h1.972zm0 8.029v-6.01h-1.972v6.01h1.972zm-.986-15.024c1.827 0 3.518.457 5.072 1.37a9.478 9.478 0 0 1 3.558 3.558 9.835 9.835 0 0 1 1.37 5.072 9.835 9.835 0 0 1-1.37 5.072 9.478 9.478 0 0 1-3.558 3.558 9.835 9.835 0 0 1-5.072 1.37 9.835 9.835 0 0 1-5.072-1.37 9.657 9.657 0 0 1-3.558-3.582 9.79 9.79 0 0 1-1.37-5.048 9.79 9.79 0 0 1 1.37-5.048 9.842 9.842 0 0 1 3.582-3.582 9.79 9.79 0 0 1 5.048-1.37z'\n />\n </svg>\n ),\n check: () => (\n <svg width='20px' height='20px' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'>\n <g stroke='none' strokeWidth='1' fill='none' fillRule='evenodd'>\n <g transform='translate(-675.000000, -7517.000000)' fill='#7FC92E'>\n <g transform='translate(675.000000, 7517.000000)'>\n <path d='M10,0 C15.5228475,-1.01453063e-15 20,4.4771525 20,10 C20,15.5228475 15.5228475,20 10,20 C4.4771525,20 6.76353751e-16,15.5228475 0,10 C-6.76353751e-16,4.4771525 4.4771525,1.01453063e-15 10,0 Z M14.2928932,6.29289322 L9,11.5857864 L6.70710678,9.29289322 L5.29289322,10.7071068 L9,14.4142136 L15.7071068,7.70710678 L14.2928932,6.29289322 Z' />\n </g>\n </g>\n </g>\n </svg>\n ),\n home: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <g>\n <rect width='16' height='16' fill='black' fillOpacity='0' />\n <path\n id='house_2'\n fillRule='evenodd'\n clipRule='evenodd'\n d='M7 16V11H9V16H15V5L8 0L1 5V16H7ZM5 14H3V6.02917L8 2.45776L13 6.02917V14H11V9H5V14Z'\n />\n </g>\n </svg>\n ),\n questionFilled: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' enableBackground='new 0 0 20 20'>\n <path className='st0' fillOpacity='0' d='M0 0h20v20h-20z' />\n <path\n className='st1'\n d='M17.1 2.9c-1.9-1.8-4.4-2.9-7.1-2.9-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10c0-2.7-1.1-5.2-2.9-7.1zm-6.1 12.1h-2v-2h2v2zm.5-4.5c-.3.2-.6.6-.5.9v.1h-2v-.1c0-1.1.6-2.2 1.7-2.7.5-.2.8-.8.8-1.3 0-.8-.7-1.4-1.5-1.4s-1.5.6-1.5 1.4h-2c0-1.9 1.6-3.4 3.5-3.4s3.5 1.5 3.5 3.4c0 1.3-.8 2.5-2 3.1z'\n />\n </svg>\n ),\n document: () => (\n <svg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M16.0004 4.50038L12.4648 0.964844L5.36865 8.06104L5.39378 11.5714L8.90418 11.5966L16.0004 4.50038ZM7.37459 8.88353L12.4648 3.79327L13.172 4.50038L8.08169 9.59063L7.37961 9.58561L7.37459 8.88353Z'\n />\n <path d='M13 15V10H15V17H0V2H7V4H2V15H13Z' />\n </svg>\n ),\n cancel: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8 0C3.6 0 0 3.6 0 8C0 12.4 3.6 16 8 16C12.4 16 16 12.4 16 8C16 3.6 12.4 0 8 0ZM8 14C4.7 14 2 11.3 2 8C2 4.7 4.7 2 8 2C11.3 2 14 4.7 14 8C14 11.3 11.3 14 8 14Z' />\n <path d='M9.7998 4.79999L7.9998 6.59999L6.1998 4.79999L4.7998 6.19999L6.5998 7.99999L4.7998 9.79999L6.1998 11.2L7.9998 9.39999L9.7998 11.2L11.1998 9.79999L9.3998 7.99999L11.1998 6.19999L9.7998 4.79999Z' />\n </svg>\n ),\n playPause: () => (\n <svg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M7 6L5.46341 4.68292L2 1.71429L0 0V2.63416V9.36584V12L2 10.2857L5.46341 7.31708L7 6ZM3.92682 6L2 4.34845V7.65155L3.92682 6ZM14 0H16V12H14V0ZM12 0H10V12H12V0Z'\n />\n </svg>\n ),\n video: () => (\n <svg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M2 2H9V10H2V2ZM0 0H2H9H11V2V6V10V12H9H2H0V10V2V0ZM11 6L12.6008 4.71938L14 3.6L16 2V4.56125V7.43875V10L14 8.4L12.6008 7.28062L11 6Z'\n />\n </svg>\n ),\n}\n","import cx from 'clsx'\nimport { Color } from '../../mixins/color'\nimport { VAlign } from '../../mixins/vAlign'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nimport { defaultIcons, IconNames } from './icons'\n\nexport interface IconProps extends BaseProps, Color, VAlign, ResponsiveNamedProperty<'size'> {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Name of default icon\n */\n name?: keyof typeof IconNames\n /**\n * Object with icon's svg. Use for custom icon insertion\n */\n svg?: string\n /**\n * Object with icon's svg. Use for custom icon insertion\n */\n icon?: React.ReactNode\n /**\n * Show pointer cursor on hover?\n */\n pointer?: boolean\n}\n\nIcon.displayName = 'Icon'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`VAlign`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Icon(props: IconProps) {\n const {\n name,\n icon,\n svg,\n pointer,\n color,\n size,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n className,\n style,\n vAlign,\n children,\n } = props\n\n if (name && defaultIcons[name]) {\n const Icon = defaultIcons[name]\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={cx('fox-icon', className)}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n >\n <Icon />\n {children}\n </Styled.Root>\n )\n }\n\n if (svg)\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={cx('fox-icon', className)}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n dangerouslySetInnerHTML={{ __html: svg || '' }}\n >\n {icon || null}\n </Styled.Root>\n )\n\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={cx('fox-icon', className)}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n >\n {icon || null}\n {children}\n </Styled.Root>\n )\n}\n\nexport { IconNames }\n","import { css } from 'styled-components'\n\nexport interface Display {\n display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'table-cell' | 'inherit' | 'none'\n}\n\nexport const display =\n (display: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'table-cell' | 'inherit' | 'none') => () =>\n css`\n display: ${display};\n `\n","import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { ActionBtnProps } from './ActionBtn'\n\nconst active = css`\n background: ${(props) => props.theme.colors.onahau};\n color: ${(props) => props.theme.colors.accent};\n`\n\nconst notDisabled = css`\n &:hover {\n background: ${(props) => props.theme.colors.mercury};\n }\n &:active {\n ${active}\n }\n`\n\nconst disabled = css`\n cursor: default;\n opacity: 0.6;\n`\n\nexport const Root = styled.div<ActionBtnProps>`\n padding: 4px;\n background: transparent;\n color: ${(props) => props.theme.colors.silver};\n transition: background 0.4s ease-out, color 0.6s ease-out;\n line-height: 0;\n cursor: pointer;\n border-radius: 5px;\n & + & {\n margin-left: 16px;\n }\n ${(props) => (props.disabled ? disabled : notDisabled)}\n ${(props) => (props.active ? active : null)}\n ${(props) =>\n props.display\n ? display(props.display)\n : css`\n display: inline-block;\n `}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Icon, IconNames } from './../Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, Display {\n /** Icon name (for inner Icon component) */\n icon?: keyof typeof IconNames\n disabled?: boolean\n active?: boolean\n onClick?(): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nActionBtn.displayName = 'ActionBtn'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function ActionBtn({ icon, disabled = false, onClick, children, className, active, style }: ActionBtnProps) {\n const _className = useClassname(ActionBtn.displayName, className)\n\n return (\n <Styled.Root className={_className} style={style} disabled={disabled} active={active} onClick={onClick}>\n {icon && <Icon size={16} name={icon} />}\n {children}\n </Styled.Root>\n )\n}\n","import { Text, TextProps } from '../Text'\n\n/* eslint-disable no-unused-vars */\nenum H {\n h1,\n h2,\n h3,\n h4,\n}\n/* eslint-enable no-unused-vars */\n\nconst PARAMS: Record<keyof typeof H, Partial<TextProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nexport interface TextHeadingProps extends Omit<TextProps, 'content' | 'as'> {\n h?: keyof typeof H\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nTextHeading.displayName = 'Text.Heading'\n\nexport function TextHeading({ h = 'h1', ...props }: TextHeadingProps) {\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} {...predefinedParams} {...props} />\n}\n","import styled from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { property, responsiveNamedProperty } from '../../mixins/responsive-property'\nimport { SpacerProps } from './Spacer'\n\nexport const Root = styled.div.withConfig<SpacerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n ${(props) => (props.display ? display(props.display) : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n","import { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpacerProps\n extends BaseProps,\n Display,\n ResponsiveNamedProperty<'top'>,\n ResponsiveNamedProperty<'right'>,\n ResponsiveNamedProperty<'bottom'>,\n ResponsiveNamedProperty<'left'>,\n ResponsiveNamedProperty<'padding'>,\n ResponsiveNamedProperty<'paddingTop'>,\n ResponsiveNamedProperty<'paddingRight'>,\n ResponsiveNamedProperty<'paddingBottom'>,\n ResponsiveNamedProperty<'paddingLeft'>,\n ResponsiveNamedProperty<'margin'>,\n ResponsiveNamedProperty<'marginTop'>,\n ResponsiveNamedProperty<'marginRight'>,\n ResponsiveNamedProperty<'marginBottom'>,\n ResponsiveNamedProperty<'marginLeft'> {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nSpacer.displayName = 'Spacer'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'top'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'right'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'left'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Spacer(props: SpacerProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { display } from '../../mixins/display'\nimport { AnchorProps } from './Anchor'\n\nconst wrapper = css`\n display: block;\n color: inherit;\n transition: none;\n &:hover {\n color: inherit;\n cursor: pointer;\n }\n`\n\nconst underline = css`\n text-decoration: underline;\n`\n\nconst pseudo = css`\n display: inline-block;\n color: ${(props) => props.theme.colors.accent};\n border-bottom: 1px dashed currentColor;\n`\n\nexport const Root = styled.div.withConfig<AnchorProps>({\n shouldForwardProp: (prop) =>\n !['wrapper', 'underline', 'pseudo', 'display', 'color'].includes(prop) && !prop.includes('size'),\n})`\n color: ${(props) => props.theme.colors.accent};\n text-decoration: none;\n transition: 0.2s;\n &:hover {\n cursor: pointer;\n color: ${(props) => props.theme.colors.primary};\n }\n ${(props) => (props.underline ? underline : null)}\n ${(props) => (props.pseudo ? pseudo : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.size ? property(props.size, 'font-size') : null)}\n ${(props) => (props.wrapper ? wrapper : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({ sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL }, cssProperty: 'font-size' })}\n`\n","import { Link } from 'react-router-dom'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport * as Styled from './style'\n\nexport interface AnchorProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * Custom CSS class name\n */\n as?: 'div' | 'span' | 'a' | typeof Link\n /**\n * React router link to\n */\n to?: string\n /**\n * Link href\n */\n href?: string\n /**\n * Is display inline\n * */\n wrapper?: boolean\n /**\n * Pseudo link has dashed bottom border\n * */\n pseudo?: boolean\n /**\n * If link should be underlined\n * */\n underline?: boolean\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Primary content\n */\n content?: string\n /**\n * Onclick handler\n */\n onClick?: () => void\n target?: string\n rel?: string\n}\n\nAnchor.displayName = 'Anchor'\nAnchor.defaultProps = {\n display: 'inline-block',\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Anchor(props: typeof Anchor.defaultProps & AnchorProps) {\n const {\n as,\n to,\n href,\n wrapper,\n className,\n style,\n children,\n content,\n pseudo,\n underline,\n color,\n display,\n size,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n ...rest\n } = props\n\n const _className = useClassname(Anchor.displayName, className)\n\n let _display: Display['display']\n\n if (as === 'div' && !display) _display = 'block'\n else _display = display\n\n let contentProps = {}\n\n if (content) {\n contentProps = {\n ...contentProps,\n dangerouslySetInnerHTML: { __html: content },\n }\n }\n\n if (as)\n return (\n <Styled.Root\n as={as}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={_className}\n style={style}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n\n if (pseudo)\n return (\n <Styled.Root\n as='div'\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={_className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n else if (to)\n return (\n <Styled.Root\n as={Link}\n to={to}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={_className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n else\n return (\n <Styled.Root\n as='a'\n href={href}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={_className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...contentProps}\n {...rest}\n >\n {children}\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\n\nexport const Ul = styled.ul`\n padding: 0;\n margin: 0;\n list-style-position: inside;\n`\n\nexport const Li = styled.li`\n & + & {\n margin-top: 4px;\n }\n`\n","import { Component } from 'react'\nimport { Spacer } from '../Spacer/Spacer'\nimport { Anchor } from '../Anchor/Anchor'\nimport { Text, TextProps } from '../Text'\nimport * as Styled from './style'\n\nexport interface TextEllipseProps extends Omit<TextProps, 'content'> {\n /** Toggle text for folded state */\n moreText?: string\n /** Toggle text for unfolded state */\n lessText?: string\n /** Classname */\n className?: string\n /** Html content */\n content: string | string[]\n /** Characters quantity for ellipsed text */\n chars?: number\n /** Wrap text in quotes */\n quoted?: boolean\n /** Flag to show toggler */\n showToggler?: boolean\n}\n\ninterface TextEllipseState {\n isUnFolded: boolean\n isEllipsed: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport class TextEllipse extends Component<TextEllipseProps, TextEllipseState> {\n static displayName = 'Text.Ellipse'\n\n constructor(props: TextEllipseProps) {\n super(props)\n\n this.state = {\n isUnFolded: false,\n isEllipsed: false,\n }\n }\n\n // componentDidUpdate({ content }: Props) {\n // if (content !== this.props.content && this.state.isUnFolded) {\n // this.toggle()\n // }\n // }\n\n getContent = (props: Omit<TextEllipseProps, 'className' | 'moreText' | 'lessText' | 'showToggler'>) => {\n const { content, chars = 0 } = this.props\n\n if (!content) return ''\n\n let { isEllipsed } = this.state\n let text: string | string[] = typeof content === 'string' ? '' : []\n\n if (!this.state.isUnFolded) {\n if (typeof text === 'string') {\n isEllipsed = content.length > chars\n\n text = isEllipsed ? `${content.slice(0, chars)}...` : content\n } else {\n let leftChars = chars\n\n for (let index = 0; index < content.length; index++) {\n if (leftChars - content[index].length > 0) {\n leftChars -= content[index].length\n\n text[index] = content[index]\n } else {\n isEllipsed = true\n text[index] = `${content[index].slice(0, leftChars)}...`\n\n break\n }\n }\n }\n } else {\n text = content\n }\n\n if (this.state.isEllipsed !== isEllipsed) setTimeout(() => this.setState({ isEllipsed }))\n\n return typeof text === 'string' ? (\n <Text {...props} content={this.getQuted(text)} />\n ) : (\n <Styled.Ul>\n {text.map((item, index) => (\n <Styled.Li key={index}>\n <Text {...props} display='inline' content={item} />\n </Styled.Li>\n ))}\n </Styled.Ul>\n )\n }\n\n getQuted = (content: string) => (this.props.quoted ? `«${content}»` : content)\n\n toggle = () => {\n console.log(this.state)\n this.setState({ isUnFolded: !this.state.isUnFolded })\n }\n\n render() {\n const {\n className = '',\n style,\n moreText = 'Читать полностью',\n lessText = 'Свернуть',\n showToggler = true,\n ...restProps\n } = this.props\n const { isUnFolded, isEllipsed } = this.state\n\n return (\n <div className={className} style={style}>\n {this.getContent(restProps)}\n {showToggler && isEllipsed && (\n <Spacer marginTop={16} marginBottom={1}>\n <Anchor pseudo onClick={this.toggle}>\n {isUnFolded ? lessText : moreText}\n </Anchor>\n </Spacer>\n )}\n </div>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { color, ColorValue } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { TextProps } from './Text'\n\nconst WEIGHT_MAP = {\n lighter: 100,\n normal: 400,\n bold: 600,\n bolder: 800,\n}\n\nconst LINE_HEIGHT_MAP: Record<Exclude<TextProps['lineHeight'], undefined>, number> = {\n l: 1.5,\n m: 1.3,\n s: 1.15,\n xs: 1,\n}\n\nconst underlineLinksStyle = css`\n a {\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n }\n`\n\nexport const Root = styled.div.withConfig<TextProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'title', 'dangerouslySetInnerHTML'].includes(prop),\n})`\n line-height: inherit;\n margin: initial;\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : color(props.theme.textColor as ColorValue))}\n ${(props) =>\n props.lineHeight\n ? css`\n line-height: ${typeof props.lineHeight === 'string' && LINE_HEIGHT_MAP[props.lineHeight]\n ? LINE_HEIGHT_MAP[props.lineHeight]\n : props.lineHeight};\n `\n : null}\n ${(props) =>\n props.fontStyle\n ? css`\n font-style: ${props.fontStyle};\n `\n : null}\n ${(props) =>\n props.weight\n ? css`\n font-weight: ${typeof props.lineHeight === 'string' && WEIGHT_MAP[props.weight]\n ? WEIGHT_MAP[props.weight]\n : props.weight};\n `\n : null}\n\n a {\n text-decoration: none;\n &:hover {\n text-decoration: none;\n }\n }\n\n ${(props) => (props.underlineLinks ? underlineLinksStyle : null)}\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n\n ${(props) => (props.size ? property(props.size, 'font-size') : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({ sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL }, cssProperty: 'font-size' })}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { TextHeading } from '../../components/Text.Heading'\nimport { TextEllipse } from '../../components/Text.Ellipse'\nimport { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface TextProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * An element type to render as (string).\n */\n as?: 'div' | 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'p'\n /**\n * Primary content\n */\n content?: string\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Text font weight\n */\n weight?: 'lighter' | 'normal' | 'bold' | 'bolder' | number\n /**\n * Text font style\n */\n fontStyle?: 'normal' | 'italic'\n /**\n * Add underline to inline links\n */\n underlineLinks?: boolean\n /**\n * Text align\n */\n textAlign?: 'left' | 'center' | 'right' | 'justify' | 'start' | 'end'\n /**\n * Line height\n */\n lineHeight?: 'l' | 'm' | 's' | 'xs' | number\n /**\n * Element title\n */\n title?: string\n}\n\nText.Heading = TextHeading\nText.Ellipse = TextEllipse\nText.displayName = 'Text'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Text(props: TextProps) {\n const {\n as = 'div',\n children,\n weight = 'normal',\n content,\n textAlign,\n underlineLinks,\n className: origClassName,\n style,\n lineHeight = 'm',\n fontStyle = 'normal',\n title,\n color,\n size = 'm',\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n display,\n } = props\n\n const className = useClassname(Text.displayName, origClassName)\n\n if (children) {\n return (\n <Styled.Root\n as={as}\n color={color}\n className={className}\n title={title}\n weight={weight}\n lineHeight={lineHeight}\n textAlign={textAlign}\n fontStyle={fontStyle}\n underlineLinks={underlineLinks}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n display={display}\n style={style}\n >\n {children}\n </Styled.Root>\n )\n }\n\n return (\n <Styled.Root\n as={as}\n color={color}\n className={className}\n title={title}\n weight={weight}\n lineHeight={lineHeight}\n textAlign={textAlign}\n fontStyle={fontStyle}\n underlineLinks={underlineLinks}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n display={display}\n style={style}\n dangerouslySetInnerHTML={{ __html: content || '' }}\n />\n )\n}\n","/* eslint-disable no-unused-vars */\nexport enum CurrencyCodes {\n ALL = 'ALL',\n AFN = 'AFN',\n ARS = 'ARS',\n AWG = 'AWG',\n AUD = 'AUD',\n AZN = 'AZN',\n BSD = 'BSD',\n BBD = 'BBD',\n BYR = 'BYR',\n BZD = 'BZD',\n BMD = 'BMD',\n BOB = 'BOB',\n BAM = 'BAM',\n BWP = 'BWP',\n BGN = 'BGN',\n BRL = 'BRL',\n BND = 'BND',\n KHR = 'KHR',\n CAD = 'CAD',\n KYD = 'KYD',\n CLP = 'CLP',\n CNY = 'CNY',\n COP = 'COP',\n CRC = 'CRC',\n HRK = 'HRK',\n CUP = 'CUP',\n CZK = 'CZK',\n DKK = 'DKK',\n DOP = 'DOP',\n XCD = 'XCD',\n EGP = 'EGP',\n SVC = 'SVC',\n EEK = 'EEK',\n EUR = 'EUR',\n FKP = 'FKP',\n FJD = 'FJD',\n FRF = 'FRF',\n GHC = 'GHC',\n GIP = 'GIP',\n GTQ = 'GTQ',\n GGP = 'GGP',\n GYD = 'GYD',\n HNL = 'HNL',\n HKD = 'HKD',\n HUF = 'HUF',\n ISK = 'ISK',\n INR = 'INR',\n IDR = 'IDR',\n IRR = 'IRR',\n IMP = 'IMP',\n ILS = 'ILS',\n JMD = 'JMD',\n JPY = 'JPY',\n JEP = 'JEP',\n KZT = 'KZT',\n KGS = 'KGS',\n LAK = 'LAK',\n LVL = 'LVL',\n LBP = 'LBP',\n LRD = 'LRD',\n LTL = 'LTL',\n MKD = 'MKD',\n MYR = 'MYR',\n MUR = 'MUR',\n MXN = 'MXN',\n MNT = 'MNT',\n MZN = 'MZN',\n NAD = 'NAD',\n NPR = 'NPR',\n ANG = 'ANG',\n NZD = 'NZD',\n NIO = 'NIO',\n NGN = 'NGN',\n KPW = 'KPW',\n NOK = 'NOK',\n OMR = 'OMR',\n PKR = 'PKR',\n PAB = 'PAB',\n PYG = 'PYG',\n PEN = 'PEN',\n PHP = 'PHP',\n PLN = 'PLN',\n QAR = 'QAR',\n RON = 'RON',\n RUR = 'RUR',\n RUB = 'RUB',\n SHP = 'SHP',\n SAR = 'SAR',\n RSD = 'RSD',\n SCR = 'SCR',\n SGD = 'SGD',\n SBD = 'SBD',\n SOS = 'SOS',\n ZAR = 'ZAR',\n KRW = 'KRW',\n LKR = 'LKR',\n SEK = 'SEK',\n CHF = 'CHF',\n SRD = 'SRD',\n SYP = 'SYP',\n TWD = 'TWD',\n THB = 'THB',\n TTD = 'TTD',\n TRY = 'TRY',\n TRL = 'TRL',\n TVD = 'TVD',\n UAH = 'UAH',\n GBP = 'GBP',\n USD = 'USD',\n UYU = 'UYU',\n UZS = 'UZS',\n VEF = 'VEF',\n VND = 'VND',\n YER = 'YER',\n ZWD = 'ZWD',\n}\n\nexport const CURRENCY_MAP: Readonly<Record<CurrencyCodes, string>> = Object.freeze({\n ALL: '\\u004C\\u0065\\u006b',\n AFN: '\\u060B',\n ARS: '\\u0024',\n AWG: '\\u0192',\n AUD: '\\u0024',\n AZN: '\\u20BC',\n BSD: '\\u0024',\n BBD: '\\u0024',\n BYR: '\\u0042\\u0072',\n BZD: '\\u0042\\u005a\\u0024',\n BMD: '\\u0024',\n BOB: '\\u0024\\u0062',\n BAM: '\\u004B\\u004d',\n BWP: '\\u0050',\n BGN: '\\u043B\\u0432',\n BRL: '\\u0052\\u0024',\n BND: '\\u0024',\n KHR: '\\u17DB',\n CAD: '\\u0043\\u0024',\n KYD: '\\u0024',\n CLP: '\\u0024',\n CNY: '\\u00A5',\n COP: '\\u0024',\n CRC: '\\u20A1',\n HRK: '\\u006B\\u006e',\n CUP: '\\u20B1',\n CZK: '\\u004B\\u010d',\n DKK: '\\u006B\\u0072',\n DOP: '\\u0052\\u0044\\u0024',\n XCD: '\\u0024',\n EGP: '\\u00A3',\n SVC: '\\u0024',\n EEK: '\\u006B\\u0072',\n EUR: '\\u20AC',\n FKP: '\\u00A3',\n FJD: '\\u0024',\n FRF: '\\u20A3',\n GHC: '\\u00A2',\n GIP: '\\u00A3',\n GTQ: '\\u0051',\n GGP: '\\u00A3',\n GYD: '\\u0024',\n HNL: '\\u004C',\n HKD: '\\u0024',\n HUF: '\\u0046\\u0074',\n ISK: '\\u006B\\u0072',\n INR: '\\u20A8',\n IDR: '\\u0052\\u0070',\n IRR: '\\uFDFC',\n IMP: '\\u00A3',\n ILS: '\\u20AA',\n JMD: '\\u004A\\u0024',\n JPY: '\\u00A5',\n JEP: '\\u00A3',\n KZT: '\\u20B8',\n KGS: '\\u004B\\u0047\\u0053',\n LAK: '\\u20AD',\n LVL: '\\u004C\\u0073',\n LBP: '\\u00A3',\n LRD: '\\u0024',\n LTL: '\\u004C\\u0074',\n MKD: '\\u0434\\u0435\\u043d',\n MYR: '\\u0052\\u004d',\n MUR: '\\u20A8',\n MXN: '\\u0024',\n MNT: '\\u20AE',\n MZN: '\\u004D\\u0054',\n NAD: '\\u0024',\n NPR: '\\u20A8',\n ANG: '\\u0192',\n NZD: '\\u0024',\n NIO: '\\u0043\\u0024',\n NGN: '\\u20A6',\n KPW: '\\u20A9',\n NOK: '\\u006B\\u0072',\n OMR: '\\uFDFC',\n PKR: '\\u20A8',\n PAB: '\\u0042\\u002f\\u002e',\n PYG: '\\u0047\\u0073',\n PEN: '\\u0053\\u002f\\u002e',\n PHP: '\\u20B1',\n PLN: '\\u007A\\u0142',\n QAR: '\\uFDFC',\n RON: '\\u006C\\u0065\\u0069',\n RUR: '\\u20BD',\n RUB: '\\u20BD',\n SHP: '\\u00A3',\n SAR: '\\uFDFC',\n RSD: '\\u0414\\u0438\\u043d\\u002e',\n SCR: '\\u20A8',\n SGD: '\\u0024',\n SBD: '\\u0024',\n SOS: '\\u0053',\n ZAR: '\\u0052',\n KRW: '\\u20A9',\n LKR: '\\u20A8',\n SEK: '\\u006B\\u0072',\n CHF: '\\u0043\\u0048\\u0046',\n SRD: '\\u0024',\n SYP: '\\u00A3',\n TWD: '\\u004E\\u0054\\u0024',\n THB: '\\u0E3F',\n TTD: '\\u0054\\u0054\\u0024',\n TRY: '\\u20A4',\n TRL: '\\u20A4',\n TVD: '\\u0024',\n UAH: '\\u20B4',\n GBP: '\\u00A3',\n USD: '\\u0024',\n UYU: '\\u0024\\u0055',\n UZS: '\\u043B\\u0432',\n VEF: '\\u0042\\u0073',\n VND: '\\u20AB',\n YER: '\\uFDFC',\n ZWD: '\\u005A\\u0024',\n})\n","import styled, { css } from 'styled-components'\nimport { AmountProps } from './Amount'\n\nconst crossedOut = css`\n text-decoration: line-through;\n`\n\nexport const Root = styled.span.withConfig<AmountProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n color: inherit;\n white-space: nowrap;\n ${(props) => (props.crossedOut ? crossedOut : null)}\n`\n","import { PureComponent } from 'react'\nimport cx from 'clsx'\nimport { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text/Text'\nimport { Display } from '../../mixins/display'\nimport { CurrencyCodes, CURRENCY_MAP } from './data'\nimport * as Styled from './style'\n\nexport interface AmountProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * Value for amount\n */\n value?: number\n /**\n * Digits after point\n */\n digitsAfterPoint?: number\n /**\n * Show zero minor part\n */\n showZeroMinorPart?: boolean\n /**\n * Separator of major and minor part of amount\n */\n separator?: string\n /**\n * International code of currency.\n */\n currency?: keyof typeof CurrencyCodes\n /**\n * Use Header component for display amount\n */\n isHeader?: boolean\n /**\n * Amount is not valid and will be crossed out with ```text-decoration: line-through```\n */\n crossedOut?: boolean\n /**\n * If need only currency symbol\n */\n onlyCurrency?: boolean\n}\n\nconst AMOUNT_MAJOR_PART_SIZE = 3\nconst ZERO_MINOR_PART_REGEXP = /^0+$/\nconst MINUS_SIGN_HTML_CODE = '\\u2212'\n\nfunction createSplitter(partSize: number): (_s: string) => string[] {\n const parts = (str: string): string[] => {\n const { length } = str\n\n if (length <= partSize) {\n return [str]\n }\n\n const from = length - partSize\n const to = length\n\n return [str.slice(from, to)].concat(parts(str.slice(0, from)))\n }\n\n return parts\n}\n\nfunction formatAmount(\n value: AmountProps['value'] = 0,\n digitsAfterPoint: AmountProps['digitsAfterPoint'],\n currencyCode: AmountProps['currency']\n) {\n const isNegative = value < 0\n\n const valueAbs = Math.abs(value)\n const valueAbsStr = valueAbs.toFixed(digitsAfterPoint)\n\n const numberParts = valueAbsStr.split('.')\n const majorPart = numberParts[0]\n const minorPart = numberParts[1]\n\n const amountSplitter = createSplitter(AMOUNT_MAJOR_PART_SIZE)\n\n const majorPartFormatted = amountSplitter(majorPart).reverse().join(' ')\n\n const formattedValueStr = majorPartFormatted + (minorPart ? `,${minorPart}` : '')\n\n return {\n majorPart: majorPartFormatted,\n minorPart,\n value: formattedValueStr,\n isNegative,\n currencySymbol: currencyCode ? Amount.getCurrencySymbol(currencyCode) : '',\n }\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport class Amount extends PureComponent<AmountProps> {\n static displayName = 'Amount'\n static defaultProps = {\n isHeader: false,\n showZeroMinorPart: false,\n crossedOut: false,\n digitsAfterPoint: 2,\n separator: ',',\n onlyCurrency: false,\n }\n\n static getCurrencySymbol(currencyCode: keyof typeof CurrencyCodes) {\n return CURRENCY_MAP[currencyCode] || currencyCode\n }\n\n renderMinorPart(minorPart: string) {\n const { showZeroMinorPart, separator } = this.props\n\n let needMinorPart = false\n\n if (minorPart) {\n needMinorPart = true\n\n if (!showZeroMinorPart && ZERO_MINOR_PART_REGEXP.test(minorPart)) {\n needMinorPart = false\n }\n }\n\n if (needMinorPart) {\n return (\n <span className='minor-container'>\n <span className='separator'>{separator}</span>\n <span className='minor'>{minorPart}</span>\n </span>\n )\n }\n\n return null\n }\n\n renderCurrencySymbol = (currencySymbol: string) => (\n <span style={{ position: 'relative' }}>\n {this.props.currency === 'RUR' ? (\n <span\n style={{\n position: 'absolute',\n width: 0,\n opacity: 0,\n visibility: 'hidden',\n }}\n >\n руб.\n </span>\n ) : null}\n <span>{` ${currencySymbol}`}</span>\n </span>\n )\n\n render() {\n const { value, digitsAfterPoint, currency, isHeader, className, style, crossedOut, onlyCurrency, ...rest } =\n this.props\n\n const { majorPart, minorPart, isNegative, currencySymbol } = formatAmount(value, digitsAfterPoint, currency)\n\n const classNames = cx('amount', className)\n\n const amountInner = (\n <Styled.Root className={classNames} style={style} crossedOut={crossedOut}>\n {!onlyCurrency ? (\n <>\n <span className='major'>\n {isNegative && MINUS_SIGN_HTML_CODE}\n {majorPart}\n </span>\n {this.renderMinorPart(minorPart)}\n </>\n ) : null}\n {currency && this.renderCurrencySymbol(currencySymbol)}\n </Styled.Root>\n )\n\n const Element = isHeader ? Text.Heading : Text\n\n return (\n <Element {...rest} as='span'>\n {amountInner}\n </Element>\n )\n }\n}\n","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 4.233 4.233\"><path d=\"M.76 3.175l-.363-.369 1.72-1.748 1.72 1.748-.363.369-1.357-1.38z\" /></svg>\n","import styled, { css } from 'styled-components'\nimport { ArrowProps } from './Arrow'\n\nconst outline = css`\n box-shadow: inset 0 0 0 2px ${(props) => props.theme.colors.alto};\n background: transparent;\n\n svg {\n fill: ${(props) => props.theme.colors.alto};\n }\n`\n\nconst inverse = css`\n box-shadow: inset 0 0 0 2px ${(props) => props.theme.colors.white};\n background: transparent;\n &:hover,\n &:active {\n background: ${(props) => props.theme.colors.white};\n svg {\n fill: ${(props) => props.theme.colors.accent};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 #eaecf3;\n }\n\n svg {\n fill: ${(props) => props.theme.colors.white};\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n -webkit-filter: grayscale(100%);\n -moz-filter: grayscale(100%);\n -ms-filter: grayscale(100%);\n -o-filter: grayscale(100%);\n filter: grayscale(100%);\n`\n\nconst size = (size: ArrowProps['size']) => {\n let radius\n switch (size) {\n case 'l':\n radius = 40\n break\n case 'm':\n radius = 28\n break\n case 'xs':\n radius = 20\n break\n default:\n radius = 28\n }\n return css`\n border-radius: ${radius}px;\n width: ${radius}px;\n height: ${radius}px;\n `\n}\n\nexport const Root = styled.button<ArrowProps>`\n outline: 0;\n border: 0;\n background: #fff;\n border-radius: 99em;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 0;\n line-height: 0;\n box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);\n transition: all 0.2s ease;\n margin: 0;\n padding: 0;\n cursor: pointer;\n ${(props) => (props.size ? size(props.size) : null)}\n\n &:hover {\n background: ${(props) => props.theme.colors.accent};\n box-shadow: none;\n svg {\n fill: white;\n }\n }\n\n &:active {\n background: darken($accent, 13);\n box-shadow: inset 0 4px 0 rgba(5, 108, 188, 0.5);\n }\n\n svg {\n transition: all 0.2s ease;\n fill: ${(props) => props.theme.colors.accent};\n }\n\n ${(props) => (props.outline ? outline : null)}\n ${(props) => (props.inverse ? inverse : null)}\n ${(props) => (props.disabled ? disabled : null)}\n`\n","import { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport ArrowSvg from './images/arrow.module.svg'\nimport * as Styled from './style'\n\nconst DIR_MAP = {\n top: 0,\n right: 90,\n bottom: 180,\n left: 270,\n}\n\nexport interface ArrowProps extends BaseProps {\n /**\n * Size of icon\n */\n size?: 'xs' | 'm' | 'l'\n /**\n * Direction arrow\n */\n top?: boolean\n /**\n * Direction arrow\n */\n right?: boolean\n /**\n * Direction arrow\n */\n bottom?: boolean\n /**\n * Direction arrow\n */\n left?: boolean\n inverse?: boolean\n outline?: boolean\n disabled?: boolean\n // eslint-disable-next-line no-unused-vars\n onClick?(event: React.MouseEvent<HTMLButtonElement>): void\n}\n\n/* eslint-disable react/prefer-stateless-function */\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class Arrow extends PureComponent<ArrowProps> {\n static displayName = 'Arrow'\n static defaultProps = {\n size: 'l',\n top: false,\n right: false,\n bottom: false,\n left: false,\n inverse: false,\n outline: false,\n disabled: false,\n onClick: () => undefined,\n }\n\n onClickHandler = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n const { disabled, onClick } = this.props\n\n if (!disabled && typeof onClick === 'function') {\n onClick(event)\n }\n }\n\n render() {\n const {\n top,\n right,\n bottom,\n left,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onClick, // eslint-disable-line no-unused-vars\n ...restProps\n } = this.props\n\n const arrowDir = {\n top: top && !bottom,\n right: right && !left,\n bottom: bottom && !top,\n left: left && !right,\n }\n\n const isMultiDir = Object.values(arrowDir).filter((value) => value === true).length > 1\n\n const rotateDeg =\n Object.keys(arrowDir).reduce((acc, key) => (arrowDir[key] ? acc + DIR_MAP[key] : acc), 0) / (isMultiDir ? 2 : 1)\n\n const arrowStyle = {\n transform: `rotate(${rotateDeg}deg)${isMultiDir ? ' translateY(-3px)' : ''}`,\n }\n\n return (\n <Styled.Root {...restProps} onClick={this.onClickHandler}>\n <span>\n <ArrowSvg style={arrowStyle} />\n </span>\n </Styled.Root>\n )\n }\n}\n","/**\n * Возвращает цвет по строке\n *\n * @param {string} string строка имени\n * @param {Array} colors массив цветов (hex коды или имёна)\n * @return {string | null} цвет из массива цветов\n */\nexport const getColorByString = (string: string, colors: string[]) => {\n let i = string.length\n let sum = 0\n\n while (i--) {\n sum += string.charCodeAt(i)\n }\n\n return colors ? colors[sum % colors.length] : null\n}\n\nconst pattern = /^[\\uD83C-\\uDBFF\\uDC00-\\uDFFF]+$/u\n\n/**\n * Определяет является ли текст emoji\n * @param {string} text\n * @return {boolean}\n */\nfunction isEmoji(text: string) {\n return pattern.test(text)\n}\n\n/**\n * Возвращает буквы из имени\n *\n * @param {string} title\n * @return {string}\n */\nexport const getAvatarText = (title: string) => {\n if (title && title.length) {\n const trimmedTitleArray = title.trim().split(' ')\n const titleArray = trimmedTitleArray.filter((item) => !isEmoji(item))\n\n if (titleArray.length === 1) {\n return titleArray[0][0]\n } else if (titleArray.length > 1) {\n return `${titleArray[0][0]}${titleArray[1][0]}`\n }\n }\n\n return '#'\n}\n","import styled, { css } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport { AvatarProps } from './Avatar'\nimport { getColorByString } from './utils'\n\nconst SIZES: Record<Exclude<AvatarProps['size'], undefined>, number> = {\n l: 120,\n m: 68,\n sm: 52,\n s: 40,\n xs: 32,\n}\n\nconst linearGenerator = (color: string | null) => {\n if (!color) return null\n\n return css`\n background-image: linear-gradient(40deg, ${tiny(color).lighten(20).toString()}, ${color});\n `\n}\n\nconst withPlaceholder = css`\n display: inline-flex;\n overflow: hidden;\n text-align: center;\n vertical-align: middle;\n text-transform: uppercase;\n pointer-events: none;\n align-content: center;\n justify-content: center;\n align-items: center;\n color: ${(props) => props.theme.colors.white};\n line-height: 0;\n font-family: -apple-system, 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',\n 'Droid Sans', 'Helvetica Neue', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n`\n\nconst WITH_PH_SIZE = {\n l: 36,\n m: 24,\n}\n\nexport const Root = styled.div<AvatarProps>`\n display: inline-block;\n vertical-align: middle;\n flex-shrink: 0;\n border-radius: 100%;\n box-sizing: border-box;\n background: ${(props) => tiny(props.theme.colors.mercury).setAlpha(0.6).toString()} center center no-repeat;\n background-size: cover;\n transition: background 0.2s ease, box-shadow 0.2s ease;\n ${(props) => (props.color ? linearGenerator(props.theme.colors[props.color]) : null)}\n ${(props) =>\n props.size\n ? css`\n width: ${typeof props.size === 'string' && SIZES[props.size] ? SIZES[props.size] : props.size}px;\n height: ${typeof props.size === 'string' && SIZES[props.size] ? SIZES[props.size] : props.size}px;\n `\n : null}\n ${(props) =>\n props.shadow\n ? css`\n &:not(:hover) {\n box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1);\n }\n `\n : null}\n\n ${(props) =>\n props.autoColor && props.title\n ? linearGenerator(getColorByString(props.title, Object.values(props.theme.colors)))\n : null}\n ${(props) => (!props.src ? withPlaceholder : null)}\n ${(props) =>\n !props.src && props.size\n ? css`\n font-size: ${WITH_PH_SIZE[props.size] || 12}px;\n `\n : null}\n`\n","import { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport { getAvatarText } from './utils'\nimport * as Styled from './style'\n\nexport interface AvatarProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /** Title for avatar. Example user name. */\n title?: string\n /** Image source */\n src?: string\n /** Size of avatar */\n size?: 'l' | 'm' | 'sm' | 's' | 'xs' | number\n /** Shadow of avatar */\n shadow?: boolean\n /** Make ref func */\n ref?: React.LegacyRef<HTMLDivElement>\n /**\n * Generate color by title automatically\n *\n * `Performance Info`: Each render of component call getAvatarColor function on received title\n */\n autoColor?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n */\nexport class Avatar extends PureComponent<AvatarProps> {\n static defaultProps = {\n size: 'm',\n autoColor: false,\n }\n\n static displayName = 'Avatar'\n\n getAvatarText() {\n return getAvatarText(this.props.title || '')\n }\n\n render() {\n const { src, ref, ...restProps } = this.props\n\n const text = this.getAvatarText()\n\n if (src) {\n return (\n <Styled.Root\n {...restProps}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={\n src\n ? {\n backgroundImage: src && `url(${src})`,\n }\n : undefined\n }\n />\n )\n }\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <Styled.Root {...restProps} ref={this.props.ref as any}>\n {text}\n </Styled.Root>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { display } from '../../mixins/display'\nimport { BadgeProps } from './Badge'\n\nconst round = css`\n min-width: 16px;\n padding: 3px 4px 1px;\n border-radius: 100%;\n box-sizing: border-box;\n line-height: 0;\n\n .text {\n line-height: 12px;\n }\n`\n\nexport const Root = styled.div.withConfig<BadgeProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n background-color: currentColor;\n padding: 2px 12px 0px;\n border-radius: 3px;\n vertical-align: middle;\n text-align: center;\n\n &:not(:last-child) {\n margin-right: 8px;\n }\n\n .text {\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n }\n\n ${(props) => (props.round ? round : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text, TextProps } from './../Text/Text'\nimport * as Styled from './style'\n\nexport interface BadgeProps extends BaseProps, Color, Display {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: string | React.ReactNode\n textProps?: TextProps\n /** Make badge round */\n round?: string\n}\n\nBadge.displayName = 'Badge'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Badge({\n children,\n content,\n className,\n textProps,\n round,\n display = 'inline-block',\n ...restProps\n}: BadgeProps) {\n const _className = useClassname(Badge.displayName, className)\n return (\n <Styled.Root round={round} display={display} className={_className} {...restProps}>\n <Text\n className='text'\n size={round ? 10 : 12}\n weight={round ? 'bolder' : 'normal'}\n lineHeight='s'\n content={typeof content === 'string' ? content : undefined}\n {...textProps}\n >\n {children || content}\n </Text>\n </Styled.Root>\n )\n}\n","export const WIDTHS = {\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n","import { PossibleValues } from 'mixins/responsive-property'\nimport { WIDTHS } from './constants'\n\nexport const chooseWidthValue = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && WIDTHS[width]) return WIDTHS[width]\n\n return 'auto'\n}\n","import styled, { css, DefaultTheme, keyframes } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport { CalcProperty, property, responsiveNamedProperty } from '../../mixins/responsive-property'\nimport { color } from '../../mixins/color'\nimport { display } from '../../mixins/display'\nimport { ButtonProps } from './Button'\nimport { chooseWidthValue } from './helpers'\n\nconst ROUND_SIZE: Record<Exclude<ButtonProps['size'], undefined>, number> = {\n l: 52,\n m: 48,\n s: 40,\n xs: 32,\n}\n\nconst loadingAnimation = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst loading = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.2) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.2) 50%,\n rgba(255, 255, 255, 0.2) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${loadingAnimation} 2s linear infinite;\n /* pointer-events: none; */\n cursor: progress;\n`\n\nconst rounded = css`\n border-radius: ${(props) => props.theme.borderRadius};\n`\n\nconst disabled = css`\n cursor: not-allowed;\n background-color: ${(props) => props.theme.colors.mercury};\n color: ${(props) => props.theme.colors.silver};\n`\n\nconst active = css`\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n ${(props: ButtonProps & { theme: DefaultTheme }) => {\n if (!props.color || !props.fontColor) return null\n\n return css`\n color: ${props.fontColor};\n background-color: ${tiny(props.theme.colors[props.color]).saturate(-5).lighten(-8).toString()};\n `\n }}\n }\n ${(props) =>\n (props.inverted || props.basic) && props.fontColor && props.color\n ? css`\n &:not(:hover) {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n &:hover {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n `\n : null}\n`\n\nconst roundSize: CalcProperty = (size, sizing = 'px') => {\n return css`\n width: ${size}${sizing};\n height: ${size}${sizing};\n font-size: ${0.44 * size}${sizing};\n line-height: ${0.44 * size}${sizing};\n padding: ${0.28 * size}${sizing};\n `\n}\n\nconst fluid: CalcProperty = () => {\n return css`\n min-width: initial;\n width: 100%;\n `\n}\n\nexport const Content = styled.span`\n display: inline-block;\n line-height: 1;\n vertical-align: middle;\n`\n\nexport const Root = styled.div.withConfig<ButtonProps>({\n shouldForwardProp: (prop) =>\n [\n 'children',\n 'className',\n 'style',\n 'target',\n 'to',\n 'href',\n 'ref',\n 'onClick',\n 'type',\n 'onMouseEnter',\n 'onMouseLeave',\n ].includes(prop),\n})`\n -webkit-box-sizing: border-box !important;\n -moz-box-sizing: border-box !important;\n -ms-box-sizing: border-box !important;\n box-sizing: border-box !important;\n position: relative;\n overflow: hidden;\n border: none;\n cursor: pointer;\n user-select: none;\n font-weight: 600;\n padding-top: 0;\n padding-bottom: 0;\n text-decoration: none;\n justify-content: center;\n align-items: center;\n text-align: center;\n transition: 0.2s all;\n white-space: nowrap;\n appearance: none;\n vertical-align: top;\n & + & {\n margin-left: 1em;\n ${(props) =>\n props.noSpacing\n ? css`\n margin-left: auto;\n `\n : null}\n }\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.loading ? loading : null)}\n ${(props) => (props.rounded ? rounded : null)}\n ${(props) => (props.color ? color(props.color, props.inverted || props.basic ? 'color' : 'background-color') : null)}\n ${(props) =>\n props.fontColor ? color(props.fontColor, props.inverted || props.basic ? 'background-color' : 'color') : null}\n ${(props) =>\n props.basic\n ? css`\n background-color: transparent;\n `\n : null}\n\n ${(props) =>\n props.round\n ? css`\n border-radius: 100%;\n letter-spacing: 0.5px;\n & > * {\n display: inline-block !important;\n vertical-align: middle !important;\n }\n .icon {\n vertical-align: middle;\n\n & > * {\n vertical-align: middle !important;\n }\n svg {\n vertical-align: middle;\n }\n }\n `\n : css`\n .icon {\n display: inline-block;\n font-size: inherit;\n line-height: 0;\n vertical-align: middle;\n & > * {\n vertical-align: baseline !important;\n }\n & + ${Content} {\n margin-left: 10px;\n }\n }\n `}\n\n &:focus {\n outline: 0;\n }\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n /** BEGIN Responsive font-size */\n ${(props) => (props.fontSize ? property(props.fontSize, 'font-size') : null)}\n ${({ fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL }) => {\n return responsiveNamedProperty({\n sizes: { fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL },\n cssProperty: 'font-size',\n })\n }}\n /** END Responsive font-size */\n\n ${(props) => (props.size ? property(chooseWidthValue(props.size), 'width') : null)}\n\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n ${({ heightXS, heightS, heightM, heightL, heightXL }) =>\n responsiveNamedProperty({ sizes: { heightXS, heightS, heightM, heightL, heightXL }, cssProperty: 'height' })}\n\n ${(props) => (props.width ? property(chooseWidthValue(props.width), 'width') : null)}\n ${({ widthXS, widthS, widthM, widthL, widthXL }) =>\n responsiveNamedProperty({\n sizes: { widthXS, widthS, widthM, widthL, widthXL },\n cssProperty: 'width',\n customSizeHandler: chooseWidthValue,\n })}\n \n\n ${(props) =>\n props.round && props.size\n ? property(\n typeof props.size === 'string' && ROUND_SIZE[props.size] ? ROUND_SIZE[props.size] : props.size,\n roundSize\n )\n : null}\n \n\n ${(props) => (props.fluid ? property(props.fluid, fluid) : null)}\n ${({ fluidXS, fluidS, fluidM, fluidL, fluidXL }) =>\n responsiveNamedProperty({ sizes: { fluidXS, fluidS, fluidM, fluidL, fluidXL }, cssProperty: fluid })}\n\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (!props.disabled && !props.loading ? active : null)}\n`\n","import { ButtonProps } from './Button'\n\nexport const PROPS_BY_SIZE: Record<Exclude<ButtonProps['size'], number | undefined>, Partial<ButtonProps>> = {\n l: {\n fontSize: 'l',\n fontSizeM: 'm',\n height: 60,\n heightM: 56,\n heightS: 52,\n paddingLeft: 36,\n paddingRight: 36,\n paddingLeftM: 28,\n paddingRightM: 28,\n paddingLeftS: 24,\n paddingRightS: 24,\n },\n m: {\n fontSize: 'm',\n height: 52,\n paddingLeft: 32,\n paddingRight: 32,\n paddingLeftM: 24,\n paddingRightM: 24,\n paddingLeftS: 20,\n paddingRightS: 20,\n },\n s: {\n fontSize: 's',\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n xs: {\n fontSize: 's',\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n}\n\nexport const PRESETS: Record<'default' | 'primary' | 'secondary', Partial<ButtonProps>> = {\n default: {\n color: 'accent',\n fontColor: 'white',\n },\n primary: {\n color: 'primary',\n fontColor: 'white',\n },\n secondary: {\n color: 'atlantis',\n fontColor: 'white',\n },\n}\n","import { Link } from 'react-router-dom'\nimport { useClassname } from 'hooks/useClassname'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps, Tooltiped } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport { Anchor } from '../../components/Anchor'\nimport * as Styled from './style'\nimport { PRESETS, PROPS_BY_SIZE } from './default'\n\nexport interface ButtonProps\n extends BaseProps,\n Tooltiped,\n Display,\n Color,\n Color<'fontColor'>,\n ResponsiveNamedProperty<'padding'>,\n ResponsiveNamedProperty<'paddingTop'>,\n ResponsiveNamedProperty<'paddingRight'>,\n ResponsiveNamedProperty<'paddingBottom'>,\n ResponsiveNamedProperty<'paddingLeft'>,\n ResponsiveNamedProperty<'margin'>,\n ResponsiveNamedProperty<'marginTop'>,\n ResponsiveNamedProperty<'marginRight'>,\n ResponsiveNamedProperty<'marginBottom'>,\n ResponsiveNamedProperty<'marginLeft'>,\n ResponsiveNamedProperty<'fontSize'>,\n ResponsiveNamedProperty<'fluid', boolean>,\n ResponsiveNamedProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>,\n ResponsiveNamedProperty<'height', 'l' | 'm' | 's' | 'xs' | number> {\n /**\n * Node type\n */\n as?: 'div' | 'span' | 'a' | 'button' | typeof Link | typeof Anchor\n target?: string\n rel?: string\n /**\n * Link href\n */\n href?: string\n /**\n * React router link to\n */\n to?: string\n /**\n * Type for button element\n */\n type?: 'button' | 'submit' | 'reset'\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Basic button\n */\n basic?: boolean\n /**\n * Disabled\n */\n disabled?: boolean\n /**\n * Is primary\n */\n primary?: boolean\n /**\n * Is secondary\n */\n secondary?: boolean\n /**\n * Is inverted\n */\n inverted?: boolean\n /**\n * Is rounded\n */\n rounded?: boolean\n /**\n * Is round (in a shape of circle)\n */\n round?: boolean\n /**\n * Indicates if there should not be any margin\n * between this button and the previous one\n */\n noSpacing?: boolean\n /**\n * Is in loading state\n */\n loading?: boolean\n /**\n * Button icon\n */\n icon?: React.ReactNode\n /** On click callback */\n onClick?: () => void\n /** Function to make ref */\n ref?: React.LegacyRef<HTMLDivElement>\n /**\n * Size\n */\n size?: 'l' | 'm' | 's' | 'xs'\n}\n\nButton.defaultProps = {\n size: 'm',\n rounded: true,\n display: 'inline-flex',\n type: 'button',\n}\n\nButton.displayName = 'Button'\n\nconst extractPresetByProps = (props: ButtonProps): Partial<ButtonProps> => {\n if (props.primary) return PRESETS.primary\n if (props.secondary) return PRESETS.secondary\n return PRESETS.default\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Tooltiped`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'fontSize'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'fluid', boolean>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'height', 'l' | 'm' | 's' | 'xs' | number>`](#/Миксины)\n */\nexport function Button(props: ButtonProps) {\n const { children, className, disabled, href, to, as, target, onClick, ref, icon, type, innerRef, ...restProps } =\n props\n\n const _as = as || (disabled ? 'button' : href ? 'a' : to ? Link : 'button')\n const aProps = _as === 'a' && !disabled ? { href: href || to, target } : {}\n const linkProps = typeof _as !== 'string' && !disabled ? { to: to || href } : {}\n const propsBySize: Partial<ButtonProps> =\n restProps.size && !restProps.round ? PROPS_BY_SIZE[restProps.size] || {} : {}\n const presetProps: Partial<ButtonProps> = extractPresetByProps(props)\n const _className = useClassname(Button.displayName, className)\n\n return (\n <Styled.Root\n as={_as}\n className={_className}\n type={_as === 'button' ? type : undefined}\n onClick={disabled || restProps.loading ? undefined : onClick}\n {...propsBySize}\n {...aProps}\n {...linkProps}\n {...presetProps}\n {...restProps}\n disabled={disabled}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={(ref || innerRef) as any}\n >\n {icon && <span className='icon'>{icon}</span>}\n {children && <Styled.Content className={`${_className}__content`}>{children}</Styled.Content>}\n </Styled.Root>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { color } from '../../mixins/color'\nimport { screenL, screenM, screenMaxS } from '../../mixins/screen'\nimport { ContainerProps } from './Container'\n\nexport const Root = styled.div.withConfig<ContainerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n display: block;\n width: 100%;\n max-width: ${(props) => props.theme.breakpoints.l - 100 + 2 * 50}px;\n margin: 0 auto;\n padding: 0 50px;\n box-sizing: border-box;\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) =>\n props.fluid\n ? css`\n max-width: 100%;\n `\n : null}\n ${screenL()`\n padding: 0 42px;\n `}\n ${screenM()`\n padding: 0 28px;\n `}\n ${screenMaxS()`\n padding: 0 20px;\n `}\n`\n","import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ContainerProps extends BaseProps, Display, Color {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Container has no maximum width.\n */\n fluid?: boolean\n /**\n * Align container text.\n */\n textAlign?: 'left' | 'center' | 'right' | 'justified'\n}\n\nContainer.displayName = 'Container'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Container(props: ContainerProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { createGlobalStyle, css } from 'styled-components'\nimport ReactModal from 'react-modal'\nimport { property, PossibleValues } from 'mixins/responsive-property'\nimport { ModalProps } from './Modal'\nimport { ReactModalAdapter } from './adapter'\n\ninterface ReactModalProps extends ReactModal.Props {\n zIndex?: ModalProps['zIndex']\n valign?: ModalProps['valign']\n}\n\nconst WIDTHS = {\n xxxs: 100,\n xxs: 200,\n xs: 300,\n s: 400,\n m: 500,\n l: 600,\n xl: 740,\n xxl: 800,\n xxxl: 900,\n}\n\nconst chooseWidthValue = (props: ModalProps): PossibleValues => {\n if (typeof props.width === 'number') return props.width\n\n if (props.width && typeof props.width === 'string' && WIDTHS[props.width]) return WIDTHS[props.width]\n\n return 'auto'\n}\n\nconst getPosition = (valign: ModalProps['valign']) => {\n switch (valign) {\n case 'top':\n return 'flex-start'\n case 'bottom':\n return 'flex-end'\n case 'center':\n return 'center'\n default:\n return 'center'\n }\n}\n\nexport const Modal = styled(ReactModalAdapter)<ReactModalProps>`\n &__overlay {\n z-index: ${(props) => props.zIndex || props.theme.zIndex.modal};\n display: flex;\n flex-direction: row;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-x: none;\n overflow-y: auto;\n ${(props) =>\n props.valign\n ? css`\n align-items: ${getPosition(props.valign)};\n `\n : null}\n &.ReactModal__Overlay--after-open {\n ${(props) =>\n props.overlayClassName\n ? null\n : css`\n background: rgba(246, 247, 251, 0.9);\n `}\n }\n &.ReactModal__Overlay--before-close {\n }\n }\n\n &__content {\n width: 100%;\n max-height: 100%;\n position: relative;\n &:focus {\n outline: 0;\n }\n ${(props) => (props.width ? property(chooseWidthValue(props), 'max-width') : null)}\n &.ReactModal__Content--after-open {\n }\n &.ReactModal__Content--before-close {\n }\n }\n`\n\nexport const ModalClose = styled.span`\n opacity: 1;\n transition: 0.3s;\n position: absolute;\n right: 20px;\n top: 20px;\n cursor: pointer;\n z-index: 10;\n svg {\n width: 18px;\n height: 18px;\n }\n &:hover {\n opacity: 0.5;\n }\n`\n\nexport const GlobalRoot = createGlobalStyle`\n .bodyOpen {\n overflow: hidden;\n }\n`\n","import ReactModal from 'react-modal'\nimport cx from 'clsx'\nimport { ModalProps } from './Modal'\n\nexport const ReactModalAdapter: React.FC<ModalProps> = ({\n className,\n isOpen,\n overlayClassName,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n style: _style,\n ...props\n}: ModalProps) => {\n const contentClassName = `${className}__content`\n const overlayClassNameLocal = `${className}__overlay`\n\n return (\n <ReactModal\n portalClassName={className}\n className={contentClassName}\n isOpen={Boolean(isOpen)}\n overlayClassName={cx(overlayClassNameLocal, overlayClassName)}\n {...props}\n />\n )\n}\n","import ReactModal, { Classes } from 'react-modal'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ModalClose } from './Close'\nimport * as Styled from './style'\n\nfunction setAppModalElement() {\n const appElement = document.body\n\n if (appElement && appElement instanceof HTMLElement) ReactModal.setAppElement(appElement)\n}\n\n// eslint-disable-next-line prettier/prettier\nif (typeof window !== 'undefined') {\n setAppModalElement()\n}\n\nexport interface ModalProps extends BaseProps, ResponsiveNamedProperty<'width'> {\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Modal class name\n */\n className?: string\n /**\n * Number indicating the milliseconds to wait before closing the modal.\n */\n closeTimeoutMS?: number\n /**\n * String indicating how the content container should be announced to screenreaders\n */\n contentLabel?: string\n /**\n * Boolean describing if the modal should be shown or not.\n */\n isOpen?: boolean\n /**\n * Function that will be run after the modal has opened.\n */\n onAfterOpen?(): void\n /**\n * Function that will be run when the modal is requested to be closed, prior to actually closing.\n */\n onRequestClose?(): void\n /**\n * Custom overlay CSS class name\n */\n overlayClassName?: string | Classes\n /**\n * String indicating the role of the modal, allowing the 'dialog' role to be applied if desired.\n */\n role?: string\n /**\n * Boolean indicating if the overlay should close the modal\n */\n shouldCloseOnOverlayClick?: boolean\n /**\n * Vertical align\n */\n valign?: 'top' | 'center' | 'bottom'\n /**\n * z-index\n */\n zIndex?: number\n}\n\nModal.defaultProps = {\n closeTimeoutMS: 0,\n zIndex: 9000,\n contentLabel: '',\n isOpen: false,\n role: 'dialog',\n shouldCloseOnOverlayClick: true,\n width: 'm',\n valign: 'center',\n className: 'modal',\n}\n\nModal.Close = ModalClose\nModal.displayName = 'Modal'\n\n/**\n * Основан на [react-modal](https://github.com/reactjs/react-modal).\n *\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveNamedProperty<'width'>`](#/Миксины)\n */\nexport function Modal(props: ModalProps) {\n const {\n children,\n closeTimeoutMS,\n contentLabel,\n isOpen,\n onAfterOpen,\n onRequestClose,\n overlayClassName,\n role,\n shouldCloseOnOverlayClick,\n width,\n valign,\n className,\n style,\n zIndex,\n } = props\n\n return (\n <Styled.Modal\n closeTimeoutMS={closeTimeoutMS}\n contentLabel={contentLabel}\n isOpen={Boolean(isOpen)}\n onAfterOpen={onAfterOpen}\n onRequestClose={onRequestClose}\n portalClassName={className}\n overlayClassName={overlayClassName}\n bodyOpenClassName='modal--open'\n role={role}\n zIndex={zIndex}\n valign={valign}\n width={width}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n >\n <div style={style}>{children}</div>\n </Styled.Modal>\n )\n}\n","import { Icon } from '../../components/Icon'\nimport * as Styled from './style'\n\nexport interface ModalCloseProps {\n className?: string\n onClick?: () => void\n}\n\nexport function ModalClose({ className, onClick }: ModalCloseProps) {\n return (\n <Styled.ModalClose className={className} onClick={onClick}>\n <Icon name='tinyCross' color='#D9D9D9' />\n </Styled.ModalClose>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { Spacer } from '../../components/Spacer'\nimport { color } from '../../mixins/color'\nimport { PaperProps } from './Paper'\n\nconst zDepth = {\n 0: css`\n box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.11);\n `,\n 1: css`\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);\n `,\n 2: css`\n box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1);\n `,\n 3: css`\n box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.08);\n `,\n 4: css`\n box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.14);\n `,\n}\n\nconst circle = css`\n border-radius: 50%;\n justify-content: center;\n display: flex;\n align-items: center;\n min-width: 100px;\n min-height: 100px;\n`\n\nconst rounded = css`\n border-radius: ${(props) => props.theme.borderRadius};\n`\n\nexport const Root = styled(Spacer)<PaperProps>`\n box-sizing: border-box;\n background-color: ${(props) => props.theme.colors.white};\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) => (typeof props.zDepth === 'number' && props.shadow ? zDepth[props.zDepth] : null)}\n ${(props) => (props.rounded ? rounded : null)}\n ${(props) => (props.circle ? circle : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nexport interface PaperProps extends BaseProps, Display, Color, ResponsiveNamedProperty<'padding'> {\n /**\n * Paper content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Set to true to generate a circlular paper container\n */\n circle?: boolean\n /**\n * Paper with rounded corners\n */\n rounded?: boolean\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: false | 0 | 1 | 2 | 3 | 4\n /**\n * Text align\n */\n textAlign?: 'left' | 'center' | 'right'\n}\n\nPaper.displayName = 'Paper'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n */\nexport function Paper({ padding = 'm', rounded = true, shadow = true, className, ...props }: PaperProps) {\n const _className = useClassname(Paper.displayName, className)\n\n return <Styled.Root padding={padding} rounded={rounded} shadow={shadow} className={_className} {...props} />\n}\n","import styled, { css, DefaultTheme } from 'styled-components'\nimport { color, getColor } from 'mixins/color'\nimport { ProgressSegmentedProps } from './Progress.Segmented'\n\nexport const Progress = styled.div<Pick<ProgressSegmentedProps, 'percent' | 'percentColor'>>`\n height: 100%;\n border-radius: 10px;\n width: ${(props) => `${props.percent || 0}%`};\n ${(props) => (props.percentColor ? color(props.percentColor, 'background') : color('atlantis', 'background'))};\n`\n\nexport const Separators = styled.div`\n position: absolute;\n top: 0;\n display: flex;\n justify-content: space-between;\n width: 100%;\n height: 4px;\n z-index: 3;\n`\n\nexport const Separator = styled.div<Pick<ProgressSegmentedProps, 'separatorColor'>>`\n width: 2px;\n height: 100%;\n &:first-child,\n &:last-child {\n width: 0;\n }\n ${(props) => (props.separatorColor ? color(props.separatorColor, 'background') : color('white', 'background'))}\n`\n\nconst haveCircle = (props: Pick<ProgressSegmentedProps, 'percentColor'> & { theme: DefaultTheme }) => css`\n margin-left: 8px;\n border-radius: 0 10px 10px 0;\n & ${Progress} {\n border-radius: 0 10px 10px 0;\n }\n & ${Separator} {\n &:first-child {\n position: relative;\n &:before {\n position: absolute;\n display: block;\n content: '';\n left: -8px;\n top: -2px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: ${getColor(props.percentColor || 'atlantis', props)};\n }\n }\n }\n`\n\nconst isDone = (props: Pick<ProgressSegmentedProps, 'percentColor'> & { theme: DefaultTheme }) => css`\n & ${Separator} {\n &:last-child {\n position: relative;\n &:before {\n position: absolute;\n top: -6px;\n right: -6px;\n display: block;\n content: '';\n background: ${getColor(props.percentColor || 'atlantis', props)}\n url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjciIHZpZXdCb3g9IjAgMCA5IDciPgogICAgPHBhdGggZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNNi45MTQgMEw4IDEuMDQ1IDIuODQ4IDYgMCAzLjI2MWwxLjA4Ni0xLjA0NUwyLjg0OCAzLjkxeiIvPgo8L3N2Zz4K')\n center no-repeat;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n }\n }\n }\n`\n\nconst isEmpty = css`\n & ${Separator} {\n &:first-child {\n &:before {\n background: rgba(0, 0, 0, 0.1);\n }\n }\n }\n`\n\nexport const Root = styled.div<Pick<ProgressSegmentedProps, 'percent' | 'haveCircle' | 'isActive' | 'percentColor'>>`\n position: relative;\n height: 4px;\n background: rgba(0, 0, 0, 0.1);\n border-radius: 10px;\n ${(props) => (props.haveCircle ? haveCircle(props) : null)}\n ${(props) => (props.percent === 100 ? isDone(props) : null)}\n ${(props) => (props.percent === 0 ? isEmpty : null)}\n`\n","import { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ProgressSegmentedProps extends BaseProps, Color<'separatorColor'>, Color<'percentColor'> {\n /**\n * Current percent complete\n */\n percent?: number\n /**\n * segments count\n */\n segments?: number\n /**\n * custom class\n */\n className?: string\n /**\n * circle in begin progress\n */\n haveCircle?: boolean\n /**\n * active state\n */\n isActive?: boolean\n}\n\nProgressSegmented.defaultProps = {\n percent: 0,\n percentColor: '#7fc92e',\n separatorColor: '#ffffff',\n segments: 9,\n haveCircle: true,\n}\n\nProgressSegmented.displayName = 'Progress.Segmented'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color<'separatorColor'>`](#/Миксины)\n * - [`Color<'percentColor'>`](#/Миксины)\n */\nexport function ProgressSegmented(props: typeof ProgressSegmented.defaultProps & ProgressSegmentedProps) {\n const { percent, segments, className, style, percentColor, separatorColor, haveCircle, isActive } = props\n\n return (\n <Styled.Root\n className={className}\n style={style}\n percent={percent}\n haveCircle={haveCircle}\n percentColor={percentColor}\n isActive={isActive}\n >\n <Styled.Progress percent={percent} percentColor={percentColor} />\n <Styled.Separators>\n {Array.from(new Array(segments + 1).keys()).map((item, key) => (\n <Styled.Separator separatorColor={separatorColor} key={key} />\n ))}\n </Styled.Separators>\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\nimport { color, getColor } from 'mixins/color'\nimport { ProgressCircleProps } from './Progress.Circle'\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => prop === 'children',\n})<Pick<ProgressCircleProps, 'size' | 'resultColor' | 'strokeBGColor' | 'status'>>`\n position: relative;\n width: ${(props) => (props.size ? `${props.size}px` : '84px')};\n height: ${(props) => (props.size ? `${props.size}px` : '84px')};\n flex-shrink: 0;\n svg {\n width: 100%;\n height: 100%;\n font-size: 0px;\n }\n .line {\n fill: none;\n display: block;\n ${(props) => (props.resultColor ? color(props.resultColor, 'stroke') : null)}\n }\n .bg {\n stroke: ${(props) => (props.strokeBGColor ? getColor(props.strokeBGColor, props) : `rgba(0, 0, 0, 0.12)`)};\n fill: rgba(255, 255, 255, 0);\n &.fail {\n stroke: #f1512c;\n }\n &.success {\n stroke: #7bb909;\n }\n &.started {\n stroke: #459ff3;\n }\n }\n`\n\nexport const Content = styled.div`\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n img {\n border-radius: 50%;\n }\n`\n","/* eslint-disable no-use-before-define */\nimport { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nfunction polarToCartesian(centerX: number, centerY: number, radius: number, angleInDegrees: number) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0\n\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n }\n}\n\nfunction describeArc(x: number, y: number, radius: number, startAngle: number, endAngle: number, reverse = false) {\n const start = polarToCartesian(x, y, radius, endAngle)\n const end = polarToCartesian(x, y, radius, startAngle)\n\n const diff = endAngle - startAngle\n const angleDiff = diff < 0 ? -diff : diff\n\n const sweep = angleDiff <= 180 ? '1' : '0'\n const arcSweep = reverse ? +!+sweep : sweep\n\n return ['M', start.x, start.y, 'A', radius, radius, 0, arcSweep, 0, end.x, end.y].join(' ')\n}\n\nexport interface ProgressCircleProps extends BaseProps, Color<'resultColor'>, Color<'strokeBGColor'> {\n /**\n * status ['fail', 'success', 'started']\n */\n status?: 'fail' | 'success' | 'started'\n /**\n * progress percent\n */\n progress?: number\n /**\n * width and height\n */\n size?: number\n /**\n * center content\n */\n htmlContent?: string\n /**\n * width progress line\n */\n strokeLineWidth?: number\n /**\n * width background line\n */\n strokeBGWidth?: number\n /**\n * start angle of progress\n */\n progressStartAngle?: number\n /**\n * content inside progress circle\n */\n content?: string | number\n}\n\ninterface ProgressCircleState {\n bgAngleDiff: number\n describeArcProgress: string | null\n describeArcBg: string | null\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color<'resultColor'>`](#/Миксины)\n * - [`Color<'strokeBGColor'>`](#/Миксины)\n */\nexport class ProgressCircle extends PureComponent<\n typeof ProgressCircle.defaultProps & ProgressCircleProps,\n ProgressCircleState\n> {\n static displayName = 'Progress.Circle'\n static defaultProps = {\n size: 84,\n progress: 0,\n strokeLineWidth: 2,\n strokeBGWidth: 2,\n resultColor: 'accent',\n progressStartAngle: 180,\n }\n\n constructor(props: typeof ProgressCircle.defaultProps & ProgressCircleProps) {\n super(props)\n this.state = {\n bgAngleDiff: 0,\n describeArcProgress: null,\n describeArcBg: null,\n }\n }\n\n componentDidMount() {\n this.renderSvg()\n }\n\n componentDidUpdate(prevProps: ProgressCircleProps) {\n const { progress, size } = this.props\n const { progress: prevProgress, size: prevSize } = prevProps\n\n if (progress !== prevProgress || size !== prevSize) {\n this.renderSvg()\n }\n }\n\n renderSvg = () => {\n const { size, progress, strokeLineWidth, strokeBGWidth, progressStartAngle } = this.props\n\n const thickness = strokeLineWidth > strokeBGWidth ? strokeLineWidth : strokeBGWidth\n\n const center = size / 2 + thickness / 2\n const progressGap = 0.5\n const progressEndAngle = progressStartAngle - progressGap + (+progress / 100) * 360\n const bgStartAngle = progressStartAngle\n const bgEndAngle = bgStartAngle - progressGap\n\n const centerX = center - thickness / 2\n const centerY = center - thickness / 2\n const radius = center - thickness\n const diff = bgStartAngle - bgEndAngle\n\n const describeArcProgress = describeArc(centerX, centerY, radius, progressStartAngle, progressEndAngle, true)\n\n const describeArcBg = describeArc(centerX, centerY, radius, bgStartAngle, bgEndAngle)\n\n const bgAngleDiff = diff < 0 ? -diff : diff\n\n this.setState({\n describeArcProgress,\n describeArcBg,\n bgAngleDiff,\n })\n }\n\n render() {\n const {\n size,\n htmlContent,\n content,\n strokeLineWidth,\n strokeBGWidth,\n resultColor,\n strokeBGColor,\n status,\n progress,\n className,\n style,\n } = this.props\n\n const { bgAngleDiff, describeArcProgress, describeArcBg } = this.state\n\n return (\n <Styled.Root\n className={className}\n style={style}\n size={size}\n strokeBGColor={strokeBGColor}\n resultColor={resultColor}\n status={status}\n >\n <svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <g className={'pathBox'}>\n <path\n className='bg'\n d={bgAngleDiff < 360 && describeArcBg ? describeArcBg : ''}\n fill='none'\n strokeWidth={strokeBGWidth}\n strokeLinecap='round'\n />\n <path\n className='line'\n d={Boolean(+progress) && describeArcProgress ? describeArcProgress : ''}\n strokeWidth={strokeLineWidth}\n strokeLinecap='round'\n />\n </g>\n </svg>\n {htmlContent && <Styled.Content dangerouslySetInnerHTML={{ __html: htmlContent }} />}\n {content && <Styled.Content>{content}</Styled.Content>}\n </Styled.Root>\n )\n }\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { color } from 'mixins/color'\nimport { ProgressProps } from './Progress'\n\nconst move = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst bgColor = (color: string) => css`\n background-color: ${tinycolor(color).setAlpha(0.6).toString()};\n`\n\nconst isLoading = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.4) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.4) 50%,\n rgba(255, 255, 255, 0.4) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${move} 2s linear infinite;\n`\n\nexport const Root = styled.div<Pick<ProgressProps, 'backgroundColor' | 'color'>>`\n display: block;\n height: 4px;\n border-radius: 40px;\n overflow: hidden;\n ${(props) => (props.backgroundColor ? color(props.backgroundColor, bgColor) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n`\n\nexport const Bar = styled.div.withConfig<{ width: number; isLoading: boolean }>({\n shouldForwardProp: () => false,\n})`\n width: 0;\n transition: width 1s ease-in-out;\n height: 100%;\n border-radius: inherit;\n color: inherit;\n background-color: currentColor;\n ${(props) => (props.isLoading ? isLoading : null)}\n ${(props) =>\n props.width\n ? css`\n width: ${props.width}%;\n `\n : css`\n width: 0%;\n `}\n`\n","import { ProgressSegmented } from '../../components/Progress.Segmented'\nimport { ProgressCircle } from '../../components/Progress.Circle'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ProgressProps extends BaseProps, Color, Color<'backgroundColor'> {\n /**\n * Current percent complete\n */\n percent?: number\n isLoading?: boolean\n}\n\nProgress.defaultProps = {\n percent: 0,\n color: 'green',\n backgroundColor: 'alto',\n isLoading: false,\n}\n\nProgress.Circle = ProgressCircle\nProgress.Segmented = ProgressSegmented\nProgress.displayName = 'Progress'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'backgroundColor'>`](#/Миксины)\n */\nexport function Progress(props: ProgressProps) {\n const { className, isLoading, backgroundColor, color, percent } = props\n\n let _percent: number = typeof percent === 'string' ? parseInt(percent, 10) : percent || 0\n\n if (_percent > 100) _percent = 100\n if (_percent < 0) _percent = 0\n\n return (\n <Styled.Root className={className} backgroundColor={backgroundColor} color={color}>\n <Styled.Bar width={_percent} isLoading={Boolean(isLoading)} />\n </Styled.Root>\n )\n}\n","import { PureComponent } from 'react'\nimport { Scrollbars, ScrollbarsProps } from 'rc-scrollbars'\nimport { DefaultTheme, withTheme } from 'styled-components'\n\nexport interface ScrollableProps extends Partial<ScrollbarsProps> {\n /**\n * Children react node\n */\n children: React.ReactNode[] | React.ReactNode\n /**\n * Enable auto-hide mode\n * @see See [github docs](https://github.com/sakhnyuk/rc-scrollbars) for description\n */\n autoHide?: boolean\n /**\n * Hide delay in ms.\n */\n autoHideTimeout?: number\n /**\n * Duration for hide animation in ms.\n */\n autoHideDuration?: number\n /**\n * Enable auto-height mode.\n */\n autoHeight?: boolean\n /**\n * Set a minimum height for auto-height mode\n */\n autoHeightMin?: number\n /**\n * Set a maximum height for auto-height mode\n */\n autoHeightMax?: number\n /**\n * Event handler\n */\n onScroll?(): void\n /**\n * Runs inside the animation frame.\n */\n onScrollFrame?(): void\n /**\n * Called when scrolling starts\n */\n onScrollStart?(): void\n /**\n * Called when scrolling stops\n */\n onScrollStop?(): void\n /**\n * Height of shadow\n */\n shadowHeight?: number\n /**\n * Show shadow in scrollable component\n */\n withShadow?: boolean\n /**\n * Color of shadow from #Colors\n */\n shadowColor?: string\n /**\n * Opacity of shadow\n */\n shadowOpacity?: number\n /**\n * Color of thumb\n */\n thumbColor?: string\n /**\n * Opacity of thumb\n */\n thumbOpacity?: number\n /**\n * Border radius of thumb (px)\n */\n thumbBorderRadius?: number\n /**\n /**\n * Border radius of thumb (px)\n */\n thumbWidth?: number\n /**\n * Color of track (HEX)\n */\n trackColor?: string\n /**\n * Opacity of track\n */\n trackOpacity?: number\n /**\n * Border radius of track (px)\n */\n trackBorderRadius?: number\n /**\n /**\n * Border radius of track (px)\n */\n trackWidth?: number\n /**\n * Style for scrollable container\n */\n style?: object\n /**\n * Classname of scrollable container\n */\n className?: string\n /**\n * Disable scrollbar and return div\n */\n disabled?: boolean\n /**\n * Prevent body scrolling when start|end touched\n */\n isolate?: boolean\n\n theme?: DefaultTheme\n}\n\ntype ScrollableState = {\n scrollTop: number\n scrollHeight: number\n clientHeight: number\n}\n\n// eslint-disable-next-line no-use-before-define\nclass Scrollable extends PureComponent<typeof Scrollable.defaultProps & ScrollableProps, ScrollableState> {\n static displayName = 'Scrollable'\n static defaultProps = {\n autoHide: false,\n autoHideTimeout: 1000,\n autoHideDuration: 200,\n autoHeight: false,\n withShadow: false,\n shadowHeight: 50,\n shadowOpacity: 0.15,\n shadowColor: 'mineShaft',\n thumbColor: 'mineShaft',\n thumbOpacity: 0.15,\n thumbBorderRadius: 1,\n thumbWidth: 4,\n trackColor: '#333333',\n trackOpacity: 0.15,\n trackBorderRadius: 1,\n trackWidth: 4,\n disabled: false,\n isolate: true,\n }\n\n scrollable: HTMLDivElement | null = null\n ts = 0\n\n state = {\n scrollTop: 0,\n scrollHeight: 0,\n clientHeight: 0,\n }\n\n componentDidMount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchstart', this.handleTouchStart, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchmove', this.handleTouchMove, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('wheel', this.handleScroll, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void,\n false\n )\n }\n\n componentWillUnmount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchstart', this.handleTouchStart)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchmove', this.handleTouchMove)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('wheel', this.handleScroll)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void\n )\n }\n\n handleTouchStart = (e: TouchEvent) => {\n this.ts = e.touches[0].clientY\n }\n\n handleTouchMove = (e: TouchEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const te = e.changedTouches[0].clientY\n const dir = this.ts > te ? -1 : 1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n Math.floor((scrollarea as HTMLDivElement).scrollTop) ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n this.ts = te\n }\n\n return true\n }\n\n handleScroll = (e: WheelEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const delta = e.deltaY || e.detail\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const dir = delta < 0 ? 1 : -1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n (scrollarea as HTMLDivElement).scrollTop ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n }\n\n return true\n }\n\n handleUpdate = (values: ScrollableState) => {\n const { scrollTop, scrollHeight, clientHeight } = values\n\n this.setState({\n scrollTop,\n scrollHeight,\n clientHeight,\n })\n }\n\n calculateShadowOffset() {\n const { scrollTop, scrollHeight, clientHeight } = this.state\n const { shadowHeight = 50 } = this.props\n\n const diffH = scrollHeight - clientHeight || 0\n\n const a = (scrollTop * 100) / (diffH <= 0 ? 1 : diffH)\n const b = (shadowHeight * a) / 100\n\n return Math.floor(-shadowHeight + b)\n }\n\n hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null\n }\n\n renderTrack = ({ style, ...props }: { style: React.CSSProperties }, dir: 'vertical' | 'horizontal') => {\n const { trackColor, trackOpacity, trackBorderRadius, trackWidth } = this.props\n\n const hex = trackColor ? this.hexToRgb(trackColor) : null\n\n const trackStyle = {\n background: hex ? `rgba(${hex.r}, ${hex.g}, ${hex.b}, ${trackOpacity})` : `rgba(255,255,255,0)`,\n borderRadius: `${trackBorderRadius}px`,\n zIndex: 14,\n ...(dir === 'vertical'\n ? {\n right: 4,\n top: 2,\n bottom: 2,\n width: `${trackWidth}px`,\n }\n : {\n bottom: 4,\n left: 2,\n right: 2,\n height: `${trackWidth}px`,\n }),\n }\n\n return (\n <div\n style={{\n ...style,\n ...trackStyle,\n }}\n {...props}\n />\n )\n }\n\n renderThumb = ({ style, ...scrollableProps }: { style: React.CSSProperties }) => {\n const { thumbColor, thumbOpacity, thumbBorderRadius, thumbWidth } = this.props\n\n const thumbStyle = {\n opacity: thumbOpacity,\n backgroundColor:\n (this.props.theme as DefaultTheme).colors[thumbColor] || (this.props.theme as DefaultTheme).colors[thumbColor],\n borderRadius: `${thumbBorderRadius}px`,\n width: `${thumbWidth}px`,\n }\n\n return <div style={{ ...style, ...thumbStyle }} {...scrollableProps} />\n }\n\n render() {\n const {\n children,\n withShadow,\n shadowHeight,\n shadowColor,\n shadowOpacity,\n className,\n thumbColor, // eslint-disable-line\n thumbOpacity, // eslint-disable-line\n thumbBorderRadius, // eslint-disable-line\n thumbWidth, // eslint-disable-line\n trackColor, // eslint-disable-line\n trackOpacity, // eslint-disable-line\n trackBorderRadius, // eslint-disable-line\n trackWidth, // eslint-disable-line\n isolate, // eslint-disable-line\n style,\n disabled,\n ...props\n } = this.props\n\n if (disabled) return <div>{children}</div>\n\n const { scrollHeight, clientHeight } = this.state\n\n const shadowOffset = this.calculateShadowOffset()\n\n return (\n <div\n style={{\n ...style,\n position: 'relative',\n }}\n className={className}\n >\n {withShadow && scrollHeight > clientHeight && shadowOffset !== -shadowHeight && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n top: `-${shadowHeight}px`,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to bottom, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n {withShadow && scrollHeight > clientHeight && shadowOffset < 0 && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n bottom: 0,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to top, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n <Scrollbars\n renderTrackVertical={(nodeProps) => this.renderTrack({ ...nodeProps }, 'vertical')}\n renderTrackHorizontal={(nodeProps) => this.renderTrack({ ...nodeProps }, 'horizontal')}\n renderThumbHorizontal={this.renderThumb}\n renderThumbVertical={this.renderThumb}\n onUpdate={this.handleUpdate}\n hideTracksWhenNotNeeded\n {...props}\n >\n <div\n ref={(node) => {\n this.scrollable = node\n }}\n >\n {children}\n </div>\n </Scrollbars>\n </div>\n )\n }\n}\n\n/**\n * Scrollable component for create custom scrollable content\n *\n * Based on https://github.com/sakhnyuk/rc-scrollbars\n */\nconst withThemeScrollable = withTheme(Scrollable)\n\nwithThemeScrollable.displayName = 'Scrollable'\n\nexport { withThemeScrollable as Scrollable }\n","import styled, { css } from 'styled-components'\nimport { Spacer } from '../../components/Spacer'\nimport { color } from '../../mixins/color'\nimport { SectionProps } from './Section'\n\nconst zDepth = {\n 1: css`\n box-shadow: 0 15px 20px 0 rgba(27, 55, 147, 0.06);\n `,\n 2: css`\n box-shadow: rgba(0, 0, 0, 0.156863) 0px 3px 10px, rgba(0, 0, 0, 0.227451) 0px 3px 10px;\n `,\n 3: css`\n box-shadow: rgba(0, 0, 0, 0.188235) 0px 10px 30px, rgba(0, 0, 0, 0.227451) 0px 6px 10px;\n `,\n 4: css`\n box-shadow: rgba(0, 0, 0, 0.247059) 0px 14px 45px, rgba(0, 0, 0, 0.219608) 0px 10px 18px;\n `,\n 5: css`\n box-shadow: rgba(0, 0, 0, 0.298039) 0px 19px 60px, rgba(0, 0, 0, 0.219608) 0px 15px 20px;\n `,\n}\n\nexport const Root = styled(Spacer)<SectionProps>`\n display: block;\n color: #000;\n background-color: ${(props) => props.theme.colors.white};\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) => (typeof props.zDepth === 'number' ? zDepth[props.zDepth] : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n`\n","import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SectionProps extends BaseProps, Display, Color, ResponsiveNamedProperty<'padding'> {\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: 1 | 2 | 3 | 4 | 5\n /**\n * Section content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Text align\n */\n textAlign?: 'left' | 'right' | 'center'\n}\n\nSection.displayName = 'Section'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n */\nexport function Section(props: SectionProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { property, responsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Text as UiText } from '../Text'\nimport { SeparatorProps } from './Separator'\n\nconst WEIGHT_MAP = {\n 1: '0.05em',\n 2: '0.1em',\n 3: '0.15em',\n 4: '0.25em',\n 5: '0.3em',\n}\n\nexport const Text = styled(UiText)`\n position: absolute;\n z-index: 1;\n display: inline-block;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 0 12px;\n background-color: ${(props) => props.theme.colors.white};\n`\n\nexport const TextRoot = styled.div`\n display: block;\n width: auto;\n position: relative;\n z-index: 0;\n text-align: center;\n`\n\nexport const Root = styled.div.withConfig<SeparatorProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n display: block;\n width: auto;\n background-color: currentColor;\n ${(props) => css`\n height: ${WEIGHT_MAP[props.weight || 1]};\n `}\n ${(props) => (props.color ? color(props.color, 'color') : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n","import { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { SeparatorText } from './SeparatorText'\nimport * as Styled from './style'\n\nexport interface SeparatorProps\n extends BaseProps,\n Color,\n ResponsiveNamedProperty<'top'>,\n ResponsiveNamedProperty<'right'>,\n ResponsiveNamedProperty<'bottom'>,\n ResponsiveNamedProperty<'left'>,\n ResponsiveNamedProperty<'padding'>,\n ResponsiveNamedProperty<'paddingTop'>,\n ResponsiveNamedProperty<'paddingRight'>,\n ResponsiveNamedProperty<'paddingBottom'>,\n ResponsiveNamedProperty<'paddingLeft'>,\n ResponsiveNamedProperty<'margin'>,\n ResponsiveNamedProperty<'marginTop'>,\n ResponsiveNamedProperty<'marginRight'>,\n ResponsiveNamedProperty<'marginBottom'>,\n ResponsiveNamedProperty<'marginLeft'> {\n /**\n * Separator weight\n */\n weight?: 1 | 2 | 3 | 4 | 5\n}\n\nSeparator.defaultProps = {\n margin: 's',\n color: 'grey',\n weight: 1,\n}\n\nSeparator.Text = SeparatorText\nSeparator.displayName = 'Separator'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'top'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'right'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'left'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Separator(props: typeof Separator.defaultProps & SeparatorProps) {\n return <Styled.Root {...props} />\n}\n","import { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Separator } from './Separator'\nimport * as Styled from './style'\n\nexport interface SeparatorTextProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nexport function SeparatorText({ children, className, color, ...restProps }: SeparatorTextProps) {\n return (\n <Styled.TextRoot>\n <Separator className={className} color={color} {...restProps} />\n <Styled.Text color={color}>{children}</Styled.Text>\n </Styled.TextRoot>\n )\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport {\n responsiveNamedProperty,\n property,\n ResponsiveNamedProperty,\n CalcProperty,\n} from '../../mixins/responsive-property'\nimport { SpinnerProps } from './Spinner'\n\nconst SIZES = {\n l: 60,\n m: 40,\n s: 20,\n}\n\nconst spinner = keyframes`\n to {\n transform: rotate(360deg);\n }\n`\n\nconst fullscreen = css`\n height: 100vh;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst inline = css`\n display: inline-block;\n vertical-align: middle;\n margin: 0;\n`\n\nconst sizeBuilder: CalcProperty = (size: number, sizing = 'px') => css`\n width: ${size}${sizing};\n height: ${size}${sizing};\n &:before {\n width: ${size}${sizing};\n height: ${size}${sizing};\n margin-top: -${size / 2}${sizing};\n margin-left: -${size / 2}${sizing};\n }\n`\n\nconst getSize = (size: ResponsiveNamedProperty<'size'>['size']): number => {\n if (!size || typeof size === 'boolean') return 0\n if (typeof size === 'number') return size\n if (SIZES[size]) return SIZES[size]\n return 0\n}\n\nexport const Root = styled.div.withConfig<SpinnerProps>({\n shouldForwardProp: (prop) => ['className', 'style'].includes(prop),\n})`\n display: block;\n position: relative;\n display: block;\n margin: 30px auto;\n &:before {\n content: '';\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n left: 50%;\n border-radius: 50%;\n border: 2px solid #eee;\n border-top-color: #459ff3;\n animation: ${spinner} 0.6s linear infinite;\n }\n ${(props) => (props.inline ? inline : null)}\n\n ${(props) => (props.size ? property(SIZES[props.size] || props.size, sizeBuilder) : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) => {\n return responsiveNamedProperty({\n sizes: {\n sizeXS: getSize(sizeXS),\n sizeS: getSize(sizeS),\n sizeM: getSize(sizeM),\n sizeL: getSize(sizeL),\n sizeXL: getSize(sizeXL),\n },\n cssProperty: sizeBuilder,\n })\n }}\n\n ${(props) => (props.fullscreen ? fullscreen : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpinnerProps extends BaseProps, ResponsiveNamedProperty<'size'> {\n /**\n * Size of spinner\n */\n size?: 'l' | 's' | 'm' | number\n /**\n * Vertically center the spinner inside 100vh container\n */\n fullscreen?: boolean\n /**\n * Inline. Has no top/bottom margins\n */\n inline?: boolean\n}\n\nSpinner.defaultProps = {\n size: 'm',\n}\n\nSpinner.displayName = 'Spinner'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Spinner({ className, ...props }: typeof Spinner.defaultProps & SpinnerProps) {\n const _className = useClassname(Spinner.displayName, className)\n\n return <Styled.Root className={_className} {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { getColor } from 'mixins/color'\nimport { SwitcherProps } from './Switcher'\n\nconst switcherWidth = 60\nconst switcherHeight = 32\nconst borderRadius = 40\nconst dotSize = 24\nconst defaultBackground = '#eaecf3'\n\nexport const Input = styled.input`\n position: absolute;\n overflow: visible;\n z-index: -1;\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n`\n\nexport const Label = styled.label`\n display: inline;\n padding-left: 14px;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`\n\nexport const Switcher = styled.label`\n position: relative;\n display: block;\n box-sizing: border-box;\n width: ${switcherWidth}px;\n height: ${switcherHeight}px;\n cursor: pointer;\n user-select: none;\n transition: background 0.3s ease, background-image 0.3s ease;\n border-radius: ${borderRadius}px;\n box-shadow: inset 0 2px 2px 0 rgba(0, 0, 0, 0.08);\n background-color: ${defaultBackground};\n flex: 0 0 auto;\n &:before {\n position: absolute;\n top: ${(switcherHeight - dotSize) / 2}px;\n left: ${(switcherHeight - dotSize) / 2}px;\n display: block;\n width: ${dotSize}px;\n height: ${dotSize}px;\n content: '';\n transition: background 0.3s ease, left 0.3s ease;\n transform: translateZ(0);\n border-radius: 100%;\n background-color: ${(props) => props.theme.colors.white};\n box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);\n }\n\n &:active {\n &::before {\n box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);\n }\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n opacity: 0.7;\n\n & ${Switcher} {\n cursor: not-allowed;\n background-color: ${defaultBackground};\n box-shadow: none;\n &:before {\n background-color: ${(props) => props.theme.colors.white};\n box-shadow: none;\n }\n }\n & ${Label} {\n cursor: not-allowed;\n }\n`\n\nconst checked = css`\n & ${Switcher} {\n &:before {\n left: ${switcherWidth - dotSize - (switcherHeight - dotSize) / 2}px;\n }\n }\n`\n\nexport const Root = styled.div.withConfig<Omit<SwitcherProps, 'onChange'>>({\n shouldForwardProp: (prop) => ['className', 'style', 'children'].includes(prop),\n})`\n line-height: ${switcherHeight}px;\n position: relative;\n display: inline-flex;\n flex-direction: row;\n box-sizing: border-box;\n height: ${switcherHeight}px;\n vertical-align: middle;\n justify-content: flex-start;\n align-content: center;\n align-items: center;\n max-width: 100%;\n color: inherit;\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.value ? checked : null)}\n ${(props) =>\n props.value && props.color\n ? css`\n & ${Switcher} {\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(props.color, props)).lighten(10).toString()},\n ${getColor(props.color, props)}\n );\n }\n `\n : props.inactiveColor\n ? css`\n & ${Switcher} {\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(props.inactiveColor, props)).lighten(10).toString()},\n ${getColor(props.inactiveColor, props)}\n );\n }\n `\n : null}\n`\n","import { createRef } from 'react'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SwitcherProps extends BaseProps, Color<'color'>, Color<'inactiveColor'> {\n /**\n * Id for swithcer\n */\n id?: string\n /**\n * Name of input\n */\n name?: string\n /**\n * Value of input\n */\n value?: boolean\n /**\n * Switcher is disabled\n */\n disabled?: boolean\n /**\n * Tabindex\n */\n tabIndex?: number\n /**\n * Label of switcher\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * onChange function\n */\n onChange?(_checked: boolean, _event: React.ChangeEvent<HTMLInputElement>): void\n}\n\nSwitcher.defaultProps = {\n value: false,\n disabled: false,\n color: 'atlantis',\n}\n\nSwitcher.displayName = 'Switcher'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'inactiveColor'>`](#/Миксины)\n */\nexport function Switcher(props: typeof Switcher.defaultProps & SwitcherProps) {\n const inputRef = createRef<HTMLInputElement>()\n const { id, value, name, children, tabIndex, onChange, ...restProps } = props\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!props.disabled && typeof onChange === 'function') {\n onChange(event.target.checked, event)\n }\n }\n\n return (\n <Styled.Root value={value} {...restProps}>\n <Styled.Input\n id={id}\n name={name}\n checked={value}\n type='checkbox'\n tabIndex={tabIndex}\n ref={inputRef}\n onChange={handleChange}\n />\n <Styled.Switcher htmlFor={id} />\n {children ? <Styled.Label htmlFor={id}>{children}</Styled.Label> : null}\n </Styled.Root>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { color } from 'mixins/color'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { TabsProps } from './Tabs'\nimport { TabProps } from './TabsTab'\n\nconst BEFORE_AFTER_SHADOW_WIDTH = 20\n\nconst borderColor = (color: string) => css`\n border-bottom: 1px solid ${color};\n`\n\nconst getThemedCss = (theme: TabProps['theme']) => {\n switch (theme) {\n case 'compact':\n return css`\n font-weight: normal;\n & + & {\n margin-left: 20px;\n }\n `\n case 'crispyCompact':\n return css`\n text-transform: uppercase;\n font-size: 12px;\n height: 16px;\n line-height: 16px;\n padding-bottom: 8px;\n border-bottom: 1px solid ${(props) => props.theme.colors.mercury};\n & + & {\n margin-left: 18px;\n }\n `\n case 'crispy':\n return css`\n height: 35px;\n text-transform: uppercase;\n font-size: 12px;\n & + & {\n margin-left: 32px;\n }\n `\n default:\n return null\n }\n}\n\nconst activeTab = css`\n color: ${(props) => props.theme.colors.primary};\n position: relative;\n &:after {\n width: initial;\n opacity: 1;\n }\n`\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => prop === 'children',\n})<Pick<TabsProps, 'noBorder' | 'borderColor' | 'color' | 'width'>>`\n color: rgba(247, 247, 247, 1);\n display: flex;\n align-items: flex-end;\n justify-content: center;\n flex-direction: row;\n ${(props) => (props.borderColor && !props.noBorder ? color(props.borderColor, borderColor) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${responsiveProperty('width')}\n`\n\nexport const Inner = styled.div`\n position: relative;\n display: block;\n width: auto;\n height: auto;\n padding: 0;\n margin: 0 -20px;\n box-sizing: border-box;\n background: transparent;\n overflow: visible;\n max-width: 100%;\n width: 100%;\n &::before,\n &::after {\n position: absolute;\n z-index: 1;\n top: 0;\n bottom: 0;\n display: block;\n content: '';\n width: ${BEFORE_AFTER_SHADOW_WIDTH}px;\n height: 100%;\n }\n\n &::before {\n left: 0;\n background: linear-gradient(-90deg, rgba(247, 247, 247, 0) 0%, currentColor 100%);\n }\n\n &::after {\n right: 0;\n background: linear-gradient(90deg, rgba(247, 247, 247, 0) 0%, currentColor 100%);\n }\n`\n\nexport const Content = styled.div<Pick<TabsProps, 'noBorder'>>`\n display: block;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n box-sizing: border-box;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n color: ${(props) => props.theme.colors.mineShaft};\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n height: 0;\n background: transparent;\n visibility: hidden;\n }\n\n &::-webkit-scrollbar-thumb {\n height: 0px;\n background: transparent;\n visibility: hidden;\n }\n\n ${(props) =>\n props.noBorder\n ? css`\n display: flex;\n justify-content: space-between;\n width: 100%;\n `\n : null}\n`\n\nexport const Tab = styled.div.withConfig<TabProps & { themeKey: TabProps['theme'] }>({\n shouldForwardProp: (prop) => !['themeKey', 'color', 'borderColor', 'active'].includes(prop),\n})`\n display: inline-block;\n margin-bottom: -1px;\n flex-shrink: 0;\n font-size: 16px;\n font-weight: bold;\n line-height: 20px;\n padding-bottom: 14px;\n text-decoration: none;\n cursor: pointer;\n z-index: 2;\n transition: color 0.2s ease-out;\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.borderColor ? color(props.borderColor, borderColor) : null)}\n &:after {\n opacity: 0;\n width: 0;\n content: '';\n height: 3px;\n position: absolute;\n bottom: -1px;\n z-index: 1;\n left: 0;\n right: 0;\n background-color: currentColor;\n transition: opacity 0.2s ease-out;\n }\n &:hover {\n color: ${(props) => props.theme.colors.primary};\n }\n & + & {\n margin-left: 60px;\n }\n ${(props) => (props.themeKey ? getThemedCss(props.themeKey) : null)}\n ${(props) => (props.active ? activeTab : null)}\n &.active {\n ${activeTab}\n }\n`\n","import { NavLink } from 'react-router-dom'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nexport interface TabProps extends Color, Color<'borderColor'> {\n /**\n * An element type to render as (string or function).\n */\n as?: 'div' | 'a' | 'button' | 'span' | typeof NavLink\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Active tab.\n */\n active?: boolean\n /**\n * Active tab.\n */\n activeClassName?: string\n /**\n * Active tab.\n */\n theme?: 'compact' | 'crispy' | 'crispyCompact'\n className?: string\n}\n\nTabsTab.defaultProps = {\n as: 'div',\n activeClassName: 'active',\n borderColor: 'alto',\n color: 'mineShaft',\n}\n\nexport function TabsTab(props: TabProps) {\n const { as, className, children, theme, ...rest } = props\n\n const linkProps = typeof as !== 'string' ? { activeClassName: 'active' } : {}\n\n return (\n <Styled.Tab as={as} className={className} themeKey={theme} {...linkProps} {...rest}>\n {children}\n </Styled.Tab>\n )\n}\n","import { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport { TabsTab } from './TabsTab'\nimport * as Styled from './style'\n\nexport interface TabsProps extends BaseProps, Color, Color<'borderColor'> {\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n className?: string\n classNameInner?: string\n classNameContent?: string\n noBorder?: boolean\n width?: ResponsiveProperty<number>\n}\n\nTabs.defaultProps = {\n borderColor: 'alto',\n color: 'rgba(247, 247, 247, 1)',\n}\n\nTabs.Tab = TabsTab\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'borderColor'>`](#/Миксины)\n */\nexport function Tabs(props: TabsProps) {\n const { children, className, classNameInner, classNameContent, borderColor, color, noBorder, style, width } = props\n\n return (\n <Styled.Root\n className={className}\n style={style}\n width={width}\n borderColor={borderColor}\n color={color}\n noBorder={noBorder}\n >\n <Styled.Inner className={classNameInner}>\n <Styled.Content noBorder={noBorder} className={classNameContent}>\n {children}\n </Styled.Content>\n </Styled.Inner>\n </Styled.Root>\n )\n}\n","import { TooltipProps } from './Tooltip'\n\nconst zIndex = 100\n\nexport const tooltipStyles: TooltipProps['styles'] = {\n wrapper: {\n display: 'inline-flex',\n flexDirection: 'column',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0 6px 6px rgba(0, 0, 0, 0.2))',\n WebkitFilter: 'drop-shadow(0 6px 6px rgba(0, 0, 0, 0.2))',\n maxWidth: 300,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 100,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 3,\n backgroundColor: '#fff',\n color: 'var(--mineShaft)',\n minHeight: 32,\n minWidth: 180,\n padding: '16px',\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n title: {\n borderBottom: '1px solid var(--mineShaft)',\n color: 'var(--mineShaft)',\n fontWeight: 'bold',\n fontSize: 18,\n marginBottom: 5,\n paddingBottom: 6,\n paddingRight: 18,\n },\n content: {\n fontSize: 12,\n lineHeight: '16px',\n },\n close: {\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n color: 'var(--mineShaft)',\n fontSize: 14,\n height: 10,\n lineHeight: '16px',\n outline: 'none',\n padding: 0,\n position: 'absolute',\n right: '4px',\n textAlign: 'center',\n top: '4px',\n WebkitAppearance: 'none',\n width: 10,\n },\n footer: {\n borderTop: '1px solid var(--mineShaft)',\n fontSize: 13,\n marginTop: 10,\n paddingTop: 5,\n },\n arrow: {\n color: '#fff',\n display: 'inline-flex',\n length: 6,\n position: 'absolute',\n spread: 12,\n },\n options: {\n zIndex,\n },\n}\n\nexport const tooltipStylesRounend: TooltipProps['styles'] = {\n wrapper: {\n cursor: 'pointer',\n display: 'inline-flex',\n flexDirection: 'column',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n WebkitFilter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n maxWidth: 300,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 100,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 10,\n backgroundColor: '#fff',\n color: 'var(--mineShaft)',\n minHeight: 20,\n minWidth: 58,\n padding: '2px 6px 1px',\n position: 'relative',\n display: 'flex',\n textAlign: 'center',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n title: {\n display: 'block',\n color: 'var(--mineShaft)',\n fontWeight: 'bold',\n fontSize: '12px',\n lineHeight: '17px',\n marginBottom: 0,\n paddingBottom: 0,\n paddingRight: 0,\n borderBottom: 'none',\n },\n content: {\n fontSize: '12px',\n lineHeight: '17px',\n textDecoration: 'none',\n },\n close: {\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n color: 'var(--mineShaft)',\n fontSize: 14,\n height: 10,\n lineHeight: '16px',\n outline: 'none',\n padding: 0,\n position: 'absolute',\n right: '4px',\n textAlign: 'center',\n top: '4px',\n WebkitAppearance: 'none',\n width: 10,\n },\n footer: {\n borderTop: '1px solid var(--mineShaft)',\n fontSize: 13,\n marginTop: 10,\n paddingTop: 5,\n },\n arrow: {\n display: 'none',\n length: 0,\n position: 'absolute',\n spread: 0,\n },\n options: {\n zIndex,\n },\n}\n\nexport const tooltipDisplayBlockStyles: TooltipProps['styles'] = {\n ...tooltipStyles,\n wrapper: {\n ...tooltipStyles.wrapper,\n display: 'block',\n },\n}\n","import Floater from 'react-floater'\nimport { mergeDeepRight } from 'ramda'\nimport { tooltipStyles, tooltipStylesRounend, tooltipDisplayBlockStyles } from './tooltip-styles'\n\nTooltip.defaultProps = {\n autoOpen: false,\n disableAnimation: false,\n disableFlip: false,\n disableHoverToClick: false,\n event: 'click',\n eventDelay: 0.4,\n offset: 15,\n placement: 'bottom',\n showCloseButton: false,\n styles: tooltipStyles,\n target: null,\n wrapperOptions: {\n position: false,\n },\n component: null,\n}\n\nTooltip.themes = {\n tooltipStyles,\n tooltipDisplayBlockStyles,\n tooltipStylesRounend,\n}\n\nTooltip.displayName = 'Tooltip'\n\ntype FloaterProps = Parameters<typeof Floater>[0]\n\nexport type TooltipProps = FloaterProps\n\n/**\n * Основан на [react-floater](https://github.com/gilbarbara/react-floater).\n */\nexport function Tooltip({ children, styles = {}, ...props }: TooltipProps) {\n const tooltipStyle = mergeDeepRight(tooltipStyles || {}, styles) as TooltipProps['styles']\n\n return (\n <Floater styles={tooltipStyle} {...props}>\n {children}\n </Floater>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { color } from 'mixins/color'\nimport { property, PossibleValues, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { Text as UiText, TextProps } from '../Text/Text'\nimport { TagProps } from './Tag'\n\nconst WIDTHS: Record<Partial<Exclude<TagProps['size'], 'auto' | undefined>>, number> = {\n l: 220,\n m: 182,\n s: 100,\n xs: 60,\n}\n\nconst chooseWidthValue = (props: TagProps): PossibleValues => {\n if (props.width === 'auto') return 'auto'\n if (typeof props.width === 'number') return props.width\n\n if (props.size && WIDTHS[props.size]) return WIDTHS[props.size]\n\n return 'auto'\n}\n\nconst active = css`\n border-color: transparent;\n background-color: currentColor;\n`\n\nexport const Text = styled(UiText)<TextProps>`\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n vertical-align: middle;\n transition: color 0.25s ease;\n`\n\nconst disabled = css`\n cursor: not-allowed;\n background-color: rgba(0, 0, 0, 0.04);\n ${Text} {\n color: rgba(0, 0, 0, 0.16);\n }\n`\n\nexport const Root = styled.button.withConfig<TagProps>({\n shouldForwardProp: (prop) => ['children', 'htmlFor', 'className', 'style', 'onClick'].includes(prop),\n})`\n padding: 0px 16px;\n margin-bottom: 10px;\n border-radius: 3px;\n background-color: ${(props) => props.theme.colors.white};\n border: 1px solid ${(props) => props.theme.colors.whiteGray};\n box-sizing: border-box;\n vertical-align: middle;\n transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;\n cursor: pointer;\n text-align: center;\n touch-action: manipulation;\n min-width: 60px;\n\n ${(props) => (props.size ? property(chooseWidthValue(props), 'width') : null)}\n ${(props) => (props.height ? property(props.height, 'line-height') : null)}\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n ${({ heightXS, heightS, heightM, heightL, heightXL }) =>\n responsiveNamedProperty({ sizes: { heightXS, heightS, heightM, heightL, heightXL }, cssProperty: 'height' })}\n\n ${(props) => (props.width ? property(props.width, 'width') : null)}\n ${({ widthXS, widthS, widthM, widthL, widthXL }) =>\n responsiveNamedProperty({ sizes: { widthXS, widthS, widthM, widthL, widthXL }, cssProperty: 'width' })}\n\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n\n &:not(:last-child) {\n margin-right: 20px;\n }\n\n ${(props) =>\n !props.disabled\n ? css`\n &:hover:not(:disabled) {\n border-color: currentColor;\n }\n &:active:not(:disabled) {\n ${active}\n ${Text} {\n color: ${(props) => props.theme.colors.white};\n }\n }\n `\n : null}\n\n ${(props) => (props.inverse || props.checked ? active : null)}\n\n &:disabled {\n ${disabled}\n }\n ${(props) => (props.disabled ? disabled : null)}\n`\n","import { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { TextProps } from '../Text/Text'\nimport * as Styled from './style'\n\nexport interface TagProps\n extends BaseProps,\n Display,\n Color,\n ResponsiveNamedProperty<'height'>,\n ResponsiveNamedProperty<'width'> {\n as?: 'button' | 'div' | 'input' | 'label'\n /**\n * Field id\n */\n id?: string\n /**\n * Field name\n */\n name?: string\n /**\n * Input type\n */\n inputType?: 'checkbox' | 'radio'\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * On click handler\n */\n onClick?(_e: React.MouseEvent<HTMLInputElement>): void\n /**\n * Whether or not Radio is checked\n */\n defaultChecked?: boolean\n /**\n * Value\n */\n value?: string | number\n /** Children are placed before Text */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /** Inner Text content */\n content?: React.ReactNode\n /** Inner Text component props */\n textProps?: TextProps\n /** Checked state */\n checked?: boolean\n /** Disabled state */\n disabled?: boolean\n /** Error state */\n error?: boolean\n /** If as = 'label' could provide for */\n htmlFor?: string\n /**\n * inverse\n */\n inverse?: boolean\n /**\n * Size\n */\n size?: 'l' | 'm' | 's' | 'xs'\n}\n\nTag.defaultProps = {\n display: 'inline-block',\n as: 'button',\n height: 40,\n}\n\nTagInput.defaultProps = {\n display: 'inline-block',\n height: 40,\n}\n\n// Prevent brakechanges\nTag.Input = TagInput\n\nTag.displayName = 'Tag'\n\nfunction TagInput(props: typeof TagInput.defaultProps & TagProps) {\n return <Tag as='input' {...props} />\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'width'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'height'>`](#/Миксины)\n */\nexport function Tag(props: typeof Tag.defaultProps & TagProps) {\n const {\n as,\n textProps,\n content,\n children,\n htmlFor,\n id,\n name,\n inputType,\n value,\n disabled,\n onChange,\n onClick,\n inverse,\n checked,\n ...restProps\n } = props\n\n const buttonProps = as === 'button' ? { type: 'button' } : {}\n const labelProps = as === 'label' ? { htmlFor } : {}\n const inputProps = as === 'input' ? { htmlFor: id || name } : {}\n\n return (\n <Styled.Root\n as={as === 'input' ? 'label' : as}\n inverse={inverse}\n checked={checked}\n disabled={disabled}\n onClick={as !== 'input' ? onClick : undefined}\n {...labelProps}\n {...buttonProps}\n {...inputProps}\n {...restProps}\n >\n {as === 'input' ? (\n <input\n id={id || name}\n name={name}\n type={inputType || 'checkbox'}\n tabIndex={0}\n onChange={(e) => {\n e.persist()\n\n return onChange && onChange(e)\n }}\n onClick={(e) => {\n e.persist()\n\n return onClick && onClick(e)\n }}\n defaultChecked={props.defaultChecked}\n checked={checked}\n value={value}\n disabled={disabled}\n hidden\n />\n ) : null}\n {children}\n <Styled.Text size={14} forwardedAs='span' color={checked && !inverse ? 'white' : 'mineShaft'} {...textProps}>\n {content}\n </Styled.Text>\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\n\nexport const HeadingRoot = styled.div`\n display: block;\n padding: 9px 20px 16px;\n user-select: none;\n text-transform: uppercase;\n`\n\nexport const SubHeadingRoot = styled.div`\n display: block;\n padding: 9px 20px 16px;\n user-select: none;\n`\n\nexport const ControlsRoot = styled.div`\n display: flex;\n justify-content: space-between;\n border-top: 1px solid ${(props) => props.theme.colors.mercury};\n user-select: none;\n`\n\nexport const ControlsItem = styled.div`\n padding: 12px 20px;\n cursor: pointer;\n`\n\nexport const MultilevelItems = styled.div`\n max-height: 170px;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n`\n","import { Text } from '../Text'\nimport * as Styled from './style'\n\nexport interface HeadingProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: React.ReactNode\n}\n\nexport function Heading({ children, content }: HeadingProps) {\n return (\n <Styled.HeadingRoot>\n {children}\n <Text size='s' lineHeight='s' weight='bold' color='mineShaft'>\n {content}\n </Text>\n </Styled.HeadingRoot>\n )\n}\n","import { Text } from '../Text'\nimport * as Styled from './style'\n\nexport interface SubHeadingProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: React.ReactNode\n}\n\nexport function SubHeading({ children, content }: SubHeadingProps) {\n return (\n <Styled.SubHeadingRoot>\n {children}\n <Text size='s' lineHeight='s' color='mineShaft'>\n {content}\n </Text>\n </Styled.SubHeadingRoot>\n )\n}\n","import { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text'\nimport { MultiLevelControls } from './ContextMenu.Multilevel'\nimport * as Styled from './style'\n\nexport interface ControlsProps extends BaseProps {\n /** Cancel Text element props */\n cancel?: MultiLevelControls['cancel']\n /** Confirm Text element props */\n confirm?: MultiLevelControls['confirm']\n}\n\nexport function Controls({ cancel, confirm, className, style }: ControlsProps) {\n return (\n <Styled.ControlsRoot className={className} style={style}>\n {cancel ? (\n <Styled.ControlsItem className='cancel' role='button' onClick={cancel.onClick}>\n <Text size='m' lineHeight='s' content={cancel.content} color={cancel.color || 'silver'} />\n </Styled.ControlsItem>\n ) : null}\n {confirm ? (\n <Styled.ControlsItem className='confirm' role='button' onClick={confirm.onClick}>\n <Text size='m' lineHeight='s' content={confirm.content} color={confirm.color || 'accent'} />\n </Styled.ControlsItem>\n ) : null}\n </Styled.ControlsRoot>\n )\n}\n","import { PureComponent } from 'react'\nimport { ColorNames } from '../../theme/colors'\nimport { Spacer } from '../../components/Spacer'\nimport { ContextMenu, ContextMenuProps } from '../ContextMenu/ContextMenu'\nimport { BaseProps, HEX, RGB, RGBA } from '../../shared/interfaces'\nimport { Heading } from './Heading'\nimport { SubHeading } from './SubHeading'\nimport { Controls } from './Controls'\nimport * as Styled from './style'\n\nexport interface MultiLevelControls {\n cancel?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n confirm?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n}\n\nexport interface MultiLevelItem {\n id: string | number\n heading?: string\n subheading?: string\n content?: string\n preventClosing?: boolean\n // eslint-disable-next-line no-use-before-define\n config?: MultiLevelConfig\n items?: MultiLevelItem[]\n controls?: MultiLevelControls\n level?: number\n active?: boolean\n onClick?(_item: MultiLevelItem): void\n}\n\nexport interface MultiLevelConfig {\n items?: MultiLevelItem[]\n heading?: string\n subheading?: string\n controls?: MultiLevelControls\n}\n\nexport interface ContextMenuMultiLevelProps extends ContextMenuProps, BaseProps {\n /** Menu config */\n config?: MultiLevelConfig\n /** On select item callback */\n onSelectItem?(_item: MultiLevelItem, _level: MultiLevelItem['level']): void\n}\n\ninterface ContextMenuMultiLevelState {\n selectedItems: (number | string)[]\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenuMultiLevel extends PureComponent<ContextMenuMultiLevelProps, ContextMenuMultiLevelState> {\n resetTimeout?: ReturnType<typeof setTimeout>\n static displayName = 'ContextMenu.MultiLevel'\n static defaultProps = {\n config: {},\n }\n\n constructor(props: ContextMenuMultiLevelProps) {\n super(props)\n\n this.state = {\n selectedItems: [],\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.resetTimeout)\n }\n\n onSelectItem = (selectedItem: MultiLevelItem) => {\n const { id, level } = selectedItem\n\n const { selectedItems } = this.state\n const newSelectedItems = [...selectedItems.slice(0, level), id]\n\n this.setState({ selectedItems: newSelectedItems })\n\n if (typeof this.props.onSelectItem === 'function') this.props.onSelectItem(selectedItem, level)\n }\n\n getCurrentConfig = (): MultiLevelConfig | null => {\n const { config } = this.props\n const { selectedItems } = this.state\n\n if (!config) return null\n\n if (!selectedItems.length) return config\n\n try {\n const currentConfig = selectedItems.reduce((acc, levelId) => {\n return acc.items ? acc.items.find((item) => item.id === levelId)?.config || {} : {}\n }, config)\n\n return currentConfig\n } catch (error) {\n return null\n }\n }\n\n reset = () => {\n /* Reset timeout to prevent state switch due to slow tooltip closing animation */\n this.resetTimeout = setTimeout(() => this.setState({ selectedItems: [] }), 200)\n }\n\n itemOnClickHandler: React.MouseEventHandler<HTMLDivElement> = (e) => {\n const config = this.getCurrentConfig()\n if (!config) throw new Error('Config not found')\n\n const { items = [] } = config\n const { currentTarget } = e\n\n const { id = null } = currentTarget.dataset\n\n if (id === null) throw new Error('Data-id for item not found')\n\n const item = items.find((item) => `${item.id}` === id)\n\n if (!item) throw new Error('Item not found')\n\n if (item.config || item.preventClosing) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n if (item.config) {\n /* If menu item has config - select item to show inner level */\n this.onSelectItem(item)\n }\n\n if (typeof item.onClick === 'function') {\n item.onClick(item)\n }\n }\n\n render() {\n const { children, className, tooltipProps, isOpen, trigger, ...anotherProps } = this.props\n const { selectedItems } = this.state\n const config = this.getCurrentConfig()\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { config: _config, onSelectItem: _onSelectItem, ...restProps } = anotherProps\n\n return (\n <ContextMenu\n className={className}\n tooltipProps={tooltipProps}\n isOpen={isOpen}\n onClose={this.reset}\n trigger={trigger}\n {...restProps}\n >\n {children}\n <>\n <Spacer top={9} />\n {config?.heading ? <Heading content={config.heading} /> : null}\n {config?.subheading ? <SubHeading content={config.subheading} /> : null}\n {config?.items ? (\n <Styled.MultilevelItems>\n {config.items.map((item) => (\n <ContextMenu.Item\n key={item.id}\n id={item.id}\n content={item.content}\n active={(item.level && Boolean(selectedItems[item.level] === item.id)) || item.active}\n onClick={this.itemOnClickHandler}\n />\n ))}\n </Styled.MultilevelItems>\n ) : null}\n {config?.controls ? <Controls {...config.controls} /> : <Spacer top={9} />}\n </>\n </ContextMenu>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { ContextMenuProps } from './ContextMenu'\nimport { ContextMenuItemProps } from './Item'\n\nconst isOpen = css`\n &:after {\n cursor: default;\n user-select: none;\n content: '';\n display: block;\n position: fixed;\n width: 100%;\n height: 100%;\n z-index: ${(props) => props.theme.zIndex.tooltip};\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n }\n`\n\nconst disabledItem = css`\n background-color: ${(props) => props.theme.colors.alabaster};\n opacity: 0.6;\n cursor: default;\n`\n\nconst notDisabledItem = css`\n &:hover {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n`\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => ['className', 'onClick', 'children', 'style'].includes(prop),\n})<Pick<ContextMenuProps, 'isOpen' | 'hideOverlay'>>`\n display: inline-block;\n position: relative;\n [style*='cursor'] {\n cursor: default !important;\n }\n & + & {\n margin-left: 16px;\n }\n ${(props) => (props.isOpen && Boolean(props.hideOverlay) === false ? isOpen : null)}\n`\n\nexport const RootItem = styled.div.withConfig({\n shouldForwardProp: (prop) => ['className', 'onClick', 'children', 'data-id'].includes(prop),\n})<Pick<ContextMenuItemProps, 'active' | 'disabled'>>`\n display: block;\n padding: 8px 20px 7px;\n transition: background-color 0.4s ease-out;\n cursor: pointer;\n user-select: none;\n ${(props) =>\n props.active\n ? css`\n background-color: ${props.theme.colors.onahau};\n `\n : null}\n ${(props) => (props.disabled ? disabledItem : notDisabledItem)}\n`\n","import { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text'\nimport * as Styled from './style'\n\nconst disabledHandler = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.preventDefault()\n e.stopPropagation()\n\n return false\n}\n\nexport interface ContextMenuItemProps extends BaseProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: string\n active?: boolean\n disabled?: boolean\n onClick?: React.MouseEventHandler<HTMLDivElement>\n id?: string | number\n}\n\nContextMenuItem.displayName = 'ContextMenu.Item'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport function ContextMenuItem({\n children,\n id,\n content,\n active,\n disabled,\n onClick,\n className,\n style,\n}: ContextMenuItemProps) {\n return (\n <Styled.RootItem\n style={style}\n className={className}\n active={active}\n disabled={disabled}\n onClick={disabled ? disabledHandler : onClick}\n data-id={id}\n >\n {children}\n <Text size='s' lineHeight='s' color='mineShaft' content={content} />\n </Styled.RootItem>\n )\n}\n","/* eslint-disable no-use-before-define */\nimport { cloneElement, PureComponent } from 'react'\nimport { ContextMenuMultiLevel } from '../../components/ContextMenu.Multilevel'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Tooltip } from './../Tooltip'\nimport { ContextMenuItem } from './Item'\nimport * as Styled from './style'\nimport { tooltipStyles } from './tooltip-styles'\n\nexport interface ContextMenuProps extends BaseProps {\n /**\n * Children react node\n */\n children: React.ReactNode\n /** Indicates if button is active (e.g. when context menu is open) */\n onClick?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Manually controled state */\n isOpen?: boolean\n /** On open menu callback */\n onOpen?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** On close menu callback */\n onClose?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Content */\n trigger?: React.ReactNode\n /** Properties for inner Tooltip component */\n tooltipProps?: Partial<Parameters<typeof Tooltip>[0]>\n /** Hide overlay for debug */\n hideOverlay?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenu extends PureComponent<ContextMenuProps, { isOpen: boolean }> {\n static Item = ContextMenuItem\n static MultiLevel = ContextMenuMultiLevel\n static displayName = 'ContextMenu'\n\n static defaultProps = {\n tooltipProps: {\n event: 'click',\n placement: 'left-start',\n offset: 2,\n showCloseButton: false,\n styles: tooltipStyles,\n },\n hideOverlay: false,\n }\n\n constructor(props: ContextMenuProps) {\n super(props)\n\n this.state = {\n isOpen: this.props.isOpen || false,\n }\n }\n\n getOpen = () => {\n const { isOpen } = this.props\n\n if (isOpen !== undefined) return isOpen\n\n return this.state.isOpen || false\n }\n\n openMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: true })\n\n const { onOpen } = this.props\n\n onOpen && onOpen(e)\n }\n\n closeMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: false })\n\n const { onClose } = this.props\n\n onClose && onClose(e)\n }\n\n toggleMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n const { openMenu, closeMenu } = this\n const isOpen = this.getOpen()\n\n e.persist()\n e.preventDefault()\n e.stopPropagation()\n\n isOpen ? closeMenu(e) : openMenu(e)\n\n return false\n }\n\n render() {\n const { className, tooltipProps = {}, trigger, children, hideOverlay } = this.props\n const isOpen = this.getOpen()\n\n if (children) tooltipProps.content = children\n\n return (\n <Styled.Root className={className} isOpen={isOpen} onClick={this.toggleMenu} hideOverlay={hideOverlay}>\n <Tooltip {...tooltipProps} open={isOpen}>\n <div onClick={this.closeMenu}>{trigger && cloneElement(trigger as any, { active: isOpen })}</div>\n </Tooltip>\n </Styled.Root>\n )\n }\n}\n","const zIndex = 100\n\nexport const tooltipStyles = {\n wrapper: {\n display: 'inline-block',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n WebkitFilter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n maxWidth: 300,\n minWidth: 200,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 99,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 4,\n border: '1px solid #E9E9E9',\n color: '#333',\n backgroundColor: '#fff',\n minHeight: 32,\n minWidth: 180,\n padding: '0',\n position: 'relative',\n display: 'block',\n overflow: 'hidden',\n },\n content: {\n display: 'block',\n },\n arrow: {\n display: 'none',\n },\n}\n","export const WIDTHS = {\n l: 380,\n m: 300,\n s: 220,\n xs: 140,\n}\n","import { PossibleValues } from 'mixins/responsive-property'\nimport { WIDTHS } from './constants'\n\nexport const chooseWidthValue = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && WIDTHS[width]) return WIDTHS[width]\n\n return 'auto'\n}\n","import styled, { css, DefaultTheme } from 'styled-components'\nimport InputMask from 'react-input-mask'\nimport tinycolor from 'tinycolor2'\nimport { color } from 'mixins/color'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { chooseWidthValue } from '../../components/Input/helpers'\nimport { InputField } from '../../shared/interfaces'\nimport { InputProps } from './Input'\n\nexport const errorStyle = css`\n border: 1px solid ${(props) => props.theme.colors.pomegranate};\n background-color: ${(props) => tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n`\n\nexport const disabledStyle = css`\n background-color: rgba(0, 0, 0, 0.04);\n border-color: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n &:disabled {\n background-color: rgba(0, 0, 0, 0.04);\n border-color: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n }\n`\n\nexport const focusStyle = css`\n &:focus {\n border: 1px solid ${(props) => props.theme.colors.accent};\n outline: none;\n }\n`\n\nexport const roundedStyle = css`\n border-radius: ${(props) => props.theme.borderRadius};\n`\n\nexport const baseInputStyle = <T extends InputField>(props: T & { theme: DefaultTheme }) => css`\n box-sizing: border-box;\n display: block;\n background-color: ${props.theme.colors.white};\n border: solid 1px ${props.theme.colors.alto};\n width: 100%;\n appearance: none;\n font-size: 16px;\n ${props.color ? color(props.color) : null};\n &::placeholder {\n ${props.placeholderColor ? color(props.placeholderColor) : null}\n }\n ${focusStyle}\n ${props.disabled ? disabledStyle : null}\n ${props.rounded ? roundedStyle : null}\n\n ${props.width ? property(chooseWidthValue(props.fluid ? 'auto' : props.width), 'max-width') : null}\n ${responsiveNamedProperty({\n sizes: {\n widthXS: props.widthXS,\n widthS: props.widthS,\n widthM: props.widthM,\n widthL: props.widthL,\n widthXL: props.widthXL,\n },\n cssProperty: 'max-width',\n customSizeHandler: chooseWidthValue,\n })}\n ${props.error ? errorStyle : null}\n`\n\nexport const Root = styled(InputMask).withConfig<InputProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n line-height: 24px;\n padding: 15px 20px 11px;\n ${(props) => baseInputStyle(props)}\n`\n","import styled from 'styled-components'\nimport { baseInputStyle } from '../../components/Input/style'\nimport { TextareaProps } from './Textarea'\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n ${(props) => baseInputStyle(props)}\n`\n","import { useCallback, useState } from 'react'\nimport { BaseProps, InputField } from '../../shared/interfaces'\nimport * as Styled from './style'\n\ntype TextAreaHTMLAttributes = Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'cols' | 'rows' | 'color'>\n\nexport interface TextareaProps extends BaseProps, InputField, TextAreaHTMLAttributes {\n /**\n * Specifies the visible width of a text area\n */\n cols?: number\n /**\n * Specifies the visible number of lines in a text area\n */\n rows?: number\n /**\n * Specifies the visible max number of lines in a text area\n */\n maxRows?: number\n /**\n * Specifies the maximum number of characters allowed in the text area\n */\n maxLength?: number\n /**\n * On change handler\n */\n onChange?(_event: React.ChangeEvent<HTMLTextAreaElement>): void\n /**\n * Value\n */\n value?: string\n /**\n * Autosize for textarea\n */\n autosize?: boolean\n}\n\nTextarea.defaultProps = {\n onChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n rounded: true,\n width: 'l',\n color: 'mineShaft',\n placeholderColor: 'silver',\n cols: 20,\n maxRows: 30,\n rows: 2,\n autosize: true,\n}\n\nTextarea.displayName = 'Textarea'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`InputField`](#/Миксины)\n * - `React.TextareaHTMLAttributes<HTMLTextAreaElement>`\n */\nexport function Textarea({\n cols,\n disabled,\n error,\n fluid,\n name,\n onChange,\n maxLength,\n placeholder,\n required,\n rounded,\n rows,\n tabIndex,\n value,\n className,\n style,\n children,\n autosize,\n maxRows,\n color,\n placeholderColor,\n ...props\n}: typeof Textarea.defaultProps & TextareaProps) {\n const [tRows, setRows] = useState(rows)\n\n const onChangeHandler: React.ChangeEventHandler<HTMLTextAreaElement> = useCallback(\n (event) => {\n const { target } = event\n\n if (target instanceof HTMLTextAreaElement && autosize) {\n const rect = target.getBoundingClientRect()\n\n if (target.scrollHeight > rect.height && tRows < maxRows) {\n setRows(tRows + 1)\n } else if (!target.value || target.value === '') {\n setRows(rows)\n }\n }\n\n if (typeof onChange === 'function') {\n onChange(event)\n }\n },\n [onChange, tRows, maxRows, autosize]\n )\n\n return (\n <Styled.Root\n className={className}\n style={style}\n onChange={onChangeHandler}\n cols={cols}\n disabled={disabled}\n maxLength={maxLength}\n name={name}\n placeholder={placeholder}\n required={required}\n rows={tRows}\n tabIndex={tabIndex}\n value={value}\n color={color}\n rounded={rounded}\n placeholderColor={placeholderColor}\n fluid={fluid}\n error={error}\n {...props}\n >\n {children}\n </Styled.Root>\n )\n}\n","export const INITIAL_MASK = '99999999999999999999'\n\nexport const DEFAULT_MASK = `+${INITIAL_MASK}`\n\nexport const RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH = 10\n\nexport const COUNTRY_DATA: [string, string, string, RegExp][] = [\n ['Россия', '7', '+9 (999) 999-99-99', /^(\\+?7|8)([0-9()\\-\\s]{8,20})$/],\n ['Россия', '8', '+9 (999) 999-99-99', /^(\\+?7|8)([0-9()\\-\\s]{8,20})$/],\n ['Украина', '380', '+999 (99) 999-99-99', /^(\\+?380)([0-9()\\-\\s]{8,20})$/],\n ['Беларусь', '375', '+999 (999) 99-99-99', /^(\\+?375)([0-9()\\-\\s]{8,20})$/],\n ['Узбекистан', '998', '+999 (99) 999-99-99', /^(\\+?998)([0-9()\\-\\s]{8,20})$/],\n ['Молдова', '373', '+999 (99) 99-99-99', /^(\\+?373)([0-9()\\-\\s]{8,20})$/],\n ['Азербайджан', '994', '+999 (99) 999-99-99', /^(\\+?994)([0-9()\\-\\s]{8,20})$/],\n ['Киргизия', '996', '+999 (999) 99-99-99', /^(\\+?996)([0-9()\\-\\s]{8,20})$/],\n ['Болгария', '359', '+999 (999) 99-99-99', /^(\\+?359)([0-9()\\-\\s]{8,20})$/],\n ['Германия', '49', '+99 (999) 99999999', /^(\\+?49)([0-9()\\-\\s]{8,20})$/],\n ['США', '1', '+9 (999) 999-99-99', /^(\\+?1)([0-9()\\-\\s]{8,20})$/],\n ['Армения', '374', '+999 (99) 99-99-99', /^(\\+?374)([0-9()\\-\\s]{8,20})$/],\n ['Израиль', '972', '+999 (99) 999-99-99', /^(\\+?972)([0-9()\\-\\s]{8,20})$/],\n ['Испания', '34', '+99 (999) 99-99-99', /^(\\+?34)([0-9()\\-\\s]{8,20})$/],\n ['Латвия', '371', '+999 (99) 999-999', /^(\\+?371)([0-9()\\-\\s]{8,20})$/],\n ['Бахрейн', '973', '+999 (99) 999-999', /^(\\+?973)([0-9()\\-\\s]{8,20})$/],\n ['Турция', '90', '+99 (999) 999-9999', /^(\\+?90)([0-9()\\-\\s]{8,20})$/],\n ['Литва', '370', '+999 (999) 99999', /^(\\+?370)([0-9()\\-\\s]{8,20})$/],\n ['Великобритания', '44', '+99 (99) 9999-9999', /^(\\+?44)([0-9()\\-\\s]{8,20})$/],\n ['Индия', '91', '+99 (99) 99-999999', /^(\\+?91)([0-9()\\-\\s]{8,20})$/],\n ['Черногория', '382', '+999 (99) 999-999', /^(\\+?382)([0-9()\\-\\s]{8,20})$/],\n ['Мексика', '52', '+99 (999) 999-99-99', /^(\\+?52)([0-9()\\-\\s]{8,20})$/],\n ['Польша', '48', '+99 999999999', /^(\\+?48)([0-9()\\-\\s]{8,20})$/],\n ['Италия', '39', '+99 (999) 999-99-99', /^(\\+?39)([0-9()\\-\\s]{8,20})$/],\n ['Таиланд', '66', '+99 999-999-999', /^(\\+?66)([0-9()\\-\\s]{8,20})$/],\n ['Грузия', '995', '+999 (999) 999-999', /^(\\+?995)([0-9()\\-\\s]{8,20})$/],\n ['Шри-Ланка', '94', '+99 (99) 9999999', /^(\\+?94)([0-9()\\-\\s]{8,20})$/],\n ['Китай', '86', '+99 (999) 9999-9999', /^(\\+?86)([0-9()\\-\\s]{8,20})$/],\n ['Кипр', '357', '+999 (99) 999999', /^(\\+?357)([0-9()\\-\\s]{8,20})$/],\n ['ОАЭ', '971', '+999 99-999-9999', /^(\\+?971)([0-9()\\-\\s]{8,20})$/],\n ['Франция', '33', '+33(999)999-999', /^(\\+?33)([0-9()\\-\\s]{8,20})$/],\n ['Германия', '49', '+99(9999)999-9999', /^(\\+?49)([0-9()\\-\\s]{8,20})$/],\n ['Япония', '81', '+99 99-9999-9999', /^(\\+?81)([0-9()\\-\\s]{8,20})$/],\n ['Австрия', '43', '+99(999)999-9999', /^(\\+?43)([0-9()\\-\\s]{8,20})$/],\n ['Южная Корея', '82', '+99(999)999-9999', /^(\\+?82)([0-9()\\-\\s]{8,20})$/],\n]\n\nexport const REGEXPS = {\n FILLED: /^\\+\\d.*$/,\n FROM_8: /^\\+?8(.*)$/,\n FROM_9: /^\\+?9(.*)$/,\n NOT_NUMBERS: /\\D/gim,\n}\n","/* eslint-disable no-use-before-define */\nimport { PureComponent } from 'react'\nimport { InputState } from 'react-input-mask'\nimport { Input, InputProps } from '../Input/Input'\nimport {\n COUNTRY_DATA,\n DEFAULT_MASK,\n INITIAL_MASK,\n REGEXPS,\n RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH,\n} from './constants'\n\nconst onlyNumbers = (value = ''): string => value.replace(REGEXPS.NOT_NUMBERS, '')\n\nexport interface InputPhoneProps extends InputProps {\n /**\n * Settings for different country codes\n */\n countryData?: string[][]\n /**\n * Default field mask that is set when none of the countryData prop matches\n */\n defaultMask?: string\n /**\n * The default field mask when the phone field is empty is required to enable autocomplete in\n * the browser\n */\n initialMask?: string\n /** If event should return stripped phone value (not for redux forms) */\n stripValue?: boolean\n}\n\ninterface InputPhoneState {\n mask: string\n regexp?: RegExp | null\n}\n\n/**\n * Расширен:\n * - `InputProps`\n */\nexport class InputPhone extends PureComponent<typeof InputPhone.defaultProps & InputPhoneProps, InputPhoneState> {\n static displayName = 'Input.Phone'\n static defaultProps = {\n countryData: COUNTRY_DATA,\n defaultMask: DEFAULT_MASK,\n initialMask: INITIAL_MASK,\n placeholder: '+9 (999) 999-99-99',\n ...Input.defaultProps,\n }\n\n autocorrectOf8: boolean\n autocorrectOf9: boolean\n\n constructor(props: typeof InputPhone.defaultProps & InputPhoneProps) {\n super(props)\n\n this.autocorrectOf8 = true\n this.autocorrectOf9 = true\n\n const { mask } = this.getUpdates(props.value || '')\n\n this.state = { mask, regexp: null }\n }\n\n componentDidUpdate(nextProps: InputPhoneProps) {\n const { value } = this.props\n\n if (value !== nextProps.value) {\n this.change(value)\n }\n }\n\n getUpdates = (\n value: InputPhoneProps['value'],\n prevValue: InputPhoneProps['value'] = undefined\n ): {\n mask: string\n numbers: string\n startsFrom8: boolean\n startsFrom9: boolean\n regexp: RegExp | null\n } => {\n const { countryData, defaultMask, initialMask } = this.props\n const numbers = onlyNumbers(value as string)\n\n let mask = initialMask\n let regexp = null\n let startsFrom8 = false\n let startsFrom9 = false\n\n if (!numbers)\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n\n let isRussian = false\n\n for (let i = 0; i < countryData.length; i++) {\n if (numbers.startsWith(countryData[i][1])) {\n ;[, , mask, regexp] = countryData[i]\n isRussian = i === 0 || i === 1\n }\n }\n\n startsFrom8 = isRussian && REGEXPS.FROM_8.test(numbers) && this.autocorrectOf8\n startsFrom9 =\n (!mask || (numbers.length === RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH && prevValue === '')) &&\n this.autocorrectOf9 &&\n REGEXPS.FROM_9.test(numbers)\n\n if (startsFrom8) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf8 = false\n }\n\n if (startsFrom9) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf9 = false\n }\n\n if (!mask) {\n mask = defaultMask\n }\n\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n }\n\n change = (phone: InputPhoneProps['value']) => {\n const { mask } = this.getUpdates(phone)\n\n this.setState({ mask })\n }\n\n handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n e.persist()\n\n const { onChange, stripValue } = this.props\n\n if (onChange) {\n const _e = e\n if (stripValue) _e.target.value = onlyNumbers(e.target.value)\n onChange(_e)\n }\n }\n\n beforeMaskedValueChange = (newState: InputState, oldState: InputState) => {\n const { mask, numbers, startsFrom8, startsFrom9, regexp } = this.getUpdates(newState.value, oldState.value)\n\n this.setState({ mask, regexp })\n\n /**\n * For the correct caret position, when the user enters 9 in the phone field and it's replaced\n * by '+7 (9'\n */\n if (startsFrom9) {\n return {\n selection: numbers.length === 1 ? { start: 5, end: 5 } : newState.selection,\n value: newState.value.replace(REGEXPS.FROM_9, '+79$1'),\n }\n }\n\n if (startsFrom8) {\n return { selection: { start: 2, end: 2 }, value: newState.value.replace(REGEXPS.FROM_8, '+7$1') }\n }\n\n if (REGEXPS.FILLED.test(oldState.value) && numbers.length === 1) {\n return { selection: { start: 2, end: 2 }, value: newState.value }\n }\n\n return newState\n }\n\n render() {\n const {\n /* eslint-disable no-unused-vars, @typescript-eslint/no-unused-vars */\n countryData,\n defaultMask,\n initialMask,\n stripValue,\n /* eslint-enable no-unused-vars, @typescript-eslint/no-unused-vars */\n ...props\n } = this.props\n const { mask, regexp } = this.state\n\n return (\n <Input\n {...props}\n beforeMaskedValueChange={this.beforeMaskedValueChange}\n mask={mask}\n dataset={{ 'data-regexp': `${regexp || ''}` }}\n onChange={this.handleChange}\n />\n )\n }\n}\n","import { InputState, MaskOptions } from 'react-input-mask'\nimport { InputPhone } from '../../components/Input.Phone'\nimport { BaseProps, InputField } from '../../shared/interfaces'\nimport * as Styled from './style'\n\ntype InputHTMLAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'color' | 'width'>\n\nexport interface InputProps extends BaseProps, InputField, InputHTMLAttributes {\n /**\n * Mask string. Format characters are:\n * * `9`: `0-9`\n * * `a`: `A-Z, a-z`\n * * `\\*`: `A-Z, a-z, 0-9`\n *\n * Any character can be escaped with backslash, which usually will appear as double backslash in JS strings.\n * For example, German phone mask with unremoveable prefix +49 will look like `mask=\"+4\\\\9 99 999 99\"` or `mask={\"+4\\\\\\\\9 99 999 99\"}`\n */\n mask?: string | Array<string | RegExp>\n /**\n * Character to cover unfilled editable parts of mask. Default character is \"_\". If set to null, unfilled parts will be empty, like in ordinary input.\n */\n maskChar?: string | null\n /**\n * Defines format characters with characters as keys and corresponding RegExp string as values. Default ones:\n * ```\n * {\n * \"9\": \"[0-9]\",\n * \"a\": \"[A-Za-z]\",\n * \"*\": \"[A-Za-z0-9]\"\n * }```\n */\n formatChars?: { [key: string]: string }\n /**\n * Show mask even in empty input without focus.\n */\n alwaysShowMask?: boolean\n /**\n * Use inputRef instead of ref if you need input node to manage focus, selection, etc.\n */\n inputRef?: React.Ref<HTMLInputElement>\n\n /**\n * In case you need to implement more complex masking behavior, you can provide\n * beforeMaskedValueChange function to change masked value and cursor position\n * before it will be applied to the input.\n */\n beforeMaskedValueChange?(\n _newState: InputState,\n _oldState: InputState,\n _userInput: string,\n _maskOptions: MaskOptions\n ): InputState\n /**\n * Input type\n */\n type?: string\n dataset?: Record<string, string>\n}\n\nInput.defaultProps = {\n rounded: true,\n type: 'text',\n width: 'l',\n color: 'mineShaft',\n mask: '',\n placeholderColor: 'silver',\n}\n\nInput.Phone = InputPhone\nInput.displayName = 'Input'\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`InputField`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Input(props: InputProps & typeof Input.defaultProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport { screenMaxS } from 'mixins/screen'\nimport { RadioGroupProps } from './Group'\nimport { RadioProps } from './Radio'\n\nconst sizeRadio = (size = 14) => css`\n font-size: ${size}px;\n svg {\n width: ${size}px;\n height: ${size}px;\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n color: #d4d4d4;\n svg {\n circle:nth-child(1) {\n stroke: #d4d4d4;\n }\n circle:nth-child(2) {\n fill: #d4d4d4;\n }\n }\n span.label {\n cursor: not-allowed;\n }\n`\n\nconst error = css`\n svg {\n circle {\n fill: #ffeef0;\n stroke: #ffa3a3;\n }\n circle:nth-child(2) {\n fill: #ffa3a3;\n }\n }\n`\n\nexport const Root = styled.label.withConfig<RadioProps>({\n shouldForwardProp: (prop) => !['size', 'error'].includes(prop),\n})`\n display: inline-flex;\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n svg {\n position: relative;\n top: 2px;\n flex-shrink: 0;\n circle:nth-child(2) {\n opacity: 0;\n transition: all 0.2s ease;\n }\n }\n & + & {\n margin-left: 15px;\n }\n input {\n display: none;\n appearance: none;\n &:checked + svg {\n circle:nth-child(2) {\n opacity: 1;\n transform: scale(1);\n }\n }\n }\n span.label {\n margin-left: 10px;\n cursor: pointer;\n }\n ${(props) => (props.size === 'small' ? sizeRadio(14) : null)}\n ${(props) => (props.size === 'medium' ? sizeRadio(16) : null)}\n ${(props) => (props.size === 'large' ? sizeRadio(18) : null)}\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.error ? error : null)}\n`\n\nexport const Group = styled.div.withConfig<RadioGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n display: flex;\n flex-direction: column;\n line-height: normal;\n > ${Root} {\n margin-left: 0;\n &:not(:first-child) {\n margin-top: 15px;\n }\n }\n ${(props) =>\n props.inline\n ? css`\n flex-direction: row;\n &&& > ${Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 0;\n margin-top: 15px;\n }\n `}\n `\n : null}\n`\n","import { useCallback, useEffect, useState } from 'react'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { RadioGroup } from './Group'\nimport * as Styled from './style'\n\ntype RadioInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>\n\nexport interface RadioProps extends BaseProps, RadioInputHtmlAttributes {\n /**\n * Field id\n */\n id?: string\n /**\n * Field name\n */\n name?: string\n /**\n * Radio label\n */\n label?: string\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * A Radio can appear disabled and be unable to change states\n */\n disabled?: boolean\n /**\n * Field can show the data contains errors\n */\n error?: boolean\n /**\n * Whether or not Radio is checked\n */\n checked?: boolean\n defaultChecked?: boolean\n /**\n * Checkbox size\n */\n size?: 'small' | 'medium' | 'large'\n /**\n * Value\n */\n value?: string | number\n}\n\nRadio.defaultProps = {\n disabled: false,\n size: 'medium',\n defaultChecked: false,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n}\n\nRadio.Group = RadioGroup\nRadio.displayName = 'Radio'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Radio(props: typeof Radio.defaultProps & RadioProps) {\n const uncontrolled = props.checked === undefined\n const [checkedInput, setChecked] = useState(uncontrolled ? props.defaultChecked : props.checked)\n\n const { children, disabled, error, id, name, onChange, size, value, label, className, style, ...anotherProps } = props\n const _className = useClassname(Radio.displayName, className)\n\n useEffect(() => {\n if (!uncontrolled && checkedInput !== props.checked) setChecked(props.checked)\n }, [props.checked])\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n e.stopPropagation()\n if (typeof onChange === 'function') onChange(e)\n },\n [uncontrolled]\n )\n\n const inputProps = uncontrolled ? { defaultChecked: checkedInput } : { checked: checkedInput }\n\n return (\n <Styled.Root\n className={_className}\n style={style}\n disabled={disabled}\n checked={checkedInput}\n error={error}\n htmlFor={id || name}\n size={size}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='radio'\n onChange={handleOnChange}\n value={value}\n disabled={disabled}\n {...inputProps}\n />\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'>\n <circle cx='10' cy='10' r='9' stroke='#727D8A' strokeWidth='2' fill='#fff' />\n <circle cx='10' cy='10' r='5' fill='#727D8A' />\n </svg>\n {(label || children) && <span className='label'>{label || children}</span>}\n </Styled.Root>\n )\n}\n","import { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface RadioGroupProps extends BaseProps {\n inline?: boolean\n children?: React.ReactNode\n}\n\nexport function RadioGroup({ children, ...props }: RadioGroupProps) {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { screenMaxS } from 'mixins/screen'\nimport { CheckboxGroupProps } from './Group'\nimport { CheckboxProps } from './Checkbox'\n\nconst sizeCheckbox = (size = 14) => css`\n font-size: ${size}px;\n svg {\n width: ${size}px;\n height: ${size}px;\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n color: #d4d4d4;\n svg {\n circle:nth-child(1) {\n stroke: #d4d4d4;\n }\n circle:nth-child(2) {\n fill: #d4d4d4;\n }\n }\n span.label {\n cursor: not-allowed;\n }\n`\n\nconst error = css`\n svg {\n > rect {\n fill: ${(props) => tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n stroke: ${(props) => props.theme.colors.pomegranate};\n }\n g > rect {\n fill: ${(props) => props.theme.colors.pomegranate};\n }\n }\n`\n\nexport const Root = styled.label.withConfig<CheckboxProps>({\n shouldForwardProp: (prop) => !['size', 'error'].includes(prop),\n})`\n display: inline-flex;\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n svg {\n position: relative;\n top: 2px;\n flex-shrink: 0;\n g {\n opacity: 0;\n transition: all 0.2s ease;\n }\n }\n & + & {\n margin-left: 15px;\n }\n input {\n display: none;\n appearance: none;\n &:checked + svg {\n g {\n opacity: 1;\n transform: scale(1);\n }\n }\n }\n span.label {\n margin-left: 10px;\n cursor: pointer;\n }\n ${(props) => (props.size === 'small' || props.size === 's' ? sizeCheckbox(14) : null)}\n ${(props) => (props.size === 'medium' || props.size === 'm' ? sizeCheckbox(16) : null)}\n ${(props) => (props.size === 'large' || props.size === 'l' ? sizeCheckbox(18) : null)}\n ${(props) => (props.size === 'extraLarge' || props.size === 'xl' ? sizeCheckbox(20) : null)}\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.error ? error : null)}\n`\n\nexport const Group = styled.div.withConfig<CheckboxGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n display: flex;\n flex-direction: column;\n line-height: normal;\n > ${Root} {\n margin-left: 0;\n &:not(:first-child) {\n margin-top: 15px;\n }\n }\n ${(props) =>\n props.inline\n ? css`\n flex-direction: row;\n &&& > ${Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 0;\n margin-top: 15px;\n }\n `}\n `\n : null}\n`\n","import { useCallback, useEffect, useState } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { CheckboxGroup } from './Group'\nimport * as Styled from './style'\n\ntype CheckboxInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>\n\nexport interface CheckboxProps extends BaseProps, CheckboxInputHtmlAttributes {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * A checkbox can appear disabled and be unable to change states\n */\n disabled?: boolean\n /**\n * Field can show the data contains errors\n */\n error?: boolean\n /**\n * Whether or not checkbox is checked\n */\n checked?: boolean\n /**\n * Value\n */\n value?: string | number\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * Input element ID\n */\n id?: string\n /**\n * Input element name\n */\n name?: string\n /**\n * Input element label\n */\n label?: string\n /**\n * Checkbox size\n */\n size?: 'small' | 'medium' | 'large' | 'extraLarge' | 's' | 'm' | 'l' | 'xl'\n}\n\nCheckbox.defaultProps = {\n disabled: false,\n size: 'medium',\n defaultChecked: false,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n}\n\nCheckbox.Group = CheckboxGroup\n\nCheckbox.displayName = 'Checkbox'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Checkbox(props: typeof Checkbox.defaultProps & CheckboxProps) {\n const uncontrolled = props.checked === undefined\n const [checkedInput, setChecked] = useState(uncontrolled ? props.defaultChecked : props.checked)\n\n const { children, disabled, error, id, name, onChange, size, value, label, className, style, ...anotherProps } = props\n\n useEffect(() => {\n if (!uncontrolled && checkedInput !== props.checked) setChecked(props.checked)\n }, [props.checked])\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n e.stopPropagation()\n if (typeof onChange === 'function') onChange(e)\n },\n [uncontrolled]\n )\n\n const inputProps = uncontrolled ? { defaultChecked: checkedInput } : { checked: checkedInput }\n\n return (\n <Styled.Root\n className={className}\n style={style}\n disabled={disabled}\n checked={checkedInput}\n error={error}\n htmlFor={id || name}\n size={size}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='checkbox'\n onChange={handleOnChange}\n value={value}\n disabled={disabled}\n {...inputProps}\n />\n <svg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'>\n <rect\n x='.455'\n y='.455'\n width='19.091'\n height='19.091'\n rx='5'\n transform='translate(0 0)'\n fill='#fff'\n stroke='#B8B8B8'\n strokeWidth='1'\n />\n <g fill='none'>\n <rect fill='#48A1E6' width='20' height='20' rx='5' />\n <path stroke='#fff' strokeWidth='2' d='M6 9.99l3 3.01 6-6' />\n </g>\n </svg>\n {(label || children) && <span className='label'>{label || children}</span>}\n </Styled.Root>\n )\n}\n","import { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface CheckboxGroupProps extends BaseProps {\n inline?: boolean\n children?: React.ReactNode\n}\n\nexport function CheckboxGroup({ children, ...props }: CheckboxGroupProps) {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { errorStyle } from '../../components/Input/style'\nimport { SelectProps } from './Select'\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`\n\nconst spin = keyframes`\n to {\n transform: rotate(1turn);\n }\n`\n\nconst fluid = css`\n .Select {\n max-width: 100%;\n width: 100%;\n }\n`\n\nconst error = css`\n .Select-control {\n ${errorStyle}\n }\n`\n\nexport const Root = styled.span.withConfig<SelectProps>({\n shouldForwardProp: (prop) => !['error', 'fluid'].includes(prop),\n})`\n .Select {\n position: relative;\n max-width: 390px;\n }\n .Select,\n .Select div,\n .Select input,\n .Select span {\n box-sizing: border-box;\n }\n .Select.is-disabled > .Select-control {\n cursor: not-allowed;\n background-color: #f5f5f5;\n }\n .Select.is-disabled .Select-value-label {\n color: rgba(0, 0, 0, 0.16) !important;\n }\n .Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n }\n .Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n }\n .Select.is-clearable {\n .Select-placeholder,\n &.Select--single > .Select-control .Select-value {\n padding-right: 70px;\n }\n }\n .Select-control {\n background-color: ${(props) => props.theme.colors.white};\n border: solid 1px ${(props) => props.theme.colors.alto};\n border-radius: 4px;\n color: ${(props) => props.theme.colors.mineShaft};\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 50px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n }\n .Select-control .Select-input:focus {\n outline: none;\n }\n .is-searchable.is-open > .Select-control {\n cursor: text;\n }\n .is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n border: 1px solid ${(props) => props.theme.colors.accent};\n outline: none;\n }\n .is-open > .Select-control .Select-arrow {\n transform: rotate(180deg);\n }\n .is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n }\n .is-focused:not(.is-open) > .Select-control {\n border: 1px solid ${(props) => props.theme.colors.accent};\n }\n .Select-placeholder,\n .Select--single > .Select-control .Select-value {\n bottom: 0;\n color: ${(props) => props.theme.colors.silver};\n left: 0;\n font-size: 16px;\n line-height: 50px;\n padding-left: 20px;\n padding-right: 35px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .has-value.Select--single > .Select-control .Select-value .Select-value-label,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: ${(props) => props.theme.colors.mineShaft};\n }\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n }\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n }\n .Select-input {\n height: 50px;\n padding-left: 20px;\n padding-right: 15px;\n vertical-align: middle;\n }\n .Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: 16px;\n margin: 0;\n outline: none;\n line-height: 30px;\n padding: 10px 0;\n -webkit-appearance: none;\n }\n .is-focused .Select-input > input {\n cursor: text;\n }\n .is-focused .Select-arrow,\n .Select-arrow-zone:hover > .Select-arrow {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiM0OGExZTYiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=');\n }\n .has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n }\n .Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n }\n .Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n }\n .Select-loading {\n animation: ${spin} 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid ${(props) => props.theme.colors.alto};\n border-right-color: ${(props) => props.theme.colors.mineShaft};\n display: inline-block;\n position: relative;\n vertical-align: middle;\n }\n .Select-clear-zone {\n animation: ${fadeIn} 200ms;\n color: ${(props) => props.theme.colors.alto};\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 35px;\n line-height: 0;\n\n .Select-clear {\n position: relative;\n top: -1px;\n }\n }\n .Select-clear-zone:hover {\n color: #d0021b;\n }\n .Select-clear {\n display: inline-block;\n font-size: 0px;\n line-height: 1;\n color: transparent;\n overflow: hidden;\n width: 12px;\n height: 12px;\n background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyMCAyMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz4KICA8cGF0aAogICAgZD0nTTExLjYgOS41TDE5LjIgMmMuNC0uNi40LTEuMyAwLTEuNy0uNC0uNC0xLjItLjQtMS42IDBMMTAgOCAyLjQuMkMyIDAgMS4yIDAgLjguMy40LjcuNCAxLjMuOCAybDcuNiA3LjUtOCA4Yy0uNS41LS41IDEuMiAwIDEuNy4yLjIuNC4zLjcuMy40IDAgLjcgMCAxLS4zbDgtOCA4IDhjLjMuMi42LjMgMSAuMy4yIDAgLjQgMCAuNy0uMy40LS41LjQtMS4yIDAtMS42bC04LTh6JwogICAgZmlsbD0nI0Q5RDlEOScKICAgIGZpbGxSdWxlPSdldmVub2RkJwogIC8+Cjwvc3ZnPgo=')\n no-repeat;\n background-size: cover;\n }\n .Select--multi .Select-clear-zone {\n width: 17px;\n }\n .Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 35px;\n line-height: 0;\n }\n .Select-arrow {\n background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiNiOGI4YjgiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=')\n no-repeat;\n display: inline-block;\n background-size: 12px;\n height: 7px;\n width: 12px;\n position: relative;\n transition: 0.3s;\n transform: rotate(0deg);\n }\n .is-open .Select-arrow,\n .Select-arrow-zone:hover > .Select-arrow {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiM0OGExZTYiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=');\n }\n .Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n padding-left: 20px;\n }\n .Select--multi .Select-multi-value-wrapper {\n .Select-placeholder + .Select-input {\n margin-left: 0;\n }\n }\n .Select--single {\n .Select-multi-value-wrapper {\n display: block;\n width: 100%;\n }\n .Select-input .react-select-2--value {\n display: block;\n width: 100%;\n }\n }\n .Select .Select-aria-only {\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n }\n .Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: ${(props) => props.theme.colors.white};\n border: 1px solid ${(props) => props.theme.colors.onahau};\n box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 270px;\n position: absolute;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n }\n .Select-menu {\n max-height: 226px;\n overflow-x: auto;\n overflow-y: auto;\n font-size: 16px;\n }\n .Select-option {\n box-sizing: border-box;\n background-color: ${(props) => props.theme.colors.white};\n line-height: 30px;\n color: ${(props) => props.theme.colors.mineShaft};\n cursor: pointer;\n display: block;\n padding: 10px 15px 10px 20px;\n transition: background 0.2s ease;\n }\n .Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n }\n .Select-option.is-selected {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n .Select-option.is-focused {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n .Select-option.is-disabled {\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n }\n .Select-noresults {\n box-sizing: border-box;\n color: ${(props) => props.theme.colors.silver};\n cursor: default;\n display: block;\n padding: 10px 20px;\n }\n .Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n }\n .Select--multi.has-value .Select-input {\n margin-left: 5px;\n }\n .Select--multi .Select-value {\n background-color: ${(props) => props.theme.colors.nebula};\n background-color: ${(props) => tinycolor(props.theme.colors.nebula).setAlpha(0.1).toString()};\n border-radius: 4px;\n border: 1px solid ${(props) => props.theme.colors.onahau};\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: ${(props) => props.theme.colors.mineShaft};\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 4px;\n margin-top: 4px;\n vertical-align: top;\n }\n .Select--multi .Select-value-icon,\n .Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n }\n .Select--multi .Select-value-icon {\n font-size: 1.5em;\n line-height: 100%;\n vertical-align: middle;\n box-sizing: border-box;\n padding: 5px 4px 2px;\n color: ${(props) => props.theme.colors.accent};\n }\n\n .Select--multi .Select-value-label {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n cursor: default;\n padding: 2px 4px;\n line-height: 1;\n max-width: 90%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .Select--multi a.Select-value-label {\n color: ${(props) => props.theme.colors.accent};\n cursor: pointer;\n text-decoration: none;\n }\n .Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n }\n .Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n border-right: 1px solid ${(props) => props.theme.colors.onahau};\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n font-size: 1.5em;\n line-height: 100%;\n box-sizing: border-box;\n padding: 5px 4px 2px;\n color: ${(props) => props.theme.colors.accent};\n }\n .Select--multi .Select-value-icon:hover,\n .Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n background-color: rgba(0, 113, 230, 0.08);\n color: ${(props) => props.theme.colors.accent};\n }\n .Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n background-color: rgba(0, 126, 255, 0.24);\n }\n .Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: ${(props) => props.theme.colors.mineShaft};\n }\n .Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n }\n .Select--multi.is-disabled .Select-value-icon:hover,\n .Select--multi.is-disabled .Select-value-icon:focus,\n .Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n }\n ${(props) => (props.fluid ? fluid : null)}\n ${(props) => (props.error ? error : null)}\n`\n","import ReactSelect, { Async, AsyncCreatable, Creatable, ReactSelectProps } from 'react-select'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SelectProps extends BaseProps, ReactSelectProps {\n fluid?: boolean\n error?: boolean\n}\n\nSelect.defaultProps = {\n allowCreate: false,\n searchable: true,\n clearable: false,\n addLabelText: 'Добавить \"{label}\"?',\n backspaceToRemoveMessage: 'Нажмите клавишу Backspace, чтобы удалить {last label}',\n clearAllText: 'Очистить все',\n clearValueText: 'Очистить значение',\n noResultsText: 'Результатов не найдено',\n placeholder: 'Выбрать ...',\n searchPromptText: 'Введите поисковый запрос',\n loadingPlaceholder: 'Загрузка...',\n autoload: true,\n loadOptions: false,\n}\n\nSelect.displayName = 'Select'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `ReactSelectProps`\n */\nexport function Select(props: typeof Select.defaultProps & SelectProps) {\n const { fluid, error, className, style, ...reactSelectProps } = props\n const _className = useClassname(Select.displayName, className)\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const SelectElement: typeof ReactSelect & typeof Creatable = props.loadOptions\n ? props.allowCreate\n ? AsyncCreatable\n : Async\n : props.allowCreate\n ? Creatable\n : ReactSelect\n\n return (\n <Styled.Root className={_className} style={style} error={error} fluid={fluid}>\n <SelectElement {...reactSelectProps} promptTextCreator={(label: string) => `Добавить \"${label}\"`} />\n </Styled.Root>\n )\n}\n","import { DefaultTheme, ThemeProvider as StyledThemeProvider } from 'styled-components'\nimport { UiGlobalStyles } from './global-styled'\n\ninterface Props {\n theme: DefaultTheme\n children: React.ReactNode\n}\n\nexport function ThemeProvider(props: Props) {\n return (\n <>\n <UiGlobalStyles />\n <StyledThemeProvider theme={props.theme}>{props.children}</StyledThemeProvider>\n </>\n )\n}\n"],"names":["ColorNames","socialColors","Object","freeze","facebook","twitter","youtube","instagrammagenta","instagramblue","instagrampurple","instagramorange","instagramyellow","pinterest","googleplus","linkedin","vimeoblue","vimeogreen","vimeoorange","vimeopink","tumblr","snapchat","whatsappgreen","whatsappteal1","whatsappteal2","foursquarepink","foursquareblue","swarm","skypeblue","skypegreen","android","stumbleupon","flickrpink","flickrblue","yahoo","soundcloud","spotifygreen","spotifydarkgreen","dribbble","reddit","deviantart","pocket","quora","quorablue","slideshareorange","slideshareblue","telegram","fivehundredpx","listlyorange","listlyblue","vine","vk","ok","mailru","colors","white","black","tundora","paleSky","bostonBlue","atlantisBrightly","cinnabar","sail","bittersweet","turquoise","dodgerBlue","mantis","azure","bahamaBlue","shamrock","olive","copperRose","cyan","plum","hokeyPokey","monaLisa","mariner","heliotrope","dandelion","fruitSalad","fuchsiaBlue","persianGreen","watermelon","tropaz","lima","mintTulip","carnationPink","paleRose","deYork","peppermint","cornflowerBlue","colonialWhite","cherokee","supernova","picasso","bilobaFlower","linkWater","transparent","mineShaft","silver","alto","mercury","wildSand","whiteGray","alabaster","whiteLilac","atlantis","yellowOrange","mystic","pomegranate","oliveDrab","curious","orangePeel","nebula","seaNymph","chromeWhite","onahau","citrineWhite","coralReef","creemBrulee","frangipani","yourPink","periwinkleGray","baliHai","primary","accent","unitColors","profession","professionDark","camps","campsDark","courses","coursesDark","openLesson","openLessonDark","externat","externatDark","olympiad","olympiadDark","textbook","textbookDark","tutors","tutorsDark","training","trainingDark","mathematics","physics","informatics","chemistry","biology","english","russian","history","society","geography","developing","literature","intersubject","primarySchool","recommended","astronomy","ecology","technology","languages","art","physicalCulture","logic","businessLogic","rap","ikt","kids","fgos","blue","red","green","grey","darkgrey","lightgrey","superlightgrey","breakpoints","xl","l","m","s","xs","xxs","_colors","keys","map","colorName","css","_socialColors","_unitColors","UiGlobalStyles","createGlobalStyle","theme","borderRadius","textColor","fallbackColor","zIndex","modal","tooltip","classNamePrefix","CONDITIONS","maxWidth","point","minWidth","MAX","MIN","RANGE","point1","point2","createMediaQuery","condition","_len","arguments","length","points","Array","_key","params","_len2","args","_key2","props","_props$theme$breakpoi","_props$theme","undefined","and","concat","screenXs","screenS","screenM","screenL","screenXl","screenMaxXxs","screenMaxXs","screenMinXs","screenMaxS","screenMinS","screenMaxM","screenMinM","screenMaxL","screenMinL","screenMaxXl","screenMinXl","SIZES_LATIN","xxxl","xxl","xxxs","FONT_SIZES_LATIN","calcValueWithLatinAlias","value","buildMediaQuery","property","screenQueryFunction","sizing","size","r","i","cssProperty","sizeMap","includes","SCREEN_SIZE_MAP","XXS","XS","S","M","L","XL","SCREEN_SIZE_MAP_BY_DEVICE_ALIAS","desktop","tablet","mobile","getKey","key","endsWith","DEKSTOP_FIRST_KEYS","MOBILE_FIRST_KEYS","desktopFirst","a","b","aKey","bKey","findIndex","el","responsiveNamedProperty","_ref","sizes","customSizeHandler","sort","filter","Boolean","item","responsiveProperty","_props$property","prop","_cssProperty","isArray","_templateObject","_taggedTemplateLiteral","_templateObject2","default","_templateObject3","_templateObject4","_templateObject6","_templateObject9","getColor","color","colorVal","_color","vAlign","useClassname","componentName","originalClassName","useTheme","cx","pointerStyle","Root","styled","div","withConfig","shouldForwardProp","componentId","pointer","sizeXS","sizeS","sizeM","sizeL","sizeXL","_path","_extends","assign","target","source","hasOwnProperty","call","apply","this","_path2","_circle","IconNames","defaultIcons","book","React","createElement","viewBox","xmlns","fill","d","blackBoard","clipRule","burger","eye","email","width","height","unsort","person","diamond","diamondFilled","diamondSolid","cy","stroke","strokeWidth","infoInverse","list","login","logout","fire","cart","clock","clockFilled","discount","headphones","page","priceTag","phone","prof","star","settings","student","trophy","message","wallet","edit","copy","print","objective","fillRule","present","style","enableBackground","xmlSpace","coins","calendar","_jsxs","jsxs","children","_jsx","jsx","calendar_simple","chevronDown","chevronUp","chevronRight","chevronLeft","cross","dialog","dropDownArrow","externalLink","className","fillOpacity","file","fileBordered","lessons","pencil","phoneNoFill","radioChecked","radioNotChecked","search","tasks","tinyCross","sharpCross","plus","y","rx","transform","plusThin","play","reload","checkCircle","info","check","home","id","questionFilled","document","cancel","playPause","video","Icon","name","icon","svg","Styled.Root","_Icon","dangerouslySetInnerHTML","__html","displayName","display","active","notDisabled","disabled","ActionBtn","onClick","_className","H","PARAMS","h1","lineHeight","weight","h2","h3","h4","TextHeading","h","_objectWithoutProperties","_excluded","Text","_objectSpread","as","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","paddingXS","paddingS","paddingM","paddingL","paddingXL","_ref2","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","_ref3","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","_ref4","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","_ref5","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","_ref6","marginXS","marginS","marginM","marginL","marginXL","_ref7","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","_ref8","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","_ref9","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","_ref10","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","top","right","bottom","left","_ref11","topXS","topS","topM","topL","topXL","_ref12","rightXS","rightS","rightM","rightL","rightXL","_ref13","bottomXS","bottomS","bottomM","bottomL","bottomXL","_ref14","leftXS","leftS","leftM","leftL","leftXL","Spacer","wrapper","underline","pseudo","Anchor","to","href","content","rest","_display","contentProps","Link","defaultProps","Ul","ul","Li","li","TextEllipse","Component","constructor","super","getContent","chars","isEllipsed","state","text","isUnFolded","slice","leftChars","index","setTimeout","setState","getQuted","Styled.Ul","Styled.Li","quoted","toggle","console","log","render","_this$props","moreText","lessText","showToggler","restProps","WEIGHT_MAP","lighter","normal","bold","bolder","LINE_HEIGHT_MAP","underlineLinksStyle","fontStyle","underlineLinks","textAlign","origClassName","title","CurrencyCodes","Heading","Ellipse","CURRENCY_MAP","ALL","AFN","ARS","AWG","AUD","AZN","BSD","BBD","BYR","BZD","BMD","BOB","BAM","BWP","BGN","BRL","BND","KHR","CAD","KYD","CLP","CNY","COP","CRC","HRK","CUP","CZK","DKK","DOP","XCD","EGP","SVC","EEK","EUR","FKP","FJD","FRF","GHC","GIP","GTQ","GGP","GYD","HNL","HKD","HUF","ISK","INR","IDR","IRR","IMP","ILS","JMD","JPY","JEP","KZT","KGS","LAK","LVL","LBP","LRD","LTL","MKD","MYR","MUR","MXN","MNT","MZN","NAD","NPR","ANG","NZD","NIO","NGN","KPW","NOK","OMR","PKR","PAB","PYG","PEN","PHP","PLN","QAR","RON","RUR","RUB","SHP","SAR","RSD","SCR","SGD","SBD","SOS","ZAR","KRW","LKR","SEK","CHF","SRD","SYP","TWD","THB","TTD","TRY","TRL","TVD","UAH","GBP","USD","UYU","UZS","VEF","VND","YER","ZWD","crossedOut","span","ZERO_MINOR_PART_REGEXP","createSplitter","partSize","parts","str","from","Amount","PureComponent","renderCurrencySymbol","currencySymbol","position","currency","opacity","visibility","static","currencyCode","renderMinorPart","minorPart","showZeroMinorPart","separator","needMinorPart","test","digitsAfterPoint","isHeader","onlyCurrency","majorPart","isNegative","e","t","numberParts","Math","abs","toFixed","split","majorPartFormatted","reverse","join","formattedValueStr","getCurrencySymbol","classNames","amountInner","_Fragment","SvgArrowmodule","outline","inverse","button","radius","DIR_MAP","Arrow","onClickHandler","event","preventDefault","arrowDir","isMultiDir","values","rotateDeg","reduce","acc","arrowStyle","ArrowSvg","pattern","SIZES","sm","linearGenerator","tiny","lighten","toString","withPlaceholder","WITH_PH_SIZE","setAlpha","shadow","autoColor","string","sum","charCodeAt","src","Avatar","getAvatarText","titleArray","trim","ref","backgroundImage","round","Badge","textProps","WIDTHS","chooseWidthValue","ROUND_SIZE","loadingAnimation","keyframes","loading","rounded","fontColor","saturate","inverted","basic","roundSize","fluid","Content","noSpacing","fontSize","fontSizeXS","fontSizeS","fontSizeM","fontSizeL","fontSizeXL","heightXS","heightS","heightM","heightL","heightXL","widthXS","widthS","widthM","widthL","widthXL","fluidXS","fluidS","fluidM","fluidL","fluidXL","PROPS_BY_SIZE","PRESETS","Button","type","innerRef","_as","aProps","linkProps","propsBySize","presetProps","secondary","Styled.Content","Container","Modal","isOpen","overlayClassName","contentClassName","overlayClassNameLocal","ReactModal","portalClassName","valign","getPosition","ModalClose","appElement","closeTimeoutMS","contentLabel","onAfterOpen","onRequestClose","role","shouldCloseOnOverlayClick","Styled.Modal","bodyOpenClassName","window","body","HTMLElement","setAppElement","Close","Styled.ModalClose","zDepth","circle","Paper","Progress","percent","percentColor","Separators","Separator","separatorColor","isEmpty","haveCircle","ProgressSegmented","segments","isActive","Styled.Progress","Styled.Separators","Styled.Separator","resultColor","strokeBGColor","polarToCartesian","centerX","centerY","angleInDegrees","angleInRadians","PI","x","cos","sin","describeArc","startAngle","endAngle","start","end","diff","angleDiff","sweep","arcSweep","ProgressCircle","renderSvg","progress","strokeLineWidth","strokeBGWidth","progressStartAngle","thickness","center","bgStartAngle","bgEndAngle","describeArcProgress","describeArcBg","bgAngleDiff","componentDidMount","componentDidUpdate","prevProps","prevProgress","prevSize","htmlContent","status","strokeLinecap","move","bgColor","tinycolor","isLoading","backgroundColor","Bar","_percent","parseInt","Styled.Bar","Circle","Segmented","Scrollable","scrollable","ts","scrollTop","scrollHeight","clientHeight","handleTouchStart","touches","clientY","handleTouchMove","isolate","scrollarea","parentNode","te","changedTouches","dir","upTouch","endTouch","floor","handleScroll","deltaY","detail","handleUpdate","hexToRgb","hex","result","exec","g","renderTrack","trackColor","trackOpacity","trackBorderRadius","trackWidth","trackStyle","background","renderThumb","scrollableProps","_excluded2","thumbColor","thumbOpacity","thumbBorderRadius","thumbWidth","thumbStyle","addEventListener","componentWillUnmount","removeEventListener","calculateShadowOffset","shadowHeight","diffH","withShadow","shadowColor","shadowOpacity","_excluded3","shadowOffset","Scrollbars","renderTrackVertical","nodeProps","renderTrackHorizontal","renderThumbHorizontal","renderThumbVertical","onUpdate","hideTracksWhenNotNeeded","node","autoHide","autoHideTimeout","autoHideDuration","autoHeight","withThemeScrollable","withTheme","Section","UiText","TextRoot","Styled.TextRoot","Styled.Text","spinner","fullscreen","inline","sizeBuilder","getSize","Spinner","Input","input","Label","label","Switcher","checked","switcherWidth","switcherHeight","inactiveColor","inputRef","createRef","tabIndex","onChange","Styled.Input","Styled.Switcher","htmlFor","Styled.Label","borderColor","activeTab","noBorder","Inner","Tab","themeKey","TabsTab","Styled.Tab","activeClassName","Tabs","classNameInner","classNameContent","Styled.Inner","tooltipStyles","flexDirection","wrapperPosition","floater","WebkitFilter","transition","floaterOpening","floaterWithAnimation","floaterClosing","floaterCentered","container","boxSizing","minHeight","justifyContent","borderBottom","fontWeight","close","border","WebkitAppearance","footer","borderTop","arrow","spread","options","tooltipDisplayBlockStyles","Tooltip","styles","tooltipStyle","mergeDeepRight","Floater","autoOpen","disableAnimation","disableFlip","disableHoverToClick","eventDelay","offset","placement","showCloseButton","wrapperOptions","component","themes","tooltipStylesRounend","cursor","textDecoration","TagInput","Tag","inputType","buttonProps","inputProps","_onChange","_x","persist","_onClick","_x2","defaultChecked","hidden","forwardedAs","HeadingRoot","SubHeadingRoot","ControlsRoot","ControlsItem","MultilevelItems","Styled.HeadingRoot","SubHeading","Styled.SubHeadingRoot","Controls","confirm","Styled.ControlsRoot","Styled.ControlsItem","ContextMenuMultiLevel","resetTimeout","onSelectItem","selectedItem","level","selectedItems","newSelectedItems","getCurrentConfig","config","levelId","_acc$items$find","items","find","error","reset","itemOnClickHandler","Error","currentTarget","dataset","preventClosing","stopPropagation","clearTimeout","tooltipProps","trigger","anotherProps","ContextMenu","onClose","heading","subheading","Styled.MultilevelItems","Item","controls","disabledItem","notDisabledItem","hideOverlay","RootItem","disabledHandler","ContextMenuItem","Styled.RootItem","getOpen","openMenu","onOpen","closeMenu","toggleMenu","open","cloneElement","MultiLevel","overflow","errorStyle","disabledStyle","focusStyle","roundedStyle","baseInputStyle","placeholderColor","InputMask","textarea","Textarea","cols","maxLength","placeholder","required","rows","autosize","maxRows","tRows","setRows","useState","onChangeHandler","useCallback","HTMLTextAreaElement","rect","getBoundingClientRect","DEFAULT_MASK","INITIAL_MASK","COUNTRY_DATA","REGEXPS","FILLED","FROM_8","FROM_9","NOT_NUMBERS","onlyNumbers","replace","InputPhone","_this","autocorrectOf8","autocorrectOf9","getUpdates","prevValue","countryData","defaultMask","initialMask","numbers","mask","regexp","startsFrom8","startsFrom9","isRussian","startsWith","change","handleChange","stripValue","_e","beforeMaskedValueChange","newState","oldState","selection","nextProps","Phone","sizeRadio","Group","Radio","uncontrolled","checkedInput","setChecked","useEffect","handleOnChange","Styled.Group","sizeCheckbox","Checkbox","fadeIn","spin","Select","reactSelectProps","loadOptions","allowCreate","AsyncCreatable","Async","Creatable","ReactSelect","promptTextCreator","searchable","clearable","addLabelText","backspaceToRemoveMessage","clearAllText","clearValueText","noResultsText","searchPromptText","loadingPlaceholder","autoload","StyledThemeProvider"],"mappings":"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"}
|