@foxford/ui 2.13.1 → 2.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ArrowBadge/ArrowBadge.js +2 -0
- package/components/ArrowBadge/ArrowBadge.js.map +1 -0
- package/components/ArrowBadge/constants.js +2 -0
- package/components/ArrowBadge/constants.js.map +1 -0
- package/components/ArrowBadge/images/arrow.module.svg.js +2 -0
- package/components/ArrowBadge/images/arrow.module.svg.js.map +1 -0
- package/components/ArrowBadge/images/fancy.module.svg.js +2 -0
- package/components/ArrowBadge/images/fancy.module.svg.js.map +1 -0
- package/components/ArrowBadge/images/rectangle.module.svg.js +2 -0
- package/components/ArrowBadge/images/rectangle.module.svg.js.map +1 -0
- package/components/ArrowBadge/style.js +2 -0
- package/components/ArrowBadge/style.js.map +1 -0
- package/components/Button/style.js +1 -1
- package/components/Button/style.js.map +1 -1
- package/dts/index.d.ts +44 -7
- package/hooks/use-config-priority.js.map +1 -1
- package/hooks/use-theme.js.map +1 -1
- package/index.cjs.js +1 -1
- package/index.cjs.js.map +1 -1
- package/index.js +1 -1
- package/mixins/focus.js +2 -0
- package/mixins/focus.js.map +1 -0
- package/mixins/margin.js +2 -0
- package/mixins/margin.js.map +1 -0
- package/mixins/size.js +2 -0
- package/mixins/size.js.map +1 -0
- package/package.json +1 -1
- package/shared/regexp.js +2 -0
- package/shared/regexp.js.map +1 -0
- package/shared/utils/inject-theme.js.map +1 -1
- package/shared/utils/style.js +2 -0
- package/shared/utils/style.js.map +1 -0
- package/theme/themes.js +1 -1
- package/theme/themes.js.map +1 -1
- package/mixins/sizing.js +0 -2
- package/mixins/sizing.js.map +0 -1
package/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/shared/utils/colors.ts","../../src/theme/colors.ts","../../src/theme/global-styled.ts","../../src/shared/enums/sizeInput.ts","../../src/hooks/use-theme.ts","../../src/hooks/use-config-priority.ts","../../src/components/Arrow/images/arrow.module.svg","../../src/components/Arrow/images/chevron.module.svg","../../src/components/Arrow/utils.ts","../../src/mixins/screen.ts","../../src/mixins/shared.ts","../../src/mixins/responsive-property.ts","../../src/shared/utils/inject-theme.ts","../../src/components/Arrow/constants.ts","../../src/components/Arrow/style.ts","../../src/components/Arrow/Arrow.tsx","../../src/hooks/useClassname.ts","../../src/components/Button/constants.ts","../../src/mixins/color.ts","../../src/mixins/sizing.ts","../../src/components/Button/images/check.module.svg","../../src/components/Button/images/spinner.module.svg","../../src/components/Button/style.ts","../../src/components/Button/Button.tsx","../../src/components/Button/hooks.ts","../../src/components/Checkbox/images/check-default.module.svg","../../src/components/Checkbox/images/check.module.svg","../../src/components/Checkbox/style.ts","../../src/components/Checkbox/Checkbox.tsx","../../src/components/Checkbox/Group.tsx","../../src/theme/colors-dark.ts","../../src/theme/themes.ts","../../src/theme/breakpoints.ts","../../src/theme/colors-light.ts","../../src/shared/utils/rel-builder.ts","../../src/mixins/vAlign.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/Anchor/style.ts","../../src/components/Anchor/Anchor.tsx","../../src/components/Text.Heading/Text.Heading.tsx","../../src/components/Spacer/style.ts","../../src/components/Spacer/Spacer.tsx","../../src/components/Text.Ellipse/style.ts","../../src/components/Text.Ellipse/Text.Ellipse.tsx","../../src/components/Text/constants.ts","../../src/components/Text/style.ts","../../src/components/Text/Text.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/Alert/style.ts","../../src/components/Alert/CountdownCircle.tsx","../../src/components/Alert/utils.ts","../../src/components/Alert/Alert.tsx","../../src/components/Amount/data/index.ts","../../src/components/Amount/style.ts","../../src/components/Amount/Amount.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/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/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/constants.ts","../../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/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/Select/style.ts","../../src/components/Select/Select.tsx","../../src/theme/theme-provider.tsx"],"sourcesContent":["const allowedHexColorCodes = /^#?([0-9a-fA-F]{3}){1,2}$/\nconst getHexCodePattern = (groupLength: number) => new RegExp(`([A-Fa-f0-9]){${groupLength}}`, 'g')\n\n/**\n * Converts HEX color code to RGB(A) string\n *\n * @export\n * @param {string} HEX color with length of either 3 or 6 (can be with or without '#' sign)\n * @param {Number} alpha channel which specifies the opacity of the color\n * @returns {String} RGB(A) string\n */\nexport function hexToRgbA(hex: string, alpha?: number): string {\n if (!allowedHexColorCodes.test(hex)) {\n throw new Error(`Provided HEX color code \"${hex}\" is incorrect`)\n }\n\n const codeGroupLength = Math.floor(hex.length / 3)\n const hexCodePattern = getHexCodePattern(codeGroupLength)\n const [r, g, b] = [...hex.matchAll(hexCodePattern)].map(([code]) => parseInt(code.padEnd(2, code), 16))\n\n if (typeof alpha === 'number') {\n return `rgba(${r}, ${g}, ${b}, ${alpha})`\n }\n\n return `rgb(${r}, ${g}, ${b})`\n}\n\n/**\n * Checks if value is HEX color\n *\n * @export\n * @param {string} HEX color with length of either 3 or 6 (can be with or without '#' sign)\n * @returns {boolean}\n */\nexport function isHex(hex: string): boolean {\n return allowedHexColorCodes.test(hex)\n}\n","import { ColorValue } from 'mixins/color'\n\n/* eslint-disable no-unused-vars */\nexport enum DefaultColorNames {\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 transparent = 'transparent',\n catalinaBlue = 'catalinaBlue',\n danube = 'danube',\n midnightDeep = 'midnightDeep',\n anakiva = 'anakiva',\n azureRadiance = 'azureRadiance',\n blueMarguerite = 'blueMarguerite',\n blueViolet = 'blueViolet',\n bossanova = 'bossanova',\n capeCod = 'capeCod',\n cerulean = 'cerulean',\n congressBlue = 'congressBlue',\n congressBlueLight = 'congressBlueLight',\n creamBrulee = 'creamBrulee',\n denim = 'denim',\n earlyDawn = 'earlyDawn',\n eminence = 'eminence',\n endeavour = 'endeavour',\n fern = 'fern',\n ghost = 'ghost',\n grape = 'grape',\n gunsmoke = 'gunsmoke',\n highland = 'highland',\n honeyFlower = 'honeyFlower',\n honeyFlower2 = 'honeyFlower2',\n honeyFlower3 = 'honeyFlower3',\n jagger = 'jagger',\n jordyBlue = 'jordyBlue',\n jumbo = 'jumbo',\n mediumPurple = 'mediumPurple',\n midnightBlue = 'midnightBlue',\n moodyBlue = 'moodyBlue',\n nandor = 'nandor',\n nevada = 'nevada',\n olivine = 'olivine',\n parsley = 'parsley',\n pattensBlue = 'pattensBlue',\n pattensBlueLight = 'pattensBlueLight',\n scarletGum = 'scarletGum',\n scienceBlue = 'scienceBlue',\n scienceBlue03 = 'scienceBlue03',\n seance = 'seance',\n smalt = 'smalt',\n smaltLight = 'smaltLight',\n tarawera = 'tarawera',\n toryBlue = 'toryBlue',\n toryBlueDark = 'toryBlueDark',\n dodgerBlueDark = 'dodgerBlueDark',\n chambray = 'chambray',\n chambrayDark = 'chambrayDark',\n pomegranateDark = 'pomegranateDark',\n azureRadiance2 = 'azureRadiance2',\n curiousBlue = 'curiousBlue',\n jungleGreen = 'jungleGreen',\n violetDeep = 'violetDeep',\n stormGray = 'stormGray',\n zeus = 'zeus',\n athensGray = 'athensGray',\n marinerLight = 'marinerLight',\n royalBlue = 'royalBlue',\n melrose = 'melrose',\n zircon = 'zircon',\n veniceBlue = 'veniceBlue',\n solitude = 'solitude',\n selago = 'selago',\n coconutCream = 'coconutCream',\n cinderella = 'cinderella',\n royalBlueDark = 'royalBlueDark',\n persianBlue = 'persianBlue',\n ultramarine = 'ultramarine',\n cornflowerBlueDark = 'cornflowerBlueDark',\n jungleGreenDark = 'jungleGreenDark',\n mountainMeadow = 'mountainMeadow',\n dodgerBlueDim = 'dodgerBlueDim',\n zirconDark = 'zirconDark',\n pizazz = 'pizazz',\n madison = 'madison',\n ebony = 'ebony',\n mediumRedViolet = 'mediumRedViolet',\n fruitSaladLight = 'fruitSaladLight',\n shark = 'shark',\n azureRadianceLight = 'azureRadianceLight',\n carnation = 'carnation',\n limaGreen = 'limaGreen',\n mysin = 'mysin',\n studio = 'studio',\n athsSpecial = 'athsSpecial',\n thunderbird = 'thunderbird',\n denimDark = 'denimDark',\n puertoRico = 'puertoRico',\n lochmara = 'lochmara',\n aliceBlue = 'aliceBlue',\n perano = 'perano',\n portage = 'portage',\n royalBlueDim = 'royalBlueDim',\n sailDim = 'sailDim',\n solitaire = 'solitaire',\n capeHoney = 'capeHoney',\n fairPink = 'fairPink',\n romantic = 'romantic',\n polar = 'polar',\n cruise = 'cruise',\n selagoLight = 'selagoLight',\n moonRaker = 'moonRaker',\n pippin = 'pippin',\n yourPinkDark = 'yourPinkDark',\n peppermintLight = 'peppermintLight',\n fringyFlower = 'fringyFlower',\n heliotropeDark = 'heliotropeDark',\n pictonBlue = 'pictonBlue',\n mediumPurpleRed = 'mediumPurpleRed',\n scooter = 'scooter',\n chambrayDim = 'chambrayDim',\n dodgerBlueLight = 'dodgerBlueLight',\n selectiveYellow = 'selectiveYellow',\n scienceBlueDark = 'scienceBlueDark',\n dodgerBlueDeep = 'dodgerBlueDeep',\n kashmirBlue = 'kashmirBlue',\n turbo = 'turbo',\n denimDim = 'denimDim',\n orangeRoughy = 'orangeRoughy',\n selagoDim = 'selagoDim',\n congressBlueNight = 'congressBlueNight',\n azureRadianceMedium = 'azureRadianceMedium',\n honeyFlowerDim = 'honeyFlowerDim',\n jaguar = 'jaguar',\n kournikova = 'kournikova',\n drover = 'drover',\n flamingo = 'flamingo',\n mineShaftDim = 'mineShaftDim',\n periwinkle = 'periwinkle',\n colonialWhiteDim = 'colonialWhiteDim',\n pattensBlueDeep = 'pattensBlueDeep',\n solitudeDim = 'solitudeDim',\n periwinkleDim = 'periwinkleDim',\n rioGrande = 'rioGrande',\n kournikovaDim = 'kournikovaDim',\n}\n\nexport enum BaseColorNames {\n 'content-onmain-primary' = 'content-onmain-primary',\n 'content-onmain-secondary' = 'content-onmain-secondary',\n 'content-onmain-tertiary' = 'content-onmain-tertiary',\n 'content-oncolor-primary' = 'content-oncolor-primary',\n 'content-oncolor-secondary' = 'content-oncolor-secondary',\n 'content-oncolor-tertiary' = 'content-oncolor-tertiary',\n 'content-oncolor-inverse' = 'content-oncolor-inverse',\n 'content-oncolor-constant' = 'content-oncolor-constant',\n 'content-disabled' = 'content-disabled',\n 'content-oncolor-disabled' = 'content-oncolor-disabled',\n 'content-oncolor-hover' = 'content-oncolor-hover',\n 'content-onmain-hover' = 'content-onmain-hover',\n 'content-discount' = 'content-discount',\n 'content-link' = 'content-link',\n 'border-onmain-default-large' = 'border-onmain-default-large',\n 'border-onmain-default-small' = 'border-onmain-default-small',\n 'border-onmain-contrast' = 'border-onmain-contrast',\n 'border-disabled' = 'border-disabled',\n 'border-oncolor-disabled' = 'border-oncolor-disabled',\n 'border-oncolor-default' = 'border-oncolor-default',\n 'bg-onmain-main' = 'bg-onmain-main',\n 'bg-onmain-primary' = 'bg-onmain-primary',\n 'bg-onmain-secondary' = 'bg-onmain-secondary',\n 'bg-onmain-tertiary' = 'bg-onmain-tertiary',\n 'bg-onmain-divider' = 'bg-onmain-divider',\n 'bg-onmain-contrast' = 'bg-onmain-contrast',\n 'bg-onmain-inverse' = 'bg-onmain-inverse',\n 'bg-oncolor-primary' = 'bg-oncolor-primary',\n 'bg-oncolor-secondary' = 'bg-oncolor-secondary',\n 'bg-oncolor-tertiary' = 'bg-oncolor-tertiary',\n 'bg-oncolor-hover' = 'bg-oncolor-hover',\n 'bg-disabled-large' = 'bg-disabled-large',\n 'bg-disabled-small' = 'bg-disabled-small',\n 'bg-disabled-active' = 'bg-disabled-active',\n 'bg-oncolor-disabled' = 'bg-oncolor-disabled',\n 'bg-contrast-active' = 'bg-contrast-active',\n 'bg-oncontrast-hover' = 'bg-oncontrast-hover',\n 'alert-bg-success-100' = 'alert-bg-success-100',\n 'alert-bg-success-200' = 'alert-bg-success-200',\n 'alert-bg-success-500' = 'alert-bg-success-500',\n 'alert-bg-warning-100' = 'alert-bg-warning-100',\n 'alert-bg-warning-200' = 'alert-bg-warning-200',\n 'alert-bg-warning-500' = 'alert-bg-warning-500',\n 'alert-bg-error-100' = 'alert-bg-error-100',\n 'alert-bg-error-200' = 'alert-bg-error-200',\n 'alert-bg-error-500' = 'alert-bg-error-500',\n 'alert-success' = 'alert-success',\n 'alert-warning' = 'alert-warning',\n 'alert-error' = 'alert-error',\n}\n\nexport enum BrandColorNames {\n 'content-brand-primary' = 'content-brand-primary',\n 'content-brand-secondary' = 'content-brand-secondary',\n 'border-brand-primary' = 'border-brand-primary',\n 'border-brand-secondary' = 'border-brand-secondary',\n 'border-brand-primary-hover' = 'border-brand-primary-hover',\n 'border-brand-primary-active' = 'border-brand-primary-active',\n 'bg-brand-primary-basic' = 'bg-brand-primary-basic',\n 'bg-brand-primary-100' = 'bg-brand-primary-100',\n 'bg-brand-primary-200' = 'bg-brand-primary-200',\n 'bg-brand-primary-400' = 'bg-brand-primary-400',\n 'bg-brand-primary-500' = 'bg-brand-primary-500',\n 'bg-brand-secondary-basic' = 'bg-brand-secondary-basic',\n 'bg-brand-secondary-100' = 'bg-brand-secondary-100',\n 'bg-brand-secondary-200' = 'bg-brand-secondary-200',\n 'bg-brand-secondary-400' = 'bg-brand-secondary-400',\n 'bg-brand-secondary-500' = 'bg-brand-secondary-500',\n 'bg-brand-tertiary-100' = 'bg-brand-tertiary-100',\n 'bg-brand-tertiary-200' = 'bg-brand-tertiary-200',\n 'bg-brand-quaternary-100' = 'bg-brand-quaternary-100',\n 'bg-brand-quaternary-200' = 'bg-brand-quaternary-200',\n 'bg-brand-quaternary-400' = 'bg-brand-quaternary-400',\n 'bg-brand-quaternary-500' = 'bg-brand-quaternary-500',\n 'bg-brand-primary-basic-active' = 'bg-brand-primary-basic-active',\n 'bg-brand-primary-100-active' = 'bg-brand-primary-100-active',\n 'bg-brand-primary-100-hover' = 'bg-brand-primary-100-hover',\n}\n\nexport enum SocialColorNames {\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}\n\nexport const socialColors: Record<SocialColorNames, ColorValue> = 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: Record<DefaultColorNames, ColorValue> = 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 catalinaBlue: '#023178',\n danube: '#759BD7',\n midnightDeep: '#00276E',\n anakiva: '#86caff',\n azureRadiance: '#007cee',\n blueMarguerite: '#6c6ace',\n blueViolet: '#5958b4',\n bossanova: '#4c2864',\n capeCod: '#3f4d4d',\n cerulean: '#00a6de',\n congressBlue: '#004484',\n congressBlueLight: '#00498f',\n creamBrulee: '#ffe89e',\n denim: '#117bdc',\n earlyDawn: '#FFFAEA',\n eminence: '#57296F',\n endeavour: '#0055a4',\n fern: '#6fb66e',\n ghost: '#c9C7d8',\n grape: '#4A1E61',\n gunsmoke: '#818f8f',\n highland: '#619b62',\n honeyFlower: '#4f196a',\n honeyFlower2: '#531C70',\n honeyFlower3: '#5F2280',\n jagger: '#3B0F52',\n jordyBlue: '#82beed',\n jumbo: '#88888c',\n mediumPurple: '#8f48e6',\n midnightBlue: '#032b66',\n moodyBlue: '#7a78d7',\n nandor: '#475757',\n nevada: '#657171',\n olivine: '#a4ca8a',\n parsley: '#12522D',\n pattensBlue: '#d4ebfe',\n pattensBlueLight: '#d8eeff',\n scarletGum: '#3e1354',\n scienceBlue: '#0068c9',\n scienceBlue03: 'rgba(0, 104, 201, 0.3)',\n seance: '#68278a',\n smalt: '#00378a',\n smaltLight: '#003b95',\n tarawera: '#0a3859',\n toryBlue: '#1259a6',\n toryBlueDark: '#144da3',\n dodgerBlueDark: '#2787f5',\n chambray: '#3b589e',\n chambrayDark: '#324b86',\n pomegranateDark: '#FC3F1D',\n azureRadiance2: '#0077ff',\n curiousBlue: '#229ed9',\n jungleGreen: '#2db05a',\n violetDeep: '#8950E6',\n stormGray: '#6E707C',\n zeus: '#2C2620',\n athensGray: '#F5F6F9',\n marinerLight: '#297DCB',\n royalBlue: '#5674DF',\n melrose: '#9CAFFD',\n zircon: '#F2F5FF',\n veniceBlue: '#05528E',\n solitude: '#EBF7FF',\n selago: '#E6EBFC',\n coconutCream: '#EDF8DE',\n cinderella: '#FEE8DE',\n royalBlueDark: '#5157ed',\n persianBlue: '#3a11db',\n ultramarine: '#2705ae',\n cornflowerBlueDark: '#6d73ff',\n jungleGreenDark: '#2faa73',\n mountainMeadow: '#17be73',\n dodgerBlueDim: '#1a96f6',\n zirconDark: '#ebefff',\n pizazz: '#FF8A00',\n madison: '#0A2E64',\n ebony: '#120F21',\n mediumRedViolet: '#CC2E8D',\n fruitSaladLight: '#63AB4F',\n shark: '#25262C',\n azureRadianceLight: '#0f90f4',\n carnation: '#F46868',\n limaGreen: '#72BC21',\n mysin: '#FFAB1F',\n studio: '#563FBA',\n athsSpecial: '#EAE2CA',\n thunderbird: '#cf3d17',\n denimDark: '#0b71bf',\n puertoRico: '#36c0b0',\n lochmara: '#087ad3',\n aliceBlue: '#eff7ff',\n perano: '#b4baef',\n portage: '#8785e6',\n royalBlueDim: '#3C75E5',\n sailDim: '#baddf8',\n solitaire: '#fef6e9',\n capeHoney: '#fee2b3',\n fairPink: '#ffeee6',\n romantic: '#ffd5c2',\n polar: '#dff5f7',\n cruise: '#b9eaee',\n selagoLight: '#f3f4fd',\n moonRaker: '#c4cef4',\n pippin: '#ffe0e0',\n yourPinkDark: '#ffbbbb',\n peppermintLight: '#e6f6e5',\n fringyFlower: '#c8ebc7',\n heliotropeDark: '#9C6DFF',\n pictonBlue: '#48A1E6',\n mediumPurpleRed: '#8C7AE8',\n scooter: '#3BC9DC',\n chambrayDim: '#393C9E',\n dodgerBlueLight: '#1C78FF',\n selectiveYellow: '#ffb800',\n scienceBlueDark: '#005dcf',\n dodgerBlueDeep: '#29A2FF',\n kashmirBlue: '#4C7191',\n turbo: '#ffe603',\n denimDim: '#0C71BF',\n orangeRoughy: '#CF4D17',\n selagoDim: '#EFF7FD',\n congressBlueNight: '#01488A',\n azureRadianceMedium: '#0988eb',\n honeyFlowerDim: '#501A6B',\n jaguar: '#160420',\n kournikova: '#fde57e',\n drover: '#FCEBA4',\n flamingo: '#EF5436',\n mineShaftDim: '#252525',\n periwinkle: '#d3ddff',\n colonialWhiteDim: '#feefbb',\n pattensBlueDeep: '#d7edff',\n solitudeDim: '#e8f5ff',\n periwinkleDim: '#ccdaff',\n rioGrande: '#afdb00',\n kournikovaDim: '#ffde7a',\n})\n\nexport enum UnitColorNames {\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 unitColors: Record<UnitColorNames, ColorValue> = 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\nexport const ColorNames = {\n ...DefaultColorNames,\n ...SocialColorNames,\n ...UnitColorNames,\n ...BaseColorNames,\n ...BrandColorNames,\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","/* eslint-disable no-unused-vars */\nexport enum SizeInput {\n l = 380,\n m = 300,\n s = 220,\n xs = 140,\n}\n","import { useTheme } from 'styled-components'\nimport type { DefaultTheme } from 'styled-components'\nimport { defaultTheme } from '../theme/themes'\n\nexport function useFallbackTheme(): DefaultTheme {\n const contextTheme = useTheme()\n\n const shouldForwardTheme =\n typeof contextTheme === 'object' && contextTheme !== null && Object.keys(contextTheme).length > 0\n\n return shouldForwardTheme ? contextTheme : defaultTheme\n}\n","import { useMemo } from 'react'\n\nexport function useConfigPriority<T extends object>(minor?: Partial<T>, major?: Partial<T>): Partial<T> {\n return useMemo(() => {\n const minorConfig = minor ?? {}\n const majorConfig = major ?? {}\n const uniqueKeys = [...new Set([...Object.keys(minorConfig), ...Object.keys(majorConfig)])]\n\n return uniqueKeys.reduce((prioritized, key) => {\n let finalVal\n\n if (valid(minorConfig[key])) finalVal = minorConfig[key]\n if (valid(majorConfig[key])) finalVal = majorConfig[key]\n\n return valid(finalVal) ? { ...prioritized, [key]: finalVal } : prioritized\n }, {} as Partial<T>)\n }, [minor, major])\n}\n\nfunction valid(value: unknown): boolean {\n return Boolean(value) || typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string'\n}\n","<svg width=\"14\" height=\"16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 1v14M7 1l6 6M7 1 1 7\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","<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 type { ArrowProps } from './types'\n\nexport const DIR_MAP = {\n top: 0,\n right: 90,\n bottom: 180,\n left: 270,\n}\n\nexport function getArrowRotation({ top, right, bottom, left }: ArrowProps): React.CSSProperties {\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 return {\n transform: `rotate(${rotateDeg}deg)${isMultiDir ? ' translateY(-3px)' : ''}`,\n }\n}\n","import { css } from 'styled-components'\nimport type { CSSObject, ThemeProps, DefaultTheme, SimpleInterpolation, Interpolation } from 'styled-components'\nimport { theme } from '../theme'\n\ntype StyledComponentProps = {\n theme?: { breakpoints?: typeof theme.breakpoints }\n}\n\ntype MediaQueryParams = {\n and?: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\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]}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 <T extends object>(...args: [CSSObject | TemplateStringsArray, ...Interpolation<T & ThemeProps<DefaultTheme>>[]]) =>\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<T>`\n @media screen and ${condition(breakpoints, ...points)} ${params !== undefined && typeof params.and === 'string'\n ? `and ${params.and}`\n : ``} {\n ${css<T>(...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\nexport type MediaQuery = ReturnType<typeof createMediaQuery>\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport type { Size } from 'shared/interfaces'\nimport { screenXs, screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMinL, screenMaxXxs } from './screen'\nimport type { MediaQuery } from './screen'\n\nexport const SIZES_LATIN: Readonly<Record<Size, 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<Size, 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\nconst DESKTOP_FIRST_KEYS = ['xl', 'l', 'm', 's', 'xs', 'xxs']\nconst MOBILE_FIRST_KEYS = ['xxs', 'xs', 's', 'm', 'l', 'xl']\n\nexport function getLatinSizeMapByCssProperty<T>(cssProperty: T) {\n if (typeof cssProperty === 'string' && cssProperty === 'font-size') return FONT_SIZES_LATIN\n return SIZES_LATIN\n}\n\nexport function buildMediaQuery(\n value: number | Size | 'auto' | 'initial' | 'inherit' | boolean,\n property:\n | string\n | ((\n _size: number | 'auto' | 'initial' | 'inherit' | boolean,\n _sizing?: null | string\n ) => FlattenSimpleInterpolation | null),\n screenQueryFunction: typeof screenXs,\n sizing: null | string,\n sizes?: Record<Size, number>\n): ReturnType<typeof css> {\n const sizeMap = sizes ?? getLatinSizeMapByCssProperty(property)\n\n const size: number | 'auto' | 'initial' | 'inherit' | boolean =\n typeof value === 'string' ? sizeMap[value] ?? value : 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}: ${size as string}${typeof size === 'string' ? '' : sizing ?? ''};\n `}\n `\n}\n\nconst getKey = (key: string): 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | null => {\n if (key.endsWith('XXS')) return 'xxs'\n if (key.endsWith('XS')) return 'xs'\n if (key.endsWith('S')) return 's'\n if (key.endsWith('M')) return 'm'\n if (key.endsWith('XL')) return 'xl'\n if (key.endsWith('L')) return 'l'\n return null\n}\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 = DESKTOP_FIRST_KEYS.findIndex((el) => el === aKey)\n const bIndex = DESKTOP_FIRST_KEYS.findIndex((el) => el === bKey)\n\n return aIndex < bIndex ? -1 : 1\n}\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\nexport const getMediaQueryByResponsiveProp = (prop: string): MediaQuery => {\n if (prop.endsWith('XXS')) return screenMaxXxs\n if (prop.endsWith('XS')) return screenMaxXs\n if (prop.endsWith('S')) return screenMaxS\n if (prop.endsWith('M')) return screenMaxM\n if (prop.endsWith('XL')) return screenMinL\n return screenMaxL\n}\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport { screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMinL, screenMaxXxs, screenMinM } from 'mixins/screen'\nimport {\n buildMediaQuery,\n getLatinSizeMapByCssProperty,\n desktopFirst,\n getMediaQueryByResponsiveProp,\n} from 'mixins/shared'\nimport type { Size } from 'shared/interfaces'\n\n/**\n * Value for breakpoint\n */\nexport type PossibleValues = number | Size | '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 = (\n _size: number | 'auto' | 'initial' | 'inherit' | boolean,\n _sizing?: null | string\n) => 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 | Size> =\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 (\n value: PossibleValues,\n cssProperty: CssProperty = 'size',\n sizing: null | string = 'px',\n sizes?: Record<Size, number>\n ) =>\n () =>\n () => {\n if (typeof value === 'boolean') {\n return typeof cssProperty === 'function' ? cssProperty(1) : null\n }\n\n const sizeMap = sizes ?? getLatinSizeMapByCssProperty(cssProperty)\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\ninterface ResponsiveNamedPropertyPayload<T extends PropsProperties> {\n sizes: ResponsiveNamedProperty<T>\n cssProperty: CssProperty\n sizing?: null | string\n customSizeHandler?: (_value: PossibleValues) => PossibleValues\n sort?: (_a: string, _b: string) => number\n predefinedSizes?: Record<Size, 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 predefinedSizes,\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] !== undefined) {\n const _size: PossibleValues =\n typeof customSizeHandler === 'function' ? customSizeHandler(sizes[size]) : sizes[size]\n\n return buildMediaQuery(_size, cssProperty, getMediaQueryByResponsiveProp(size), sizing, predefinedSizes)\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 propName имя пропсы\n * @param cssProperty имя css свойства\n * @param sizing значение величины, по умолчанию `px`\n * @returns строки медиазапросов\n */\nexport const responsiveProperty =\n (propName: string, cssProperty: string | null = null, sizing: null | string = 'px') =>\n () =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (props: any) => {\n const prop: ResponsiveProperty | null = props[propName] ?? null\n const _cssProperty = cssProperty ?? propName\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 type { DefaultTheme } from 'styled-components'\nimport { defaultTheme } from '../../theme/themes'\n\nexport function injectDefaultTheme(\n config: { theme: DefaultTheme | void } & Record<string, unknown>\n): { theme: DefaultTheme } & Record<string, unknown> {\n const contextTheme = config.theme\n\n const shouldForwardTheme =\n typeof contextTheme === 'object' && contextTheme !== null && Object.keys(contextTheme).length > 0\n\n const forwardedTheme = shouldForwardTheme ? contextTheme : defaultTheme\n\n return {\n ...config,\n theme: forwardedTheme,\n }\n}\n","import type { ArrowTransientProp } from './types'\n\nexport const TRANSIENT_PROPS: ArrowTransientProp[] = [\n 'preset',\n 'square',\n 'onColored',\n 'size',\n 'top',\n 'theme',\n 'right',\n 'bottom',\n 'left',\n 'inverse',\n 'outline',\n 'borderRadius',\n 'brandPresetUsed',\n]\n","import styled, { css } from 'styled-components'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { TRANSIENT_PROPS } from './constants'\nimport type { StyledArrowProps, ArrowStaticSize, ArrowTransientProp } from './types'\n\nconst SIZES: Record<ArrowStaticSize, number> = { l: 48, m: 44, xs: 40 }\n\nconst DEFAULT_SIZES: Record<ArrowStaticSize, number> = { l: 40, m: 28, xs: 20 }\n\nconst baseStyles = `\n &,\n & > span {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n position: relative;\n flex-shrink: 0;\n padding: 0;\n border: 0;\n line-height: 1;\n cursor: pointer;\n overflow: hidden;\n transition-property: background-color, box-shadow;\n &::before, \n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n`\n\nconst pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst defaultDisabledStyles = `\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 PRESET = {\n filled: {\n default: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: ${disabled ? theme.colors['bg-disabled-large'] : theme.colors['bg-onmain-tertiary']};\n color: ${disabled ? theme.colors['content-disabled'] : theme.colors['content-onmain-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 0;\n background-color: ${theme.colors['bg-oncolor-hover']};\n \n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 1;\n }\n &:active::before {\n opacity: 0;\n }\n &:active::after {\n opacity: 1;\n }\n &:active {\n background-color: ${theme.colors['bg-brand-primary-basic-active']};\n color: ${theme.colors['content-oncolor-primary']};\n }\n `\n }\n `}\n `,\n onColored: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: ${theme.colors['bg-oncolor-primary']};\n color: ${disabled ? theme.colors['content-disabled'] : theme.colors['content-oncolor-constant']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 0;\n background-color: ${theme.colors['bg-oncolor-hover']};\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n }\n `}\n `,\n },\n outline: {\n default: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: transparent; \n color: ${disabled ? theme.colors['border-disabled'] : theme.colors['content-onmain-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 1;\n box-shadow: inset 0 0 0 1px ${\n disabled ? theme.colors['border-disabled'] : theme.colors['border-onmain-contrast']\n };\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 0;\n }\n &:hover {\n background-color: ${theme.colors['bg-onmain-tertiary']};\n }\n &:active::after {\n opacity: 1;\n }\n &:active {\n background-color: ${theme.colors['bg-brand-primary-basic-active']};\n color: ${theme.colors['content-oncolor-primary']};\n }\n `\n }\n `}\n `,\n onColored: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: transparent; \n color: ${disabled ? theme.colors['border-oncolor-disabled'] : theme.colors['content-oncolor-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 1;\n box-shadow: inset 0 0 0 1px ${\n disabled ? theme.colors['border-oncolor-disabled'] : theme.colors['border-oncolor-default']\n };\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 0;\n }\n &:hover {\n background-color: ${theme.colors['bg-oncolor-primary']};\n color: ${theme.colors['content-oncolor-constant']};\n }\n &:active::after {\n opacity: 1;\n }\n `\n }\n `}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n filled: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: ${theme.colors.white};\n box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);\n & svg {\n fill: ${theme.colors.accent};\n }\n &:hover {\n background-color: ${theme.colors.accent};\n box-shadow: none;\n svg {\n fill: ${theme.colors.white};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 rgba(5, 108, 188, 0.5);\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n outline: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: transparent;\n box-shadow: inset 0 0 0 2px ${theme.colors.alto};\n & svg {\n fill: ${theme.colors.alto};\n }\n &:hover {\n background-color: ${theme.colors.accent};\n box-shadow: none;\n svg {\n fill: ${theme.colors.white};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 rgba(5, 108, 188, 0.5);\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n inverse: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: transparent;\n box-shadow: inset 0 0 0 2px ${theme.colors.white};\n & svg {\n fill: ${theme.colors.white};\n }\n &:hover {\n background-color: ${theme.colors.white};\n box-shadow: none;\n svg {\n fill: ${theme.colors.accent};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 #eaecf3;\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n}\n\nconst extractSize = (props: ThemedStyledProps<StyledArrowProps, DefaultTheme>, cssProperty: 'height' | 'width') => {\n const config = props.brandPresetUsed ? SIZES : DEFAULT_SIZES\n\n return ['l', 'm', 'xs'].includes(<ArrowStaticSize>props.size)\n ? `${cssProperty}: ${config[<ArrowStaticSize>props.size]}px;`\n : responsiveProperty('size', cssProperty)\n}\n\nconst extractStyles = (props: ThemedStyledProps<StyledArrowProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.outline && props.onColored) return PRESET.outline.onColored\n if (props.outline && !props.onColored) return PRESET.outline.default\n if (!props.outline && props.onColored) return PRESET.filled.onColored\n\n return PRESET.filled.default\n }\n\n if (props.inverse) return PRESET_DEFAULT.inverse\n if (props.outline) return PRESET_DEFAULT.outline\n\n return PRESET_DEFAULT.filled\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return !TRANSIENT_PROPS.includes(<ArrowTransientProp>prop)\n },\n })\n .attrs(injectDefaultTheme)<StyledArrowProps>`\n ${baseStyles}\n ${extractStyles}\n ${(props) => extractSize(props, 'height')}\n ${(props) => extractSize(props, 'width')}\n ${(props) => `border-radius: ${props.borderRadius};`}\n`\n","import { forwardRef } from 'react'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport ArrowSvg from './images/arrow.module.svg'\nimport ChevronSvg from './images/chevron.module.svg'\nimport type { ArrowProps } from './types'\nimport { getArrowRotation } from './utils'\n\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Arrow'\n\n/**\n * Button with arrow icon\n */\nconst Arrow = forwardRef<HTMLButtonElement, ArrowProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n const { size = 'l', onClick, ...configProps } = useConfigPriority<ArrowProps>(theme.components?.Arrow, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof configProps.preset === 'string') brandPresetUsed = configProps.preset === 'brand'\n\n const borderRadius = configProps.square ? '8px' : '50%'\n const Icon = brandPresetUsed ? ArrowSvg : ChevronSvg\n const iconStyles = getArrowRotation(configProps)\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n\n if (!configProps.disabled && typeof onClick === 'function') {\n onClick(event)\n }\n }\n\n return (\n <Styled.Root\n {...configProps}\n ref={ref}\n type='button'\n size={size}\n borderRadius={borderRadius}\n brandPresetUsed={brandPresetUsed}\n onClick={handleClick}\n >\n <span>{<Icon style={iconStyles} />}</span>\n </Styled.Root>\n )\n})\n\nArrow.displayName = COMPONENT_NAME\n\nexport { Arrow, COMPONENT_NAME }\n\nexport type { ArrowProps }\n","import cx from 'clsx'\nimport { useFallbackTheme } from './use-theme'\n\nexport function useClassname(componentName: string, originalClassName?: string) {\n const theme = useFallbackTheme()\n return cx(`${theme.classNamePrefix}-${componentName}`, originalClassName)\n}\n","import type { Sizes, Size } from 'shared/interfaces'\nimport type { ButtonProps } from './types'\n\nexport const FORWARD_PROPS = [\n 'id',\n 'to',\n 'target',\n 'ref',\n 'rel',\n 'href',\n 'type',\n 'disabled',\n 'className',\n 'style',\n 'form',\n 'onClick',\n 'onClickCapture',\n 'onMouseLeave',\n 'onMouseEnter',\n 'children',\n]\n\nexport const SIZES: Sizes = {\n xxxl: {\n fontSize: 24,\n height: 78,\n paddingLeft: 44,\n paddingRight: 44,\n },\n xxl: {\n fontSize: 22,\n height: 72,\n paddingLeft: 40,\n paddingRight: 40,\n },\n xl: {\n fontSize: 20,\n height: 68,\n paddingLeft: 40,\n paddingRight: 40,\n },\n l: {\n fontSize: 18,\n height: 60,\n paddingLeft: 36,\n paddingRight: 36,\n },\n m: {\n fontSize: 16,\n height: 52,\n paddingLeft: 32,\n paddingRight: 32,\n },\n s: {\n fontSize: 14,\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n },\n xs: {\n fontSize: 14,\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n },\n xxs: {\n fontSize: 12,\n height: 32,\n paddingLeft: 18,\n paddingRight: 18,\n },\n xxxs: {\n fontSize: 10,\n height: 28,\n paddingLeft: 12,\n paddingRight: 12,\n },\n}\n\nexport const SIZES_BRAND: Sizes = {\n xxxl: {\n fontSize: 22,\n height: 64,\n paddingLeft: 36,\n paddingRight: 36,\n },\n xxl: {\n fontSize: 20,\n height: 60,\n paddingLeft: 34,\n paddingRight: 34,\n },\n xl: {\n fontSize: 18,\n height: 56,\n paddingLeft: 32,\n paddingRight: 32,\n },\n l: {\n fontSize: 16,\n height: 48,\n paddingLeft: 26,\n paddingRight: 26,\n },\n m: {\n fontSize: 16,\n height: 44,\n paddingLeft: 28,\n paddingRight: 28,\n },\n s: {\n fontSize: 14,\n height: 40,\n paddingLeft: 24,\n paddingRight: 24,\n },\n xs: {\n fontSize: 14,\n height: 32,\n paddingLeft: 16,\n paddingRight: 16,\n },\n xxs: {\n fontSize: 12,\n height: 28,\n paddingLeft: 14,\n paddingRight: 14,\n },\n xxxs: {\n fontSize: 10,\n height: 24,\n paddingLeft: 12,\n paddingRight: 12,\n },\n}\n\nexport const SIZES_ROUND: Sizes = {\n xxxl: {\n fontSize: 32,\n lineHeight: 1,\n padding: '0.28em',\n width: 72,\n height: 72,\n },\n xxl: {\n fontSize: 30,\n lineHeight: 1,\n padding: '0.28em',\n width: 68,\n height: 68,\n },\n xl: {\n fontSize: 26,\n lineHeight: 1,\n padding: '0.28em',\n width: 60,\n height: 60,\n },\n l: {\n fontSize: 23,\n lineHeight: 1,\n padding: '0.28em',\n width: 52,\n height: 52,\n },\n m: {\n fontSize: 21,\n lineHeight: 1,\n padding: '0.28em',\n width: 48,\n height: 48,\n },\n s: {\n fontSize: 18,\n lineHeight: 1,\n padding: '0.28em',\n width: 40,\n height: 40,\n },\n xs: {\n fontSize: 14,\n lineHeight: 1,\n padding: '0.28em',\n width: 32,\n height: 32,\n },\n xxs: {\n fontSize: 12,\n lineHeight: 1,\n padding: '0.28em',\n width: 24,\n height: 24,\n },\n xxxs: {\n fontSize: 8,\n lineHeight: 1,\n padding: '0.28em',\n width: 18,\n height: 18,\n },\n}\n\nexport const SIZES_ROUND_BRAND: Sizes = {\n xxxl: {\n fontSize: 22,\n padding: '1em',\n },\n xxl: {\n fontSize: 20,\n padding: '1em',\n },\n xl: {\n fontSize: 18,\n padding: '1em',\n },\n l: {\n fontSize: 16,\n padding: '1em',\n },\n m: {\n fontSize: 16,\n padding: '1em',\n },\n s: {\n fontSize: 14,\n padding: '1em',\n },\n xs: {\n fontSize: 14,\n padding: '1em',\n },\n xxs: {\n fontSize: 12,\n padding: '1em',\n },\n xxxs: {\n fontSize: 10,\n padding: '1em',\n },\n}\n\n// delete in next major version bump\nexport const PROPS_BY_SIZE: Partial<Record<Size, ButtonProps>> = {\n xl: {\n paddingLeftM: 36,\n paddingRightM: 36,\n paddingLeftS: 32,\n paddingRightS: 32,\n },\n l: {\n fontSizeM: 'm',\n heightM: 56,\n heightS: 52,\n paddingLeftM: 28,\n paddingRightM: 28,\n paddingLeftS: 24,\n paddingRightS: 24,\n },\n m: {\n paddingLeftM: 24,\n paddingRightM: 24,\n paddingLeftS: 20,\n paddingRightS: 20,\n },\n s: {\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n xs: {\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n}\n","import { css, DefaultTheme, FlattenSimpleInterpolation } from 'styled-components'\nimport { HEX, RGB, RGBA } from '../shared/interfaces'\nimport { ColorNames } from '../theme/colors'\n\ntype ColorPropertyVariants = 'color' | 'fontColor' | `${string}Color` | `color${string}`\nexport type ColorValue = RGB | RGBA | HEX | 'inherit' | 'initial' | 'transparent'\ntype ColorCalcProperty = (_color: ColorValue) => FlattenSimpleInterpolation | null\ntype ColorCssProperty = string | ColorCalcProperty\nexport type Color = keyof typeof ColorNames | ColorValue\nexport type ColorProperty<T extends ColorPropertyVariants = 'color'> = {\n /**\n * Color name, HEX, rgb or rgba\n */\n [key in `${T}`]?: Color // eslint-disable-line no-unused-vars\n}\n\nexport const getColor = (color: Color, 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?: Color | string, cssProperty: ColorCssProperty = 'color') =>\n () =>\n (props: { theme: DefaultTheme }) => {\n const colorVal = color || props?.theme?.textColor || props?.theme?.fallbackColor\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'\nimport type { ThemedStyledProps, DefaultTheme, CSSObject, FlattenInterpolation, ThemeProps } from 'styled-components'\nimport type { CSSProperties } from 'react'\nimport { getMediaQueryByResponsiveProp, desktopFirst } from 'mixins/shared'\nimport type { MediaQuery } from 'mixins/screen'\nimport { screenMinM, screenMaxM, screenMaxS, screenMinL, screenMaxL, screenMaxXs, screenMaxXxs } from 'mixins/screen'\nimport type { ResponsiveSizeProps, ResponsiveInterpolationProps, SizeValue, CSSUnit, Sizes } from 'shared/interfaces'\n\nconst responsiveSizePropRegExp = /^size(XXS|XS|S|M|L|XL)$/\n\nconst DEVICE_MEDIA_QUERIES: [desktop: MediaQuery, tablet: MediaQuery, mobile: MediaQuery] = [\n screenMinM,\n screenMaxM,\n screenMaxS,\n]\n\nconst BREAKPOINTS_MEDIA_QUERIES: [\n xl: MediaQuery,\n l: MediaQuery,\n m: MediaQuery,\n s: MediaQuery,\n xs: MediaQuery,\n xxs: MediaQuery\n] = [screenMinL, screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMaxXxs]\n\nconst buildSizeCSSDeclarations = (\n size: SizeValue,\n sizes: Partial<Sizes>,\n cssProperty: keyof CSSProperties = 'fontSize',\n cssUnit: CSSUnit = 'px',\n dynamicDeclaration?: (size: number, cssProperty: keyof CSSProperties, cssUnit: CSSUnit) => CSSProperties\n): CSSObject => {\n if (typeof size === 'number') {\n const declarations =\n typeof dynamicDeclaration === 'function'\n ? dynamicDeclaration(size, cssProperty, cssUnit)\n : { [cssProperty]: `${size}${cssUnit}` }\n\n return declarations as CSSObject\n }\n return (sizes[size] ?? {}) as CSSObject\n}\n\n/**\n *\n * Mixin enables support for responsive sizing in styled component\n */\nconst responsiveSizing = (\n props: ThemedStyledProps<ResponsiveInterpolationProps<ResponsiveSizeProps>, DefaultTheme>\n): FlattenInterpolation<ThemeProps<DefaultTheme>> => {\n if (Array.isArray(props.size)) {\n const queries: MediaQuery[] =\n props.size.length > DEVICE_MEDIA_QUERIES.length ? BREAKPOINTS_MEDIA_QUERIES : DEVICE_MEDIA_QUERIES\n\n return css`\n ${props.size.map((size, idx) => {\n const mediaQuery: MediaQuery | void = queries[idx]\n\n return typeof mediaQuery === 'function'\n ? mediaQuery()`${buildSizeCSSDeclarations(\n size,\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n )}`\n : null\n })}\n `\n } else {\n return css`\n ${[\n buildSizeCSSDeclarations(\n props.size,\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n ),\n ...Object.keys(props)\n .filter((prop) => responsiveSizePropRegExp.test(prop))\n .sort(desktopFirst)\n .map(\n (sizeProp) =>\n getMediaQueryByResponsiveProp(sizeProp)()`${buildSizeCSSDeclarations(\n props[sizeProp],\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n )}`\n ),\n ]}\n `\n }\n}\n\nexport { responsiveSizing }\n","<svg viewBox=\"0 0 20 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 7.611 6.923 12.5 18 1.5\" stroke=\"currentcolor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","<svg viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 1.5V4m0 10v2.5M4 9H1.5m15 0H14M3.697 3.697l1.77 1.77m7.068 7.068 1.768 1.768m.001-10.607-1.767 1.767m-7.072 7.072-1.77 1.77\" stroke=\"currentcolor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","import styled, { css, keyframes } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { CalcProperty, property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { color as colorFn, ColorValue } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { responsiveSizing } from 'mixins/sizing'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { FORWARD_PROPS } from './constants'\nimport Check from './images/check.module.svg'\nimport Spinner from './images/spinner.module.svg'\nimport type { StyledButtonProps } from './types'\n\nconst WIDTHS: Record<string, number> = {\n xl: 320,\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n\nconst baseStyles = css<StyledButtonProps>`\n ${(props) => `\n display: ${props.display};\n font-weight: ${props.fontWeight};\n border-radius: ${props.borderRadius};\n line-height: ${props.lineHeight};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n transition-property: color, background-color, box-shadow;\n &::before,\n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ${props.noSpacing ? 'auto' : '1em'};\n }\n `}\n`\n\nconst loading = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst spin = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nconst defaultLoadingStyles = 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: ${loading} 2s linear infinite;\n cursor: progress;\n`\n\nconst getWidth = (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\nconst fluidStyles: CalcProperty = () => css`\n min-width: initial;\n width: 100%;\n`\n\nconst pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst PRESET = {\n filled: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-brand-primary-basic']\n if (props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let backgroundBefore = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundBefore = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n outline: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background: ColorValue = 'transparent'\n if (props.loading && !props.success && !props.black && !props.danger)\n background = props.theme.colors['bg-brand-primary-basic']\n if (props.loading && !props.success && props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.loading && !props.success && props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success || props.loading) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let boxShadow: ColorValue = props.theme.colors['border-brand-primary']\n if (props.black) boxShadow = props.theme.colors['border-onmain-contrast']\n if (props.danger) boxShadow = props.theme.colors['alert-bg-error-500']\n if (props.loading && !props.success) boxShadow = 'transparent'\n if (props.success) boxShadow = props.theme.colors['alert-bg-success-500']\n if (props.disabled) boxShadow = props.theme.colors['bg-disabled-large']\n\n let backgroundBefore = props.theme.colors['bg-brand-primary-basic']\n if (props.black) backgroundBefore = props.theme.colors['bg-onmain-contrast']\n if (props.danger) backgroundBefore = props.theme.colors['alert-bg-error-500']\n\n let backgroundAfter = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundAfter = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 1px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n background-color: ${backgroundAfter};\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-primary']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background: ColorValue = 'transparent'\n if (props.success || props.loading) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.loading && !props.success) color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n let boxShadow: ColorValue = props.theme.colors['border-oncolor-default']\n if (props.disabled) boxShadow = 'transparent'\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 1px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-constant']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n base: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-onmain-tertiary']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-secondary']\n if (props.success) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n clear: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: css<StyledButtonProps>`\n ${(props) => {\n if (props.disabled || props.loading) return ''\n\n return `\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ${props.fontColor};\n background-color: ${tiny(props.theme.colors[props.color]).saturate(-5).lighten(-8).toString()};\n }\n ${\n props.inverted || props.basic || props.outline\n ? `\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 : ''\n }\n `\n }}\n\n ${(props) => (props.loading ? defaultLoadingStyles : '')}\n\n ${(props) => {\n let cssProperty = 'background-color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'color'\n\n return colorFn(props.color, cssProperty)\n }}\n\n ${(props) => {\n let cssProperty = 'color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'background-color'\n\n return colorFn(props.fontColor, cssProperty)\n }}\n\n ${(props) => {\n if (!props.disabled) return ''\n\n return `\n cursor: not-allowed;\n background-color: ${props.theme.colors.mercury};\n color: ${props.theme.colors.silver};\n `\n }}\n\n ${(props) => (props.basic || props.outline ? 'background-color: transparent;' : '')}\n `,\n}\n\nconst dynamicStyles = (props: ThemedStyledProps<StyledButtonProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.clear && !props.base && !props.outline && !props.onColored) return PRESET.clear.default\n if (props.clear && !props.base && !props.outline && props.onColored) return PRESET.clear.onColored\n\n if (props.base && !props.clear && !props.outline && !props.onColored) return PRESET.base.default\n if (props.base && !props.clear && !props.outline && props.onColored) return PRESET.base.onColored\n\n if (props.outline && !props.clear && !props.base && !props.onColored) return PRESET.outline.default\n if (props.outline && !props.clear && !props.base && props.onColored) return PRESET.outline.onColored\n\n return props.onColored ? PRESET.filled.onColored : PRESET.filled.default\n }\n\n return PRESET_DEFAULT.default\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return FORWARD_PROPS.includes(prop) || prop.includes('data')\n },\n })\n .attrs<StyledButtonProps>(injectDefaultTheme)`\n ${baseStyles}\n ${dynamicStyles}\n ${responsiveSizing}\n\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\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\n ${(props) => (props.fontSize ? property(props.fontSize, 'font-size') : null)}\n\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n\n ${(props) => {\n const cssProperty = props.fluid && props.width !== 'auto' ? 'max-width' : 'width'\n return props.width ? property(getWidth(props.width), cssProperty) : null\n }}\n\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL },\n cssProperty: 'padding',\n })\n }}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })\n }}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })\n }}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })\n }}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })\n }}\n\n ${({ marginXS, marginS, marginM, marginL, marginXL }) => {\n return responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })\n }}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) => {\n return responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })\n }}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) => {\n return responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })\n }}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })\n }}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })\n }}\n\n ${({ fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL }) => {\n return responsiveNamedProperty({\n sizes: { fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL },\n cssProperty: 'font-size',\n })\n }}\n\n ${({ heightXS, heightS, heightM, heightL, heightXL }) => {\n return responsiveNamedProperty({\n sizes: { heightXS, heightS, heightM, heightL, heightXL },\n cssProperty: 'height',\n })\n }}\n\n ${({ widthXS, widthS, widthM, widthL, widthXL, fluid, width }) => {\n return responsiveNamedProperty({\n sizes: { widthXS, widthS, widthM, widthL, widthXL },\n cssProperty: fluid && width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: getWidth,\n })\n }}\n\n ${(props) => (props.fluid ? property(props.fluid, fluidStyles) : null)}\n ${({ fluidXS, fluidS, fluidM, fluidL, fluidXL }) => {\n return responsiveNamedProperty({\n sizes: { fluidXS, fluidS, fluidM, fluidL, fluidXL },\n cssProperty: fluidStyles,\n })\n }}\n`\n\nexport const IconSlot = styled.span<{\n children: React.ReactNode\n marginLeft?: boolean\n marginRight?: boolean\n}>`\n ${(props) => `\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ${props.marginLeft ? '0.4em' : 0};\n margin-right: ${props.marginRight ? '0.4em' : 0};\n `}\n`\n\nexport const Content = styled.span`\n position: relative;\n z-index: 1;\n`\n\nexport const SpinnerIcon = styled(Spinner)`\n width: 100%;\n animation: ${spin} 2000ms linear infinite;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n\nexport const CheckIcon = styled(Check)`\n width: 100%;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n","import { forwardRef } from 'react'\nimport { Link } from 'react-router-dom'\nimport { mergeDeepLeft } from 'ramda'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport type { Sizes } from 'shared/interfaces'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_BRAND, SIZES_ROUND, SIZES_ROUND_BRAND, PROPS_BY_SIZE } from './constants'\nimport type { ButtonProps, StyledButtonProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n * Main button\n */\nconst Button = forwardRef<HTMLElement, ButtonProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n let {\n display = 'inline-flex',\n size = 'm',\n sizes,\n fontColor = 'white',\n color = 'accent',\n disabled = false,\n rounded = true,\n width = 'auto',\n as: _as = 'button',\n type: _type,\n className: _className,\n children,\n content,\n onClick,\n onClickCapture,\n onMouseEnter,\n onMouseLeave,\n ...configProps\n } = useConfigPriority<ButtonProps>(theme.components?.Button, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof configProps.preset === 'string') brandPresetUsed = configProps.preset === 'brand'\n\n if (!brandPresetUsed && typeof size === 'string' && !configProps.round) {\n const propsBySize = PROPS_BY_SIZE[size] ?? {}\n configProps = { ...propsBySize, ...configProps }\n }\n\n let componentSizes = brandPresetUsed ? SIZES_BRAND : SIZES\n if (configProps.round) componentSizes = brandPresetUsed ? SIZES_ROUND_BRAND : SIZES_ROUND\n if (sizes) componentSizes = mergeDeepLeft(sizes, componentSizes) as Sizes\n\n const className = useClassname(COMPONENT_NAME, _className)\n const classNameContent = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, configProps)\n const linkProps = useComputedLinkProps(_as, disabled, configProps)\n\n if (configProps.href) _as = 'a'\n if (configProps.to) _as = Link\n\n if (configProps.primary) color = 'primary'\n if (configProps.secondary) color = 'atlantis'\n\n let fontWeight: ButtonProps['fontWeight'] = brandPresetUsed ? 800 : 600\n if (configProps.fontWeight) fontWeight = configProps.fontWeight\n\n const fontBold = (typeof fontWeight === 'number' && fontWeight >= 800) || fontWeight === 'bold'\n\n let borderRadius = '0px'\n if (rounded) borderRadius = brandPresetUsed ? '48px' : '5px'\n if (configProps.round) borderRadius = '50%'\n\n let [leftIcon, rightIcon] = Array.isArray(configProps.icon) ? configProps.icon : [configProps.icon]\n\n if (brandPresetUsed && configProps.loading && !configProps.success && !disabled) {\n leftIcon = <Styled.SpinnerIcon strokeWidth={fontBold ? 2.5 : 1.5} />\n rightIcon = null\n }\n if (configProps.success) {\n leftIcon = <Styled.CheckIcon strokeWidth={fontBold ? 3 : 1.5} />\n rightIcon = null\n }\n\n const handleDynamicSizeDeclaration: StyledButtonProps['dynamicSizeDeclaration'] = (size, cssProperty, cssUnit) => {\n return {\n [cssProperty]: `${size}${cssUnit}`,\n padding: configProps.round ? '1em' : '1em 1.6em',\n }\n }\n\n const handleClick: ButtonProps['onClick'] = (evt) => {\n if (!disabled && !configProps.loading) onClick?.(evt)\n }\n const handleClickCapture: ButtonProps['onClickCapture'] = (evt) => {\n if (!disabled && !configProps.loading) onClickCapture?.(evt)\n }\n const handleMouseEnter: ButtonProps['onMouseEnter'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseEnter?.(evt)\n }\n const handleMouseLeave: ButtonProps['onMouseLeave'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseLeave?.(evt)\n }\n\n return (\n <Styled.Root\n {...configProps}\n {...linkProps}\n className={className}\n as={_as}\n color={color}\n fontColor={fontColor}\n disabled={disabled}\n rel={rel}\n display={display}\n rounded={rounded}\n size={size}\n sizes={componentSizes}\n dynamicSizeDeclaration={handleDynamicSizeDeclaration}\n fontWeight={fontWeight}\n borderRadius={borderRadius}\n brandPresetUsed={brandPresetUsed}\n ref={ref ?? configProps.innerRef}\n type={_as === 'button' ? _type : undefined}\n lineHeight={brandPresetUsed ? 1.2 : 1}\n width={configProps.round ? undefined : width}\n onClick={handleClick}\n onClickCapture={handleClickCapture}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {leftIcon && (\n <Styled.IconSlot className='icon' marginRight={!configProps.round}>\n {leftIcon}\n </Styled.IconSlot>\n )}\n {(content || children) && (\n <Styled.Content className={`${classNameContent}__content`}>{content || children}</Styled.Content>\n )}\n {rightIcon && !configProps.round && (\n <Styled.IconSlot className='icon' marginLeft>\n {rightIcon}\n </Styled.IconSlot>\n )}\n </Styled.Root>\n )\n})\n\nButton.displayName = COMPONENT_NAME\n\nexport { Button, COMPONENT_NAME }\n\nexport type { ButtonProps }\n","import { DefaultTheme } from 'styled-components'\nimport type { ButtonProps } from './types'\n\nexport function useComputedRel(theme: DefaultTheme, config: ButtonProps) {\n const relBuilder = theme.utils?.relBuilder\n\n let rel\n\n if (config.href) {\n rel = config.rel\n\n if (!rel && relBuilder && config.autoRel && (config.href || config.to)) {\n rel = relBuilder(config.href ?? config.to, config.target)\n }\n }\n\n return rel\n}\n\nexport function useComputedLinkProps(_as: ButtonProps['as'], disabled: boolean, config: ButtonProps) {\n let props = {}\n\n if (_as === undefined || disabled) return props\n\n if (_as === 'a') {\n props = { href: config.href || config.to, target: config.target }\n } else if (typeof _as !== 'string') {\n props = { to: config.to || config.href }\n }\n\n return props\n}\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\".455\" y=\".455\" width=\"19.091\" height=\"19.091\" rx=\"5\" fill=\"#fff\" stroke=\"#B8B8B8\"/><g fill=\"none\"><rect fill=\"#1A96F6\" width=\"20\" height=\"20\" rx=\"5\"/><path stroke=\"#fff\" stroke-width=\"2\" d=\"M6 9.99 9 13l6-6\"/></g></svg>","<svg viewBox=\"0 0 12 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.5 1.5 4.312 8 1.5 5.045\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { screenMaxS } from 'mixins/screen'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport DefaultCheck from './images/check-default.module.svg'\nimport Check from './images/check.module.svg'\nimport type { StyledCheckboxProps, CheckboxStaticSize, CheckboxGroupProps, CheckboxPalette } from './types'\n\nconst DEFAULT_SIZES: Record<CheckboxStaticSize, number> = {\n extraSmall: 12,\n xs: 12,\n small: 14,\n s: 14,\n medium: 16,\n m: 16,\n large: 18,\n l: 18,\n extraLarge: 20,\n xl: 20,\n}\n\nconst BRAND_SIZES: Record<CheckboxStaticSize, number> = {\n extraSmall: 16,\n xs: 16,\n small: 20,\n s: 20,\n medium: 24,\n m: 24,\n large: 28,\n l: 28,\n extraLarge: 32,\n xl: 32,\n}\n\nconst STATIC_SIZES: CheckboxStaticSize[] = [\n 'extraSmall',\n 'xs',\n 'small',\n 's',\n 'medium',\n 'm',\n 'large',\n 'l',\n 'extraLarge',\n 'xl',\n]\n\nconst baseStyles = css<StyledCheckboxProps>`\n ${(props) => `\n &,\n & * {\n box-sizing: border-box;\n }\n position: relative;\n cursor: pointer;\n padding: ${props.background ? 12 : 0}px;\n display: ${props.inline ? 'inline-flex' : 'flex'};\n align-items: baseline;\n isolation: isolate;\n & + & {\n margin-left: 15px;\n }\n `}\n`\n\nexport const Input = styled.input`\n position: absolute;\n opacity: 0;\n z-index: -1;\n &:focus {\n outline: none;\n }\n`\n\nexport const Background = styled.span`\n border-radius: 8px;\n border: 1px solid;\n border-color: transparent;\n overflow: hidden;\n &::before {\n content: '';\n opacity: 0;\n }\n &,\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transition-property: border-color, background-color, opacity;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n`\n\nexport const DefaultMask = styled(DefaultCheck)`\n position: relative;\n top: 2px;\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n g {\n opacity: 0;\n transition: opacity 200ms ease;\n }\n`\n\nexport const BrandMask = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n border-radius: 4px;\n border: 1px solid;\n border-color: transparent;\n transition-property: border-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n`\n\nexport const CheckIcon = styled(Check)`\n width: 50%;\n opacity: 0;\n`\n\nexport const Content = styled.span`\n position: relative;\n margin-left: 10px;\n`\n\nconst template = (palette: CheckboxPalette) => `\n & > ${Content} {\n color: ${palette.fontColor};\n }\n & > ${BrandMask} {\n background-color: ${palette.bg};\n color: ${palette.color};\n border-color: ${palette.border};\n }\n & > ${Input}:checked ~ ${BrandMask} {\n border-color: transparent;\n background-color: ${palette.bgChecked};\n }\n & > ${Input}:checked ~ ${BrandMask} > ${CheckIcon} {\n opacity: 1;\n }\n & > ${Input}:disabled ~ ${Content} {\n color: ${palette.colorDisabled};\n }\n &:hover > ${BrandMask} {\n border-color: ${palette.borderHover};\n }\n &:focus {\n outline: none;\n }\n & > ${Input}:focus-visible ~ ${BrandMask} {\n outline: 1px solid ${palette.outlineFocus};\n outline-offset: 2px;\n }\n`\n\nconst templateBackground = (palette: CheckboxPalette) => `\n & > ${Background} {\n background-color: ${palette.bg};\n border-color: ${palette.border};\n }\n & > ${Input}:checked ~ ${Background} {\n background-color: ${palette.bgChecked};\n border-color: ${palette.borderChecked};\n }\n &:hover > ${Background} {\n background-color: ${palette.bgHover};\n border-color: ${palette.borderHover};\n }\n &:hover > ${Background}::before {\n background-color: ${palette.beforeBgHover};\n opacity: 1;\n }\n`\n\nconst PRESET = {\n default: {\n regular: css<StyledCheckboxProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-basic'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['border-brand-primary'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-100'],\n borderChecked: props.theme.colors['border-brand-primary'],\n bgHover: props.theme.colors['bg-oncolor-hover'],\n borderHover: props.theme.colors['border-onmain-default-large'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n error: css<StyledCheckboxProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-error-100'],\n border: props.theme.colors['alert-error'],\n bgChecked: props.theme.colors['alert-bg-error-100'],\n borderChecked: props.theme.colors['alert-error'],\n bgHover: props.theme.colors['alert-bg-error-100'],\n borderHover: props.theme.colors['alert-error'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n success: css<StyledCheckboxProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-success-100'],\n border: props.theme.colors['alert-success'],\n bgChecked: props.theme.colors['alert-bg-success-100'],\n borderChecked: props.theme.colors['alert-success'],\n bgHover: props.theme.colors['alert-bg-success-100'],\n borderHover: props.theme.colors['alert-success'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n disabled: css<StyledCheckboxProps>`\n cursor: auto;\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-disabled-large'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-large'],\n borderChecked: props.theme.colors['bg-disabled-active'],\n bgHover: props.theme.colors['bg-disabled-large'],\n borderHover: props.theme.colors['border-disabled'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n },\n onColored: {\n regular: css<StyledCheckboxProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-basic'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['border-brand-primary'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-brand-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-oncolor-primary'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['content-oncolor-primary'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-onmain-default-large'],\n bgChecked: props.theme.colors['bg-onmain-primary'],\n borderChecked: props.theme.colors['border-onmain-default-large'],\n bgHover: props.theme.colors['bg-onmain-secondary'],\n borderHover: props.theme.colors['border-onmain-default-large'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n error: css<StyledCheckboxProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-error-100'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-100'],\n borderChecked: props.theme.colors['alert-error'],\n bgHover: props.theme.colors['alert-bg-error-100'],\n borderHover: props.theme.colors['alert-error'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n success: css<StyledCheckboxProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-success-100'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-100'],\n borderChecked: props.theme.colors['alert-success'],\n bgHover: props.theme.colors['alert-bg-success-100'],\n borderHover: props.theme.colors['alert-success'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n disabled: css<StyledCheckboxProps>`\n cursor: auto;\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-oncolor-disabled'],\n bgChecked: props.theme.colors['bg-onmain-secondary'],\n borderChecked: props.theme.colors['border-oncolor-disabled'],\n bgHover: props.theme.colors['bg-onmain-secondary'],\n borderHover: props.theme.colors['border-oncolor-disabled'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: css<StyledCheckboxProps>`\n ${(props) =>\n props.error\n ? `\n & > ${DefaultMask} > rect { \n fill: ${tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n stroke: ${props.theme.colors.pomegranate};\n } \n & > ${DefaultMask} g > rect {\n fill: ${props.theme.colors.pomegranate};\n }\n `\n : null}\n\n ${(props) => `\n color: ${props.disabled ? props.theme.colors.alto : props.theme.colors.mineShaft};\n cursor: ${props.disabled ? 'not-allowed' : 'pointer'};\n\n & > ${Input}:checked ~ ${DefaultMask} g {\n opacity: 1;\n }\n & > ${Input}:disabled ~ ${DefaultMask} > rect {\n fill: ${props.theme.colors.white};\n stroke: ${props.theme.colors.grey};\n }\n & > ${Input}:checked:disabled ~ ${DefaultMask} g > rect {\n fill: ${props.theme.colors.alto};\n }\n &:focus {\n outline: none;\n }\n & > ${Input}:focus-visible ~ ${DefaultMask} {\n outline: 1px solid ${props.theme.colors.accent};\n outline-offset: 2px;\n }\n `}\n `,\n}\n\nconst extractStyles = (props: StyledCheckboxProps) => {\n if (props.brandPresetUsed) {\n if (props.disabled && !props.onColored) return PRESET.default.disabled\n if (props.disabled && props.onColored) return PRESET.onColored.disabled\n\n if (props.error && !props.success && !props.onColored) return PRESET.default.error\n if (props.error && !props.success && props.onColored) return PRESET.onColored.error\n\n if (props.success && !props.error && !props.onColored) return PRESET.default.success\n if (props.success && !props.error && props.onColored) return PRESET.onColored.success\n\n return props.onColored ? PRESET.onColored.regular : PRESET.default.regular\n }\n\n return PRESET_DEFAULT.default\n}\n\nconst extractSizes = (props: StyledCheckboxProps) => {\n const SIZES = props.brandPresetUsed ? BRAND_SIZES : DEFAULT_SIZES\n\n return STATIC_SIZES.includes(<CheckboxStaticSize>props.size)\n ? `font-size: ${SIZES[<CheckboxStaticSize>props.size]}px;`\n : responsiveProperty('size', 'font-size')\n}\n\nexport const Root = styled.label\n .withConfig({\n shouldForwardProp: (prop) => ['children', 'htmlFor', 'style'].includes(prop),\n })\n .attrs(injectDefaultTheme)<StyledCheckboxProps>`\n ${baseStyles}\n ${extractStyles}\n ${extractSizes}\n\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) => (props.fluid ? 'width: 100%;' : null)}\n`\n\nexport const Group = styled.div.withConfig<CheckboxGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n ${(props) =>\n props.inline\n ? css`\n display: flex;\n flex-direction: row;\n > ${Root}:first-child {\n margin-left: 0;\n }\n > ${Root}:not(:first-child) {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > ${Root}:first-child {\n margin-top: 0;\n }\n > ${Root}:not(:first-child) {\n margin-top: 15px;\n margin-left: 0;\n }\n `}\n `\n : `\n display: flex;\n flex-direction: column;\n > ${Root}:first-child {\n margin-top: 0;\n margin-left: 0;\n }\n > ${Root}:not(:first-child) {\n margin-top: 15px;\n margin-left: 0;\n }\n `}\n`\n","import { forwardRef } from 'react'\nimport cx from 'clsx'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { CheckboxGroup } from './Group'\nimport type { CheckboxComponent, CheckboxProps } from './types'\n\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Checkbox'\n\nconst Checkbox = forwardRef<HTMLLabelElement, CheckboxProps>((props, ref) => {\n const theme = useFallbackTheme()\n const baseClassName = useClassname(COMPONENT_NAME)\n\n const {\n preset,\n style,\n id,\n name,\n value,\n disabled,\n error,\n success,\n fluid,\n children,\n label,\n checked,\n defaultChecked,\n background,\n onColored,\n size = 'm',\n inline = true,\n width = theme.defaultInputControlsWidth,\n className: _className,\n onChange = () => undefined,\n ...configProps\n } = useConfigPriority<CheckboxProps>(theme.components?.Checkbox, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof preset === 'string') brandPresetUsed = preset === 'brand'\n\n const className = cx(baseClassName, _className, checked && `${baseClassName}--checked`)\n const labelClassName = `${baseClassName}__label`\n const inputProps = checked === undefined ? { defaultChecked } : { checked }\n\n return (\n <Styled.Root\n ref={ref}\n className={className}\n style={style}\n fluid={fluid}\n disabled={disabled}\n htmlFor={id || name}\n size={size}\n inline={inline}\n width={width}\n error={error}\n success={success}\n background={background}\n onColored={onColored}\n brandPresetUsed={brandPresetUsed}\n >\n <Styled.Input\n {...configProps}\n {...inputProps}\n id={id || name}\n name={name}\n type='checkbox'\n value={value}\n disabled={disabled}\n onChange={onChange}\n />\n {brandPresetUsed ? (\n <>\n {background && <Styled.Background />}\n <Styled.BrandMask>\n <Styled.CheckIcon />\n </Styled.BrandMask>\n </>\n ) : (\n <Styled.DefaultMask />\n )}\n {(label || children) && <Styled.Content className={labelClassName}>{label || children}</Styled.Content>}\n </Styled.Root>\n )\n}) as CheckboxComponent\n\nCheckbox.Group = CheckboxGroup\n\nCheckbox.displayName = COMPONENT_NAME\n\nexport { Checkbox, COMPONENT_NAME }\n\nexport type { CheckboxProps }\n","import * as Styled from './style'\nimport type { CheckboxGroupProps } from './types'\n\nconst CheckboxGroup = ({ children, ...props }: CheckboxGroupProps) => {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n\nexport { CheckboxGroup }\n","import { ColorValue } from 'mixins/color'\nimport { BaseColorNames, BrandColorNames } from './colors'\n\nexport const baseColors: Readonly<Record<BaseColorNames, ColorValue>> = {\n 'content-onmain-primary': '#f5f6f9',\n 'content-onmain-secondary': '#9698a6',\n 'content-onmain-tertiary': '#848694',\n 'content-oncolor-primary': '#ffffff',\n 'content-oncolor-secondary': '#f5f6f9cc',\n 'content-oncolor-tertiary': '#f5f6f999',\n 'content-oncolor-constant': '#25262c',\n 'content-oncolor-inverse': '#f5f6f9',\n 'content-disabled': '#6e707c',\n 'content-oncolor-disabled': '#f5f6f999',\n 'content-oncolor-hover': '#00000029',\n 'content-onmain-hover': '#ffffff29',\n 'content-discount': '#f16c65',\n 'content-link': '#8aafff',\n 'border-onmain-default-large': '#25262c',\n 'border-onmain-default-small': '#44454b',\n 'border-onmain-contrast': '#f5f6f9',\n 'border-oncolor-default': '#ffffff',\n 'border-disabled': '#494a50',\n 'border-oncolor-disabled': '#ffffff66',\n 'bg-onmain-main': '#000000',\n 'bg-onmain-primary': '#121316',\n 'bg-onmain-secondary': '#1a1b1f',\n 'bg-onmain-tertiary': '#25262c',\n 'bg-onmain-divider': '#25262c',\n 'bg-onmain-contrast': '#44454b',\n 'bg-onmain-inverse': '#ffffff',\n 'bg-oncolor-primary': '#ffffff',\n 'bg-oncolor-secondary': '#ffffff3d',\n 'bg-oncolor-tertiary': '#ffffff1f',\n 'bg-disabled-large': '#1a1b1f',\n 'bg-disabled-small': '#25262c',\n 'bg-disabled-active': '#494a50',\n 'bg-contrast-active': '#f5f6f9',\n 'bg-oncolor-hover': '#00000014',\n 'bg-oncontrast-hover': '#ffffff14',\n 'bg-oncolor-disabled': '#ffffff1f',\n 'alert-bg-success-100': '#071d02',\n 'alert-bg-success-200': '#0a2603',\n 'alert-bg-success-500': '#63ab4f',\n 'alert-bg-warning-100': '#241500',\n 'alert-bg-warning-200': '#2e1c00',\n 'alert-bg-warning-500': '#f16f04',\n 'alert-bg-error-100': '#2e0100',\n 'alert-bg-error-200': '#3d0004',\n 'alert-bg-error-500': '#e4494e',\n 'alert-success': '#63ab4f',\n 'alert-warning': '#f16f04',\n 'alert-error': '#fd655d',\n}\n\nexport const motherColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#c09eff',\n 'content-brand-secondary': '#ff8800',\n 'border-brand-primary': '#c09eff',\n 'border-brand-secondary': '#ff8800',\n 'border-brand-primary-hover': '#c09eff80',\n 'border-brand-primary-active': '#c09eff',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#1b0042',\n 'bg-brand-primary-200': '#240057',\n 'bg-brand-primary-400': '#2e0066',\n 'bg-brand-primary-500': '#37007a',\n 'bg-brand-secondary-basic': '#ff9900',\n 'bg-brand-secondary-100': '#241500',\n 'bg-brand-secondary-200': '#2e1c00',\n 'bg-brand-secondary-400': '#382300',\n 'bg-brand-secondary-500': '#422900',\n 'bg-brand-tertiary-100': '#202018',\n 'bg-brand-tertiary-200': '#26261c',\n 'bg-brand-quaternary-100': '#00222e',\n 'bg-brand-quaternary-200': '#002733',\n 'bg-brand-quaternary-400': '#054457',\n 'bg-brand-quaternary-500': '#05495c',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#1b0042',\n 'bg-brand-primary-100-hover': '#1b004280',\n}\n\nexport const babyColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#e594c5',\n 'content-brand-secondary': '#ffd333',\n 'border-brand-primary': '#e594c5',\n 'border-brand-secondary': '#ffd333',\n 'border-brand-primary-hover': '#e594c580',\n 'border-brand-primary-active': '#e594c5',\n 'bg-brand-primary-basic': '#cc2e8d',\n 'bg-brand-primary-100': '#47002d',\n 'bg-brand-primary-200': '#570f3a',\n 'bg-brand-primary-400': '#611a43',\n 'bg-brand-primary-500': '#6b244c',\n 'bg-brand-secondary-basic': '#ffd333',\n 'bg-brand-secondary-100': '#27282a',\n 'bg-brand-secondary-200': '#313235',\n 'bg-brand-secondary-400': '#393a3c',\n 'bg-brand-secondary-500': '#3e4041',\n 'bg-brand-tertiary-100': '#1d1f58',\n 'bg-brand-tertiary-200': '#282c67',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#cc2e8d',\n 'bg-brand-primary-100-active': '#47002d',\n 'bg-brand-primary-100-hover': '#47002d80',\n}\n\nexport const teenColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#c09eff',\n 'content-brand-secondary': '#d1f00a',\n 'border-brand-primary': '#c09eff',\n 'border-brand-secondary': '#d1f00a',\n 'border-brand-primary-hover': '#c09eff80',\n 'border-brand-primary-active': '#c09eff',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#1b0042',\n 'bg-brand-primary-200': '#240057',\n 'bg-brand-primary-400': '#2e0066',\n 'bg-brand-primary-500': '#37007a',\n 'bg-brand-secondary-basic': '#d1f00a',\n 'bg-brand-secondary-100': '#003309',\n 'bg-brand-secondary-200': '#093910',\n 'bg-brand-secondary-400': '#144318',\n 'bg-brand-secondary-500': '#1c4a20',\n 'bg-brand-tertiary-100': '#00224d',\n 'bg-brand-tertiary-200': '#0c315f',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#1b0042',\n 'bg-brand-primary-100-hover': '#1b004280',\n}\n\nexport const adultColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#8fa9ff',\n 'content-brand-secondary': '#c1b8ff',\n 'border-brand-primary': '#8fa9ff',\n 'border-brand-secondary': '#c1b8ff',\n 'border-brand-primary-hover': '#8fa9ff80',\n 'border-brand-primary-active': '#8fa9ff',\n 'bg-brand-primary-basic': '#3d4eeb',\n 'bg-brand-primary-100': '#120075',\n 'bg-brand-primary-200': '#181b86',\n 'bg-brand-primary-400': '#1e2699',\n 'bg-brand-primary-500': '#2b36b6',\n 'bg-brand-secondary-basic': '#6e62bc',\n 'bg-brand-secondary-100': '#2c1461',\n 'bg-brand-secondary-200': '#351e71',\n 'bg-brand-secondary-400': '#402583',\n 'bg-brand-secondary-500': '#1b0047',\n 'bg-brand-tertiary-100': '#232900',\n 'bg-brand-tertiary-200': '#373e14',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#3d4eeb',\n 'bg-brand-primary-100-active': '#120075',\n 'bg-brand-primary-100-hover': '#12007580',\n}\n","import type { DefaultTheme } from 'styled-components'\nimport { relBuilder } from 'shared/utils/rel-builder'\nimport { SizeInput } from 'shared/enums/sizeInput'\nimport { COMPONENT_NAME as ARROW } from 'components/Arrow'\nimport { COMPONENT_NAME as BUTTON } from 'components/Button'\nimport { COMPONENT_NAME as CHECKBOX } from 'components/Checkbox'\nimport { colors, socialColors, unitColors } from './colors'\nimport * as ColorsLight from './colors-light'\nimport * as ColorsDark from './colors-dark'\nimport { breakpoints } from './breakpoints'\n\nexport const defaultTheme: DefaultTheme = {\n breakpoints,\n colors: {\n ...colors,\n ...socialColors,\n ...unitColors,\n ...ColorsLight.baseColors,\n ...ColorsLight.motherColors,\n },\n borderRadius: '5px',\n textColor: 'mineShaft',\n fallbackColor: 'mineShaft',\n zIndex: {\n modal: 9000,\n tooltip: 80,\n },\n classNamePrefix: 'fox',\n defaultInputControlsWidth: SizeInput.l,\n utils: {\n relBuilder,\n },\n mode: 'light',\n preset: 'default',\n name: 'mother',\n components: {\n [ARROW]: {\n size: 'l',\n },\n [BUTTON]: {\n size: 'm',\n },\n [CHECKBOX]: {\n size: 'm',\n },\n },\n}\n\nexport const motherLightTheme: DefaultTheme = {\n ...defaultTheme,\n preset: 'brand',\n}\n\nexport const motherDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.motherColors,\n },\n mode: 'dark',\n preset: 'brand',\n}\n\nexport const babyLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.babyColors,\n },\n preset: 'brand',\n name: 'baby',\n}\n\nexport const babyDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.babyColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'baby',\n}\n\nexport const teenLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.teenColors,\n },\n preset: 'brand',\n name: 'teen',\n}\n\nexport const teenDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.teenColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'teen',\n}\n\nexport const adultLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.adultColors,\n },\n preset: 'brand',\n name: 'adult',\n}\n\nexport const adultDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.adultColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'adult',\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 { ColorValue } from 'mixins/color'\nimport { BaseColorNames, BrandColorNames } from './colors'\n\nexport const baseColors: Readonly<Record<BaseColorNames, ColorValue>> = {\n 'content-onmain-primary': '#25262c',\n 'content-onmain-secondary': '#25262cb3',\n 'content-onmain-tertiary': '#25262c8c',\n 'content-oncolor-primary': '#ffffff',\n 'content-oncolor-secondary': '#ecedf3cc',\n 'content-oncolor-tertiary': '#ecedf399',\n 'content-oncolor-inverse': '#25262c',\n 'content-oncolor-constant': '#25262c',\n 'content-disabled': '#9698a6',\n 'content-oncolor-disabled': '#f5f6f999',\n 'content-oncolor-hover': '#00000029',\n 'content-onmain-hover': '#ffffff29',\n 'content-discount': '#db3339',\n 'content-link': '#376af6',\n 'border-onmain-default-large': '#d5d7e1',\n 'border-onmain-default-small': '#babcc9',\n 'border-onmain-contrast': '#25262c',\n 'border-disabled': '#a6a8b5',\n 'border-oncolor-disabled': '#ffffff66',\n 'border-oncolor-default': '#ffffff',\n 'bg-onmain-main': '#f5f6f9',\n 'bg-onmain-primary': '#ffffff',\n 'bg-onmain-secondary': '#f5f6f9',\n 'bg-onmain-tertiary': '#ecedf3',\n 'bg-onmain-divider': '#d5d7e1',\n 'bg-onmain-contrast': '#25262c',\n 'bg-onmain-inverse': '#25262c',\n 'bg-oncolor-primary': '#ffffff',\n 'bg-oncolor-secondary': '#ffffff3d',\n 'bg-oncolor-tertiary': '#ffffff1f',\n 'bg-oncolor-hover': '#00000014',\n 'bg-disabled-large': '#ecedf3',\n 'bg-disabled-small': '#d5d7e1',\n 'bg-disabled-active': '#a6a8b5',\n 'bg-oncolor-disabled': '#ffffff1f',\n 'bg-contrast-active': '#25262c',\n 'bg-oncontrast-hover': '#ffffff14',\n 'alert-bg-success-100': '#ddf4cd',\n 'alert-bg-success-200': '#bce4aa',\n 'alert-bg-success-500': '#63ab4f',\n 'alert-bg-warning-100': '#ffebcc',\n 'alert-bg-warning-200': '#ffd294',\n 'alert-bg-warning-500': '#f16f04',\n 'alert-bg-error-100': '#ffe9e5',\n 'alert-bg-error-200': '#ffcbc7',\n 'alert-bg-error-500': '#e4494e',\n 'alert-success': '#488b32',\n 'alert-warning': '#db6300',\n 'alert-error': '#db3339',\n}\n\nexport const motherColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#8a51e6',\n 'content-brand-secondary': '#db6300',\n 'border-brand-primary': '#8a51e6',\n 'border-brand-secondary': '#db6300',\n 'border-brand-primary-hover': '#8a51e680',\n 'border-brand-primary-active': '#8a51e6',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#f1e5ff',\n 'bg-brand-primary-200': '#e1d4f7',\n 'bg-brand-primary-400': '#c09eff',\n 'bg-brand-primary-500': '#8a51e6',\n 'bg-brand-secondary-basic': '#ff9900',\n 'bg-brand-secondary-100': '#ffebcc',\n 'bg-brand-secondary-200': '#ffd294',\n 'bg-brand-secondary-400': '#ff9900',\n 'bg-brand-secondary-500': '#f16f04',\n 'bg-brand-tertiary-100': '#feffbd',\n 'bg-brand-tertiary-200': '#fffb80',\n 'bg-brand-quaternary-100': '#e1f5fe',\n 'bg-brand-quaternary-200': '#bddcea',\n 'bg-brand-quaternary-400': '#89b8cd',\n 'bg-brand-quaternary-500': '#61a3bd',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#f1e5ff',\n 'bg-brand-primary-100-hover': '#f1e5ff80',\n}\n\nexport const babyColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#cc2e8d',\n 'content-brand-secondary': '#dbac00',\n 'border-brand-primary': '#cc2e8d',\n 'border-brand-secondary': '#dbac00',\n 'border-brand-primary-hover': '#cc2e8d80',\n 'border-brand-primary-active': '#cc2e8d',\n 'bg-brand-primary-basic': '#cc2e8d',\n 'bg-brand-primary-100': '#faebf7',\n 'bg-brand-primary-200': '#efcdea',\n 'bg-brand-primary-400': '#e594c5',\n 'bg-brand-primary-500': '#cc2e8d',\n 'bg-brand-secondary-basic': '#ffd333',\n 'bg-brand-secondary-100': '#fff4d1',\n 'bg-brand-secondary-200': '#ffde7a',\n 'bg-brand-secondary-400': '#ffd333',\n 'bg-brand-secondary-500': '#f4c10b',\n 'bg-brand-tertiary-100': '#ebefff',\n 'bg-brand-tertiary-200': '#cdd4f9',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#cc2e8d',\n 'bg-brand-primary-100-active': '#faebf7',\n 'bg-brand-primary-100-hover': '#faebf780',\n}\n\nexport const teenColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#8a51e6',\n 'content-brand-secondary': '#83b200',\n 'border-brand-primary': '#8a51e6',\n 'border-brand-secondary': '#83b200',\n 'border-brand-primary-hover': '#8a51e680',\n 'border-brand-primary-active': '#8a51e6',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#f1e5ff',\n 'bg-brand-primary-200': '#e1d4f7',\n 'bg-brand-primary-400': '#c09eff',\n 'bg-brand-primary-500': '#8a51e6',\n 'bg-brand-secondary-basic': '#d1f00a',\n 'bg-brand-secondary-100': '#eefad1',\n 'bg-brand-secondary-200': '#e9ff6b',\n 'bg-brand-secondary-400': '#afdb00',\n 'bg-brand-secondary-500': '#83b200',\n 'bg-brand-tertiary-100': '#e6f7fe',\n 'bg-brand-tertiary-200': '#cdebf9',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#f1e5ff',\n 'bg-brand-primary-100-hover': '#f1e5ff80',\n}\n\nexport const adultColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#3d4eeb',\n 'content-brand-secondary': '#1b0047',\n 'border-brand-primary': '#3d4eeb',\n 'border-brand-secondary': '#1b0047',\n 'border-brand-primary-hover': '#3d4eeb80',\n 'border-brand-primary-active': '#3d4eeb',\n 'bg-brand-primary-basic': '#3d4eeb',\n 'bg-brand-primary-100': '#e5ecff',\n 'bg-brand-primary-200': '#ccdaff',\n 'bg-brand-primary-400': '#8fa9ff',\n 'bg-brand-primary-500': '#3d4eeb',\n 'bg-brand-secondary-basic': '#1b0047',\n 'bg-brand-secondary-100': '#e8e5ff',\n 'bg-brand-secondary-200': '#d6d1ff',\n 'bg-brand-secondary-400': '#b1a3ff',\n 'bg-brand-secondary-500': '#1b0047',\n 'bg-brand-tertiary-100': '#eaf9ae',\n 'bg-brand-tertiary-200': '#d8ea8b',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#3d4eeb',\n 'bg-brand-primary-100-active': '#e5ecff',\n 'bg-brand-primary-100-hover': '#e5ecff80',\n}\n","function isExternalUrl(url = '', hostname: string): boolean {\n return /^((http|https):\\/\\/)/.test(url) && !new URL(url).hostname.endsWith(hostname)\n}\n\nexport function relBuilder(link?: string, target?: string): undefined | string {\n if (!link) return\n\n const relStr = []\n\n if (isExternalUrl(link, window.location.hostname)) {\n if (target === '_blank') relStr.push('noopener')\n relStr.push('nofollow')\n }\n\n if (relStr.length === 0) return\n\n return relStr.join(' ')\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 vertical-align: ${vAlign};\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 SIZES = {\n xxxl: 42,\n xxl: 38,\n xl: 34,\n lm: 32,\n l: 30,\n m: 26,\n s: 22,\n xs: 18,\n xxs: 14,\n xxxs: 10,\n}\n\nconst pointerStyle = css`\n cursor: pointer;\n`\n\nconst calcFontSize = (size: IconProps['size']) => {\n return typeof size === 'string' ? SIZES[size] : size\n}\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(calcFontSize(props.size), 'font-size') : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({\n sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL },\n cssProperty: 'font-size',\n customSizeHandler: calcFontSize,\n })}\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 { ColorProperty } from 'mixins/color'\nimport { VAlign } from 'mixins/vAlign'\nimport { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { BaseProps } from 'shared/interfaces'\nimport { useClassname } from 'hooks/useClassname'\nimport * as Styled from './style'\n\nimport { defaultIcons, IconNames } from './icons'\n\nexport interface IconProps extends BaseProps, ColorProperty, 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 with dangerouslySetInnerHTML\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 const _className = useClassname(Icon.displayName, className)\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={_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={_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\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={_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\ntype Display = 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'table-cell' | 'inherit' | 'none'\n\nexport interface DisplayProperty {\n display?: Display\n}\n\nexport const display = (display: Display) => () =>\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 { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from 'shared/interfaces'\nimport { Icon, IconNames } from './../Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, DisplayProperty {\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 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 { useTheme } from 'styled-components'\nimport { KeyboardEvent, useMemo } from 'react'\nimport { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } from 'mixins/display'\nimport { BaseProps } from 'shared/interfaces'\nimport { useClassname } from 'hooks/useClassname'\nimport * as Styled from './style'\n\nexport interface AnchorProps extends BaseProps, ColorProperty, ResponsiveNamedProperty<'size'>, DisplayProperty {\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 tabIndex?: number\n target?: string\n rel?: string\n /**\n * Auto-generate rel. You must specify domain inside theme\n */\n autoRel?: boolean\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 autoRel = true,\n tabIndex = 0,\n ...rest\n } = props\n\n const _className = useClassname(Anchor.displayName, className)\n const theme = useTheme()\n\n let _display: DisplayProperty['display']\n const _rel = useMemo(() => {\n return autoRel && theme.utils?.relBuilder ? theme.utils.relBuilder(props.href ?? props.to, props.target) : props.rel\n }, [autoRel, props.rel, props.href, props.to, props.target])\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 const onKeyDown = (event: KeyboardEvent<HTMLAnchorElement | HTMLDivElement | HTMLSpanElement>): void => {\n if (event.key === 'Enter') {\n rest?.onClick?.()\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 tabIndex={tabIndex}\n onKeyDown={onKeyDown}\n {...rest}\n {...contentProps}\n rel={as === 'a' ? props.rel ?? _rel : undefined}\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 style={style}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n tabIndex={tabIndex}\n onKeyDown={onKeyDown}\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 style={style}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n tabIndex={tabIndex}\n onKeyDown={onKeyDown}\n {...rest}\n {...contentProps}\n rel={props.rel ?? _rel}\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 style={style}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n tabIndex={tabIndex}\n {...contentProps}\n {...rest}\n rel={props.rel ?? _rel}\n >\n {children}\n </Styled.Root>\n )\n}\n","import { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { Text } from '../Text'\nimport type { TextHeadingProps, H } from './types'\n\nconst PARAMS: Record<H, Partial<TextHeadingProps>> = {\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\nconst COMPONENT_NAME = 'Text.Heading'\n\n/**\n * @visibleName Text.Heading\n */\nconst TextHeading = (props: TextHeadingProps) => {\n const theme = useFallbackTheme()\n\n const {\n h = 'h1',\n fontFamily,\n ...configProps\n } = useConfigPriority<TextHeadingProps>(theme.components?.[COMPONENT_NAME], props)\n\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} fontFamily={fontFamily} {...predefinedParams} {...configProps} />\n}\n\nTextHeading.displayName = COMPONENT_NAME\n\nexport { TextHeading, COMPONENT_NAME }\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', 'onClick'].includes(prop) || prop.includes('data-'),\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 { DisplayProperty } 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 DisplayProperty,\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 onClick?: (_e: React.MouseEvent<HTMLDivElement>) => void\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 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 }: TextEllipseProps) {\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 = chars !== 0 && content.length > chars\n\n text = isEllipsed && chars !== 0 ? `${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 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 type { TextAppearance, TextProps } from './types'\n\nexport const APPEARANCE: Record<TextAppearance, Partial<Omit<TextProps, 'appearance'>>> = {\n display: {\n sizes: { xxxl: 84, xxl: 76, xl: 68, l: 60, m: 52, s: 44, xs: 36, xxs: 28, xxxs: 20 },\n lineHeight: 1,\n weight: 800,\n fontStyle: 'normal',\n margin: 0,\n },\n heading: {\n sizes: { xxxl: 64, xxl: 56, xl: 48, l: 40, m: 36, s: 32, xs: 28, xxs: 24, xxxs: 20 },\n lineHeight: 1.1,\n weight: 800,\n fontStyle: 'normal',\n margin: 0,\n },\n subheading: {\n sizes: { xxxl: 52, xxl: 46, xl: 40, l: 34, m: 28, s: 24, xs: 20, xxs: 16, xxxs: 12 },\n lineHeight: 1.1,\n weight: 700,\n fontStyle: 'normal',\n margin: 0,\n },\n 'subheading-compact': {\n sizes: { xxxl: 36, xxl: 32, xl: 28, l: 24, m: 20, s: 18, xs: 16, xxs: 14, xxxs: 12 },\n lineHeight: 1.3,\n weight: 800,\n fontStyle: 'normal',\n margin: 0,\n },\n body: {\n sizes: { xxxl: 32, xxl: 28, xl: 24, l: 20, m: 18, s: 16, xs: 14, xxs: 12, xxxs: 10 },\n lineHeight: 1.3,\n weight: 400,\n fontStyle: 'normal',\n margin: 0,\n },\n caption: {\n sizes: { xxxl: 32, xxl: 28, xl: 24, l: 20, m: 18, s: 16, xs: 14, xxs: 12, xxxs: 10 },\n lineHeight: 1.2,\n weight: 400,\n fontStyle: 'normal',\n margin: 0,\n },\n}\n","import styled from 'styled-components'\nimport { display } from 'mixins/display'\nimport { responsiveNamedProperty, property } from 'mixins/responsive-property'\nimport { color, ColorValue } from 'mixins/color'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport type { StyledTextProps } from './types'\n\nconst WEIGHT_MAP = {\n lighter: 100,\n normal: 400,\n bold: 600,\n bolder: 800,\n}\n\nconst LINE_HEIGHT_MAP = {\n l: 1.5,\n m: 1.3,\n s: 1.15,\n xs: 1,\n}\n\nexport const Root = styled.div\n .withConfig<StyledTextProps>({\n shouldForwardProp: (prop) => {\n return ['children', 'className', 'style', 'title', 'dangerouslySetInnerHTML', 'id'].includes(prop)\n },\n })\n .attrs(injectDefaultTheme)<StyledTextProps>`\n ${(props) => `\n ${props.fontFamily ? `font-family: ${props.fontFamily};` : ''}\n ${props.transform ? `text-transform: ${props.transform};` : ''}\n ${props.weight ? `font-weight: ${WEIGHT_MAP[props.weight] ?? props.weight};` : ''}\n ${props.fontStyle ? `font-style: ${props.fontStyle};` : ''}\n ${props.textAlign ? `text-align: ${props.textAlign};` : ''}\n line-height: ${props.lineHeight ? `${LINE_HEIGHT_MAP[props.lineHeight] ?? props.lineHeight}` : 'inherit'};\n margin: ${props.margin ?? 'initial'}${typeof props.margin === 'number' ? 'px' : ''};\n a {\n text-decoration: ${props.underlineLinks ? 'underline' : 'none'};\n &:hover {\n text-decoration: none;\n }\n }\n `}\n\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : color(props.theme.textColor as ColorValue))}\n ${(props) => (props.size ? property(props.size, 'font-size', props.fontUnits ?? 'px', props.sizes) : null)}\n ${({ sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL, fontUnits, sizes }) =>\n responsiveNamedProperty({\n sizes: { sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL },\n cssProperty: 'font-size',\n sizing: fontUnits ?? 'px',\n predefinedSizes: sizes,\n })}\n`\n","import { forwardRef } from 'react'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { useClassname } from 'hooks/useClassname'\nimport { TextHeading } from 'components/Text.Heading'\nimport { TextEllipse } from 'components/Text.Ellipse'\nimport { APPEARANCE } from './constants'\nimport type { TextProps, TextComponent, TextAppearance } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Text'\n\nconst Text = forwardRef<HTMLElement, TextProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n const prioritizedProps = useConfigPriority<TextProps>(theme.components?.Text, props)\n const appearanceProps = APPEARANCE[prioritizedProps.appearance as TextAppearance] ?? {}\n const mergedProps: TextProps = { ...appearanceProps, ...prioritizedProps }\n\n const {\n as = 'div',\n weight = 'normal',\n lineHeight = 'm',\n fontStyle = 'normal',\n size = 'm',\n content,\n children,\n ...restProps\n } = mergedProps\n\n const className = useClassname(COMPONENT_NAME, restProps.className)\n\n if (children) {\n return (\n <Styled.Root\n {...restProps}\n ref={ref}\n as={as}\n weight={weight}\n lineHeight={lineHeight}\n fontStyle={fontStyle}\n size={size}\n className={className}\n >\n {children}\n </Styled.Root>\n )\n }\n\n return (\n <Styled.Root\n {...restProps}\n ref={ref}\n as={as}\n weight={weight}\n lineHeight={lineHeight}\n fontStyle={fontStyle}\n size={size}\n className={className}\n dangerouslySetInnerHTML={{ __html: content || '' }}\n />\n )\n}) as TextComponent\n\nText.displayName = COMPONENT_NAME\n\nText.Heading = TextHeading\nText.Ellipse = TextEllipse\n\nexport { Text, COMPONENT_NAME }\n","import styled, { css, DefaultTheme } from 'styled-components'\nimport { color, getColor } from 'mixins/color'\nimport { DefaultColorNames } from 'theme/colors'\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) =>\n props.percentColor ? color(props.percentColor, 'background') : color(DefaultColorNames.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) =>\n props.separatorColor ? color(props.separatorColor, 'background') : color(DefaultColorNames.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 || DefaultColorNames.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 || DefaultColorNames.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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ProgressSegmentedProps\n extends BaseProps,\n ColorProperty<'separatorColor'>,\n ColorProperty<'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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\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, ColorProperty<'resultColor'>, ColorProperty<'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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport { ProgressSegmented } from 'components/Progress.Segmented'\nimport { ProgressCircle } from 'components/Progress.Circle'\nimport * as Styled from './style'\n\nexport interface ProgressProps extends BaseProps, ColorProperty, ColorProperty<'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 styled from 'styled-components'\nimport type { DefaultTheme } from 'styled-components'\n\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\n\nimport { Button } from '../Button'\nimport { Text } from '../Text'\n\nimport { CountdownCircle } from './CountdownCircle'\n\nimport type {\n ActionsProps,\n AlertType,\n CancelTimerProps,\n CloseIconProps,\n ContentProps,\n ContentWrapperProps,\n CountdownCircleProps,\n IconWrapperProps,\n LinkProps,\n RootAlertProps,\n TitleProps,\n} from './types'\n\nconst bgColor = (theme: DefaultTheme, clear: boolean, type?: AlertType) => {\n if (clear) {\n return theme.colors['bg-onmain-primary']\n }\n\n switch (type) {\n case 'error':\n return theme.colors['alert-bg-error-200']\n case 'info':\n return theme.colors['bg-brand-primary-200']\n case 'success':\n return theme.colors['alert-bg-success-200']\n case 'warning':\n return theme.colors['alert-bg-warning-200']\n default:\n return theme.colors['bg-oncolor-primary']\n }\n}\n\nconst getPaddingY = ({\n column,\n isCompact,\n withImage,\n withTimer,\n}: Pick<RootAlertProps, 'column' | 'isCompact' | 'withImage' | 'withTimer'>) => {\n if (column) return '16px'\n\n if (isCompact) {\n return withTimer ? '5px' : '12px'\n }\n\n return withImage ? '8px' : withTimer ? '2px' : '12px'\n}\n\nconst paddingLeft = ({\n isCompact,\n noIcon,\n size,\n withAction,\n withImage,\n withTitle,\n}: Pick<RootAlertProps, 'isCompact' | 'noIcon' | 'size' | 'withAction' | 'withImage' | 'withTitle'>) => {\n if (isCompact) {\n if (withTitle || size === 'l') {\n return withImage || !noIcon ? '16px' : '20px'\n }\n\n return withImage ? '12px' : withAction && noIcon ? '20px' : '16px'\n }\n\n if (withTitle || size === 'l') {\n return withImage || !noIcon ? '16px' : '24px'\n }\n\n return withImage ? '16px' : '20px'\n}\n\nconst paddingRight = ({\n isCompact,\n withCloseIcon,\n withTimer,\n}: Pick<RootAlertProps, 'isCompact' | 'withCloseIcon' | 'withTimer'>) => {\n if (withCloseIcon) {\n return isCompact ? '12px' : '16px'\n }\n\n return withTimer ? '8px' : '20px'\n}\n\nconst getMarginRightIconWrapper = ({\n column,\n isCompact,\n withImage,\n}: {\n column: boolean\n isCompact?: boolean\n withImage: boolean\n}) => {\n if (isCompact) return '8px'\n\n return column ? (withImage ? '8px' : '12px') : '8px'\n}\n\nconst getImageSize = ({ column, isCompact }: { column: boolean; isCompact?: boolean }) => {\n if (isCompact) return '20px'\n\n return column ? '28px' : '32px'\n}\n\nconst getActionsMarginTop = ({\n column,\n isCompact,\n withTitle,\n}: {\n column: boolean\n isCompact?: boolean\n withTitle: boolean\n}) => {\n if (column) {\n return isCompact ? (withTitle ? '16px' : '8px') : '16px'\n }\n\n return 0\n}\n\nexport const Root = styled.div\n .withConfig<RootAlertProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'onMouseEnter', 'onMouseLeave', 'style'].includes(prop),\n })\n .attrs(injectDefaultTheme)`\n ${(props) => `\n display: flex;\n align-items: ${props.column || (props.isCompact ? !props.withTimer : props.textWrap) ? 'flex-start' : 'center'};\n justify-content: ${props.withTimer ? 'space-between' : 'flex-start'};\n padding-top: ${getPaddingY(props)};\n padding-right: ${paddingRight(props)};\n padding-bottom: ${getPaddingY(props)};\n padding-left: ${paddingLeft(props)};\n height: ${props.isCompact || props.column || props.textWrap ? 'auto' : '48px'};\n min-width: ${props.isCompact ? '304px' : 'auto'};\n max-width: ${props.isCompact ? '351px' : '100%'};\n border-radius: ${props.column ? (props.isCompact ? '20px' : '12px') : '30px'};\n background-color: ${bgColor(props.theme, !!props.clear, props.type)};\n box-shadow: ${props.clear ? '0 6px 20px 0 rgba(0, 0, 0, 0.1)' : 'none'};\n box-sizing: border-box;\n `}\n ${responsiveProperty('width', 'width')}\n`\n\nexport const IconWrapper = styled.div<IconWrapperProps>`\n ${(props) => `\n display: flex;\n margin-right: ${getMarginRightIconWrapper(props)};\n `}\n\n ${(props) =>\n props.withImage\n ? `\n img,\n svg {\n height: ${getImageSize(props)};\n width: ${getImageSize(props)};\n }\n `\n : null};\n`\n\nexport const ContentWrapper = styled.div<ContentWrapperProps>`\n ${(props) => `\n display: flex;\n margin-right: auto;\n flex-direction: ${props.column ? 'column' : 'row'};\n align-items: ${props.column ? 'flex-start' : 'center'};\n align-self: center;\n max-width: ${props.column ? '260px' : 'initial'};\n white-space: ${props.column || props.isCompact ? 'normal' : 'nowrap'};\n overflow: hidden;\n `}\n`\n\nexport const Title = styled(Text)<TitleProps>`\n ${(props) => `\n display: inline-block;\n margin-top: ${props.isCompact ? '0' : '2px'};\n margin-bottom: 8px;\n max-width: 100%;\n vertical-align: middle;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-weight: 700;\n overflow: hidden;\n `}\n`\n\nexport const Content = styled(Text)<ContentProps>`\n ${(props) => `\n text-overflow: ${props.column || props.isCompact ? 'clip' : 'ellipsis'};\n white-space: ${props.column || props.isCompact || props.textWrap ? 'pre-wrap' : 'inherit'};\n overflow: hidden;\n `}\n`\n\nexport const Link = styled.div<LinkProps>`\n ${(props) => `\n display: flex;\n margin-top: ${props.column ? (props.isCompact && !props.withTitle ? '4px' : '12px') : 0};\n margin-left: ${props.column ? 0 : '60px'};\n color: ${props.clear ? props.theme.colors['content-link'] : props.theme.colors['content-onmain-primary']};\n `}\n`\n\nexport const Actions = styled.div<ActionsProps>`\n ${(props) => `\n margin-top: ${getActionsMarginTop(props)};\n margin-left: ${props.column ? 0 : '60px'};\n\n && > button {\n margin-left: 0;\n }\n `}\n`\n\nexport const CloseIcon = styled.button<CloseIconProps>`\n ${(props) => `\n appearance: none;\n display: flex;\n margin-left: ${props.withTimer ? '0' : '16px'};\n border-radius: 0;\n background: none;\n box-shadow: none;\n padding: 0;\n border: none;\n cursor: pointer;\n outline: none;\n\n &:focus-visible {\n outline: 1px solid ${props.theme.colors.accent};\n outline-offset: 2px;\n }\n `}\n`\n\nexport const CancelTimer = styled(Button)<CancelTimerProps>`\n ${(props) => `\n margin-left: ${props.isCompact ? '28px' : '60px'};\n padding-right: ${props.isCompact ? '16px' : '28px'};\n padding-left: ${props.isCompact ? '16px' : '28px'};\n `}\n`\n\nexport const Timer = styled(CountdownCircle)<CountdownCircleProps>`\n ${(props) => `\n line-height: ${props.isCompact ? '12px' : '18px'};\n font-weight: ${props.isCompact ? '700' : '400'};\n font-size: ${props.isCompact ? '11px' : '14px'};\n color: ${props.color};\n\n svg {\n transform: rotateY(180deg);\n }\n `}\n`\n","import { useEffect, useRef, useState } from 'react'\n\nimport { DefaultColorNames } from 'theme/colors'\nimport { Progress } from '../Progress'\n\nimport type { CountdownCircleProps } from './types'\n\nconst progressRate = 0.05\n\nconst CountdownCircle = ({ className, color, isCompact, paused, timer }: CountdownCircleProps) => {\n const [countdown, setCountdown] = useState(timer)\n const intervalId = useRef<ReturnType<typeof setInterval>>()\n\n useEffect(() => {\n return () => {\n if (intervalId.current) {\n clearInterval(intervalId.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (paused) {\n clearInterval(intervalId.current)\n } else {\n intervalId.current = setInterval(() => {\n setCountdown((prevCountdown) => {\n if (prevCountdown <= progressRate) {\n clearInterval(intervalId.current)\n return prevCountdown\n }\n\n return prevCountdown - progressRate\n })\n }, progressRate * 1000)\n }\n }, [paused])\n\n const progress = (countdown / timer) * 100\n\n return (\n <Progress.Circle\n className={className}\n content={Math.ceil(countdown)}\n progress={progress}\n progressStartAngle={0}\n resultColor={color}\n size={isCompact ? 16 : 20}\n strokeBGColor={DefaultColorNames.transparent}\n strokeLineWidth={1.5}\n />\n )\n}\n\nexport { CountdownCircle }\n","import type { DefaultTheme } from 'styled-components'\n\nimport type { ColorValue } from 'mixins/color'\n\nimport type { AlertProps } from './types'\n\nexport const countdownColor = ({ theme, type }: Pick<AlertProps, 'type'> & { theme: DefaultTheme }): ColorValue => {\n switch (type) {\n case 'error':\n return theme.colors['alert-bg-error-500']\n case 'info':\n return theme.colors['content-brand-primary']\n case 'success':\n return theme.colors['alert-success']\n case 'warning':\n return theme.colors['alert-warning']\n default:\n return theme.colors['content-brand-primary']\n }\n}\n","import { forwardRef, useState } from 'react'\nimport { CheckCircleFill, Close, CloseCirlceFill, NotifFill, WarningTriangleFill } from '@foxford/icon-pack'\nimport type { DefaultTheme } from 'styled-components'\n\nimport { useClassname } from 'hooks/useClassname'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { useFallbackTheme } from 'hooks/use-theme'\n\nimport { Anchor } from '../Anchor'\nimport { Button } from '../Button'\nimport { Icon } from '../Icon'\n\nimport * as Styled from './style'\n\nimport type { AlertProps } from './types'\nimport { countdownColor } from './utils'\n\nconst getDefaultIcon = ({\n isCompact,\n theme,\n type,\n}: Pick<AlertProps, 'isCompact' | 'type'> & { theme: DefaultTheme }) => {\n const size = isCompact ? 16 : 24\n\n switch (type) {\n case 'error':\n return <CloseCirlceFill color={theme.colors['alert-bg-error-500']} size={size} />\n case 'info':\n return <NotifFill color={theme.colors['content-brand-primary']} size={size} />\n case 'success':\n return <CheckCircleFill color={theme.colors['alert-success']} size={size} />\n case 'warning':\n return <WarningTriangleFill color={theme.colors['alert-warning']} size={size} />\n default:\n return null\n }\n}\n\nconst COMPONENT_NAME = 'Alert'\n\nconst Alert = forwardRef<HTMLDivElement, AlertProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n const {\n cancelTimerText = 'Отменить',\n primaryAction,\n primaryActionProps,\n secondaryAction,\n secondaryActionProps,\n children,\n className,\n clear,\n customIcon,\n image,\n isCompact,\n link,\n linkProps,\n noIcon,\n onClickCancelTimer,\n closeToast,\n size = 's',\n style,\n textProps,\n textWrap,\n timer,\n title,\n titleProps,\n type,\n width = ['fit-content', 'fit-content', 'fit-content', '351px', '304px', '304px'],\n } = useConfigPriority<AlertProps>(theme.components?.Alert, props)\n const _className = useClassname(COMPONENT_NAME, className)\n const [timerOnPause, setTimerOnPause] = useState(false)\n\n const column = Boolean(size === 'l' || !!title || (isCompact && (title || link || primaryAction || secondaryAction)))\n\n const handleMouseEnter = () => {\n setTimerOnPause(true)\n }\n\n const handleMouseLeave = () => {\n setTimerOnPause(false)\n }\n\n return (\n <Styled.Root\n className={_className}\n clear={clear}\n column={column}\n isCompact={isCompact}\n noIcon={noIcon}\n onMouseEnter={timer && handleMouseEnter}\n onMouseLeave={timer && handleMouseLeave}\n ref={ref}\n size={size}\n style={style}\n textWrap={textWrap}\n type={type}\n width={width}\n withAction={!!primaryAction || !!secondaryAction}\n withCloseIcon={!!closeToast}\n withImage={!!image}\n withLink={!!link}\n withTimer={!!timer}\n withTitle={!!title}\n >\n {(!noIcon || customIcon) && (\n <Styled.IconWrapper column={column} isCompact={isCompact} withImage={!!image}>\n {!noIcon && !timer && !customIcon && !image && getDefaultIcon({ isCompact, theme, type })}\n {customIcon && <Icon name={customIcon} size={isCompact ? 16 : 24} />}\n {image}\n {timer && (\n <Styled.Timer\n isCompact={isCompact}\n paused={timerOnPause}\n timer={timer}\n color={countdownColor({ theme, type })}\n />\n )}\n </Styled.IconWrapper>\n )}\n\n <Styled.ContentWrapper column={column} isCompact={isCompact}>\n {title && (\n <Styled.Title\n color={theme.colors['content-onmain-primary']}\n isCompact={isCompact}\n size={isCompact ? 14 : 16}\n lineHeight='m'\n {...titleProps}\n >\n {title}\n </Styled.Title>\n )}\n\n <Styled.Content\n appearance='body'\n color={theme.colors['content-onmain-primary']}\n column={column}\n isCompact={isCompact}\n size={isCompact ? 'xs' : 's'}\n textWrap={textWrap}\n {...textProps}\n >\n {children}\n </Styled.Content>\n\n {link && (\n <Styled.Link clear={clear} column={column} isCompact={isCompact} withTitle={!!title}>\n <Anchor\n color={props.clear ? theme.colors['content-link'] : theme.colors['content-onmain-primary']}\n onClick={link.onClick}\n preset='brand'\n pseudo\n size={isCompact ? 's' : 'm'}\n {...linkProps}\n >\n {link.content}\n </Anchor>\n </Styled.Link>\n )}\n\n {(primaryAction || secondaryAction) && (\n <Styled.Actions column={column} isCompact={isCompact} withTitle={!!title}>\n {secondaryAction && (\n <Button\n black\n fontWeight='normal'\n marginRight={column ? 4 : 8}\n onClick={secondaryAction.onClick}\n outline\n preset='brand'\n size='xs'\n {...secondaryActionProps}\n >\n {secondaryAction.content}\n </Button>\n )}\n\n {primaryAction && (\n <Button\n black\n fontWeight='normal'\n onClick={primaryAction.onClick}\n preset='brand'\n size='xs'\n {...primaryActionProps}\n >\n {primaryAction.content}\n </Button>\n )}\n </Styled.Actions>\n )}\n </Styled.ContentWrapper>\n\n {onClickCancelTimer && (\n <Styled.CancelTimer\n black\n clear\n fontWeight='normal'\n isCompact={isCompact}\n onClick={onClickCancelTimer}\n preset='brand'\n size={isCompact ? 'xs' : 'm'}\n >\n {cancelTimerText}\n </Styled.CancelTimer>\n )}\n\n {closeToast && (isCompact ? !timer : true) && (\n <Styled.CloseIcon aria-label='close' onClick={closeToast} type='button' withTimer={!!timer}>\n <Close color={theme.colors['content-onmain-primary']} size={isCompact ? 18 : 24} />\n </Styled.CloseIcon>\n )}\n </Styled.Root>\n )\n})\n\nAlert.displayName = COMPONENT_NAME\n\nexport { Alert, COMPONENT_NAME }\n\nexport type { AlertProps }\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 { ColorProperty } from 'mixins/color'\nimport { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { DisplayProperty } from 'mixins/display'\nimport { BaseProps } from 'shared/interfaces'\nimport { Text } from '../Text'\nimport { CurrencyCodes, CURRENCY_MAP } from './data'\nimport * as Styled from './style'\n\nexport interface AmountProps extends BaseProps, ColorProperty, ResponsiveNamedProperty<'size'>, DisplayProperty {\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 | string\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 | string) {\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","/**\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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport { getAvatarText } from './utils'\nimport * as Styled from './style'\n\nexport interface AvatarProps extends BaseProps, ColorProperty {\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 { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from 'shared/interfaces'\nimport { Text, TextProps } from '../Text'\nimport * as Styled from './style'\n\nexport interface BadgeProps extends BaseProps, ColorProperty, DisplayProperty {\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","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 { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } from 'mixins/display'\nimport { BaseProps } from 'shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ContainerProps extends BaseProps, DisplayProperty, ColorProperty {\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 if (props.overlayClassName) return null\n\n if (props.blurredOverlay) {\n return css`\n background: rgba(246, 247, 251, 0.3);\n backdrop-filter: blur(3.5px);\n `\n }\n\n return css`\n background: rgba(246, 247, 251, 0.9);\n `\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 * Boolean indicating if the overlay background should be blurred\n */\n blurredOverlay?: boolean\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 blurredOverlay: false,\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 blurredOverlay,\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 blurredOverlay={blurredOverlay}\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 { color } from 'mixins/color'\nimport { Spacer } from 'components/Spacer'\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 { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { ColorProperty } from 'mixins/color'\nimport { useClassname } from 'hooks/useClassname'\nimport { SpacerProps } from 'components/Spacer'\nimport * as Styled from './style'\n\nexport interface PaperProps extends SpacerProps, ColorProperty, ResponsiveNamedProperty<'padding'> {\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 * - [`SpacerProps`](#/Разметка%20и%20позиционирование/Spacer)\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 { 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 { color } from 'mixins/color'\nimport { Spacer } from 'components/Spacer'\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 { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } 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, DisplayProperty, ColorProperty, 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 { ColorProperty } 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 ColorProperty,\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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport { Separator } from './Separator'\nimport * as Styled from './style'\n\nexport interface SeparatorTextProps extends BaseProps, ColorProperty {\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 { responsiveNamedProperty, property, ResponsiveNamedProperty, CalcProperty } 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, sizing = 'px') => {\n if (size === 0) return null\n return css`\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n &:before {\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n margin-top: -${(size as number) / 2}${sizing};\n margin-left: -${(size as number) / 2}${sizing};\n }\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 { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { useClassname } from 'hooks/useClassname'\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 type { SwitcherPropsByPreset } from './types'\n\nexport const DEFAULT_PROPS: SwitcherPropsByPreset = {\n switcherWidth: 60,\n switcherHeight: 32,\n borderRadius: 40,\n dotSize: 24,\n}\n\nexport const BRAND_PROPS: SwitcherPropsByPreset = {\n switcherWidth: 44,\n switcherHeight: 24,\n borderRadius: 48,\n dotSize: 16,\n}\n","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { getColor } from 'mixins/color'\nimport type { StyledSwitcherProps, SwitcherPropsByPreset } from './types'\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<SwitcherPropsByPreset>`\n position: relative;\n display: block;\n box-sizing: border-box;\n width: ${(props) => props.switcherWidth}px;\n height: ${(props) => props.switcherHeight}px;\n cursor: pointer;\n user-select: none;\n transition: background 0.3s ease, background-image 0.3s ease;\n border-radius: ${(props) => props.borderRadius}px;\n flex: 0 0 auto;\n\n &::before {\n position: absolute;\n top: ${({ switcherHeight, dotSize }) => (switcherHeight - dotSize) / 2}px;\n left: ${({ switcherHeight, dotSize }) => (switcherHeight - dotSize) / 2}px;\n display: block;\n width: ${(props) => props.dotSize}px;\n height: ${(props) => props.dotSize}px;\n content: '';\n transition: background 0.3s ease, left 0.3s ease;\n transform: translateZ(0);\n border-radius: 50%;\n }\n`\n\nconst disabledStyles = `\n cursor: not-allowed;\n opacity: 0.7;\n\n & ${Switcher} {\n cursor: not-allowed;\n box-shadow: none;\n\n &::before {\n box-shadow: none;\n }\n }\n\n & ${Label} {\n cursor: not-allowed;\n }\n`\n\nconst checkedStyles = css<StyledSwitcherProps>`\n & ${Switcher} {\n &::before {\n left: ${({ switcherWidth, switcherHeight, dotSize }) =>\n switcherWidth - dotSize - (switcherHeight - dotSize) / 2}px;\n }\n }\n`\n\nconst baseStyles = css<StyledSwitcherProps>`\n ${(props) => `\n position: relative;\n display: inline-flex;\n flex-direction: row;\n box-sizing: border-box;\n height: ${props.switcherHeight}px;\n line-height: ${props.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 `}\n`\n\nconst defaultPresetStyle = css<StyledSwitcherProps>`\n ${(props) => {\n const color = props.color || 'atlantis'\n\n return `\n & ${Switcher} {\n box-shadow: inset 0 2px 2px 0 rgba(0, 0, 0, 0.08);\n background-color: #eaecf3;\n\n &::before {\n background-color: ${props.theme.colors.white};\n box-shadow: ${props.disabled ? 'none' : '0 0 6px 0 rgba(0, 0, 0, 0.16)'};\n }\n\n ${\n props.inactiveColor\n ? `\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 }\n\n ${\n props.checked\n ? `\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(color, props)).lighten(10).toString()},\n ${getColor(color, props)}\n );\n `\n : ''\n }\n }\n\n & ${Input}:focus-visible + ${Switcher} {\n outline: 1px solid ${getColor(color, props)};\n outline-offset: 2px;\n }\n `\n }}\n`\n\nconst brandPresetStyles = css<StyledSwitcherProps>`\n ${(props) => `\n & ${Switcher} {\n background-color: ${\n props.disabled\n ? props.theme.colors[props.checked ? 'bg-disabled-active' : 'bg-disabled-small']\n : props.theme.colors[props.checked ? 'bg-brand-primary-basic' : 'bg-onmain-tertiary']\n };\n\n &::before {\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n box-shadow: ${props.disabled ? 'none' : '0px 2px 4px rgba(0, 0, 0, 0.08)'};\n }\n\n ${!props.checked && props.inactiveColor ? `background-color: ${getColor(props.inactiveColor, props)};` : ''}\n ${props.checked && props.color ? `background-color: ${getColor(props.color, props)};` : ''}\n }\n\n & ${Input}:focus-visible + ${Switcher} {\n outline: 1px solid ${props.color ? getColor(props.color, props) : props.theme.colors['bg-brand-primary-basic']};\n outline-offset: 2px;\n }\n `}\n`\n\nexport const Root = styled.div\n .withConfig({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n })\n .attrs(injectDefaultTheme)<StyledSwitcherProps>`\n ${baseStyles}\n\n ${(props) => (props.checked ? checkedStyles : '')}\n ${(props) => (props.disabled ? disabledStyles : '')}\n ${({ brandPresetUsed }) => (brandPresetUsed ? brandPresetStyles : defaultPresetStyle)}\n`\n","import { forwardRef } from 'react'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport type { SwitcherProps } from './types'\nimport { DEFAULT_PROPS, BRAND_PROPS } from './constants'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Switcher'\n\nconst Switcher = forwardRef<HTMLDivElement, SwitcherProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n const {\n value = false,\n disabled = false,\n tabIndex,\n id,\n name,\n children,\n onChange,\n ...config\n } = useConfigPriority<SwitcherProps>(theme.components?.Switcher, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof config.preset === 'string') brandPresetUsed = config.preset === 'brand'\n\n const propsByPreset = brandPresetUsed ? BRAND_PROPS : DEFAULT_PROPS\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!disabled && typeof onChange === 'function') onChange(event.target.checked, event)\n }\n\n return (\n <Styled.Root\n {...config}\n {...propsByPreset}\n ref={ref}\n checked={value}\n disabled={disabled}\n brandPresetUsed={brandPresetUsed}\n >\n <Styled.Input\n id={id}\n name={name}\n checked={value}\n type='checkbox'\n tabIndex={tabIndex}\n onChange={handleChange}\n disabled={disabled}\n />\n <Styled.Switcher htmlFor={id} {...propsByPreset} />\n {children ? <Styled.Label htmlFor={id}>{children}</Styled.Label> : null}\n </Styled.Root>\n )\n})\n\nSwitcher.displayName = COMPONENT_NAME\n\nexport { Switcher, COMPONENT_NAME }\n\nexport type { SwitcherProps }\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 { ColorProperty } from 'mixins/color'\nimport * as Styled from './style'\n\nexport interface TabProps extends ColorProperty, ColorProperty<'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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport { TabsTab } from './TabsTab'\nimport * as Styled from './style'\n\nexport interface TabsProps extends BaseProps, ColorProperty, ColorProperty<'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 type { Props } from 'react-floater/lib/types'\nimport { mergeDeepRight } from 'ramda'\nimport { tooltipStyles, tooltipStylesRounend, tooltipDisplayBlockStyles } from './tooltip-styles'\nimport type { TooltipDefaultProps, TooltipDefaultStyles } from './types'\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} as TooltipDefaultProps\n\nTooltip.themes = {\n tooltipStyles,\n tooltipDisplayBlockStyles,\n tooltipStylesRounend,\n} as TooltipDefaultStyles\n\nTooltip.displayName = 'Tooltip'\n\nexport type TooltipProps = Props\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 <span>{children}</span>\n </Floater>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { property, PossibleValues, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { color } from 'mixins/color'\nimport { Text as UiText, TextProps } from '../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 { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } from 'mixins/display'\nimport { BaseProps } from 'shared/interfaces'\nimport { DefaultColorNames } from 'theme/colors'\nimport { TextProps } from '../Text'\nimport * as Styled from './style'\n\nexport interface TagProps\n extends BaseProps,\n DisplayProperty,\n ColorProperty,\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\n size={14}\n forwardedAs='span'\n color={checked && !inverse ? DefaultColorNames.white : DefaultColorNames.mineShaft}\n {...textProps}\n >\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 { DefaultColorNames } from 'theme/colors'\nimport { 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={DefaultColorNames.mineShaft}>\n {content}\n </Text>\n </Styled.HeadingRoot>\n )\n}\n","import { DefaultColorNames } from 'theme/colors'\nimport { 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={DefaultColorNames.mineShaft}>\n {content}\n </Text>\n </Styled.SubHeadingRoot>\n )\n}\n","import { BaseProps } from 'shared/interfaces'\nimport { DefaultColorNames } from 'theme/colors'\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 || DefaultColorNames.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 || DefaultColorNames.accent} />\n </Styled.ControlsItem>\n ) : null}\n </Styled.ControlsRoot>\n )\n}\n","import { PureComponent } from 'react'\nimport { BaseProps } from 'shared/interfaces'\nimport { Spacer } from 'components/Spacer'\nimport { Color } from 'mixins/color'\nimport { ContextMenu, ContextMenuProps } from '../ContextMenu/ContextMenu'\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?: Color\n }\n confirm?: {\n content?: string\n onClick?(): void\n color?: Color\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 { DefaultColorNames } from 'theme/colors'\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={DefaultColorNames.mineShaft} content={content} />\n </Styled.RootItem>\n )\n}\n","/* eslint-disable no-use-before-define */\nimport { cloneElement, PureComponent } from 'react'\nimport { BaseProps } from 'shared/interfaces'\nimport { ContextMenuMultiLevel } from 'components/ContextMenu.Multilevel'\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 {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}\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","import { PossibleValues } from 'mixins/responsive-property'\nimport { SizeInput } from 'shared/enums/sizeInput'\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 && SizeInput[width]) return SizeInput[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 { InputField } from 'shared/interfaces'\nimport { chooseWidthValue } from 'components/Input/helpers'\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: auto;\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\n ? property(chooseWidthValue(props.width), props.fluid && props.width !== 'auto' ? 'max-width' : 'width')\n : 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: props.fluid && props.width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: chooseWidthValue,\n })}\n ${props.fluid\n ? css`\n width: 100%;\n `\n : null}\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, { css } from 'styled-components'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { chooseWidthValue } from 'components/Input/helpers'\nimport { baseInputStyle } from 'components/Input/style'\nimport type { StyledTextareaProps } from './types'\n\n/**\n * TODO: combine following styles durnig Input component rebranding and remove it from here\n * https://jira.netology-group.ru/browse/STOEGE-20514\n */\nconst brandTextareaStyle = css<StyledTextareaProps>`\n ${({ theme }) => `\n display: block;\n box-sizing: border-box;\n appearance: none;\n width: auto;\n resize: none;\n\n background: ${theme.colors['bg-onmain-secondary']};\n border: 1px solid ${theme.colors['border-onmain-default-large']};\n border-radius: 12px;\n padding: 12px 16px;\n\n font-style: normal;\n font-weight: 400;\n font-size: 18px;\n line-height: 24px;\n color: ${theme.colors['content-onmain-primary']};\n\n transition-property: background-color, border-color, color, caret-color;\n transition-duration: 200ms;\n transition-timing-function: ease-in;\n\n &::placeholder {\n color: ${theme.colors['content-onmain-secondary']};\n }\n\n &:focus {\n border: 1px solid ${theme.colors['border-brand-primary']};\n caret-color: ${theme.colors['border-brand-primary']};\n outline: none;\n }\n\n &:disabled {\n background-color: ${theme.colors['bg-disabled-large']};\n border-color: ${theme.colors['border-disabled']};\n color: ${theme.colors['content-disabled']};\n cursor: not-allowed;\n }\n `};\n\n ${(props) =>\n props.width\n ? property(chooseWidthValue(props.width), props.fluid && props.width !== 'auto' ? 'max-width' : 'width')\n : null}\n\n ${(props) =>\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: props.fluid && props.width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: chooseWidthValue,\n })}\n\n ${({ fluid }) => fluid && 'width: 100%;'}\n\n ${({ error, theme }) =>\n error &&\n `\n background-color: ${theme.colors['alert-bg-error-100']};\n border: 1px solid ${theme.colors['alert-bg-error-500']};\n `}\n`\n\nconst baseTextareaStyle = css`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n ${baseInputStyle}\n`\n\nexport const Root = styled.textarea\n .withConfig({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error', 'brandPresetUsed', 'theme'].includes(prop) &&\n !prop.includes('width'),\n })\n .attrs(injectDefaultTheme)<StyledTextareaProps>`\n ${({ brandPresetUsed }) => (brandPresetUsed ? brandTextareaStyle : baseTextareaStyle)}\n`\n","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { omit } from 'ramda'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport * as Styled from './style'\nimport type { TextareaProps } from './types'\n\nconst COMPONENT_NAME = 'Textarea'\n\nconst Textarea = (props: TextareaProps) => {\n const theme = useFallbackTheme()\n\n const {\n preset,\n disabled,\n error,\n fluid,\n name,\n onChange,\n maxLength,\n placeholder,\n required,\n tabIndex,\n value,\n className,\n style,\n autosize = true,\n rounded = true,\n cols = 20,\n rows = 2,\n maxRows = 30,\n color = 'mineShaft',\n placeholderColor = 'silver',\n width = theme.defaultInputControlsWidth,\n ...configProps\n } = useConfigPriority<TextareaProps>(theme.components?.[COMPONENT_NAME], omit(['children'], props))\n\n const textarea = useRef() as React.MutableRefObject<HTMLTextAreaElement>\n\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 useEffect(() => {\n if (!textarea || !textarea.current) return\n\n const el = textarea.current\n const rect = el.getBoundingClientRect()\n if (el.scrollHeight > rect.height) {\n const lh = parseInt(getComputedStyle(el).lineHeight, 10)\n const numberOfLines = Math.floor(el.scrollHeight / lh)\n if (numberOfLines <= maxRows && numberOfLines > rows) {\n setRows(numberOfLines)\n }\n }\n }, [])\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof preset === 'string') brandPresetUsed = preset === 'brand'\n\n return (\n <Styled.Root\n {...configProps}\n ref={textarea}\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 width={width}\n brandPresetUsed={brandPresetUsed}\n />\n )\n}\n\nTextarea.displayName = COMPONENT_NAME\n\nexport { Textarea, COMPONENT_NAME }\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-99999', /^(\\+?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 if (!REGEXPS.FILLED.test(oldState.value) && REGEXPS.FILLED.test(newState.value)) {\n return {\n ...newState,\n selection: newState.selection ? { start: newState.selection.start + 1, end: newState.selection.end + 1 } : null,\n }\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 { useTheme } from 'styled-components'\nimport { BaseProps, InputField } from 'shared/interfaces'\nimport { InputPhone } from 'components/Input.Phone'\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 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) {\n const theme = useTheme()\n\n const { width = theme.defaultInputControlsWidth } = props\n\n return <Styled.Root {...props} width={width} mask={props.mask || ''} />\n}\n","import styled, { css } from 'styled-components'\nimport { screenMaxS } from 'mixins/screen'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { display } from 'mixins/display'\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 {\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) => ['children', 'htmlFor'].includes(prop),\n})`\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n width: auto;\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 ${(props) =>\n !props.error\n ? css`\n circle:not(:disabled) {\n stroke: #48a1e6;\n }\n circle:not(:disabled):last-child {\n fill: #48a1e6;\n }\n `\n : null}\n }\n }\n > span {\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 ${(props) => (props.display ? display(props.display) : null)}\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) =>\n props.fluid\n ? css`\n width: 100%;\n `\n : 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 cx from 'clsx'\nimport { useTheme } from 'styled-components'\nimport { ResponsiveProperty } from 'mixins/responsive-property'\nimport { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from 'shared/interfaces'\nimport { SizeInput } from 'shared/enums/sizeInput'\nimport { RadioGroup } from './Group'\nimport * as Styled from './style'\n\ntype RadioInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'width'>\n\nexport interface RadioProps extends BaseProps, DisplayProperty, 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 fluid?: boolean\n /**\n * Width of label. Default is `Theme.defaultInputControlsWidth`\n */\n width?: ResponsiveProperty<'auto' | number | keyof typeof SizeInput>\n}\n\nRadio.defaultProps = {\n disabled: false,\n size: 'medium',\n display: 'inline-flex',\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 theme = useTheme()\n\n const {\n children,\n disabled,\n error,\n id,\n name,\n size,\n value,\n label,\n className,\n width = theme.defaultInputControlsWidth,\n style,\n fluid,\n display,\n ...anotherProps\n } = props\n\n const baseClassName = useClassname(Radio.displayName)\n const _className = cx(baseClassName, className, props.checked && !uncontrolled ? `${baseClassName}--checked` : null)\n const _labelClassName = `${baseClassName}__label`\n\n const inputProps = uncontrolled ? { defaultChecked: props.defaultChecked } : { checked: props.checked }\n\n return (\n <Styled.Root\n className={_className}\n style={style}\n disabled={disabled}\n error={error}\n htmlFor={id || name}\n size={size}\n width={width}\n display={display}\n fluid={fluid}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='radio'\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={_labelClassName}>{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, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { display } from 'mixins/display'\nimport { responsiveProperty } from 'mixins/responsive-property'\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 width: 100%;\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) => ['children'].includes(prop),\n})`\n .Select {\n position: relative;\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\n width: auto;\n ${(props) => (props.error ? error : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) => (props.fluid ? fluid : null)}\n`\n","import ReactSelect, { Async, AsyncCreatable, Creatable, ReactSelectProps } from 'react-select'\nimport { useTheme } from 'styled-components'\nimport { DisplayProperty } from 'mixins/display'\nimport { ResponsiveProperty } from 'mixins/responsive-property'\nimport { useClassname } from 'hooks/useClassname'\nimport { SizeInput } from 'shared/enums/sizeInput'\nimport { BaseProps } from 'shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SelectProps extends BaseProps, ReactSelectProps, DisplayProperty {\n fluid?: boolean\n error?: boolean\n /**\n * Width of select. Default is `Theme.defaultInputControlsWidth`\n */\n width?: ResponsiveProperty<'auto' | number | keyof typeof SizeInput>\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 display: 'inline-block',\n}\n\nSelect.displayName = 'Select'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `ReactSelectProps`\n */\nexport function Select(props: SelectProps) {\n const theme = useTheme()\n const {\n fluid,\n error,\n className,\n style,\n display,\n width = theme.defaultInputControlsWidth,\n ...reactSelectProps\n } = 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} width={width} display={display}>\n <SelectElement {...reactSelectProps} promptTextCreator={(label: string) => `Добавить \"${label}\"`} />\n </Styled.Root>\n )\n}\n","/* eslint-disable no-unused-vars */\nimport { useCallback } from 'react'\nimport { DefaultTheme, ThemeProvider as StyledThemeProvider } from 'styled-components'\nimport { mergeDeepLeft } from 'ramda'\nimport { UiGlobalStyles } from './global-styled'\nimport { defaultTheme } from './themes'\n\ninterface ThemeProviderProps {\n theme: Partial<DefaultTheme> | ((topLevelTheme: DefaultTheme) => DefaultTheme)\n children: React.ReactNode\n}\n\nexport function ThemeProvider(props: ThemeProviderProps) {\n const mergeTheme = useCallback(\n (topLevelTheme: DefaultTheme = defaultTheme): DefaultTheme => {\n const mergingTheme = props.theme\n\n if (typeof mergingTheme === 'function') {\n return mergingTheme(topLevelTheme)\n }\n\n if (typeof mergingTheme === 'object' && !Array.isArray(mergingTheme) && mergingTheme !== null) {\n return mergeDeepLeft(mergingTheme, topLevelTheme) as DefaultTheme\n }\n\n return topLevelTheme\n },\n [props.theme]\n )\n\n return (\n <StyledThemeProvider theme={mergeTheme}>\n <UiGlobalStyles />\n {props.children}\n </StyledThemeProvider>\n )\n}\n"],"names":["allowedHexColorCodes","DefaultColorNames","BaseColorNames","BrandColorNames","SocialColorNames","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","catalinaBlue","danube","midnightDeep","anakiva","azureRadiance","blueMarguerite","blueViolet","bossanova","capeCod","cerulean","congressBlue","congressBlueLight","creamBrulee","denim","earlyDawn","eminence","endeavour","fern","ghost","grape","gunsmoke","highland","honeyFlower","honeyFlower2","honeyFlower3","jagger","jordyBlue","jumbo","mediumPurple","midnightBlue","moodyBlue","nandor","nevada","olivine","parsley","pattensBlue","pattensBlueLight","scarletGum","scienceBlue","scienceBlue03","seance","smalt","smaltLight","tarawera","toryBlue","toryBlueDark","dodgerBlueDark","chambray","chambrayDark","pomegranateDark","azureRadiance2","curiousBlue","jungleGreen","violetDeep","stormGray","zeus","athensGray","marinerLight","royalBlue","melrose","zircon","veniceBlue","solitude","selago","coconutCream","cinderella","royalBlueDark","persianBlue","ultramarine","cornflowerBlueDark","jungleGreenDark","mountainMeadow","dodgerBlueDim","zirconDark","pizazz","madison","ebony","mediumRedViolet","fruitSaladLight","shark","azureRadianceLight","carnation","limaGreen","mysin","studio","athsSpecial","thunderbird","denimDark","puertoRico","lochmara","aliceBlue","perano","portage","royalBlueDim","sailDim","solitaire","capeHoney","fairPink","romantic","polar","cruise","selagoLight","moonRaker","pippin","yourPinkDark","peppermintLight","fringyFlower","heliotropeDark","pictonBlue","mediumPurpleRed","scooter","chambrayDim","dodgerBlueLight","selectiveYellow","scienceBlueDark","dodgerBlueDeep","kashmirBlue","turbo","denimDim","orangeRoughy","selagoDim","congressBlueNight","azureRadianceMedium","honeyFlowerDim","jaguar","kournikova","drover","flamingo","mineShaftDim","periwinkle","colonialWhiteDim","pattensBlueDeep","solitudeDim","periwinkleDim","rioGrande","kournikovaDim","UnitColorNames","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","ColorNames","_colors","keys","map","colorName","css","_socialColors","_unitColors","UiGlobalStyles","createGlobalStyle","SizeInput","useFallbackTheme","contextTheme","useTheme","length","defaultTheme","useConfigPriority","minor","major","useMemo","minorConfig","majorConfig","Set","reduce","prioritized","key","finalVal","valid","value","Boolean","_path","_extends","assign","target","i","arguments","source","hasOwnProperty","call","apply","this","SvgArrowmodule","props","React","createElement","width","height","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","SvgChevronmodule","viewBox","DIR_MAP","top","right","bottom","left","CONDITIONS","MAX","maxWidth","breakpoints","point","MIN","minWidth","concat","RANGE","point1","point2","createMediaQuery","condition","_len","points","Array","_key","params","_len2","args","_key2","_props$theme$breakpoi","_props$theme","theme","undefined","and","screenXs","screenS","screenM","screenL","screenXl","screenMaxXxs","screenMaxXs","screenMinXs","screenMaxS","screenMinS","screenMaxM","screenMinM","screenMaxL","screenMinL","screenMaxXl","screenMinXl","SIZES_LATIN","xxxl","xxl","xl","l","m","s","xs","xxs","xxxs","FONT_SIZES_LATIN","DESKTOP_FIRST_KEYS","MOBILE_FIRST_KEYS","getLatinSizeMapByCssProperty","cssProperty","buildMediaQuery","property","screenQueryFunction","sizing","sizes","_sizeMap$value","sizeMap","size","getKey","endsWith","desktopFirst","a","b","aKey","bKey","findIndex","el","getMediaQueryByResponsiveProp","prop","o","t","n","includes","SCREEN_SIZE_MAP","XXS","XS","S","M","L","XL","SCREEN_SIZE_MAP_BY_DEVICE_ALIAS","desktop","tablet","mobile","responsiveNamedProperty","_ref","predefinedSizes","customSizeHandler","sort","filter","item","responsiveProperty","propName","_props$propName","_cssProperty","isArray","_templateObject","_taggedTemplateLiteral","_templateObject2","default","_templateObject3","_templateObject4","_templateObject6","_templateObject9","injectDefaultTheme","config","forwardedTheme","_objectSpread","TRANSIENT_PROPS","SIZES","DEFAULT_SIZES","pseudoBaseStyles","defaultDisabledStyles","PRESET","filled","disabled","onColored","_ref2","outline","_ref3","_ref4","PRESET_DEFAULT","_ref5","_ref6","inverse","_ref7","extractSize","brandPresetUsed","Root","styled","button","withConfig","shouldForwardProp","attrs","componentId","borderRadius","Arrow","forwardRef","ref","_theme$components","components","onClick","_useConfigPriority","configProps","_objectWithoutProperties","_excluded","preset","square","Icon","ArrowSvg","ChevronSvg","iconStyles","arrowDir","isMultiDir","values","rotateDeg","acc","transform","_jsx","Styled.Root","type","event","preventDefault","children","jsx","style","useClassname","componentName","originalClassName","cx","classNamePrefix","displayName","FORWARD_PROPS","fontSize","paddingLeft","paddingRight","SIZES_BRAND","SIZES_ROUND","lineHeight","padding","SIZES_ROUND_BRAND","PROPS_BY_SIZE","paddingLeftM","paddingRightM","paddingLeftS","paddingRightS","fontSizeM","heightM","heightS","getColor","color","_props$theme2","colorVal","textColor","fallbackColor","_color","responsiveSizePropRegExp","DEVICE_MEDIA_QUERIES","BREAKPOINTS_MEDIA_QUERIES","buildSizeCSSDeclarations","_sizes$size","cssUnit","dynamicDeclaration","declarations","WIDTHS","baseStyles","display","fontWeight","noSpacing","loading","keyframes","spin","defaultLoadingStyles","getWidth","fluidStyles","background","danger","success","backgroundBefore","boxShadow","backgroundAfter","base","clear","fontColor","tiny","saturate","lighten","toString","inverted","basic","colorFn","queries","idx","mediaQuery","sizeProperty","sizeUnits","dynamicSizeDeclaration","test","sizeProp","paddingTop","paddingBottom","margin","marginTop","marginRight","marginBottom","marginLeft","fluid","paddingXS","paddingS","paddingM","paddingL","paddingXL","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","paddingRightXS","paddingRightL","paddingRightXL","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","paddingLeftXS","paddingLeftL","paddingLeftXL","marginXS","marginS","marginM","marginL","marginXL","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","_ref8","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","_ref9","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","_ref10","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","_ref11","fontSizeXS","fontSizeS","fontSizeL","fontSizeXL","_ref12","heightXS","heightL","heightXL","_ref13","widthXS","widthS","widthM","widthL","widthXL","_ref14","fluidXS","fluidS","fluidM","fluidL","fluidXL","IconSlot","span","Content","SpinnerIcon","CheckIcon","Button","rounded","as","_as","_type","className","_className","content","onClickCapture","onMouseEnter","onMouseLeave","round","_PROPS_BY_SIZE$size","propsBySize","componentSizes","mergeDeepLeft","classNameContent","rel","_theme$utils","relBuilder","utils","_config$href","href","autoRel","to","linkProps","Link","secondary","fontBold","leftIcon","rightIcon","icon","Styled.SpinnerIcon","Styled.CheckIcon","_jsxs","innerRef","evt","Styled.IconSlot","Styled.Content","_rect","_g","extraSmall","small","medium","large","extraLarge","BRAND_SIZES","STATIC_SIZES","inline","Input","input","Background","DefaultMask","x","y","rx","BrandMask","div","template","palette","bg","border","bgChecked","colorDisabled","borderHover","outlineFocus","templateBackground","borderChecked","bgHover","beforeBgHover","regular","error","tinycolor","setAlpha","label","Group","Checkbox","baseClassName","id","name","checked","defaultChecked","defaultInputControlsWidth","onChange","labelClassName","inputProps","htmlFor","Styled.Input","jsxs","_Fragment","Styled.Background","Styled.BrandMask","Styled.DefaultMask","Styled.Group","baseColors","zIndex","modal","tooltip","link","relStr","e","r","url","hostname","URL","window","location","push","join","mode","motherLightTheme","motherDarkTheme","ColorsDark","babyLightTheme","babyDarkTheme","teenLightTheme","teenDarkTheme","adultLightTheme","adultDarkTheme","vAlign","lm","pointerStyle","calcFontSize","pointer","sizeXS","sizeS","sizeM","sizeL","sizeXL","_path2","_circle","IconNames","defaultIcons","book","blackBoard","clipRule","burger","eye","email","unsort","person","diamond","diamondFilled","diamondSolid","cy","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","enableBackground","xmlSpace","coins","calendar","calendar_simple","chevronDown","chevronUp","chevronRight","chevronLeft","cross","dialog","dropDownArrow","externalLink","fillOpacity","file","fileBordered","lessons","pencil","phoneNoFill","radioChecked","radioNotChecked","search","tasks","tinyCross","sharpCross","plus","plusThin","play","reload","checkCircle","info","check","home","questionFilled","document","cancel","playPause","video","svg","dangerouslySetInnerHTML","__html","active","notDisabled","ActionBtn","wrapper","underline","pseudo","Anchor","_props$rel","_props$rel2","_props$rel3","tabIndex","rest","_display","_rel","_props$href","contentProps","onKeyDown","_rest$onClick","defaultProps","PARAMS","h1","weight","h2","h3","h4","TextHeading","h","fontFamily","Text","topXS","topS","topM","topL","topXL","rightXS","rightS","rightM","rightL","rightXL","bottomXS","bottomS","bottomM","bottomL","bottomXL","leftXS","leftS","leftM","leftL","leftXL","Spacer","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","componentDidUpdate","render","_this$props","moreText","lessText","showToggler","restProps","APPEARANCE","fontStyle","heading","subheading","body","caption","WEIGHT_MAP","lighter","normal","bold","bolder","LINE_HEIGHT_MAP","_WEIGHT_MAP$props$wei","_LINE_HEIGHT_MAP$prop","_props$margin","textAlign","underlineLinks","_props$fontUnits","fontUnits","sizeXXS","_APPEARANCE","prioritizedProps","appearanceProps","appearance","mergedProps","Heading","Ellipse","Progress","percent","percentColor","Separators","Separator","separatorColor","isEmpty","haveCircle","ProgressSegmented","segments","isActive","Styled.Progress","Styled.Separators","from","Styled.Separator","resultColor","strokeBGColor","polarToCartesian","centerX","centerY","radius","angleInDegrees","angleInRadians","Math","PI","cos","sin","describeArc","startAngle","endAngle","reverse","start","end","diff","angleDiff","sweep","arcSweep","ProgressCircle","PureComponent","renderSvg","progress","strokeLineWidth","strokeBGWidth","progressStartAngle","thickness","center","bgStartAngle","bgEndAngle","describeArcProgress","describeArcBg","bgAngleDiff","componentDidMount","prevProps","prevProgress","prevSize","htmlContent","status","move","bgColor","isLoading","backgroundColor","Bar","_percent","parseInt","Styled.Bar","Circle","Segmented","getPaddingY","column","isCompact","withImage","withTimer","getImageSize","textWrap","withCloseIcon","noIcon","withAction","withTitle","IconWrapper","getMarginRightIconWrapper","ContentWrapper","Title","Actions","CloseIcon","CancelTimer","Timer","paused","timer","countdown","setCountdown","useState","intervalId","useRef","useEffect","current","clearInterval","setInterval","prevCountdown","progressRate","ceil","countdownColor","getDefaultIcon","CloseCirlceFill","NotifFill","CheckCircleFill","WarningTriangleFill","Alert","cancelTimerText","primaryAction","primaryActionProps","secondaryAction","secondaryActionProps","customIcon","image","onClickCancelTimer","closeToast","textProps","title","titleProps","timerOnPause","setTimerOnPause","withLink","Styled.IconWrapper","Styled.Timer","Styled.ContentWrapper","Styled.Title","Styled.Link","Styled.Actions","Styled.CancelTimer","Styled.CloseIcon","Close","CurrencyCodes","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","ZERO_MINOR_PART_REGEXP","createSplitter","partSize","parts","str","Amount","renderCurrencySymbol","currencySymbol","position","currency","opacity","visibility","static","currencyCode","renderMinorPart","minorPart","showZeroMinorPart","separator","needMinorPart","digitsAfterPoint","isHeader","onlyCurrency","majorPart","isNegative","numberParts","abs","toFixed","split","majorPartFormatted","formattedValueStr","getCurrencySymbol","classNames","amountInner","pattern","sm","linearGenerator","withPlaceholder","WITH_PH_SIZE","shadow","autoColor","string","sum","charCodeAt","src","Avatar","getAvatarText","titleArray","trim","backgroundImage","Badge","Container","Modal","isOpen","overlayClassName","contentClassName","overlayClassNameLocal","ReactModal","portalClassName","valign","blurredOverlay","ModalClose","appElement","closeTimeoutMS","contentLabel","onAfterOpen","onRequestClose","role","shouldCloseOnOverlayClick","Styled.Modal","bodyOpenClassName","HTMLElement","setAppElement","Styled.ModalClose","zDepth","circle","Paper","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","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","sizeBuilder","getSize","Spinner","DEFAULT_PROPS","switcherWidth","switcherHeight","dotSize","BRAND_PROPS","Label","Switcher","disabledStyles","checkedStyles","defaultPresetStyle","inactiveColor","brandPresetStyles","propsByPreset","Styled.Switcher","Styled.Label","borderColor","activeTab","noBorder","Inner","Tab","themeKey","TabsTab","Styled.Tab","activeClassName","Tabs","classNameInner","Styled.Inner","tooltipStyles","flexDirection","wrapperPosition","floater","WebkitFilter","transition","floaterOpening","floaterWithAnimation","floaterClosing","floaterCentered","container","boxSizing","minHeight","justifyContent","borderBottom","close","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","_onChange","_x","persist","_onClick","_x2","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","levelId","_acc$items$find","items","find","reset","itemOnClickHandler","Error","currentTarget","dataset","preventClosing","stopPropagation","clearTimeout","tooltipProps","trigger","anotherProps","ContextMenu","onClose","Styled.MultilevelItems","Item","controls","disabledItem","notDisabledItem","hideOverlay","RootItem","disabledHandler","ContextMenuItem","Styled.RootItem","getOpen","openMenu","onOpen","closeMenu","toggleMenu","open","cloneElement","MultiLevel","overflow","chooseWidthValue","errorStyle","disabledStyle","focusStyle","roundedStyle","baseInputStyle","placeholderColor","InputMask","brandTextareaStyle","baseTextareaStyle","textarea","Textarea","omit","maxLength","placeholder","required","autosize","cols","rows","maxRows","tRows","setRows","onChangeHandler","useCallback","HTMLTextAreaElement","rect","getBoundingClientRect","lh","getComputedStyle","numberOfLines","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","Radio","uncontrolled","_labelClassName","console","log","fadeIn","Select","reactSelectProps","loadOptions","allowCreate","AsyncCreatable","Async","Creatable","ReactSelect","promptTextCreator","searchable","clearable","addLabelText","backspaceToRemoveMessage","clearAllText","clearValueText","noResultsText","searchPromptText","loadingPlaceholder","autoload","mergeTheme","topLevelTheme","mergingTheme","StyledThemeProvider","alpha","codeGroupLength","hexCodePattern","RegExp","groupLength","matchAll","code","padEnd"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/shared/utils/colors.ts","../../src/theme/colors.ts","../../src/theme/global-styled.ts","../../src/shared/enums/sizeInput.ts","../../src/hooks/use-theme.ts","../../src/hooks/use-config-priority.ts","../../src/components/Arrow/images/arrow.module.svg","../../src/components/Arrow/images/chevron.module.svg","../../src/components/Arrow/utils.ts","../../src/mixins/screen.ts","../../src/mixins/shared.ts","../../src/mixins/responsive-property.ts","../../src/shared/utils/inject-theme.ts","../../src/components/Arrow/constants.ts","../../src/components/Arrow/style.ts","../../src/components/Arrow/Arrow.tsx","../../src/hooks/useClassname.ts","../../src/components/Button/constants.ts","../../src/mixins/color.ts","../../src/shared/regexp.ts","../../src/mixins/size.ts","../../src/components/Button/images/check.module.svg","../../src/components/Button/images/spinner.module.svg","../../src/components/Button/style.ts","../../src/components/Button/Button.tsx","../../src/components/Button/hooks.ts","../../src/components/Checkbox/images/check-default.module.svg","../../src/components/Checkbox/images/check.module.svg","../../src/components/Checkbox/style.ts","../../src/components/Checkbox/Checkbox.tsx","../../src/components/Checkbox/Group.tsx","../../src/theme/colors-dark.ts","../../src/theme/themes.ts","../../src/theme/breakpoints.ts","../../src/theme/colors-light.ts","../../src/shared/utils/rel-builder.ts","../../src/mixins/vAlign.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/Anchor/style.ts","../../src/components/Anchor/Anchor.tsx","../../src/components/Text.Heading/Text.Heading.tsx","../../src/components/Spacer/style.ts","../../src/components/Spacer/Spacer.tsx","../../src/components/Text.Ellipse/style.ts","../../src/components/Text.Ellipse/Text.Ellipse.tsx","../../src/components/Text/constants.ts","../../src/components/Text/style.ts","../../src/components/Text/Text.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/Alert/style.ts","../../src/components/Alert/CountdownCircle.tsx","../../src/components/Alert/utils.ts","../../src/components/Alert/Alert.tsx","../../src/components/Amount/data/index.ts","../../src/components/Amount/style.ts","../../src/components/Amount/Amount.tsx","../../src/components/ArrowBadge/images/arrow.module.svg","../../src/components/ArrowBadge/images/rectangle.module.svg","../../src/components/ArrowBadge/images/fancy.module.svg","../../src/components/ArrowBadge/style.ts","../../src/shared/utils/style.ts","../../src/mixins/focus.ts","../../src/mixins/margin.ts","../../src/components/ArrowBadge/ArrowBadge.tsx","../../src/hocs/withMergedProps.tsx","../../src/components/ArrowBadge/constants.ts","../../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/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/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/constants.ts","../../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/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/Select/style.ts","../../src/components/Select/Select.tsx","../../src/theme/theme-provider.tsx"],"sourcesContent":["const allowedHexColorCodes = /^#?([0-9a-fA-F]{3}){1,2}$/\nconst getHexCodePattern = (groupLength: number) => new RegExp(`([A-Fa-f0-9]){${groupLength}}`, 'g')\n\n/**\n * Converts HEX color code to RGB(A) string\n *\n * @export\n * @param {string} HEX color with length of either 3 or 6 (can be with or without '#' sign)\n * @param {Number} alpha channel which specifies the opacity of the color\n * @returns {String} RGB(A) string\n */\nexport function hexToRgbA(hex: string, alpha?: number): string {\n if (!allowedHexColorCodes.test(hex)) {\n throw new Error(`Provided HEX color code \"${hex}\" is incorrect`)\n }\n\n const codeGroupLength = Math.floor(hex.length / 3)\n const hexCodePattern = getHexCodePattern(codeGroupLength)\n const [r, g, b] = [...hex.matchAll(hexCodePattern)].map(([code]) => parseInt(code.padEnd(2, code), 16))\n\n if (typeof alpha === 'number') {\n return `rgba(${r}, ${g}, ${b}, ${alpha})`\n }\n\n return `rgb(${r}, ${g}, ${b})`\n}\n\n/**\n * Checks if value is HEX color\n *\n * @export\n * @param {string} HEX color with length of either 3 or 6 (can be with or without '#' sign)\n * @returns {boolean}\n */\nexport function isHex(hex: string): boolean {\n return allowedHexColorCodes.test(hex)\n}\n","import { ColorValue } from 'mixins/color'\n\n/* eslint-disable no-unused-vars */\nexport enum DefaultColorNames {\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 transparent = 'transparent',\n catalinaBlue = 'catalinaBlue',\n danube = 'danube',\n midnightDeep = 'midnightDeep',\n anakiva = 'anakiva',\n azureRadiance = 'azureRadiance',\n blueMarguerite = 'blueMarguerite',\n blueViolet = 'blueViolet',\n bossanova = 'bossanova',\n capeCod = 'capeCod',\n cerulean = 'cerulean',\n congressBlue = 'congressBlue',\n congressBlueLight = 'congressBlueLight',\n creamBrulee = 'creamBrulee',\n denim = 'denim',\n earlyDawn = 'earlyDawn',\n eminence = 'eminence',\n endeavour = 'endeavour',\n fern = 'fern',\n ghost = 'ghost',\n grape = 'grape',\n gunsmoke = 'gunsmoke',\n highland = 'highland',\n honeyFlower = 'honeyFlower',\n honeyFlower2 = 'honeyFlower2',\n honeyFlower3 = 'honeyFlower3',\n jagger = 'jagger',\n jordyBlue = 'jordyBlue',\n jumbo = 'jumbo',\n mediumPurple = 'mediumPurple',\n midnightBlue = 'midnightBlue',\n moodyBlue = 'moodyBlue',\n nandor = 'nandor',\n nevada = 'nevada',\n olivine = 'olivine',\n parsley = 'parsley',\n pattensBlue = 'pattensBlue',\n pattensBlueLight = 'pattensBlueLight',\n scarletGum = 'scarletGum',\n scienceBlue = 'scienceBlue',\n scienceBlue03 = 'scienceBlue03',\n seance = 'seance',\n smalt = 'smalt',\n smaltLight = 'smaltLight',\n tarawera = 'tarawera',\n toryBlue = 'toryBlue',\n toryBlueDark = 'toryBlueDark',\n dodgerBlueDark = 'dodgerBlueDark',\n chambray = 'chambray',\n chambrayDark = 'chambrayDark',\n pomegranateDark = 'pomegranateDark',\n azureRadiance2 = 'azureRadiance2',\n curiousBlue = 'curiousBlue',\n jungleGreen = 'jungleGreen',\n violetDeep = 'violetDeep',\n stormGray = 'stormGray',\n zeus = 'zeus',\n athensGray = 'athensGray',\n marinerLight = 'marinerLight',\n royalBlue = 'royalBlue',\n melrose = 'melrose',\n zircon = 'zircon',\n veniceBlue = 'veniceBlue',\n solitude = 'solitude',\n selago = 'selago',\n coconutCream = 'coconutCream',\n cinderella = 'cinderella',\n royalBlueDark = 'royalBlueDark',\n persianBlue = 'persianBlue',\n ultramarine = 'ultramarine',\n cornflowerBlueDark = 'cornflowerBlueDark',\n jungleGreenDark = 'jungleGreenDark',\n mountainMeadow = 'mountainMeadow',\n dodgerBlueDim = 'dodgerBlueDim',\n zirconDark = 'zirconDark',\n pizazz = 'pizazz',\n madison = 'madison',\n ebony = 'ebony',\n mediumRedViolet = 'mediumRedViolet',\n fruitSaladLight = 'fruitSaladLight',\n shark = 'shark',\n azureRadianceLight = 'azureRadianceLight',\n carnation = 'carnation',\n limaGreen = 'limaGreen',\n mysin = 'mysin',\n studio = 'studio',\n athsSpecial = 'athsSpecial',\n thunderbird = 'thunderbird',\n denimDark = 'denimDark',\n puertoRico = 'puertoRico',\n lochmara = 'lochmara',\n aliceBlue = 'aliceBlue',\n perano = 'perano',\n portage = 'portage',\n royalBlueDim = 'royalBlueDim',\n sailDim = 'sailDim',\n solitaire = 'solitaire',\n capeHoney = 'capeHoney',\n fairPink = 'fairPink',\n romantic = 'romantic',\n polar = 'polar',\n cruise = 'cruise',\n selagoLight = 'selagoLight',\n moonRaker = 'moonRaker',\n pippin = 'pippin',\n yourPinkDark = 'yourPinkDark',\n peppermintLight = 'peppermintLight',\n fringyFlower = 'fringyFlower',\n heliotropeDark = 'heliotropeDark',\n pictonBlue = 'pictonBlue',\n mediumPurpleRed = 'mediumPurpleRed',\n scooter = 'scooter',\n chambrayDim = 'chambrayDim',\n dodgerBlueLight = 'dodgerBlueLight',\n selectiveYellow = 'selectiveYellow',\n scienceBlueDark = 'scienceBlueDark',\n dodgerBlueDeep = 'dodgerBlueDeep',\n kashmirBlue = 'kashmirBlue',\n turbo = 'turbo',\n denimDim = 'denimDim',\n orangeRoughy = 'orangeRoughy',\n selagoDim = 'selagoDim',\n congressBlueNight = 'congressBlueNight',\n azureRadianceMedium = 'azureRadianceMedium',\n honeyFlowerDim = 'honeyFlowerDim',\n jaguar = 'jaguar',\n kournikova = 'kournikova',\n drover = 'drover',\n flamingo = 'flamingo',\n mineShaftDim = 'mineShaftDim',\n periwinkle = 'periwinkle',\n colonialWhiteDim = 'colonialWhiteDim',\n pattensBlueDeep = 'pattensBlueDeep',\n solitudeDim = 'solitudeDim',\n periwinkleDim = 'periwinkleDim',\n rioGrande = 'rioGrande',\n kournikovaDim = 'kournikovaDim',\n}\n\nexport enum BaseColorNames {\n 'content-onmain-primary' = 'content-onmain-primary',\n 'content-onmain-secondary' = 'content-onmain-secondary',\n 'content-onmain-tertiary' = 'content-onmain-tertiary',\n 'content-oncolor-primary' = 'content-oncolor-primary',\n 'content-oncolor-secondary' = 'content-oncolor-secondary',\n 'content-oncolor-tertiary' = 'content-oncolor-tertiary',\n 'content-oncolor-inverse' = 'content-oncolor-inverse',\n 'content-oncolor-constant' = 'content-oncolor-constant',\n 'content-disabled' = 'content-disabled',\n 'content-oncolor-disabled' = 'content-oncolor-disabled',\n 'content-oncolor-hover' = 'content-oncolor-hover',\n 'content-onmain-hover' = 'content-onmain-hover',\n 'content-discount' = 'content-discount',\n 'content-link' = 'content-link',\n 'border-onmain-default-large' = 'border-onmain-default-large',\n 'border-onmain-default-small' = 'border-onmain-default-small',\n 'border-onmain-contrast' = 'border-onmain-contrast',\n 'border-disabled' = 'border-disabled',\n 'border-oncolor-disabled' = 'border-oncolor-disabled',\n 'border-oncolor-default' = 'border-oncolor-default',\n 'bg-onmain-main' = 'bg-onmain-main',\n 'bg-onmain-primary' = 'bg-onmain-primary',\n 'bg-onmain-secondary' = 'bg-onmain-secondary',\n 'bg-onmain-tertiary' = 'bg-onmain-tertiary',\n 'bg-onmain-divider' = 'bg-onmain-divider',\n 'bg-onmain-contrast' = 'bg-onmain-contrast',\n 'bg-onmain-inverse' = 'bg-onmain-inverse',\n 'bg-oncolor-primary' = 'bg-oncolor-primary',\n 'bg-oncolor-secondary' = 'bg-oncolor-secondary',\n 'bg-oncolor-tertiary' = 'bg-oncolor-tertiary',\n 'bg-oncolor-hover' = 'bg-oncolor-hover',\n 'bg-disabled-large' = 'bg-disabled-large',\n 'bg-disabled-small' = 'bg-disabled-small',\n 'bg-disabled-active' = 'bg-disabled-active',\n 'bg-oncolor-disabled' = 'bg-oncolor-disabled',\n 'bg-contrast-active' = 'bg-contrast-active',\n 'bg-oncontrast-hover' = 'bg-oncontrast-hover',\n 'alert-bg-success-100' = 'alert-bg-success-100',\n 'alert-bg-success-200' = 'alert-bg-success-200',\n 'alert-bg-success-500' = 'alert-bg-success-500',\n 'alert-bg-warning-100' = 'alert-bg-warning-100',\n 'alert-bg-warning-200' = 'alert-bg-warning-200',\n 'alert-bg-warning-500' = 'alert-bg-warning-500',\n 'alert-bg-error-100' = 'alert-bg-error-100',\n 'alert-bg-error-200' = 'alert-bg-error-200',\n 'alert-bg-error-500' = 'alert-bg-error-500',\n 'alert-success' = 'alert-success',\n 'alert-warning' = 'alert-warning',\n 'alert-error' = 'alert-error',\n}\n\nexport enum BrandColorNames {\n 'content-brand-primary' = 'content-brand-primary',\n 'content-brand-secondary' = 'content-brand-secondary',\n 'border-brand-primary' = 'border-brand-primary',\n 'border-brand-secondary' = 'border-brand-secondary',\n 'border-brand-primary-hover' = 'border-brand-primary-hover',\n 'border-brand-primary-active' = 'border-brand-primary-active',\n 'bg-brand-primary-basic' = 'bg-brand-primary-basic',\n 'bg-brand-primary-100' = 'bg-brand-primary-100',\n 'bg-brand-primary-200' = 'bg-brand-primary-200',\n 'bg-brand-primary-400' = 'bg-brand-primary-400',\n 'bg-brand-primary-500' = 'bg-brand-primary-500',\n 'bg-brand-secondary-basic' = 'bg-brand-secondary-basic',\n 'bg-brand-secondary-100' = 'bg-brand-secondary-100',\n 'bg-brand-secondary-200' = 'bg-brand-secondary-200',\n 'bg-brand-secondary-400' = 'bg-brand-secondary-400',\n 'bg-brand-secondary-500' = 'bg-brand-secondary-500',\n 'bg-brand-tertiary-100' = 'bg-brand-tertiary-100',\n 'bg-brand-tertiary-200' = 'bg-brand-tertiary-200',\n 'bg-brand-quaternary-100' = 'bg-brand-quaternary-100',\n 'bg-brand-quaternary-200' = 'bg-brand-quaternary-200',\n 'bg-brand-quaternary-400' = 'bg-brand-quaternary-400',\n 'bg-brand-quaternary-500' = 'bg-brand-quaternary-500',\n 'bg-brand-primary-basic-active' = 'bg-brand-primary-basic-active',\n 'bg-brand-primary-100-active' = 'bg-brand-primary-100-active',\n 'bg-brand-primary-100-hover' = 'bg-brand-primary-100-hover',\n}\n\nexport enum SocialColorNames {\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}\n\nexport const socialColors: Record<SocialColorNames, ColorValue> = 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: Record<DefaultColorNames, ColorValue> = 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 catalinaBlue: '#023178',\n danube: '#759BD7',\n midnightDeep: '#00276E',\n anakiva: '#86caff',\n azureRadiance: '#007cee',\n blueMarguerite: '#6c6ace',\n blueViolet: '#5958b4',\n bossanova: '#4c2864',\n capeCod: '#3f4d4d',\n cerulean: '#00a6de',\n congressBlue: '#004484',\n congressBlueLight: '#00498f',\n creamBrulee: '#ffe89e',\n denim: '#117bdc',\n earlyDawn: '#FFFAEA',\n eminence: '#57296F',\n endeavour: '#0055a4',\n fern: '#6fb66e',\n ghost: '#c9C7d8',\n grape: '#4A1E61',\n gunsmoke: '#818f8f',\n highland: '#619b62',\n honeyFlower: '#4f196a',\n honeyFlower2: '#531C70',\n honeyFlower3: '#5F2280',\n jagger: '#3B0F52',\n jordyBlue: '#82beed',\n jumbo: '#88888c',\n mediumPurple: '#8f48e6',\n midnightBlue: '#032b66',\n moodyBlue: '#7a78d7',\n nandor: '#475757',\n nevada: '#657171',\n olivine: '#a4ca8a',\n parsley: '#12522D',\n pattensBlue: '#d4ebfe',\n pattensBlueLight: '#d8eeff',\n scarletGum: '#3e1354',\n scienceBlue: '#0068c9',\n scienceBlue03: 'rgba(0, 104, 201, 0.3)',\n seance: '#68278a',\n smalt: '#00378a',\n smaltLight: '#003b95',\n tarawera: '#0a3859',\n toryBlue: '#1259a6',\n toryBlueDark: '#144da3',\n dodgerBlueDark: '#2787f5',\n chambray: '#3b589e',\n chambrayDark: '#324b86',\n pomegranateDark: '#FC3F1D',\n azureRadiance2: '#0077ff',\n curiousBlue: '#229ed9',\n jungleGreen: '#2db05a',\n violetDeep: '#8950E6',\n stormGray: '#6E707C',\n zeus: '#2C2620',\n athensGray: '#F5F6F9',\n marinerLight: '#297DCB',\n royalBlue: '#5674DF',\n melrose: '#9CAFFD',\n zircon: '#F2F5FF',\n veniceBlue: '#05528E',\n solitude: '#EBF7FF',\n selago: '#E6EBFC',\n coconutCream: '#EDF8DE',\n cinderella: '#FEE8DE',\n royalBlueDark: '#5157ed',\n persianBlue: '#3a11db',\n ultramarine: '#2705ae',\n cornflowerBlueDark: '#6d73ff',\n jungleGreenDark: '#2faa73',\n mountainMeadow: '#17be73',\n dodgerBlueDim: '#1a96f6',\n zirconDark: '#ebefff',\n pizazz: '#FF8A00',\n madison: '#0A2E64',\n ebony: '#120F21',\n mediumRedViolet: '#CC2E8D',\n fruitSaladLight: '#63AB4F',\n shark: '#25262C',\n azureRadianceLight: '#0f90f4',\n carnation: '#F46868',\n limaGreen: '#72BC21',\n mysin: '#FFAB1F',\n studio: '#563FBA',\n athsSpecial: '#EAE2CA',\n thunderbird: '#cf3d17',\n denimDark: '#0b71bf',\n puertoRico: '#36c0b0',\n lochmara: '#087ad3',\n aliceBlue: '#eff7ff',\n perano: '#b4baef',\n portage: '#8785e6',\n royalBlueDim: '#3C75E5',\n sailDim: '#baddf8',\n solitaire: '#fef6e9',\n capeHoney: '#fee2b3',\n fairPink: '#ffeee6',\n romantic: '#ffd5c2',\n polar: '#dff5f7',\n cruise: '#b9eaee',\n selagoLight: '#f3f4fd',\n moonRaker: '#c4cef4',\n pippin: '#ffe0e0',\n yourPinkDark: '#ffbbbb',\n peppermintLight: '#e6f6e5',\n fringyFlower: '#c8ebc7',\n heliotropeDark: '#9C6DFF',\n pictonBlue: '#48A1E6',\n mediumPurpleRed: '#8C7AE8',\n scooter: '#3BC9DC',\n chambrayDim: '#393C9E',\n dodgerBlueLight: '#1C78FF',\n selectiveYellow: '#ffb800',\n scienceBlueDark: '#005dcf',\n dodgerBlueDeep: '#29A2FF',\n kashmirBlue: '#4C7191',\n turbo: '#ffe603',\n denimDim: '#0C71BF',\n orangeRoughy: '#CF4D17',\n selagoDim: '#EFF7FD',\n congressBlueNight: '#01488A',\n azureRadianceMedium: '#0988eb',\n honeyFlowerDim: '#501A6B',\n jaguar: '#160420',\n kournikova: '#fde57e',\n drover: '#FCEBA4',\n flamingo: '#EF5436',\n mineShaftDim: '#252525',\n periwinkle: '#d3ddff',\n colonialWhiteDim: '#feefbb',\n pattensBlueDeep: '#d7edff',\n solitudeDim: '#e8f5ff',\n periwinkleDim: '#ccdaff',\n rioGrande: '#afdb00',\n kournikovaDim: '#ffde7a',\n})\n\nexport enum UnitColorNames {\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 unitColors: Record<UnitColorNames, ColorValue> = 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\nexport const ColorNames = {\n ...DefaultColorNames,\n ...SocialColorNames,\n ...UnitColorNames,\n ...BaseColorNames,\n ...BrandColorNames,\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","/* eslint-disable no-unused-vars */\nexport enum SizeInput {\n l = 380,\n m = 300,\n s = 220,\n xs = 140,\n}\n","import { useTheme } from 'styled-components'\nimport type { DefaultTheme } from 'styled-components'\nimport { defaultTheme } from '../theme/themes'\n\n/**\n *\n * @deprecated it will be deleted in near future\n */\nexport function useFallbackTheme(): DefaultTheme {\n const contextTheme = useTheme()\n\n const shouldForwardTheme =\n typeof contextTheme === 'object' && contextTheme !== null && Object.keys(contextTheme).length > 0\n\n return shouldForwardTheme ? contextTheme : defaultTheme\n}\n","import { useMemo } from 'react'\n\n/**\n *\n * @deprecated it will be deleted in near future\n */\nexport function useConfigPriority<T extends object>(minor?: Partial<T>, major?: Partial<T>): Partial<T> {\n return useMemo(() => {\n const minorConfig = minor ?? {}\n const majorConfig = major ?? {}\n const uniqueKeys = [...new Set([...Object.keys(minorConfig), ...Object.keys(majorConfig)])]\n\n return uniqueKeys.reduce((prioritized, key) => {\n let finalVal\n\n if (valid(minorConfig[key])) finalVal = minorConfig[key]\n if (valid(majorConfig[key])) finalVal = majorConfig[key]\n\n return valid(finalVal) ? { ...prioritized, [key]: finalVal } : prioritized\n }, {} as Partial<T>)\n }, [minor, major])\n}\n\nfunction valid(value: unknown): boolean {\n return Boolean(value) || typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string'\n}\n","<svg width=\"14\" height=\"16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 1v14M7 1l6 6M7 1 1 7\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","<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 type { ArrowProps } from './types'\n\nexport const DIR_MAP = {\n top: 0,\n right: 90,\n bottom: 180,\n left: 270,\n}\n\nexport function getArrowRotation({ top, right, bottom, left }: ArrowProps): React.CSSProperties {\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 return {\n transform: `rotate(${rotateDeg}deg)${isMultiDir ? ' translateY(-3px)' : ''}`,\n }\n}\n","import { css } from 'styled-components'\nimport type { CSSObject, ThemeProps, DefaultTheme, SimpleInterpolation, Interpolation } from 'styled-components'\nimport { theme } from '../theme'\n\ntype StyledComponentProps = {\n theme?: { breakpoints?: typeof theme.breakpoints }\n}\n\ntype MediaQueryParams = {\n and?: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\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]}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 <T extends object>(...args: [CSSObject | TemplateStringsArray, ...Interpolation<T & ThemeProps<DefaultTheme>>[]]) =>\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<T>`\n @media screen and ${condition(breakpoints, ...points)} ${params !== undefined && typeof params.and === 'string'\n ? `and ${params.and}`\n : ``} {\n ${css<T>(...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\nexport type MediaQuery = ReturnType<typeof createMediaQuery>\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport type { Size } from 'shared/interfaces'\nimport { screenXs, screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMinL, screenMaxXxs } from './screen'\nimport type { MediaQuery } from './screen'\n\nexport const SIZES_LATIN: Readonly<Record<Size, 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<Size, 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\nconst DESKTOP_FIRST_KEYS = ['xl', 'l', 'm', 's', 'xs', 'xxs']\nconst MOBILE_FIRST_KEYS = ['xxs', 'xs', 's', 'm', 'l', 'xl']\n\nexport function getLatinSizeMapByCssProperty<T>(cssProperty: T) {\n if (typeof cssProperty === 'string' && cssProperty === 'font-size') return FONT_SIZES_LATIN\n return SIZES_LATIN\n}\n\nexport function buildMediaQuery(\n value: number | Size | 'auto' | 'initial' | 'inherit' | boolean,\n property:\n | string\n | ((\n _size: number | 'auto' | 'initial' | 'inherit' | boolean,\n _sizing?: null | string\n ) => FlattenSimpleInterpolation | null),\n screenQueryFunction: typeof screenXs,\n sizing: null | string,\n sizes?: Record<Size, number>\n): ReturnType<typeof css> {\n const sizeMap = sizes ?? getLatinSizeMapByCssProperty(property)\n\n const size: number | 'auto' | 'initial' | 'inherit' | boolean =\n typeof value === 'string' ? sizeMap[value] ?? value : 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}: ${size as string}${typeof size === 'string' ? '' : sizing ?? ''};\n `}\n `\n}\n\nconst getKey = (key: string): 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | null => {\n if (key.endsWith('XXS')) return 'xxs'\n if (key.endsWith('XS')) return 'xs'\n if (key.endsWith('S')) return 's'\n if (key.endsWith('M')) return 'm'\n if (key.endsWith('XL')) return 'xl'\n if (key.endsWith('L')) return 'l'\n return null\n}\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 = DESKTOP_FIRST_KEYS.findIndex((el) => el === aKey)\n const bIndex = DESKTOP_FIRST_KEYS.findIndex((el) => el === bKey)\n\n return aIndex < bIndex ? -1 : 1\n}\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\nexport const getMediaQueryByResponsiveProp = (prop: string): MediaQuery => {\n if (prop.endsWith('XXS')) return screenMaxXxs\n if (prop.endsWith('XS')) return screenMaxXs\n if (prop.endsWith('S')) return screenMaxS\n if (prop.endsWith('M')) return screenMaxM\n if (prop.endsWith('XL')) return screenMinL\n return screenMaxL\n}\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport { screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMinL, screenMaxXxs, screenMinM } from 'mixins/screen'\nimport {\n buildMediaQuery,\n getLatinSizeMapByCssProperty,\n desktopFirst,\n getMediaQueryByResponsiveProp,\n} from 'mixins/shared'\nimport type { Size } from 'shared/interfaces'\n\n/**\n * Value for breakpoint\n */\nexport type PossibleValues = number | Size | '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 = (\n _size: number | 'auto' | 'initial' | 'inherit' | boolean,\n _sizing?: null | string\n) => 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 | Size> =\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 (\n value: PossibleValues,\n cssProperty: CssProperty = 'size',\n sizing: null | string = 'px',\n sizes?: Record<Size, number>\n ) =>\n () =>\n () => {\n if (typeof value === 'boolean') {\n return typeof cssProperty === 'function' ? cssProperty(1) : null\n }\n\n const sizeMap = sizes ?? getLatinSizeMapByCssProperty(cssProperty)\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\ninterface ResponsiveNamedPropertyPayload<T extends PropsProperties> {\n sizes: ResponsiveNamedProperty<T>\n cssProperty: CssProperty\n sizing?: null | string\n customSizeHandler?: (_value: PossibleValues) => PossibleValues\n sort?: (_a: string, _b: string) => number\n predefinedSizes?: Record<Size, 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 predefinedSizes,\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] !== undefined) {\n const _size: PossibleValues =\n typeof customSizeHandler === 'function' ? customSizeHandler(sizes[size]) : sizes[size]\n\n return buildMediaQuery(_size, cssProperty, getMediaQueryByResponsiveProp(size), sizing, predefinedSizes)\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 propName имя пропсы\n * @param cssProperty имя css свойства\n * @param sizing значение величины, по умолчанию `px`\n * @returns строки медиазапросов\n */\nexport const responsiveProperty =\n (propName: string, cssProperty: string | null = null, sizing: null | string = 'px') =>\n () =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (props: any) => {\n const prop: ResponsiveProperty | null = props[propName] ?? null\n const _cssProperty = cssProperty ?? propName\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 type { DefaultTheme } from 'styled-components'\nimport { defaultTheme } from '../../theme/themes'\n\n/**\n *\n * @deprecated it will be deleted in near future\n */\nexport function injectDefaultTheme(\n config: { theme: DefaultTheme | void } & Record<string, unknown>\n): { theme: DefaultTheme } & Record<string, unknown> {\n const contextTheme = config.theme\n\n const shouldForwardTheme =\n typeof contextTheme === 'object' && contextTheme !== null && Object.keys(contextTheme).length > 0\n\n const forwardedTheme = shouldForwardTheme ? contextTheme : defaultTheme\n\n return {\n ...config,\n theme: forwardedTheme,\n }\n}\n","import type { ArrowTransientProp } from './types'\n\nexport const TRANSIENT_PROPS: ArrowTransientProp[] = [\n 'preset',\n 'square',\n 'onColored',\n 'size',\n 'top',\n 'theme',\n 'right',\n 'bottom',\n 'left',\n 'inverse',\n 'outline',\n 'borderRadius',\n 'brandPresetUsed',\n]\n","import styled, { css } from 'styled-components'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { TRANSIENT_PROPS } from './constants'\nimport type { StyledArrowProps, ArrowStaticSize, ArrowTransientProp } from './types'\n\nconst SIZES: Record<ArrowStaticSize, number> = { l: 48, m: 44, xs: 40 }\n\nconst DEFAULT_SIZES: Record<ArrowStaticSize, number> = { l: 40, m: 28, xs: 20 }\n\nconst baseStyles = `\n &,\n & > span {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n position: relative;\n flex-shrink: 0;\n padding: 0;\n border: 0;\n line-height: 1;\n cursor: pointer;\n overflow: hidden;\n transition-property: background-color, box-shadow;\n &::before, \n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n`\n\nconst pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst defaultDisabledStyles = `\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 PRESET = {\n filled: {\n default: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: ${disabled ? theme.colors['bg-disabled-large'] : theme.colors['bg-onmain-tertiary']};\n color: ${disabled ? theme.colors['content-disabled'] : theme.colors['content-onmain-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 0;\n background-color: ${theme.colors['bg-oncolor-hover']};\n \n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 1;\n }\n &:active::before {\n opacity: 0;\n }\n &:active::after {\n opacity: 1;\n }\n &:active {\n background-color: ${theme.colors['bg-brand-primary-basic-active']};\n color: ${theme.colors['content-oncolor-primary']};\n }\n `\n }\n `}\n `,\n onColored: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: ${theme.colors['bg-oncolor-primary']};\n color: ${disabled ? theme.colors['content-disabled'] : theme.colors['content-oncolor-constant']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 0;\n background-color: ${theme.colors['bg-oncolor-hover']};\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n }\n `}\n `,\n },\n outline: {\n default: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: transparent; \n color: ${disabled ? theme.colors['border-disabled'] : theme.colors['content-onmain-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 1;\n box-shadow: inset 0 0 0 1px ${\n disabled ? theme.colors['border-disabled'] : theme.colors['border-onmain-contrast']\n };\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 0;\n }\n &:hover {\n background-color: ${theme.colors['bg-onmain-tertiary']};\n }\n &:active::after {\n opacity: 1;\n }\n &:active {\n background-color: ${theme.colors['bg-brand-primary-basic-active']};\n color: ${theme.colors['content-oncolor-primary']};\n }\n `\n }\n `}\n `,\n onColored: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: transparent; \n color: ${disabled ? theme.colors['border-oncolor-disabled'] : theme.colors['content-oncolor-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 1;\n box-shadow: inset 0 0 0 1px ${\n disabled ? theme.colors['border-oncolor-disabled'] : theme.colors['border-oncolor-default']\n };\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 0;\n }\n &:hover {\n background-color: ${theme.colors['bg-oncolor-primary']};\n color: ${theme.colors['content-oncolor-constant']};\n }\n &:active::after {\n opacity: 1;\n }\n `\n }\n `}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n filled: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: ${theme.colors.white};\n box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);\n & svg {\n fill: ${theme.colors.accent};\n }\n &:hover {\n background-color: ${theme.colors.accent};\n box-shadow: none;\n svg {\n fill: ${theme.colors.white};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 rgba(5, 108, 188, 0.5);\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n outline: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: transparent;\n box-shadow: inset 0 0 0 2px ${theme.colors.alto};\n & svg {\n fill: ${theme.colors.alto};\n }\n &:hover {\n background-color: ${theme.colors.accent};\n box-shadow: none;\n svg {\n fill: ${theme.colors.white};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 rgba(5, 108, 188, 0.5);\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n inverse: css<StyledArrowProps>`\n ${({ theme, disabled }) => `\n background-color: transparent;\n box-shadow: inset 0 0 0 2px ${theme.colors.white};\n & svg {\n fill: ${theme.colors.white};\n }\n &:hover {\n background-color: ${theme.colors.white};\n box-shadow: none;\n svg {\n fill: ${theme.colors.accent};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 #eaecf3;\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n}\n\nconst extractSize = (props: ThemedStyledProps<StyledArrowProps, DefaultTheme>, cssProperty: 'height' | 'width') => {\n const config = props.brandPresetUsed ? SIZES : DEFAULT_SIZES\n\n return ['l', 'm', 'xs'].includes(<ArrowStaticSize>props.size)\n ? `${cssProperty}: ${config[<ArrowStaticSize>props.size]}px;`\n : responsiveProperty('size', cssProperty)\n}\n\nconst extractStyles = (props: ThemedStyledProps<StyledArrowProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.outline && props.onColored) return PRESET.outline.onColored\n if (props.outline && !props.onColored) return PRESET.outline.default\n if (!props.outline && props.onColored) return PRESET.filled.onColored\n\n return PRESET.filled.default\n }\n\n if (props.inverse) return PRESET_DEFAULT.inverse\n if (props.outline) return PRESET_DEFAULT.outline\n\n return PRESET_DEFAULT.filled\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return !TRANSIENT_PROPS.includes(<ArrowTransientProp>prop)\n },\n })\n .attrs(injectDefaultTheme)<StyledArrowProps>`\n ${baseStyles}\n ${extractStyles}\n ${(props) => extractSize(props, 'height')}\n ${(props) => extractSize(props, 'width')}\n ${(props) => `border-radius: ${props.borderRadius};`}\n`\n","import { forwardRef } from 'react'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport ArrowSvg from './images/arrow.module.svg'\nimport ChevronSvg from './images/chevron.module.svg'\nimport type { ArrowProps } from './types'\nimport { getArrowRotation } from './utils'\n\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Arrow'\n\n/**\n * Button with arrow icon\n */\nconst Arrow = forwardRef<HTMLButtonElement, ArrowProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n const { size = 'l', onClick, ...configProps } = useConfigPriority<ArrowProps>(theme.components?.Arrow, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof configProps.preset === 'string') brandPresetUsed = configProps.preset === 'brand'\n\n const borderRadius = configProps.square ? '8px' : '50%'\n const Icon = brandPresetUsed ? ArrowSvg : ChevronSvg\n const iconStyles = getArrowRotation(configProps)\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n\n if (!configProps.disabled && typeof onClick === 'function') {\n onClick(event)\n }\n }\n\n return (\n <Styled.Root\n {...configProps}\n ref={ref}\n type='button'\n size={size}\n borderRadius={borderRadius}\n brandPresetUsed={brandPresetUsed}\n onClick={handleClick}\n >\n <span>{<Icon style={iconStyles} />}</span>\n </Styled.Root>\n )\n})\n\nArrow.displayName = COMPONENT_NAME\n\nexport { Arrow, COMPONENT_NAME }\n\nexport type { ArrowProps }\n","import cx from 'clsx'\nimport { useFallbackTheme } from './use-theme'\n\nexport function useClassname(componentName: string, originalClassName?: string) {\n const theme = useFallbackTheme()\n return cx(`${theme.classNamePrefix}-${componentName}`, originalClassName)\n}\n","import type { Sizes, Size } from 'shared/interfaces'\nimport type { ButtonProps } from './types'\n\nexport const FORWARD_PROPS = [\n 'id',\n 'to',\n 'target',\n 'ref',\n 'rel',\n 'href',\n 'type',\n 'disabled',\n 'className',\n 'style',\n 'form',\n 'onClick',\n 'onClickCapture',\n 'onMouseLeave',\n 'onMouseEnter',\n 'children',\n]\n\nexport const SIZES: Sizes = {\n xxxl: {\n fontSize: 24,\n height: 78,\n paddingLeft: 44,\n paddingRight: 44,\n },\n xxl: {\n fontSize: 22,\n height: 72,\n paddingLeft: 40,\n paddingRight: 40,\n },\n xl: {\n fontSize: 20,\n height: 68,\n paddingLeft: 40,\n paddingRight: 40,\n },\n l: {\n fontSize: 18,\n height: 60,\n paddingLeft: 36,\n paddingRight: 36,\n },\n m: {\n fontSize: 16,\n height: 52,\n paddingLeft: 32,\n paddingRight: 32,\n },\n s: {\n fontSize: 14,\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n },\n xs: {\n fontSize: 14,\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n },\n xxs: {\n fontSize: 12,\n height: 32,\n paddingLeft: 18,\n paddingRight: 18,\n },\n xxxs: {\n fontSize: 10,\n height: 28,\n paddingLeft: 12,\n paddingRight: 12,\n },\n}\n\nexport const SIZES_BRAND: Sizes = {\n xxxl: {\n fontSize: 22,\n height: 64,\n paddingLeft: 36,\n paddingRight: 36,\n },\n xxl: {\n fontSize: 20,\n height: 60,\n paddingLeft: 34,\n paddingRight: 34,\n },\n xl: {\n fontSize: 18,\n height: 56,\n paddingLeft: 32,\n paddingRight: 32,\n },\n l: {\n fontSize: 16,\n height: 48,\n paddingLeft: 26,\n paddingRight: 26,\n },\n m: {\n fontSize: 16,\n height: 44,\n paddingLeft: 28,\n paddingRight: 28,\n },\n s: {\n fontSize: 14,\n height: 40,\n paddingLeft: 24,\n paddingRight: 24,\n },\n xs: {\n fontSize: 14,\n height: 32,\n paddingLeft: 16,\n paddingRight: 16,\n },\n xxs: {\n fontSize: 12,\n height: 28,\n paddingLeft: 14,\n paddingRight: 14,\n },\n xxxs: {\n fontSize: 10,\n height: 24,\n paddingLeft: 12,\n paddingRight: 12,\n },\n}\n\nexport const SIZES_ROUND: Sizes = {\n xxxl: {\n fontSize: 32,\n lineHeight: 1,\n padding: '0.28em',\n width: 72,\n height: 72,\n },\n xxl: {\n fontSize: 30,\n lineHeight: 1,\n padding: '0.28em',\n width: 68,\n height: 68,\n },\n xl: {\n fontSize: 26,\n lineHeight: 1,\n padding: '0.28em',\n width: 60,\n height: 60,\n },\n l: {\n fontSize: 23,\n lineHeight: 1,\n padding: '0.28em',\n width: 52,\n height: 52,\n },\n m: {\n fontSize: 21,\n lineHeight: 1,\n padding: '0.28em',\n width: 48,\n height: 48,\n },\n s: {\n fontSize: 18,\n lineHeight: 1,\n padding: '0.28em',\n width: 40,\n height: 40,\n },\n xs: {\n fontSize: 14,\n lineHeight: 1,\n padding: '0.28em',\n width: 32,\n height: 32,\n },\n xxs: {\n fontSize: 12,\n lineHeight: 1,\n padding: '0.28em',\n width: 24,\n height: 24,\n },\n xxxs: {\n fontSize: 8,\n lineHeight: 1,\n padding: '0.28em',\n width: 18,\n height: 18,\n },\n}\n\nexport const SIZES_ROUND_BRAND: Sizes = {\n xxxl: {\n fontSize: 22,\n padding: '1em',\n },\n xxl: {\n fontSize: 20,\n padding: '1em',\n },\n xl: {\n fontSize: 18,\n padding: '1em',\n },\n l: {\n fontSize: 16,\n padding: '1em',\n },\n m: {\n fontSize: 16,\n padding: '1em',\n },\n s: {\n fontSize: 14,\n padding: '1em',\n },\n xs: {\n fontSize: 14,\n padding: '1em',\n },\n xxs: {\n fontSize: 12,\n padding: '1em',\n },\n xxxs: {\n fontSize: 10,\n padding: '1em',\n },\n}\n\n// delete in next major version bump\nexport const PROPS_BY_SIZE: Partial<Record<Size, ButtonProps>> = {\n xl: {\n paddingLeftM: 36,\n paddingRightM: 36,\n paddingLeftS: 32,\n paddingRightS: 32,\n },\n l: {\n fontSizeM: 'm',\n heightM: 56,\n heightS: 52,\n paddingLeftM: 28,\n paddingRightM: 28,\n paddingLeftS: 24,\n paddingRightS: 24,\n },\n m: {\n paddingLeftM: 24,\n paddingRightM: 24,\n paddingLeftS: 20,\n paddingRightS: 20,\n },\n s: {\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n xs: {\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n}\n","import { css, DefaultTheme, FlattenSimpleInterpolation } from 'styled-components'\nimport { HEX, RGB, RGBA } from '../shared/interfaces'\nimport { ColorNames } from '../theme/colors'\n\ntype ColorPropertyVariants = 'color' | 'fontColor' | `${string}Color` | `color${string}`\nexport type ColorValue = RGB | RGBA | HEX | 'inherit' | 'initial' | 'transparent'\ntype ColorCalcProperty = (_color: ColorValue) => FlattenSimpleInterpolation | null\ntype ColorCssProperty = string | ColorCalcProperty\nexport type Color = keyof typeof ColorNames | ColorValue\nexport type ColorProperty<T extends ColorPropertyVariants = 'color'> = {\n /**\n * Color name, HEX, rgb or rgba\n */\n [key in `${T}`]?: Color // eslint-disable-line no-unused-vars\n}\n\nexport const getColor = (color: Color, 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?: Color | string, cssProperty: ColorCssProperty = 'color') =>\n () =>\n (props: { theme: DefaultTheme }) => {\n const colorVal = color || props?.theme?.textColor || props?.theme?.fallbackColor\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","export const commonPropKeyRegExp =\n /^(preset|sizeProperty|sizeUnits|sizes|size|dynamicSizeDeclaration|marginUnits|color|backgroundColor|cursor)$/\n\nexport const colorSchemaPropKeyRegExp = /^(primary|secondary|tertiary|quaternary)$/\n\nexport const responsiveSizePropKeyRegExp = /^size(XXS|XS|S|M|L|XL)$/\n\nexport const marginPropKeyRegExp = /^(margin|marginTop|marginRight|marginBottom|marginLeft)$/\n\nexport const responsiveMarginPropKeyRegExp = /^(margin|marginTop|marginRight|marginBottom|marginLeft)(XXS|XS|S|M|L|XL)$/\n","import { css } from 'styled-components'\nimport type { ThemedStyledProps, DefaultTheme, CSSObject, FlattenInterpolation, ThemeProps } from 'styled-components'\nimport type { CSSProperties } from 'react'\nimport { getMediaQueryByResponsiveProp, desktopFirst } from 'mixins/shared'\nimport type { MediaQuery } from 'mixins/screen'\nimport { screenMinM, screenMaxM, screenMaxS, screenMinL, screenMaxL, screenMaxXs, screenMaxXxs } from 'mixins/screen'\nimport { responsiveSizePropKeyRegExp } from 'shared/regexp'\nimport type {\n ResponsiveSizeProps,\n ResponsiveSizeInterpolationProps,\n SizeValue,\n CSSUnit,\n Sizes,\n} from 'shared/interfaces'\n\nconst DEVICE_MEDIA_QUERIES: [desktop: MediaQuery, tablet: MediaQuery, mobile: MediaQuery] = [\n screenMinM,\n screenMaxM,\n screenMaxS,\n]\n\nconst BREAKPOINTS_MEDIA_QUERIES: [\n xl: MediaQuery,\n l: MediaQuery,\n m: MediaQuery,\n s: MediaQuery,\n xs: MediaQuery,\n xxs: MediaQuery\n] = [screenMinL, screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMaxXxs]\n\nconst buildSizeCSSDeclarations = (\n size: SizeValue,\n sizes: Partial<Sizes>,\n cssProperty: keyof CSSProperties = 'fontSize',\n cssUnit: CSSUnit = 'px',\n dynamicDeclaration?: (size: number, cssProperty: keyof CSSProperties, cssUnit: CSSUnit) => CSSProperties\n): CSSObject => {\n if (typeof size === 'number') {\n const declarations =\n typeof dynamicDeclaration === 'function'\n ? dynamicDeclaration(size, cssProperty, cssUnit)\n : { [cssProperty]: `${size}${cssUnit}` }\n\n return declarations as CSSObject\n }\n return (sizes[size] ?? {}) as CSSObject\n}\n\n/**\n *\n * Mixin enables support for responsive size in styled component\n */\nconst responsiveSize = (\n props: ThemedStyledProps<ResponsiveSizeInterpolationProps<ResponsiveSizeProps>, DefaultTheme>\n): FlattenInterpolation<ThemeProps<DefaultTheme>> => {\n if (Array.isArray(props.size)) {\n const queries: MediaQuery[] =\n props.size.length > DEVICE_MEDIA_QUERIES.length ? BREAKPOINTS_MEDIA_QUERIES : DEVICE_MEDIA_QUERIES\n\n return css`\n ${props.size.map((size, idx) => {\n const mediaQuery: MediaQuery | void = queries[idx]\n\n return typeof mediaQuery === 'function'\n ? mediaQuery()`${buildSizeCSSDeclarations(\n size,\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n )}`\n : null\n })}\n `\n } else {\n return css`\n ${[\n buildSizeCSSDeclarations(\n props.size,\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n ),\n ...Object.keys(props)\n .filter((propKey) => responsiveSizePropKeyRegExp.test(propKey))\n .sort(desktopFirst)\n .map(\n (sizeProp) =>\n getMediaQueryByResponsiveProp(sizeProp)()`${buildSizeCSSDeclarations(\n props[sizeProp],\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n )}`\n ),\n ]}\n `\n }\n}\n\nexport { responsiveSize }\n","<svg viewBox=\"0 0 20 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 7.611 6.923 12.5 18 1.5\" stroke=\"currentcolor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","<svg viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 1.5V4m0 10v2.5M4 9H1.5m15 0H14M3.697 3.697l1.77 1.77m7.068 7.068 1.768 1.768m.001-10.607-1.767 1.767m-7.072 7.072-1.77 1.77\" stroke=\"currentcolor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","import styled, { css, keyframes } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { CalcProperty, property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { color as colorFn, ColorValue } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { responsiveSize } from 'mixins/size'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { FORWARD_PROPS } from './constants'\nimport Check from './images/check.module.svg'\nimport Spinner from './images/spinner.module.svg'\nimport type { StyledButtonProps } from './types'\n\nconst WIDTHS: Record<string, number> = {\n xl: 320,\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n\nconst baseStyles = css<StyledButtonProps>`\n ${(props) => `\n display: ${props.display};\n font-weight: ${props.fontWeight};\n border-radius: ${props.borderRadius};\n line-height: ${props.lineHeight};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n transition-property: color, background-color, box-shadow;\n &::before,\n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ${props.noSpacing ? 'auto' : '1em'};\n }\n `}\n`\n\nconst loading = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst spin = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nconst defaultLoadingStyles = 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: ${loading} 2s linear infinite;\n cursor: progress;\n`\n\nconst getWidth = (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\nconst fluidStyles: CalcProperty = () => css`\n min-width: initial;\n width: 100%;\n`\n\nconst pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst PRESET = {\n filled: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-brand-primary-basic']\n if (props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let backgroundBefore = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundBefore = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n outline: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background: ColorValue = 'transparent'\n if (props.loading && !props.success && !props.black && !props.danger)\n background = props.theme.colors['bg-brand-primary-basic']\n if (props.loading && !props.success && props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.loading && !props.success && props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success || props.loading) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let boxShadow: ColorValue = props.theme.colors['border-brand-primary']\n if (props.black) boxShadow = props.theme.colors['border-onmain-contrast']\n if (props.danger) boxShadow = props.theme.colors['alert-bg-error-500']\n if (props.loading && !props.success) boxShadow = 'transparent'\n if (props.success) boxShadow = props.theme.colors['alert-bg-success-500']\n if (props.disabled) boxShadow = props.theme.colors['bg-disabled-large']\n\n let backgroundBefore = props.theme.colors['bg-brand-primary-basic']\n if (props.black) backgroundBefore = props.theme.colors['bg-onmain-contrast']\n if (props.danger) backgroundBefore = props.theme.colors['alert-bg-error-500']\n\n let backgroundAfter = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundAfter = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 1px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n background-color: ${backgroundAfter};\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-primary']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background: ColorValue = 'transparent'\n if (props.success || props.loading) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.loading && !props.success) color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n let boxShadow: ColorValue = props.theme.colors['border-oncolor-default']\n if (props.disabled) boxShadow = 'transparent'\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 1px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-constant']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n base: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-onmain-tertiary']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-secondary']\n if (props.success) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n clear: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: css<StyledButtonProps>`\n ${(props) => {\n if (props.disabled || props.loading) return ''\n\n return `\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ${props.fontColor};\n background-color: ${tiny(props.theme.colors[props.color]).saturate(-5).lighten(-8).toString()};\n }\n ${\n props.inverted || props.basic || props.outline\n ? `\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 : ''\n }\n `\n }}\n\n ${(props) => (props.loading ? defaultLoadingStyles : '')}\n\n ${(props) => {\n let cssProperty = 'background-color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'color'\n\n return colorFn(props.color, cssProperty)\n }}\n\n ${(props) => {\n let cssProperty = 'color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'background-color'\n\n return colorFn(props.fontColor, cssProperty)\n }}\n\n ${(props) => {\n if (!props.disabled) return ''\n\n return `\n cursor: not-allowed;\n background-color: ${props.theme.colors.mercury};\n color: ${props.theme.colors.silver};\n `\n }}\n\n ${(props) => (props.basic || props.outline ? 'background-color: transparent;' : '')}\n `,\n}\n\nconst dynamicStyles = (props: ThemedStyledProps<StyledButtonProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.clear && !props.base && !props.outline && !props.onColored) return PRESET.clear.default\n if (props.clear && !props.base && !props.outline && props.onColored) return PRESET.clear.onColored\n\n if (props.base && !props.clear && !props.outline && !props.onColored) return PRESET.base.default\n if (props.base && !props.clear && !props.outline && props.onColored) return PRESET.base.onColored\n\n if (props.outline && !props.clear && !props.base && !props.onColored) return PRESET.outline.default\n if (props.outline && !props.clear && !props.base && props.onColored) return PRESET.outline.onColored\n\n return props.onColored ? PRESET.filled.onColored : PRESET.filled.default\n }\n\n return PRESET_DEFAULT.default\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return FORWARD_PROPS.includes(prop) || prop.includes('data')\n },\n })\n .attrs<StyledButtonProps>(injectDefaultTheme)`\n ${baseStyles}\n ${dynamicStyles}\n ${responsiveSize}\n\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\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\n ${(props) => (props.fontSize ? property(props.fontSize, 'font-size') : null)}\n\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n\n ${(props) => {\n const cssProperty = props.fluid && props.width !== 'auto' ? 'max-width' : 'width'\n return props.width ? property(getWidth(props.width), cssProperty) : null\n }}\n\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL },\n cssProperty: 'padding',\n })\n }}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })\n }}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })\n }}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })\n }}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })\n }}\n\n ${({ marginXS, marginS, marginM, marginL, marginXL }) => {\n return responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })\n }}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) => {\n return responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })\n }}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) => {\n return responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })\n }}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })\n }}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })\n }}\n\n ${({ fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL }) => {\n return responsiveNamedProperty({\n sizes: { fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL },\n cssProperty: 'font-size',\n })\n }}\n\n ${({ heightXS, heightS, heightM, heightL, heightXL }) => {\n return responsiveNamedProperty({\n sizes: { heightXS, heightS, heightM, heightL, heightXL },\n cssProperty: 'height',\n })\n }}\n\n ${({ widthXS, widthS, widthM, widthL, widthXL, fluid, width }) => {\n return responsiveNamedProperty({\n sizes: { widthXS, widthS, widthM, widthL, widthXL },\n cssProperty: fluid && width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: getWidth,\n })\n }}\n\n ${(props) => (props.fluid ? property(props.fluid, fluidStyles) : null)}\n ${({ fluidXS, fluidS, fluidM, fluidL, fluidXL }) => {\n return responsiveNamedProperty({\n sizes: { fluidXS, fluidS, fluidM, fluidL, fluidXL },\n cssProperty: fluidStyles,\n })\n }}\n`\n\nexport const IconSlot = styled.span<{\n children: React.ReactNode\n marginLeft?: boolean\n marginRight?: boolean\n}>`\n ${(props) => `\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ${props.marginLeft ? '0.4em' : 0};\n margin-right: ${props.marginRight ? '0.4em' : 0};\n `}\n`\n\nexport const Content = styled.span`\n position: relative;\n z-index: 1;\n`\n\nexport const SpinnerIcon = styled(Spinner)`\n width: 100%;\n animation: ${spin} 2000ms linear infinite;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n\nexport const CheckIcon = styled(Check)`\n width: 100%;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n","import { forwardRef } from 'react'\nimport { Link } from 'react-router-dom'\nimport { mergeDeepLeft } from 'ramda'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport type { Sizes } from 'shared/interfaces'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_BRAND, SIZES_ROUND, SIZES_ROUND_BRAND, PROPS_BY_SIZE } from './constants'\nimport type { ButtonProps, StyledButtonProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n * Main button\n */\nconst Button = forwardRef<HTMLElement, ButtonProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n let {\n display = 'inline-flex',\n size = 'm',\n sizes,\n fontColor = 'white',\n color = 'accent',\n disabled = false,\n rounded = true,\n width = 'auto',\n as: _as = 'button',\n type: _type,\n className: _className,\n children,\n content,\n onClick,\n onClickCapture,\n onMouseEnter,\n onMouseLeave,\n ...configProps\n } = useConfigPriority<ButtonProps>(theme.components?.Button, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof configProps.preset === 'string') brandPresetUsed = configProps.preset === 'brand'\n\n if (!brandPresetUsed && typeof size === 'string' && !configProps.round) {\n const propsBySize = PROPS_BY_SIZE[size] ?? {}\n configProps = { ...propsBySize, ...configProps }\n }\n\n let componentSizes = brandPresetUsed ? SIZES_BRAND : SIZES\n if (configProps.round) componentSizes = brandPresetUsed ? SIZES_ROUND_BRAND : SIZES_ROUND\n if (sizes) componentSizes = mergeDeepLeft(sizes, componentSizes) as Sizes\n\n const className = useClassname(COMPONENT_NAME, _className)\n const classNameContent = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, configProps)\n const linkProps = useComputedLinkProps(_as, disabled, configProps)\n\n if (configProps.href) _as = 'a'\n if (configProps.to) _as = Link\n\n if (configProps.primary) color = 'primary'\n if (configProps.secondary) color = 'atlantis'\n\n let fontWeight: ButtonProps['fontWeight'] = brandPresetUsed ? 800 : 600\n if (configProps.fontWeight) fontWeight = configProps.fontWeight\n\n const fontBold = (typeof fontWeight === 'number' && fontWeight >= 800) || fontWeight === 'bold'\n\n let borderRadius = '0px'\n if (rounded) borderRadius = brandPresetUsed ? '48px' : '5px'\n if (configProps.round) borderRadius = '50%'\n\n let [leftIcon, rightIcon] = Array.isArray(configProps.icon) ? configProps.icon : [configProps.icon]\n\n if (brandPresetUsed && configProps.loading && !configProps.success && !disabled) {\n leftIcon = <Styled.SpinnerIcon strokeWidth={fontBold ? 2.5 : 1.5} />\n rightIcon = null\n }\n if (configProps.success) {\n leftIcon = <Styled.CheckIcon strokeWidth={fontBold ? 3 : 1.5} />\n rightIcon = null\n }\n\n const handleDynamicSizeDeclaration: StyledButtonProps['dynamicSizeDeclaration'] = (size, cssProperty, cssUnit) => {\n return {\n [cssProperty]: `${size}${cssUnit}`,\n padding: configProps.round ? '1em' : '1em 1.6em',\n }\n }\n\n const handleClick: ButtonProps['onClick'] = (evt) => {\n if (!disabled && !configProps.loading) onClick?.(evt)\n }\n const handleClickCapture: ButtonProps['onClickCapture'] = (evt) => {\n if (!disabled && !configProps.loading) onClickCapture?.(evt)\n }\n const handleMouseEnter: ButtonProps['onMouseEnter'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseEnter?.(evt)\n }\n const handleMouseLeave: ButtonProps['onMouseLeave'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseLeave?.(evt)\n }\n\n return (\n <Styled.Root\n {...configProps}\n {...linkProps}\n className={className}\n as={_as}\n color={color}\n fontColor={fontColor}\n disabled={disabled}\n rel={rel}\n display={display}\n rounded={rounded}\n size={size}\n sizes={componentSizes}\n dynamicSizeDeclaration={handleDynamicSizeDeclaration}\n fontWeight={fontWeight}\n borderRadius={borderRadius}\n brandPresetUsed={brandPresetUsed}\n ref={ref ?? configProps.innerRef}\n type={_as === 'button' ? _type : undefined}\n lineHeight={brandPresetUsed ? 1.2 : 1}\n width={configProps.round ? undefined : width}\n onClick={handleClick}\n onClickCapture={handleClickCapture}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {leftIcon && (\n <Styled.IconSlot className='icon' marginRight={!configProps.round}>\n {leftIcon}\n </Styled.IconSlot>\n )}\n {(content || children) && (\n <Styled.Content className={`${classNameContent}__content`}>{content || children}</Styled.Content>\n )}\n {rightIcon && !configProps.round && (\n <Styled.IconSlot className='icon' marginLeft>\n {rightIcon}\n </Styled.IconSlot>\n )}\n </Styled.Root>\n )\n})\n\nButton.displayName = COMPONENT_NAME\n\nexport { Button, COMPONENT_NAME }\n\nexport type { ButtonProps }\n","import { DefaultTheme } from 'styled-components'\nimport type { ButtonProps } from './types'\n\nexport function useComputedRel(theme: DefaultTheme, config: ButtonProps) {\n const relBuilder = theme.utils?.relBuilder\n\n let rel\n\n if (config.href) {\n rel = config.rel\n\n if (!rel && relBuilder && config.autoRel && (config.href || config.to)) {\n rel = relBuilder(config.href ?? config.to, config.target)\n }\n }\n\n return rel\n}\n\nexport function useComputedLinkProps(_as: ButtonProps['as'], disabled: boolean, config: ButtonProps) {\n let props = {}\n\n if (_as === undefined || disabled) return props\n\n if (_as === 'a') {\n props = { href: config.href || config.to, target: config.target }\n } else if (typeof _as !== 'string') {\n props = { to: config.to || config.href }\n }\n\n return props\n}\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\".455\" y=\".455\" width=\"19.091\" height=\"19.091\" rx=\"5\" fill=\"#fff\" stroke=\"#B8B8B8\"/><g fill=\"none\"><rect fill=\"#1A96F6\" width=\"20\" height=\"20\" rx=\"5\"/><path stroke=\"#fff\" stroke-width=\"2\" d=\"M6 9.99 9 13l6-6\"/></g></svg>","<svg viewBox=\"0 0 12 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.5 1.5 4.312 8 1.5 5.045\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { screenMaxS } from 'mixins/screen'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport DefaultCheck from './images/check-default.module.svg'\nimport Check from './images/check.module.svg'\nimport type { StyledCheckboxProps, CheckboxStaticSize, CheckboxGroupProps, CheckboxPalette } from './types'\n\nconst DEFAULT_SIZES: Record<CheckboxStaticSize, number> = {\n extraSmall: 12,\n xs: 12,\n small: 14,\n s: 14,\n medium: 16,\n m: 16,\n large: 18,\n l: 18,\n extraLarge: 20,\n xl: 20,\n}\n\nconst BRAND_SIZES: Record<CheckboxStaticSize, number> = {\n extraSmall: 16,\n xs: 16,\n small: 20,\n s: 20,\n medium: 24,\n m: 24,\n large: 28,\n l: 28,\n extraLarge: 32,\n xl: 32,\n}\n\nconst STATIC_SIZES: CheckboxStaticSize[] = [\n 'extraSmall',\n 'xs',\n 'small',\n 's',\n 'medium',\n 'm',\n 'large',\n 'l',\n 'extraLarge',\n 'xl',\n]\n\nconst baseStyles = css<StyledCheckboxProps>`\n ${(props) => `\n &,\n & * {\n box-sizing: border-box;\n }\n position: relative;\n cursor: pointer;\n padding: ${props.background ? 12 : 0}px;\n display: ${props.inline ? 'inline-flex' : 'flex'};\n align-items: baseline;\n isolation: isolate;\n & + & {\n margin-left: 15px;\n }\n `}\n`\n\nexport const Input = styled.input`\n position: absolute;\n opacity: 0;\n z-index: -1;\n &:focus {\n outline: none;\n }\n`\n\nexport const Background = styled.span`\n border-radius: 8px;\n border: 1px solid;\n border-color: transparent;\n overflow: hidden;\n &::before {\n content: '';\n opacity: 0;\n }\n &,\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transition-property: border-color, background-color, opacity;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n`\n\nexport const DefaultMask = styled(DefaultCheck)`\n position: relative;\n top: 2px;\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n g {\n opacity: 0;\n transition: opacity 200ms ease;\n }\n`\n\nexport const BrandMask = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n border-radius: 4px;\n border: 1px solid;\n border-color: transparent;\n transition-property: border-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n`\n\nexport const CheckIcon = styled(Check)`\n width: 50%;\n opacity: 0;\n`\n\nexport const Content = styled.span`\n position: relative;\n margin-left: 10px;\n`\n\nconst template = (palette: CheckboxPalette) => `\n & > ${Content} {\n color: ${palette.fontColor};\n }\n & > ${BrandMask} {\n background-color: ${palette.bg};\n color: ${palette.color};\n border-color: ${palette.border};\n }\n & > ${Input}:checked ~ ${BrandMask} {\n border-color: transparent;\n background-color: ${palette.bgChecked};\n }\n & > ${Input}:checked ~ ${BrandMask} > ${CheckIcon} {\n opacity: 1;\n }\n & > ${Input}:disabled ~ ${Content} {\n color: ${palette.colorDisabled};\n }\n &:hover > ${BrandMask} {\n border-color: ${palette.borderHover};\n }\n &:focus {\n outline: none;\n }\n & > ${Input}:focus-visible ~ ${BrandMask} {\n outline: 1px solid ${palette.outlineFocus};\n outline-offset: 2px;\n }\n`\n\nconst templateBackground = (palette: CheckboxPalette) => `\n & > ${Background} {\n background-color: ${palette.bg};\n border-color: ${palette.border};\n }\n & > ${Input}:checked ~ ${Background} {\n background-color: ${palette.bgChecked};\n border-color: ${palette.borderChecked};\n }\n &:hover > ${Background} {\n background-color: ${palette.bgHover};\n border-color: ${palette.borderHover};\n }\n &:hover > ${Background}::before {\n background-color: ${palette.beforeBgHover};\n opacity: 1;\n }\n`\n\nconst PRESET = {\n default: {\n regular: css<StyledCheckboxProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-basic'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['border-brand-primary'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-100'],\n borderChecked: props.theme.colors['border-brand-primary'],\n bgHover: props.theme.colors['bg-oncolor-hover'],\n borderHover: props.theme.colors['border-onmain-default-large'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n error: css<StyledCheckboxProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-error-100'],\n border: props.theme.colors['alert-error'],\n bgChecked: props.theme.colors['alert-bg-error-100'],\n borderChecked: props.theme.colors['alert-error'],\n bgHover: props.theme.colors['alert-bg-error-100'],\n borderHover: props.theme.colors['alert-error'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n success: css<StyledCheckboxProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-success-100'],\n border: props.theme.colors['alert-success'],\n bgChecked: props.theme.colors['alert-bg-success-100'],\n borderChecked: props.theme.colors['alert-success'],\n bgHover: props.theme.colors['alert-bg-success-100'],\n borderHover: props.theme.colors['alert-success'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n disabled: css<StyledCheckboxProps>`\n cursor: auto;\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-disabled-large'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-large'],\n borderChecked: props.theme.colors['bg-disabled-active'],\n bgHover: props.theme.colors['bg-disabled-large'],\n borderHover: props.theme.colors['border-disabled'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n },\n onColored: {\n regular: css<StyledCheckboxProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-basic'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['border-brand-primary'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-brand-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-oncolor-primary'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['content-oncolor-primary'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-onmain-default-large'],\n bgChecked: props.theme.colors['bg-onmain-primary'],\n borderChecked: props.theme.colors['border-onmain-default-large'],\n bgHover: props.theme.colors['bg-onmain-secondary'],\n borderHover: props.theme.colors['border-onmain-default-large'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n error: css<StyledCheckboxProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-error-100'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-100'],\n borderChecked: props.theme.colors['alert-error'],\n bgHover: props.theme.colors['alert-bg-error-100'],\n borderHover: props.theme.colors['alert-error'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n success: css<StyledCheckboxProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-success-100'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-100'],\n borderChecked: props.theme.colors['alert-success'],\n bgHover: props.theme.colors['alert-bg-success-100'],\n borderHover: props.theme.colors['alert-success'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n disabled: css<StyledCheckboxProps>`\n cursor: auto;\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-oncolor-disabled'],\n bgChecked: props.theme.colors['bg-onmain-secondary'],\n borderChecked: props.theme.colors['border-oncolor-disabled'],\n bgHover: props.theme.colors['bg-onmain-secondary'],\n borderHover: props.theme.colors['border-oncolor-disabled'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: css<StyledCheckboxProps>`\n ${(props) =>\n props.error\n ? `\n & > ${DefaultMask} > rect { \n fill: ${tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n stroke: ${props.theme.colors.pomegranate};\n } \n & > ${DefaultMask} g > rect {\n fill: ${props.theme.colors.pomegranate};\n }\n `\n : null}\n\n ${(props) => `\n color: ${props.disabled ? props.theme.colors.alto : props.theme.colors.mineShaft};\n cursor: ${props.disabled ? 'not-allowed' : 'pointer'};\n\n & > ${Input}:checked ~ ${DefaultMask} g {\n opacity: 1;\n }\n & > ${Input}:disabled ~ ${DefaultMask} > rect {\n fill: ${props.theme.colors.white};\n stroke: ${props.theme.colors.grey};\n }\n & > ${Input}:checked:disabled ~ ${DefaultMask} g > rect {\n fill: ${props.theme.colors.alto};\n }\n &:focus {\n outline: none;\n }\n & > ${Input}:focus-visible ~ ${DefaultMask} {\n outline: 1px solid ${props.theme.colors.accent};\n outline-offset: 2px;\n }\n `}\n `,\n}\n\nconst extractStyles = (props: StyledCheckboxProps) => {\n if (props.brandPresetUsed) {\n if (props.disabled && !props.onColored) return PRESET.default.disabled\n if (props.disabled && props.onColored) return PRESET.onColored.disabled\n\n if (props.error && !props.success && !props.onColored) return PRESET.default.error\n if (props.error && !props.success && props.onColored) return PRESET.onColored.error\n\n if (props.success && !props.error && !props.onColored) return PRESET.default.success\n if (props.success && !props.error && props.onColored) return PRESET.onColored.success\n\n return props.onColored ? PRESET.onColored.regular : PRESET.default.regular\n }\n\n return PRESET_DEFAULT.default\n}\n\nconst extractSizes = (props: StyledCheckboxProps) => {\n const SIZES = props.brandPresetUsed ? BRAND_SIZES : DEFAULT_SIZES\n\n return STATIC_SIZES.includes(<CheckboxStaticSize>props.size)\n ? `font-size: ${SIZES[<CheckboxStaticSize>props.size]}px;`\n : responsiveProperty('size', 'font-size')\n}\n\nexport const Root = styled.label\n .withConfig({\n shouldForwardProp: (prop) => ['children', 'htmlFor', 'style'].includes(prop),\n })\n .attrs(injectDefaultTheme)<StyledCheckboxProps>`\n ${baseStyles}\n ${extractStyles}\n ${extractSizes}\n\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) => (props.fluid ? 'width: 100%;' : null)}\n`\n\nexport const Group = styled.div.withConfig<CheckboxGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n ${(props) =>\n props.inline\n ? css`\n display: flex;\n flex-direction: row;\n > ${Root}:first-child {\n margin-left: 0;\n }\n > ${Root}:not(:first-child) {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > ${Root}:first-child {\n margin-top: 0;\n }\n > ${Root}:not(:first-child) {\n margin-top: 15px;\n margin-left: 0;\n }\n `}\n `\n : `\n display: flex;\n flex-direction: column;\n > ${Root}:first-child {\n margin-top: 0;\n margin-left: 0;\n }\n > ${Root}:not(:first-child) {\n margin-top: 15px;\n margin-left: 0;\n }\n `}\n`\n","import { forwardRef } from 'react'\nimport cx from 'clsx'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { CheckboxGroup } from './Group'\nimport type { CheckboxComponent, CheckboxProps } from './types'\n\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Checkbox'\n\nconst Checkbox = forwardRef<HTMLLabelElement, CheckboxProps>((props, ref) => {\n const theme = useFallbackTheme()\n const baseClassName = useClassname(COMPONENT_NAME)\n\n const {\n preset,\n style,\n id,\n name,\n value,\n disabled,\n error,\n success,\n fluid,\n children,\n label,\n checked,\n defaultChecked,\n background,\n onColored,\n size = 'm',\n inline = true,\n width = theme.defaultInputControlsWidth,\n className: _className,\n onChange = () => undefined,\n ...configProps\n } = useConfigPriority<CheckboxProps>(theme.components?.Checkbox, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof preset === 'string') brandPresetUsed = preset === 'brand'\n\n const className = cx(baseClassName, _className, checked && `${baseClassName}--checked`)\n const labelClassName = `${baseClassName}__label`\n const inputProps = checked === undefined ? { defaultChecked } : { checked }\n\n return (\n <Styled.Root\n ref={ref}\n className={className}\n style={style}\n fluid={fluid}\n disabled={disabled}\n htmlFor={id || name}\n size={size}\n inline={inline}\n width={width}\n error={error}\n success={success}\n background={background}\n onColored={onColored}\n brandPresetUsed={brandPresetUsed}\n >\n <Styled.Input\n {...configProps}\n {...inputProps}\n id={id || name}\n name={name}\n type='checkbox'\n value={value}\n disabled={disabled}\n onChange={onChange}\n />\n {brandPresetUsed ? (\n <>\n {background && <Styled.Background />}\n <Styled.BrandMask>\n <Styled.CheckIcon />\n </Styled.BrandMask>\n </>\n ) : (\n <Styled.DefaultMask />\n )}\n {(label || children) && <Styled.Content className={labelClassName}>{label || children}</Styled.Content>}\n </Styled.Root>\n )\n}) as CheckboxComponent\n\nCheckbox.Group = CheckboxGroup\n\nCheckbox.displayName = COMPONENT_NAME\n\nexport { Checkbox, COMPONENT_NAME }\n\nexport type { CheckboxProps }\n","import * as Styled from './style'\nimport type { CheckboxGroupProps } from './types'\n\nconst CheckboxGroup = ({ children, ...props }: CheckboxGroupProps) => {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n\nexport { CheckboxGroup }\n","import { ColorValue } from 'mixins/color'\nimport { BaseColorNames, BrandColorNames } from './colors'\n\nexport const baseColors: Readonly<Record<BaseColorNames, ColorValue>> = {\n 'content-onmain-primary': '#f5f6f9',\n 'content-onmain-secondary': '#9698a6',\n 'content-onmain-tertiary': '#848694',\n 'content-oncolor-primary': '#ffffff',\n 'content-oncolor-secondary': '#f5f6f9cc',\n 'content-oncolor-tertiary': '#f5f6f999',\n 'content-oncolor-constant': '#25262c',\n 'content-oncolor-inverse': '#f5f6f9',\n 'content-disabled': '#6e707c',\n 'content-oncolor-disabled': '#f5f6f999',\n 'content-oncolor-hover': '#00000029',\n 'content-onmain-hover': '#ffffff29',\n 'content-discount': '#f16c65',\n 'content-link': '#8aafff',\n 'border-onmain-default-large': '#25262c',\n 'border-onmain-default-small': '#44454b',\n 'border-onmain-contrast': '#f5f6f9',\n 'border-oncolor-default': '#ffffff',\n 'border-disabled': '#494a50',\n 'border-oncolor-disabled': '#ffffff66',\n 'bg-onmain-main': '#000000',\n 'bg-onmain-primary': '#121316',\n 'bg-onmain-secondary': '#1a1b1f',\n 'bg-onmain-tertiary': '#25262c',\n 'bg-onmain-divider': '#25262c',\n 'bg-onmain-contrast': '#44454b',\n 'bg-onmain-inverse': '#ffffff',\n 'bg-oncolor-primary': '#ffffff',\n 'bg-oncolor-secondary': '#ffffff3d',\n 'bg-oncolor-tertiary': '#ffffff1f',\n 'bg-disabled-large': '#1a1b1f',\n 'bg-disabled-small': '#25262c',\n 'bg-disabled-active': '#494a50',\n 'bg-contrast-active': '#f5f6f9',\n 'bg-oncolor-hover': '#00000014',\n 'bg-oncontrast-hover': '#ffffff14',\n 'bg-oncolor-disabled': '#ffffff1f',\n 'alert-bg-success-100': '#071d02',\n 'alert-bg-success-200': '#0a2603',\n 'alert-bg-success-500': '#63ab4f',\n 'alert-bg-warning-100': '#241500',\n 'alert-bg-warning-200': '#2e1c00',\n 'alert-bg-warning-500': '#f16f04',\n 'alert-bg-error-100': '#2e0100',\n 'alert-bg-error-200': '#3d0004',\n 'alert-bg-error-500': '#e4494e',\n 'alert-success': '#63ab4f',\n 'alert-warning': '#f16f04',\n 'alert-error': '#fd655d',\n}\n\nexport const motherColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#c09eff',\n 'content-brand-secondary': '#ff8800',\n 'border-brand-primary': '#c09eff',\n 'border-brand-secondary': '#ff8800',\n 'border-brand-primary-hover': '#c09eff80',\n 'border-brand-primary-active': '#c09eff',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#1b0042',\n 'bg-brand-primary-200': '#240057',\n 'bg-brand-primary-400': '#2e0066',\n 'bg-brand-primary-500': '#37007a',\n 'bg-brand-secondary-basic': '#ff9900',\n 'bg-brand-secondary-100': '#241500',\n 'bg-brand-secondary-200': '#2e1c00',\n 'bg-brand-secondary-400': '#382300',\n 'bg-brand-secondary-500': '#422900',\n 'bg-brand-tertiary-100': '#202018',\n 'bg-brand-tertiary-200': '#26261c',\n 'bg-brand-quaternary-100': '#00222e',\n 'bg-brand-quaternary-200': '#002733',\n 'bg-brand-quaternary-400': '#054457',\n 'bg-brand-quaternary-500': '#05495c',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#1b0042',\n 'bg-brand-primary-100-hover': '#1b004280',\n}\n\nexport const babyColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#e594c5',\n 'content-brand-secondary': '#ffd333',\n 'border-brand-primary': '#e594c5',\n 'border-brand-secondary': '#ffd333',\n 'border-brand-primary-hover': '#e594c580',\n 'border-brand-primary-active': '#e594c5',\n 'bg-brand-primary-basic': '#cc2e8d',\n 'bg-brand-primary-100': '#47002d',\n 'bg-brand-primary-200': '#570f3a',\n 'bg-brand-primary-400': '#611a43',\n 'bg-brand-primary-500': '#6b244c',\n 'bg-brand-secondary-basic': '#ffd333',\n 'bg-brand-secondary-100': '#27282a',\n 'bg-brand-secondary-200': '#313235',\n 'bg-brand-secondary-400': '#393a3c',\n 'bg-brand-secondary-500': '#3e4041',\n 'bg-brand-tertiary-100': '#1d1f58',\n 'bg-brand-tertiary-200': '#282c67',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#cc2e8d',\n 'bg-brand-primary-100-active': '#47002d',\n 'bg-brand-primary-100-hover': '#47002d80',\n}\n\nexport const teenColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#c09eff',\n 'content-brand-secondary': '#d1f00a',\n 'border-brand-primary': '#c09eff',\n 'border-brand-secondary': '#d1f00a',\n 'border-brand-primary-hover': '#c09eff80',\n 'border-brand-primary-active': '#c09eff',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#1b0042',\n 'bg-brand-primary-200': '#240057',\n 'bg-brand-primary-400': '#2e0066',\n 'bg-brand-primary-500': '#37007a',\n 'bg-brand-secondary-basic': '#d1f00a',\n 'bg-brand-secondary-100': '#003309',\n 'bg-brand-secondary-200': '#093910',\n 'bg-brand-secondary-400': '#144318',\n 'bg-brand-secondary-500': '#1c4a20',\n 'bg-brand-tertiary-100': '#00224d',\n 'bg-brand-tertiary-200': '#0c315f',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#1b0042',\n 'bg-brand-primary-100-hover': '#1b004280',\n}\n\nexport const adultColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#8fa9ff',\n 'content-brand-secondary': '#c1b8ff',\n 'border-brand-primary': '#8fa9ff',\n 'border-brand-secondary': '#c1b8ff',\n 'border-brand-primary-hover': '#8fa9ff80',\n 'border-brand-primary-active': '#8fa9ff',\n 'bg-brand-primary-basic': '#3d4eeb',\n 'bg-brand-primary-100': '#120075',\n 'bg-brand-primary-200': '#181b86',\n 'bg-brand-primary-400': '#1e2699',\n 'bg-brand-primary-500': '#2b36b6',\n 'bg-brand-secondary-basic': '#6e62bc',\n 'bg-brand-secondary-100': '#2c1461',\n 'bg-brand-secondary-200': '#351e71',\n 'bg-brand-secondary-400': '#402583',\n 'bg-brand-secondary-500': '#1b0047',\n 'bg-brand-tertiary-100': '#232900',\n 'bg-brand-tertiary-200': '#373e14',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#3d4eeb',\n 'bg-brand-primary-100-active': '#120075',\n 'bg-brand-primary-100-hover': '#12007580',\n}\n","import type { DefaultTheme } from 'styled-components'\nimport { hexToRgbA } from 'shared/utils/colors'\nimport { relBuilder } from 'shared/utils/rel-builder'\nimport { SizeInput } from 'shared/enums/sizeInput'\nimport { COMPONENT_NAME as ARROW } from 'components/Arrow'\nimport { COMPONENT_NAME as BUTTON } from 'components/Button'\nimport { COMPONENT_NAME as CHECKBOX } from 'components/Checkbox'\nimport { colors, socialColors, unitColors } from './colors'\nimport * as ColorsLight from './colors-light'\nimport * as ColorsDark from './colors-dark'\nimport { breakpoints } from './breakpoints'\n\nexport const defaultTheme: DefaultTheme = {\n breakpoints,\n colors: {\n ...colors,\n ...socialColors,\n ...unitColors,\n ...ColorsLight.baseColors,\n ...ColorsLight.motherColors,\n },\n borderRadius: '5px',\n textColor: 'mineShaft',\n fallbackColor: 'mineShaft',\n zIndex: {\n modal: 9000,\n tooltip: 80,\n },\n classNamePrefix: 'fox',\n defaultInputControlsWidth: SizeInput.l,\n utils: {\n relBuilder,\n hexToRgbA,\n },\n mode: 'light',\n preset: 'default',\n name: 'mother',\n components: {\n [ARROW]: {\n size: 'l',\n },\n [BUTTON]: {\n size: 'm',\n },\n [CHECKBOX]: {\n size: 'm',\n },\n },\n}\n\nexport const motherLightTheme: DefaultTheme = {\n ...defaultTheme,\n preset: 'brand',\n}\n\nexport const motherDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.motherColors,\n },\n mode: 'dark',\n preset: 'brand',\n}\n\nexport const babyLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.babyColors,\n },\n preset: 'brand',\n name: 'baby',\n}\n\nexport const babyDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.babyColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'baby',\n}\n\nexport const teenLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.teenColors,\n },\n preset: 'brand',\n name: 'teen',\n}\n\nexport const teenDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.teenColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'teen',\n}\n\nexport const adultLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.adultColors,\n },\n preset: 'brand',\n name: 'adult',\n}\n\nexport const adultDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.adultColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'adult',\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 { ColorValue } from 'mixins/color'\nimport { BaseColorNames, BrandColorNames } from './colors'\n\nexport const baseColors: Readonly<Record<BaseColorNames, ColorValue>> = {\n 'content-onmain-primary': '#25262c',\n 'content-onmain-secondary': '#25262cb3',\n 'content-onmain-tertiary': '#25262c8c',\n 'content-oncolor-primary': '#ffffff',\n 'content-oncolor-secondary': '#ecedf3cc',\n 'content-oncolor-tertiary': '#ecedf399',\n 'content-oncolor-inverse': '#25262c',\n 'content-oncolor-constant': '#25262c',\n 'content-disabled': '#9698a6',\n 'content-oncolor-disabled': '#f5f6f999',\n 'content-oncolor-hover': '#00000029',\n 'content-onmain-hover': '#ffffff29',\n 'content-discount': '#db3339',\n 'content-link': '#376af6',\n 'border-onmain-default-large': '#d5d7e1',\n 'border-onmain-default-small': '#babcc9',\n 'border-onmain-contrast': '#25262c',\n 'border-disabled': '#a6a8b5',\n 'border-oncolor-disabled': '#ffffff66',\n 'border-oncolor-default': '#ffffff',\n 'bg-onmain-main': '#f5f6f9',\n 'bg-onmain-primary': '#ffffff',\n 'bg-onmain-secondary': '#f5f6f9',\n 'bg-onmain-tertiary': '#ecedf3',\n 'bg-onmain-divider': '#d5d7e1',\n 'bg-onmain-contrast': '#25262c',\n 'bg-onmain-inverse': '#25262c',\n 'bg-oncolor-primary': '#ffffff',\n 'bg-oncolor-secondary': '#ffffff3d',\n 'bg-oncolor-tertiary': '#ffffff1f',\n 'bg-oncolor-hover': '#00000014',\n 'bg-disabled-large': '#ecedf3',\n 'bg-disabled-small': '#d5d7e1',\n 'bg-disabled-active': '#a6a8b5',\n 'bg-oncolor-disabled': '#ffffff1f',\n 'bg-contrast-active': '#25262c',\n 'bg-oncontrast-hover': '#ffffff14',\n 'alert-bg-success-100': '#ddf4cd',\n 'alert-bg-success-200': '#bce4aa',\n 'alert-bg-success-500': '#63ab4f',\n 'alert-bg-warning-100': '#ffebcc',\n 'alert-bg-warning-200': '#ffd294',\n 'alert-bg-warning-500': '#f16f04',\n 'alert-bg-error-100': '#ffe9e5',\n 'alert-bg-error-200': '#ffcbc7',\n 'alert-bg-error-500': '#e4494e',\n 'alert-success': '#488b32',\n 'alert-warning': '#db6300',\n 'alert-error': '#db3339',\n}\n\nexport const motherColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#8a51e6',\n 'content-brand-secondary': '#db6300',\n 'border-brand-primary': '#8a51e6',\n 'border-brand-secondary': '#db6300',\n 'border-brand-primary-hover': '#8a51e680',\n 'border-brand-primary-active': '#8a51e6',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#f1e5ff',\n 'bg-brand-primary-200': '#e1d4f7',\n 'bg-brand-primary-400': '#c09eff',\n 'bg-brand-primary-500': '#8a51e6',\n 'bg-brand-secondary-basic': '#ff9900',\n 'bg-brand-secondary-100': '#ffebcc',\n 'bg-brand-secondary-200': '#ffd294',\n 'bg-brand-secondary-400': '#ff9900',\n 'bg-brand-secondary-500': '#f16f04',\n 'bg-brand-tertiary-100': '#feffbd',\n 'bg-brand-tertiary-200': '#fffb80',\n 'bg-brand-quaternary-100': '#e1f5fe',\n 'bg-brand-quaternary-200': '#bddcea',\n 'bg-brand-quaternary-400': '#89b8cd',\n 'bg-brand-quaternary-500': '#61a3bd',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#f1e5ff',\n 'bg-brand-primary-100-hover': '#f1e5ff80',\n}\n\nexport const babyColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#cc2e8d',\n 'content-brand-secondary': '#dbac00',\n 'border-brand-primary': '#cc2e8d',\n 'border-brand-secondary': '#dbac00',\n 'border-brand-primary-hover': '#cc2e8d80',\n 'border-brand-primary-active': '#cc2e8d',\n 'bg-brand-primary-basic': '#cc2e8d',\n 'bg-brand-primary-100': '#faebf7',\n 'bg-brand-primary-200': '#efcdea',\n 'bg-brand-primary-400': '#e594c5',\n 'bg-brand-primary-500': '#cc2e8d',\n 'bg-brand-secondary-basic': '#ffd333',\n 'bg-brand-secondary-100': '#fff4d1',\n 'bg-brand-secondary-200': '#ffde7a',\n 'bg-brand-secondary-400': '#ffd333',\n 'bg-brand-secondary-500': '#f4c10b',\n 'bg-brand-tertiary-100': '#ebefff',\n 'bg-brand-tertiary-200': '#cdd4f9',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#cc2e8d',\n 'bg-brand-primary-100-active': '#faebf7',\n 'bg-brand-primary-100-hover': '#faebf780',\n}\n\nexport const teenColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#8a51e6',\n 'content-brand-secondary': '#83b200',\n 'border-brand-primary': '#8a51e6',\n 'border-brand-secondary': '#83b200',\n 'border-brand-primary-hover': '#8a51e680',\n 'border-brand-primary-active': '#8a51e6',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#f1e5ff',\n 'bg-brand-primary-200': '#e1d4f7',\n 'bg-brand-primary-400': '#c09eff',\n 'bg-brand-primary-500': '#8a51e6',\n 'bg-brand-secondary-basic': '#d1f00a',\n 'bg-brand-secondary-100': '#eefad1',\n 'bg-brand-secondary-200': '#e9ff6b',\n 'bg-brand-secondary-400': '#afdb00',\n 'bg-brand-secondary-500': '#83b200',\n 'bg-brand-tertiary-100': '#e6f7fe',\n 'bg-brand-tertiary-200': '#cdebf9',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#f1e5ff',\n 'bg-brand-primary-100-hover': '#f1e5ff80',\n}\n\nexport const adultColors: Readonly<Record<BrandColorNames, ColorValue>> = {\n 'content-brand-primary': '#3d4eeb',\n 'content-brand-secondary': '#1b0047',\n 'border-brand-primary': '#3d4eeb',\n 'border-brand-secondary': '#1b0047',\n 'border-brand-primary-hover': '#3d4eeb80',\n 'border-brand-primary-active': '#3d4eeb',\n 'bg-brand-primary-basic': '#3d4eeb',\n 'bg-brand-primary-100': '#e5ecff',\n 'bg-brand-primary-200': '#ccdaff',\n 'bg-brand-primary-400': '#8fa9ff',\n 'bg-brand-primary-500': '#3d4eeb',\n 'bg-brand-secondary-basic': '#1b0047',\n 'bg-brand-secondary-100': '#e8e5ff',\n 'bg-brand-secondary-200': '#d6d1ff',\n 'bg-brand-secondary-400': '#b1a3ff',\n 'bg-brand-secondary-500': '#1b0047',\n 'bg-brand-tertiary-100': '#eaf9ae',\n 'bg-brand-tertiary-200': '#d8ea8b',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#3d4eeb',\n 'bg-brand-primary-100-active': '#e5ecff',\n 'bg-brand-primary-100-hover': '#e5ecff80',\n}\n","function isExternalUrl(url = '', hostname: string): boolean {\n return /^((http|https):\\/\\/)/.test(url) && !new URL(url).hostname.endsWith(hostname)\n}\n\nexport function relBuilder(link?: string, target?: string): undefined | string {\n if (!link) return\n\n const relStr = []\n\n if (isExternalUrl(link, window.location.hostname)) {\n if (target === '_blank') relStr.push('noopener')\n relStr.push('nofollow')\n }\n\n if (relStr.length === 0) return\n\n return relStr.join(' ')\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 vertical-align: ${vAlign};\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 SIZES = {\n xxxl: 42,\n xxl: 38,\n xl: 34,\n lm: 32,\n l: 30,\n m: 26,\n s: 22,\n xs: 18,\n xxs: 14,\n xxxs: 10,\n}\n\nconst pointerStyle = css`\n cursor: pointer;\n`\n\nconst calcFontSize = (size: IconProps['size']) => {\n return typeof size === 'string' ? SIZES[size] : size\n}\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(calcFontSize(props.size), 'font-size') : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({\n sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL },\n cssProperty: 'font-size',\n customSizeHandler: calcFontSize,\n })}\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 { ColorProperty } from 'mixins/color'\nimport { VAlign } from 'mixins/vAlign'\nimport { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { BaseProps } from 'shared/interfaces'\nimport { useClassname } from 'hooks/useClassname'\nimport * as Styled from './style'\n\nimport { defaultIcons, IconNames } from './icons'\n\nexport interface IconProps extends BaseProps, ColorProperty, 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 with dangerouslySetInnerHTML\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 const _className = useClassname(Icon.displayName, className)\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={_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={_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\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={_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\ntype Display = 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'table-cell' | 'inherit' | 'none'\n\nexport interface DisplayProperty {\n display?: Display\n}\n\nexport const display = (display: Display) => () =>\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 { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from 'shared/interfaces'\nimport { Icon, IconNames } from './../Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, DisplayProperty {\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 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 { useTheme } from 'styled-components'\nimport { KeyboardEvent, useMemo } from 'react'\nimport { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } from 'mixins/display'\nimport { BaseProps } from 'shared/interfaces'\nimport { useClassname } from 'hooks/useClassname'\nimport * as Styled from './style'\n\nexport interface AnchorProps extends BaseProps, ColorProperty, ResponsiveNamedProperty<'size'>, DisplayProperty {\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 tabIndex?: number\n target?: string\n rel?: string\n /**\n * Auto-generate rel. You must specify domain inside theme\n */\n autoRel?: boolean\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 autoRel = true,\n tabIndex = 0,\n ...rest\n } = props\n\n const _className = useClassname(Anchor.displayName, className)\n const theme = useTheme()\n\n let _display: DisplayProperty['display']\n const _rel = useMemo(() => {\n return autoRel && theme.utils?.relBuilder ? theme.utils.relBuilder(props.href ?? props.to, props.target) : props.rel\n }, [autoRel, props.rel, props.href, props.to, props.target])\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 const onKeyDown = (event: KeyboardEvent<HTMLAnchorElement | HTMLDivElement | HTMLSpanElement>): void => {\n if (event.key === 'Enter') {\n rest?.onClick?.()\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 tabIndex={tabIndex}\n onKeyDown={onKeyDown}\n {...rest}\n {...contentProps}\n rel={as === 'a' ? props.rel ?? _rel : undefined}\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 style={style}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n tabIndex={tabIndex}\n onKeyDown={onKeyDown}\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 style={style}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n tabIndex={tabIndex}\n onKeyDown={onKeyDown}\n {...rest}\n {...contentProps}\n rel={props.rel ?? _rel}\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 style={style}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n tabIndex={tabIndex}\n {...contentProps}\n {...rest}\n rel={props.rel ?? _rel}\n >\n {children}\n </Styled.Root>\n )\n}\n","import { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { Text } from '../Text'\nimport type { TextHeadingProps, H } from './types'\n\nconst PARAMS: Record<H, Partial<TextHeadingProps>> = {\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\nconst COMPONENT_NAME = 'Text.Heading'\n\n/**\n * @visibleName Text.Heading\n */\nconst TextHeading = (props: TextHeadingProps) => {\n const theme = useFallbackTheme()\n\n const {\n h = 'h1',\n fontFamily,\n ...configProps\n } = useConfigPriority<TextHeadingProps>(theme.components?.[COMPONENT_NAME], props)\n\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} fontFamily={fontFamily} {...predefinedParams} {...configProps} />\n}\n\nTextHeading.displayName = COMPONENT_NAME\n\nexport { TextHeading, COMPONENT_NAME }\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', 'onClick'].includes(prop) || prop.includes('data-'),\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 { DisplayProperty } 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 DisplayProperty,\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 onClick?: (_e: React.MouseEvent<HTMLDivElement>) => void\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 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 }: TextEllipseProps) {\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 = chars !== 0 && content.length > chars\n\n text = isEllipsed && chars !== 0 ? `${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 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 type { TextAppearance, TextProps } from './types'\n\nexport const APPEARANCE: Record<TextAppearance, Partial<Omit<TextProps, 'appearance'>>> = {\n display: {\n sizes: { xxxl: 84, xxl: 76, xl: 68, l: 60, m: 52, s: 44, xs: 36, xxs: 28, xxxs: 20 },\n lineHeight: 1,\n weight: 800,\n fontStyle: 'normal',\n margin: 0,\n },\n heading: {\n sizes: { xxxl: 64, xxl: 56, xl: 48, l: 40, m: 36, s: 32, xs: 28, xxs: 24, xxxs: 20 },\n lineHeight: 1.1,\n weight: 800,\n fontStyle: 'normal',\n margin: 0,\n },\n subheading: {\n sizes: { xxxl: 52, xxl: 46, xl: 40, l: 34, m: 28, s: 24, xs: 20, xxs: 16, xxxs: 12 },\n lineHeight: 1.1,\n weight: 700,\n fontStyle: 'normal',\n margin: 0,\n },\n 'subheading-compact': {\n sizes: { xxxl: 36, xxl: 32, xl: 28, l: 24, m: 20, s: 18, xs: 16, xxs: 14, xxxs: 12 },\n lineHeight: 1.3,\n weight: 800,\n fontStyle: 'normal',\n margin: 0,\n },\n body: {\n sizes: { xxxl: 32, xxl: 28, xl: 24, l: 20, m: 18, s: 16, xs: 14, xxs: 12, xxxs: 10 },\n lineHeight: 1.3,\n weight: 400,\n fontStyle: 'normal',\n margin: 0,\n },\n caption: {\n sizes: { xxxl: 32, xxl: 28, xl: 24, l: 20, m: 18, s: 16, xs: 14, xxs: 12, xxxs: 10 },\n lineHeight: 1.2,\n weight: 400,\n fontStyle: 'normal',\n margin: 0,\n },\n}\n","import styled from 'styled-components'\nimport { display } from 'mixins/display'\nimport { responsiveNamedProperty, property } from 'mixins/responsive-property'\nimport { color, ColorValue } from 'mixins/color'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport type { StyledTextProps } from './types'\n\nconst WEIGHT_MAP = {\n lighter: 100,\n normal: 400,\n bold: 600,\n bolder: 800,\n}\n\nconst LINE_HEIGHT_MAP = {\n l: 1.5,\n m: 1.3,\n s: 1.15,\n xs: 1,\n}\n\nexport const Root = styled.div\n .withConfig<StyledTextProps>({\n shouldForwardProp: (prop) => {\n return ['children', 'className', 'style', 'title', 'dangerouslySetInnerHTML', 'id'].includes(prop)\n },\n })\n .attrs(injectDefaultTheme)<StyledTextProps>`\n ${(props) => `\n ${props.fontFamily ? `font-family: ${props.fontFamily};` : ''}\n ${props.transform ? `text-transform: ${props.transform};` : ''}\n ${props.weight ? `font-weight: ${WEIGHT_MAP[props.weight] ?? props.weight};` : ''}\n ${props.fontStyle ? `font-style: ${props.fontStyle};` : ''}\n ${props.textAlign ? `text-align: ${props.textAlign};` : ''}\n line-height: ${props.lineHeight ? `${LINE_HEIGHT_MAP[props.lineHeight] ?? props.lineHeight}` : 'inherit'};\n margin: ${props.margin ?? 'initial'}${typeof props.margin === 'number' ? 'px' : ''};\n a {\n text-decoration: ${props.underlineLinks ? 'underline' : 'none'};\n &:hover {\n text-decoration: none;\n }\n }\n `}\n\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : color(props.theme.textColor as ColorValue))}\n ${(props) => (props.size ? property(props.size, 'font-size', props.fontUnits ?? 'px', props.sizes) : null)}\n ${({ sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL, fontUnits, sizes }) =>\n responsiveNamedProperty({\n sizes: { sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL },\n cssProperty: 'font-size',\n sizing: fontUnits ?? 'px',\n predefinedSizes: sizes,\n })}\n`\n","import { forwardRef } from 'react'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { useClassname } from 'hooks/useClassname'\nimport { TextHeading } from 'components/Text.Heading'\nimport { TextEllipse } from 'components/Text.Ellipse'\nimport { APPEARANCE } from './constants'\nimport type { TextProps, TextComponent, TextAppearance } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Text'\n\nconst Text = forwardRef<HTMLElement, TextProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n const prioritizedProps = useConfigPriority<TextProps>(theme.components?.Text, props)\n const appearanceProps = APPEARANCE[prioritizedProps.appearance as TextAppearance] ?? {}\n const mergedProps: TextProps = { ...appearanceProps, ...prioritizedProps }\n\n const {\n as = 'div',\n weight = 'normal',\n lineHeight = 'm',\n fontStyle = 'normal',\n size = 'm',\n content,\n children,\n ...restProps\n } = mergedProps\n\n const className = useClassname(COMPONENT_NAME, restProps.className)\n\n if (children) {\n return (\n <Styled.Root\n {...restProps}\n ref={ref}\n as={as}\n weight={weight}\n lineHeight={lineHeight}\n fontStyle={fontStyle}\n size={size}\n className={className}\n >\n {children}\n </Styled.Root>\n )\n }\n\n return (\n <Styled.Root\n {...restProps}\n ref={ref}\n as={as}\n weight={weight}\n lineHeight={lineHeight}\n fontStyle={fontStyle}\n size={size}\n className={className}\n dangerouslySetInnerHTML={{ __html: content || '' }}\n />\n )\n}) as TextComponent\n\nText.displayName = COMPONENT_NAME\n\nText.Heading = TextHeading\nText.Ellipse = TextEllipse\n\nexport { Text, COMPONENT_NAME }\n","import styled, { css, DefaultTheme } from 'styled-components'\nimport { color, getColor } from 'mixins/color'\nimport { DefaultColorNames } from 'theme/colors'\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) =>\n props.percentColor ? color(props.percentColor, 'background') : color(DefaultColorNames.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) =>\n props.separatorColor ? color(props.separatorColor, 'background') : color(DefaultColorNames.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 || DefaultColorNames.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 || DefaultColorNames.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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ProgressSegmentedProps\n extends BaseProps,\n ColorProperty<'separatorColor'>,\n ColorProperty<'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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\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, ColorProperty<'resultColor'>, ColorProperty<'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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport { ProgressSegmented } from 'components/Progress.Segmented'\nimport { ProgressCircle } from 'components/Progress.Circle'\nimport * as Styled from './style'\n\nexport interface ProgressProps extends BaseProps, ColorProperty, ColorProperty<'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 styled from 'styled-components'\nimport type { DefaultTheme } from 'styled-components'\n\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\n\nimport { Button } from '../Button'\nimport { Text } from '../Text'\n\nimport { CountdownCircle } from './CountdownCircle'\n\nimport type {\n ActionsProps,\n AlertType,\n CancelTimerProps,\n CloseIconProps,\n ContentProps,\n ContentWrapperProps,\n CountdownCircleProps,\n IconWrapperProps,\n LinkProps,\n RootAlertProps,\n TitleProps,\n} from './types'\n\nconst bgColor = (theme: DefaultTheme, clear: boolean, type?: AlertType) => {\n if (clear) {\n return theme.colors['bg-onmain-primary']\n }\n\n switch (type) {\n case 'error':\n return theme.colors['alert-bg-error-200']\n case 'info':\n return theme.colors['bg-brand-primary-200']\n case 'success':\n return theme.colors['alert-bg-success-200']\n case 'warning':\n return theme.colors['alert-bg-warning-200']\n default:\n return theme.colors['bg-oncolor-primary']\n }\n}\n\nconst getPaddingY = ({\n column,\n isCompact,\n withImage,\n withTimer,\n}: Pick<RootAlertProps, 'column' | 'isCompact' | 'withImage' | 'withTimer'>) => {\n if (column) return '16px'\n\n if (isCompact) {\n return withTimer ? '5px' : '12px'\n }\n\n return withImage ? '8px' : withTimer ? '2px' : '12px'\n}\n\nconst paddingLeft = ({\n isCompact,\n noIcon,\n size,\n withAction,\n withImage,\n withTitle,\n}: Pick<RootAlertProps, 'isCompact' | 'noIcon' | 'size' | 'withAction' | 'withImage' | 'withTitle'>) => {\n if (isCompact) {\n if (withTitle || size === 'l') {\n return withImage || !noIcon ? '16px' : '20px'\n }\n\n return withImage ? '12px' : withAction && noIcon ? '20px' : '16px'\n }\n\n if (withTitle || size === 'l') {\n return withImage || !noIcon ? '16px' : '24px'\n }\n\n return withImage ? '16px' : '20px'\n}\n\nconst paddingRight = ({\n isCompact,\n withCloseIcon,\n withTimer,\n}: Pick<RootAlertProps, 'isCompact' | 'withCloseIcon' | 'withTimer'>) => {\n if (withCloseIcon) {\n return isCompact ? '12px' : '16px'\n }\n\n return withTimer ? '8px' : '20px'\n}\n\nconst getMarginRightIconWrapper = ({\n column,\n isCompact,\n withImage,\n}: {\n column: boolean\n isCompact?: boolean\n withImage: boolean\n}) => {\n if (isCompact) return '8px'\n\n return column ? (withImage ? '8px' : '12px') : '8px'\n}\n\nconst getImageSize = ({ column, isCompact }: { column: boolean; isCompact?: boolean }) => {\n if (isCompact) return '20px'\n\n return column ? '28px' : '32px'\n}\n\nconst getActionsMarginTop = ({\n column,\n isCompact,\n withTitle,\n}: {\n column: boolean\n isCompact?: boolean\n withTitle: boolean\n}) => {\n if (column) {\n return isCompact ? (withTitle ? '16px' : '8px') : '16px'\n }\n\n return 0\n}\n\nexport const Root = styled.div\n .withConfig<RootAlertProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'onMouseEnter', 'onMouseLeave', 'style'].includes(prop),\n })\n .attrs(injectDefaultTheme)`\n ${(props) => `\n display: flex;\n align-items: ${props.column || (props.isCompact ? !props.withTimer : props.textWrap) ? 'flex-start' : 'center'};\n justify-content: ${props.withTimer ? 'space-between' : 'flex-start'};\n padding-top: ${getPaddingY(props)};\n padding-right: ${paddingRight(props)};\n padding-bottom: ${getPaddingY(props)};\n padding-left: ${paddingLeft(props)};\n height: ${props.isCompact || props.column || props.textWrap ? 'auto' : '48px'};\n min-width: ${props.isCompact ? '304px' : 'auto'};\n max-width: ${props.isCompact ? '351px' : '100%'};\n border-radius: ${props.column ? (props.isCompact ? '20px' : '12px') : '30px'};\n background-color: ${bgColor(props.theme, !!props.clear, props.type)};\n box-shadow: ${props.clear ? '0 6px 20px 0 rgba(0, 0, 0, 0.1)' : 'none'};\n box-sizing: border-box;\n `}\n ${responsiveProperty('width', 'width')}\n`\n\nexport const IconWrapper = styled.div<IconWrapperProps>`\n ${(props) => `\n display: flex;\n margin-right: ${getMarginRightIconWrapper(props)};\n `}\n\n ${(props) =>\n props.withImage\n ? `\n img,\n svg {\n height: ${getImageSize(props)};\n width: ${getImageSize(props)};\n }\n `\n : null};\n`\n\nexport const ContentWrapper = styled.div<ContentWrapperProps>`\n ${(props) => `\n display: flex;\n margin-right: auto;\n flex-direction: ${props.column ? 'column' : 'row'};\n align-items: ${props.column ? 'flex-start' : 'center'};\n align-self: center;\n max-width: ${props.column ? '260px' : 'initial'};\n white-space: ${props.column || props.isCompact ? 'normal' : 'nowrap'};\n overflow: hidden;\n `}\n`\n\nexport const Title = styled(Text)<TitleProps>`\n ${(props) => `\n display: inline-block;\n margin-top: ${props.isCompact ? '0' : '2px'};\n margin-bottom: 8px;\n max-width: 100%;\n vertical-align: middle;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-weight: 700;\n overflow: hidden;\n `}\n`\n\nexport const Content = styled(Text)<ContentProps>`\n ${(props) => `\n text-overflow: ${props.column || props.isCompact ? 'clip' : 'ellipsis'};\n white-space: ${props.column || props.isCompact || props.textWrap ? 'pre-wrap' : 'inherit'};\n overflow: hidden;\n `}\n`\n\nexport const Link = styled.div<LinkProps>`\n ${(props) => `\n display: flex;\n margin-top: ${props.column ? (props.isCompact && !props.withTitle ? '4px' : '12px') : 0};\n margin-left: ${props.column ? 0 : '60px'};\n color: ${props.clear ? props.theme.colors['content-link'] : props.theme.colors['content-onmain-primary']};\n `}\n`\n\nexport const Actions = styled.div<ActionsProps>`\n ${(props) => `\n margin-top: ${getActionsMarginTop(props)};\n margin-left: ${props.column ? 0 : '60px'};\n\n && > button {\n margin-left: 0;\n }\n `}\n`\n\nexport const CloseIcon = styled.button<CloseIconProps>`\n ${(props) => `\n appearance: none;\n display: flex;\n margin-left: ${props.withTimer ? '0' : '16px'};\n border-radius: 0;\n background: none;\n box-shadow: none;\n padding: 0;\n border: none;\n cursor: pointer;\n outline: none;\n\n &:focus-visible {\n outline: 1px solid ${props.theme.colors.accent};\n outline-offset: 2px;\n }\n `}\n`\n\nexport const CancelTimer = styled(Button)<CancelTimerProps>`\n ${(props) => `\n margin-left: ${props.isCompact ? '28px' : '60px'};\n padding-right: ${props.isCompact ? '16px' : '28px'};\n padding-left: ${props.isCompact ? '16px' : '28px'};\n `}\n`\n\nexport const Timer = styled(CountdownCircle)<CountdownCircleProps>`\n ${(props) => `\n line-height: ${props.isCompact ? '12px' : '18px'};\n font-weight: ${props.isCompact ? '700' : '400'};\n font-size: ${props.isCompact ? '11px' : '14px'};\n color: ${props.color};\n\n svg {\n transform: rotateY(180deg);\n }\n `}\n`\n","import { useEffect, useRef, useState } from 'react'\n\nimport { DefaultColorNames } from 'theme/colors'\nimport { Progress } from '../Progress'\n\nimport type { CountdownCircleProps } from './types'\n\nconst progressRate = 0.05\n\nconst CountdownCircle = ({ className, color, isCompact, paused, timer }: CountdownCircleProps) => {\n const [countdown, setCountdown] = useState(timer)\n const intervalId = useRef<ReturnType<typeof setInterval>>()\n\n useEffect(() => {\n return () => {\n if (intervalId.current) {\n clearInterval(intervalId.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (paused) {\n clearInterval(intervalId.current)\n } else {\n intervalId.current = setInterval(() => {\n setCountdown((prevCountdown) => {\n if (prevCountdown <= progressRate) {\n clearInterval(intervalId.current)\n return prevCountdown\n }\n\n return prevCountdown - progressRate\n })\n }, progressRate * 1000)\n }\n }, [paused])\n\n const progress = (countdown / timer) * 100\n\n return (\n <Progress.Circle\n className={className}\n content={Math.ceil(countdown)}\n progress={progress}\n progressStartAngle={0}\n resultColor={color}\n size={isCompact ? 16 : 20}\n strokeBGColor={DefaultColorNames.transparent}\n strokeLineWidth={1.5}\n />\n )\n}\n\nexport { CountdownCircle }\n","import type { DefaultTheme } from 'styled-components'\n\nimport type { ColorValue } from 'mixins/color'\n\nimport type { AlertProps } from './types'\n\nexport const countdownColor = ({ theme, type }: Pick<AlertProps, 'type'> & { theme: DefaultTheme }): ColorValue => {\n switch (type) {\n case 'error':\n return theme.colors['alert-bg-error-500']\n case 'info':\n return theme.colors['content-brand-primary']\n case 'success':\n return theme.colors['alert-success']\n case 'warning':\n return theme.colors['alert-warning']\n default:\n return theme.colors['content-brand-primary']\n }\n}\n","import { forwardRef, useState } from 'react'\nimport { CheckCircleFill, Close, CloseCirlceFill, NotifFill, WarningTriangleFill } from '@foxford/icon-pack'\nimport type { DefaultTheme } from 'styled-components'\n\nimport { useClassname } from 'hooks/useClassname'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { useFallbackTheme } from 'hooks/use-theme'\n\nimport { Anchor } from '../Anchor'\nimport { Button } from '../Button'\nimport { Icon } from '../Icon'\n\nimport * as Styled from './style'\n\nimport type { AlertProps } from './types'\nimport { countdownColor } from './utils'\n\nconst getDefaultIcon = ({\n isCompact,\n theme,\n type,\n}: Pick<AlertProps, 'isCompact' | 'type'> & { theme: DefaultTheme }) => {\n const size = isCompact ? 16 : 24\n\n switch (type) {\n case 'error':\n return <CloseCirlceFill color={theme.colors['alert-bg-error-500']} size={size} />\n case 'info':\n return <NotifFill color={theme.colors['content-brand-primary']} size={size} />\n case 'success':\n return <CheckCircleFill color={theme.colors['alert-success']} size={size} />\n case 'warning':\n return <WarningTriangleFill color={theme.colors['alert-warning']} size={size} />\n default:\n return null\n }\n}\n\nconst COMPONENT_NAME = 'Alert'\n\nconst Alert = forwardRef<HTMLDivElement, AlertProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n const {\n cancelTimerText = 'Отменить',\n primaryAction,\n primaryActionProps,\n secondaryAction,\n secondaryActionProps,\n children,\n className,\n clear,\n customIcon,\n image,\n isCompact,\n link,\n linkProps,\n noIcon,\n onClickCancelTimer,\n closeToast,\n size = 's',\n style,\n textProps,\n textWrap,\n timer,\n title,\n titleProps,\n type,\n width = ['fit-content', 'fit-content', 'fit-content', '351px', '304px', '304px'],\n } = useConfigPriority<AlertProps>(theme.components?.Alert, props)\n const _className = useClassname(COMPONENT_NAME, className)\n const [timerOnPause, setTimerOnPause] = useState(false)\n\n const column = Boolean(size === 'l' || !!title || (isCompact && (title || link || primaryAction || secondaryAction)))\n\n const handleMouseEnter = () => {\n setTimerOnPause(true)\n }\n\n const handleMouseLeave = () => {\n setTimerOnPause(false)\n }\n\n return (\n <Styled.Root\n className={_className}\n clear={clear}\n column={column}\n isCompact={isCompact}\n noIcon={noIcon}\n onMouseEnter={timer && handleMouseEnter}\n onMouseLeave={timer && handleMouseLeave}\n ref={ref}\n size={size}\n style={style}\n textWrap={textWrap}\n type={type}\n width={width}\n withAction={!!primaryAction || !!secondaryAction}\n withCloseIcon={!!closeToast}\n withImage={!!image}\n withLink={!!link}\n withTimer={!!timer}\n withTitle={!!title}\n >\n {(!noIcon || customIcon) && (\n <Styled.IconWrapper column={column} isCompact={isCompact} withImage={!!image}>\n {!noIcon && !timer && !customIcon && !image && getDefaultIcon({ isCompact, theme, type })}\n {customIcon && <Icon name={customIcon} size={isCompact ? 16 : 24} />}\n {image}\n {timer && (\n <Styled.Timer\n isCompact={isCompact}\n paused={timerOnPause}\n timer={timer}\n color={countdownColor({ theme, type })}\n />\n )}\n </Styled.IconWrapper>\n )}\n\n <Styled.ContentWrapper column={column} isCompact={isCompact}>\n {title && (\n <Styled.Title\n color={theme.colors['content-onmain-primary']}\n isCompact={isCompact}\n size={isCompact ? 14 : 16}\n lineHeight='m'\n {...titleProps}\n >\n {title}\n </Styled.Title>\n )}\n\n <Styled.Content\n appearance='body'\n color={theme.colors['content-onmain-primary']}\n column={column}\n isCompact={isCompact}\n size={isCompact ? 'xs' : 's'}\n textWrap={textWrap}\n {...textProps}\n >\n {children}\n </Styled.Content>\n\n {link && (\n <Styled.Link clear={clear} column={column} isCompact={isCompact} withTitle={!!title}>\n <Anchor\n color={props.clear ? theme.colors['content-link'] : theme.colors['content-onmain-primary']}\n onClick={link.onClick}\n preset='brand'\n pseudo\n size={isCompact ? 's' : 'm'}\n {...linkProps}\n >\n {link.content}\n </Anchor>\n </Styled.Link>\n )}\n\n {(primaryAction || secondaryAction) && (\n <Styled.Actions column={column} isCompact={isCompact} withTitle={!!title}>\n {secondaryAction && (\n <Button\n black\n fontWeight='normal'\n marginRight={column ? 4 : 8}\n onClick={secondaryAction.onClick}\n outline\n preset='brand'\n size='xs'\n {...secondaryActionProps}\n >\n {secondaryAction.content}\n </Button>\n )}\n\n {primaryAction && (\n <Button\n black\n fontWeight='normal'\n onClick={primaryAction.onClick}\n preset='brand'\n size='xs'\n {...primaryActionProps}\n >\n {primaryAction.content}\n </Button>\n )}\n </Styled.Actions>\n )}\n </Styled.ContentWrapper>\n\n {onClickCancelTimer && (\n <Styled.CancelTimer\n black\n clear\n fontWeight='normal'\n isCompact={isCompact}\n onClick={onClickCancelTimer}\n preset='brand'\n size={isCompact ? 'xs' : 'm'}\n >\n {cancelTimerText}\n </Styled.CancelTimer>\n )}\n\n {closeToast && (isCompact ? !timer : true) && (\n <Styled.CloseIcon aria-label='close' onClick={closeToast} type='button' withTimer={!!timer}>\n <Close color={theme.colors['content-onmain-primary']} size={isCompact ? 18 : 24} />\n </Styled.CloseIcon>\n )}\n </Styled.Root>\n )\n})\n\nAlert.displayName = COMPONENT_NAME\n\nexport { Alert, COMPONENT_NAME }\n\nexport type { AlertProps }\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 { ColorProperty } from 'mixins/color'\nimport { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { DisplayProperty } from 'mixins/display'\nimport { BaseProps } from 'shared/interfaces'\nimport { Text } from '../Text'\nimport { CurrencyCodes, CURRENCY_MAP } from './data'\nimport * as Styled from './style'\n\nexport interface AmountProps extends BaseProps, ColorProperty, ResponsiveNamedProperty<'size'>, DisplayProperty {\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 | string\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 | string) {\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 viewBox=\"0 0 20 40\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 20 18 0h2v40h-2z\" fill=\"currentColor\"/></svg>","<svg viewBox=\"0 0 20 40\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 0h20v40H0z\" fill=\"currentColor\"/></svg>","<svg viewBox=\"0 0 28 40\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 0h26v40H2l18-20z\" fill=\"currentColor\"/></svg>","import styled, { css } from 'styled-components'\nimport type { ThemedStyledProps, DefaultTheme } from 'styled-components'\nimport { responsiveSize } from 'mixins/size'\nimport { responsiveMargin } from 'mixins/margin'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport type { DynamicSizeDeclaration } from 'shared/interfaces'\nimport { getColor } from 'mixins/color'\nimport { focus } from 'mixins/focus'\nimport type { StyledArrowBadgeProps, StyledArrowBadgeEdgeProps, StyledArrowBadgeTemplatePalette } from './types'\nimport Arrow from './images/arrow.module.svg'\nimport Rectangle from './images/rectangle.module.svg'\nimport Fancy from './images/fancy.module.svg'\n\nconst shouldForwardArrowBadgeProp = createShouldForwardProp()\n\nexport const Content = styled.div`\n flex-shrink: 0;\n display: flex;\n align-items: center;\n padding: 0 1px;\n margin: 0 -1px;\n`\n\nexport const Edge = styled.svg\n .withConfig({ shouldForwardProp: () => false })\n .attrs((props: StyledArrowBadgeEdgeProps) => {\n let Shape = Rectangle\n\n if (props.fancy) Shape = Fancy\n if ((props.right && props.after) || (props.left && !props.after)) Shape = Arrow\n\n return { as: Shape }\n })<StyledArrowBadgeEdgeProps>`\n flex-shrink: 0;\n height: 100%;\n ${(props) => props.after && 'transform: rotate(180deg);'}\n`\n\nconst template = (palette: StyledArrowBadgeTemplatePalette) => `\n & > ${Content} {\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n }\n & > ${Edge} {\n color: ${palette.backgroundColor};\n }\n`\n\nconst COLOR_SCHEMA = {\n primary: css<StyledArrowBadgeEdgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-200'],\n })}\n `,\n secondary: css<StyledArrowBadgeEdgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-secondary-200'],\n })}\n `,\n tertiary: css`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-tertiary-200'],\n })}\n `,\n quaternary: css`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-quaternary-200'],\n })}\n `,\n}\n\nconst colorSchema = (props: ThemedStyledProps<StyledArrowBadgeProps, DefaultTheme>) => {\n if (props.quaternary) return COLOR_SCHEMA.quaternary\n if (props.tertiary) return COLOR_SCHEMA.tertiary\n if (props.secondary) return COLOR_SCHEMA.secondary\n\n return COLOR_SCHEMA.primary\n}\n\nexport const Root = styled.div\n .withConfig<StyledArrowBadgeProps>({\n shouldForwardProp: shouldForwardArrowBadgeProp,\n })\n .attrs({\n dynamicSizeDeclaration: (...args: Parameters<DynamicSizeDeclaration>) => {\n return {\n height: '1.8em',\n fontSize: `${args[0]}${args[2]}`,\n }\n },\n })`\n box-sizing: border-box;\n display: inline-flex;\n width: max-content;\n flex-shrink: 0;\n\n ${colorSchema}\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => props.cursor && `cursor: ${props.cursor};`}\n ${(props) =>\n props.color &&\n `& > ${Content} {\n color: ${getColor(props.color, props)};\n }`}\n ${(props) =>\n props.backgroundColor &&\n `& > ${Content} {\n background-color: ${getColor(props.backgroundColor, props)};\n }\n & > ${Edge} {\n color: ${getColor(props.backgroundColor, props)};\n }`}\n`\n","import {\n commonPropKeyRegExp,\n colorSchemaPropKeyRegExp,\n responsiveSizePropKeyRegExp,\n marginPropKeyRegExp,\n responsiveMarginPropKeyRegExp,\n} from 'shared/regexp'\n\nexport const createShouldForwardProp = (...predicates: ((propKey: string) => boolean)[]) => {\n const cache: Record<string, boolean> = Object.create(null)\n\n return (propKey: string) => {\n if (cache[propKey] === undefined) {\n cache[propKey] =\n predicates.every((func) => func(propKey)) &&\n [\n commonPropKeyRegExp,\n colorSchemaPropKeyRegExp,\n responsiveSizePropKeyRegExp,\n marginPropKeyRegExp,\n responsiveMarginPropKeyRegExp,\n ].every((regExp) => !regExp.test(propKey))\n }\n\n return cache[propKey]\n }\n}\n","import type { ThemedStyledProps, DefaultTheme } from 'styled-components'\n\nconst focus = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: ThemedStyledProps<any, DefaultTheme>\n): string => {\n return `\n &:focus-visible {\n box-shadow: 0 0 0 2px ${props.theme.colors.white}, 0 0 0 4px ${props.theme.colors.toryBlueDark};\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n `\n}\n\nexport { focus }\n","import { css } from 'styled-components'\nimport type { ThemedStyledProps, DefaultTheme, CSSObject, FlattenInterpolation, ThemeProps } from 'styled-components'\nimport { getMediaQueryByResponsiveProp, desktopFirst } from 'mixins/shared'\nimport { marginPropKeyRegExp, responsiveMarginPropKeyRegExp } from 'shared/regexp'\nimport type { MediaQuery } from 'mixins/screen'\nimport type { ResponsiveMarginProps } from 'shared/interfaces'\n\n/**\n *\n * Mixin enables support for responsive margin in styled component\n */\nconst responsiveMargin = (\n props: ThemedStyledProps<ResponsiveMarginProps, DefaultTheme>\n): FlattenInterpolation<ThemeProps<DefaultTheme>> => {\n return css`\n ${[\n Object.keys(props)\n .filter(\n (propKey) =>\n marginPropKeyRegExp.test(propKey) &&\n (typeof props[propKey] === 'string' || typeof props[propKey] === 'number')\n )\n .reduce((cssObject, propKey) => {\n return (\n (cssObject[propKey] =\n typeof props[propKey] === 'string' ? props[propKey] : `${props[propKey]}${props.marginUnits ?? 'px'}`),\n cssObject\n )\n }, {} as CSSObject),\n ...Object.keys(props)\n .filter(\n (propKey) =>\n responsiveMarginPropKeyRegExp.test(propKey) &&\n (typeof props[propKey] === 'string' || typeof props[propKey] === 'number')\n )\n .sort(desktopFirst)\n .reduce((breakpointsTuples, propKey) => {\n const matched = propKey.match(responsiveMarginPropKeyRegExp)\n\n if (matched) {\n const mediaQuery = getMediaQueryByResponsiveProp(propKey)\n const tupleFound = breakpointsTuples.find((tuple) => tuple[0] === mediaQuery)\n\n const propertyEntry = {\n [matched[1]]:\n typeof props[propKey] === 'string' ? props[propKey] : `${props[propKey]}${props.marginUnits ?? 'px'}`,\n }\n\n if (tupleFound) tupleFound[1] = { ...tupleFound[1], ...propertyEntry }\n else breakpointsTuples.push([mediaQuery, propertyEntry])\n }\n\n return breakpointsTuples\n }, [] as [MediaQuery, CSSObject][])\n .map(([mediaQuery, cssObject]) => mediaQuery()`${cssObject}`),\n ]}\n `\n}\n\nexport { responsiveMargin }\n","import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport * as Styled from './style'\nimport type { ArrowBadgeProps } from './types'\nimport { SIZES } from './constants'\n\nconst COMPONENT_NAME = 'ArrowBadge'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`ColorSchemaProps`](#/Interfaces)\n * - [`ColorProperty<'color'>`](#/Interfaces)\n * - [`ColorProperty<'backgroundColor'>`](#/Interfaces)\n * - [`BaseProps`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'div'>`](#/Interfaces)\n */\nconst ArrowBadge: React.ForwardRefExoticComponent<ArrowBadgeProps> = withMergedProps<ArrowBadgeProps, HTMLDivElement>(\n forwardRef((props, ref) => {\n const { size = 'm', children, left, right, fancy, ...restProps } = props\n\n return (\n <Styled.Root {...restProps} size={size} ref={ref}>\n <Styled.Edge left={left} right={right} fancy={fancy} />\n <Styled.Content>{children}</Styled.Content>\n <Styled.Edge left={left} right={right} fancy={fancy} after />\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { ArrowBadge, COMPONENT_NAME }\n","import { forwardRef } from 'react'\nimport { useTheme } from 'styled-components'\nimport { mergeDeepLeft } from 'ramda'\n\nimport type { BaseProps, ResponsiveSizeProps, Sizes, ThemePreset } from 'shared/interfaces'\n\nexport const withMergedProps = <T extends ResponsiveSizeProps & BaseProps, P extends HTMLElement = HTMLElement>(\n Component: React.FC<Omit<T, 'sizes' | 'preset'> & { sizes: Sizes; preset: ThemePreset } & React.RefAttributes<P>>,\n options: { displayName: string; sizes: Sizes }\n) => {\n const WithMergedProps = forwardRef<P, T>((props, ref) => {\n const theme = useTheme()\n\n const forwardProps = mergeDeepLeft(props, theme.components?.[options.displayName] ?? {}) as T\n const preset = forwardProps.preset ?? theme.preset\n const sizes = (forwardProps.sizes ? mergeDeepLeft(forwardProps.sizes, options.sizes) : options.sizes) as Sizes\n\n Component.displayName = options.displayName\n\n return <Component {...forwardProps} preset={preset} sizes={sizes} ref={ref} />\n })\n\n WithMergedProps.displayName = `WithMergedProps${options.displayName}`\n return WithMergedProps\n}\n","import type { Sizes } from 'shared/interfaces'\n\nexport const SIZES: Sizes = {\n xxxl: {\n height: 64,\n fontSize: 36,\n },\n xxl: {\n height: 60,\n fontSize: 34,\n },\n xl: {\n height: 54,\n fontSize: 32,\n },\n l: {\n height: 48,\n fontSize: 28,\n },\n m: {\n height: 40,\n fontSize: 22,\n },\n s: {\n height: 32,\n fontSize: 16,\n },\n xs: {\n height: 24,\n fontSize: 14,\n },\n xxs: {\n height: 20,\n fontSize: 10,\n },\n xxxs: {\n height: 16,\n fontSize: 10,\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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport { getAvatarText } from './utils'\nimport * as Styled from './style'\n\nexport interface AvatarProps extends BaseProps, ColorProperty {\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 { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from 'shared/interfaces'\nimport { Text, TextProps } from '../Text'\nimport * as Styled from './style'\n\nexport interface BadgeProps extends BaseProps, ColorProperty, DisplayProperty {\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","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 { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } from 'mixins/display'\nimport { BaseProps } from 'shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ContainerProps extends BaseProps, DisplayProperty, ColorProperty {\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 if (props.overlayClassName) return null\n\n if (props.blurredOverlay) {\n return css`\n background: rgba(246, 247, 251, 0.3);\n backdrop-filter: blur(3.5px);\n `\n }\n\n return css`\n background: rgba(246, 247, 251, 0.9);\n `\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 * Boolean indicating if the overlay background should be blurred\n */\n blurredOverlay?: boolean\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 blurredOverlay: false,\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 blurredOverlay,\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 blurredOverlay={blurredOverlay}\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 { color } from 'mixins/color'\nimport { Spacer } from 'components/Spacer'\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 { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { ColorProperty } from 'mixins/color'\nimport { useClassname } from 'hooks/useClassname'\nimport { SpacerProps } from 'components/Spacer'\nimport * as Styled from './style'\n\nexport interface PaperProps extends SpacerProps, ColorProperty, ResponsiveNamedProperty<'padding'> {\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 * - [`SpacerProps`](#/Разметка%20и%20позиционирование/Spacer)\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 { 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 { color } from 'mixins/color'\nimport { Spacer } from 'components/Spacer'\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 { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } 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, DisplayProperty, ColorProperty, 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 { ColorProperty } 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 ColorProperty,\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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport { Separator } from './Separator'\nimport * as Styled from './style'\n\nexport interface SeparatorTextProps extends BaseProps, ColorProperty {\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 { responsiveNamedProperty, property, ResponsiveNamedProperty, CalcProperty } 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, sizing = 'px') => {\n if (size === 0) return null\n return css`\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n &:before {\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n margin-top: -${(size as number) / 2}${sizing};\n margin-left: -${(size as number) / 2}${sizing};\n }\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 { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { useClassname } from 'hooks/useClassname'\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 type { SwitcherPropsByPreset } from './types'\n\nexport const DEFAULT_PROPS: SwitcherPropsByPreset = {\n switcherWidth: 60,\n switcherHeight: 32,\n borderRadius: 40,\n dotSize: 24,\n}\n\nexport const BRAND_PROPS: SwitcherPropsByPreset = {\n switcherWidth: 44,\n switcherHeight: 24,\n borderRadius: 48,\n dotSize: 16,\n}\n","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { getColor } from 'mixins/color'\nimport type { StyledSwitcherProps, SwitcherPropsByPreset } from './types'\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<SwitcherPropsByPreset>`\n position: relative;\n display: block;\n box-sizing: border-box;\n width: ${(props) => props.switcherWidth}px;\n height: ${(props) => props.switcherHeight}px;\n cursor: pointer;\n user-select: none;\n transition: background 0.3s ease, background-image 0.3s ease;\n border-radius: ${(props) => props.borderRadius}px;\n flex: 0 0 auto;\n\n &::before {\n position: absolute;\n top: ${({ switcherHeight, dotSize }) => (switcherHeight - dotSize) / 2}px;\n left: ${({ switcherHeight, dotSize }) => (switcherHeight - dotSize) / 2}px;\n display: block;\n width: ${(props) => props.dotSize}px;\n height: ${(props) => props.dotSize}px;\n content: '';\n transition: background 0.3s ease, left 0.3s ease;\n transform: translateZ(0);\n border-radius: 50%;\n }\n`\n\nconst disabledStyles = `\n cursor: not-allowed;\n opacity: 0.7;\n\n & ${Switcher} {\n cursor: not-allowed;\n box-shadow: none;\n\n &::before {\n box-shadow: none;\n }\n }\n\n & ${Label} {\n cursor: not-allowed;\n }\n`\n\nconst checkedStyles = css<StyledSwitcherProps>`\n & ${Switcher} {\n &::before {\n left: ${({ switcherWidth, switcherHeight, dotSize }) =>\n switcherWidth - dotSize - (switcherHeight - dotSize) / 2}px;\n }\n }\n`\n\nconst baseStyles = css<StyledSwitcherProps>`\n ${(props) => `\n position: relative;\n display: inline-flex;\n flex-direction: row;\n box-sizing: border-box;\n height: ${props.switcherHeight}px;\n line-height: ${props.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 `}\n`\n\nconst defaultPresetStyle = css<StyledSwitcherProps>`\n ${(props) => {\n const color = props.color || 'atlantis'\n\n return `\n & ${Switcher} {\n box-shadow: inset 0 2px 2px 0 rgba(0, 0, 0, 0.08);\n background-color: #eaecf3;\n\n &::before {\n background-color: ${props.theme.colors.white};\n box-shadow: ${props.disabled ? 'none' : '0 0 6px 0 rgba(0, 0, 0, 0.16)'};\n }\n\n ${\n props.inactiveColor\n ? `\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 }\n\n ${\n props.checked\n ? `\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(color, props)).lighten(10).toString()},\n ${getColor(color, props)}\n );\n `\n : ''\n }\n }\n\n & ${Input}:focus-visible + ${Switcher} {\n outline: 1px solid ${getColor(color, props)};\n outline-offset: 2px;\n }\n `\n }}\n`\n\nconst brandPresetStyles = css<StyledSwitcherProps>`\n ${(props) => `\n & ${Switcher} {\n background-color: ${\n props.disabled\n ? props.theme.colors[props.checked ? 'bg-disabled-active' : 'bg-disabled-small']\n : props.theme.colors[props.checked ? 'bg-brand-primary-basic' : 'bg-onmain-tertiary']\n };\n\n &::before {\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n box-shadow: ${props.disabled ? 'none' : '0px 2px 4px rgba(0, 0, 0, 0.08)'};\n }\n\n ${!props.checked && props.inactiveColor ? `background-color: ${getColor(props.inactiveColor, props)};` : ''}\n ${props.checked && props.color ? `background-color: ${getColor(props.color, props)};` : ''}\n }\n\n & ${Input}:focus-visible + ${Switcher} {\n outline: 1px solid ${props.color ? getColor(props.color, props) : props.theme.colors['bg-brand-primary-basic']};\n outline-offset: 2px;\n }\n `}\n`\n\nexport const Root = styled.div\n .withConfig({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n })\n .attrs(injectDefaultTheme)<StyledSwitcherProps>`\n ${baseStyles}\n\n ${(props) => (props.checked ? checkedStyles : '')}\n ${(props) => (props.disabled ? disabledStyles : '')}\n ${({ brandPresetUsed }) => (brandPresetUsed ? brandPresetStyles : defaultPresetStyle)}\n`\n","import { forwardRef } from 'react'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport type { SwitcherProps } from './types'\nimport { DEFAULT_PROPS, BRAND_PROPS } from './constants'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Switcher'\n\nconst Switcher = forwardRef<HTMLDivElement, SwitcherProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n const {\n value = false,\n disabled = false,\n tabIndex,\n id,\n name,\n children,\n onChange,\n ...config\n } = useConfigPriority<SwitcherProps>(theme.components?.Switcher, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof config.preset === 'string') brandPresetUsed = config.preset === 'brand'\n\n const propsByPreset = brandPresetUsed ? BRAND_PROPS : DEFAULT_PROPS\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!disabled && typeof onChange === 'function') onChange(event.target.checked, event)\n }\n\n return (\n <Styled.Root\n {...config}\n {...propsByPreset}\n ref={ref}\n checked={value}\n disabled={disabled}\n brandPresetUsed={brandPresetUsed}\n >\n <Styled.Input\n id={id}\n name={name}\n checked={value}\n type='checkbox'\n tabIndex={tabIndex}\n onChange={handleChange}\n disabled={disabled}\n />\n <Styled.Switcher htmlFor={id} {...propsByPreset} />\n {children ? <Styled.Label htmlFor={id}>{children}</Styled.Label> : null}\n </Styled.Root>\n )\n})\n\nSwitcher.displayName = COMPONENT_NAME\n\nexport { Switcher, COMPONENT_NAME }\n\nexport type { SwitcherProps }\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 { ColorProperty } from 'mixins/color'\nimport * as Styled from './style'\n\nexport interface TabProps extends ColorProperty, ColorProperty<'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 { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport { TabsTab } from './TabsTab'\nimport * as Styled from './style'\n\nexport interface TabsProps extends BaseProps, ColorProperty, ColorProperty<'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 type { Props } from 'react-floater/lib/types'\nimport { mergeDeepRight } from 'ramda'\nimport { tooltipStyles, tooltipStylesRounend, tooltipDisplayBlockStyles } from './tooltip-styles'\nimport type { TooltipDefaultProps, TooltipDefaultStyles } from './types'\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} as TooltipDefaultProps\n\nTooltip.themes = {\n tooltipStyles,\n tooltipDisplayBlockStyles,\n tooltipStylesRounend,\n} as TooltipDefaultStyles\n\nTooltip.displayName = 'Tooltip'\n\nexport type TooltipProps = Props\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 <span>{children}</span>\n </Floater>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { property, PossibleValues, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { color } from 'mixins/color'\nimport { Text as UiText, TextProps } from '../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 { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } from 'mixins/display'\nimport { BaseProps } from 'shared/interfaces'\nimport { DefaultColorNames } from 'theme/colors'\nimport { TextProps } from '../Text'\nimport * as Styled from './style'\n\nexport interface TagProps\n extends BaseProps,\n DisplayProperty,\n ColorProperty,\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\n size={14}\n forwardedAs='span'\n color={checked && !inverse ? DefaultColorNames.white : DefaultColorNames.mineShaft}\n {...textProps}\n >\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 { DefaultColorNames } from 'theme/colors'\nimport { 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={DefaultColorNames.mineShaft}>\n {content}\n </Text>\n </Styled.HeadingRoot>\n )\n}\n","import { DefaultColorNames } from 'theme/colors'\nimport { 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={DefaultColorNames.mineShaft}>\n {content}\n </Text>\n </Styled.SubHeadingRoot>\n )\n}\n","import { BaseProps } from 'shared/interfaces'\nimport { DefaultColorNames } from 'theme/colors'\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 || DefaultColorNames.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 || DefaultColorNames.accent} />\n </Styled.ControlsItem>\n ) : null}\n </Styled.ControlsRoot>\n )\n}\n","import { PureComponent } from 'react'\nimport { BaseProps } from 'shared/interfaces'\nimport { Spacer } from 'components/Spacer'\nimport { Color } from 'mixins/color'\nimport { ContextMenu, ContextMenuProps } from '../ContextMenu/ContextMenu'\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?: Color\n }\n confirm?: {\n content?: string\n onClick?(): void\n color?: Color\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 { DefaultColorNames } from 'theme/colors'\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={DefaultColorNames.mineShaft} content={content} />\n </Styled.RootItem>\n )\n}\n","/* eslint-disable no-use-before-define */\nimport { cloneElement, PureComponent } from 'react'\nimport { BaseProps } from 'shared/interfaces'\nimport { ContextMenuMultiLevel } from 'components/ContextMenu.Multilevel'\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 {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}\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","import { PossibleValues } from 'mixins/responsive-property'\nimport { SizeInput } from 'shared/enums/sizeInput'\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 && SizeInput[width]) return SizeInput[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 { InputField } from 'shared/interfaces'\nimport { chooseWidthValue } from 'components/Input/helpers'\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: auto;\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\n ? property(chooseWidthValue(props.width), props.fluid && props.width !== 'auto' ? 'max-width' : 'width')\n : 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: props.fluid && props.width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: chooseWidthValue,\n })}\n ${props.fluid\n ? css`\n width: 100%;\n `\n : null}\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, { css } from 'styled-components'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { chooseWidthValue } from 'components/Input/helpers'\nimport { baseInputStyle } from 'components/Input/style'\nimport type { StyledTextareaProps } from './types'\n\n/**\n * TODO: combine following styles durnig Input component rebranding and remove it from here\n * https://jira.netology-group.ru/browse/STOEGE-20514\n */\nconst brandTextareaStyle = css<StyledTextareaProps>`\n ${({ theme }) => `\n display: block;\n box-sizing: border-box;\n appearance: none;\n width: auto;\n resize: none;\n\n background: ${theme.colors['bg-onmain-secondary']};\n border: 1px solid ${theme.colors['border-onmain-default-large']};\n border-radius: 12px;\n padding: 12px 16px;\n\n font-style: normal;\n font-weight: 400;\n font-size: 18px;\n line-height: 24px;\n color: ${theme.colors['content-onmain-primary']};\n\n transition-property: background-color, border-color, color, caret-color;\n transition-duration: 200ms;\n transition-timing-function: ease-in;\n\n &::placeholder {\n color: ${theme.colors['content-onmain-secondary']};\n }\n\n &:focus {\n border: 1px solid ${theme.colors['border-brand-primary']};\n caret-color: ${theme.colors['border-brand-primary']};\n outline: none;\n }\n\n &:disabled {\n background-color: ${theme.colors['bg-disabled-large']};\n border-color: ${theme.colors['border-disabled']};\n color: ${theme.colors['content-disabled']};\n cursor: not-allowed;\n }\n `};\n\n ${(props) =>\n props.width\n ? property(chooseWidthValue(props.width), props.fluid && props.width !== 'auto' ? 'max-width' : 'width')\n : null}\n\n ${(props) =>\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: props.fluid && props.width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: chooseWidthValue,\n })}\n\n ${({ fluid }) => fluid && 'width: 100%;'}\n\n ${({ error, theme }) =>\n error &&\n `\n background-color: ${theme.colors['alert-bg-error-100']};\n border: 1px solid ${theme.colors['alert-bg-error-500']};\n `}\n`\n\nconst baseTextareaStyle = css`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n ${baseInputStyle}\n`\n\nexport const Root = styled.textarea\n .withConfig({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error', 'brandPresetUsed', 'theme'].includes(prop) &&\n !prop.includes('width'),\n })\n .attrs(injectDefaultTheme)<StyledTextareaProps>`\n ${({ brandPresetUsed }) => (brandPresetUsed ? brandTextareaStyle : baseTextareaStyle)}\n`\n","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { omit } from 'ramda'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport * as Styled from './style'\nimport type { TextareaProps } from './types'\n\nconst COMPONENT_NAME = 'Textarea'\n\nconst Textarea = (props: TextareaProps) => {\n const theme = useFallbackTheme()\n\n const {\n preset,\n disabled,\n error,\n fluid,\n name,\n onChange,\n maxLength,\n placeholder,\n required,\n tabIndex,\n value,\n className,\n style,\n autosize = true,\n rounded = true,\n cols = 20,\n rows = 2,\n maxRows = 30,\n color = 'mineShaft',\n placeholderColor = 'silver',\n width = theme.defaultInputControlsWidth,\n ...configProps\n } = useConfigPriority<TextareaProps>(theme.components?.[COMPONENT_NAME], omit(['children'], props))\n\n const textarea = useRef() as React.MutableRefObject<HTMLTextAreaElement>\n\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 useEffect(() => {\n if (!textarea || !textarea.current) return\n\n const el = textarea.current\n const rect = el.getBoundingClientRect()\n if (el.scrollHeight > rect.height) {\n const lh = parseInt(getComputedStyle(el).lineHeight, 10)\n const numberOfLines = Math.floor(el.scrollHeight / lh)\n if (numberOfLines <= maxRows && numberOfLines > rows) {\n setRows(numberOfLines)\n }\n }\n }, [])\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof preset === 'string') brandPresetUsed = preset === 'brand'\n\n return (\n <Styled.Root\n {...configProps}\n ref={textarea}\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 width={width}\n brandPresetUsed={brandPresetUsed}\n />\n )\n}\n\nTextarea.displayName = COMPONENT_NAME\n\nexport { Textarea, COMPONENT_NAME }\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-99999', /^(\\+?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 if (!REGEXPS.FILLED.test(oldState.value) && REGEXPS.FILLED.test(newState.value)) {\n return {\n ...newState,\n selection: newState.selection ? { start: newState.selection.start + 1, end: newState.selection.end + 1 } : null,\n }\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 { useTheme } from 'styled-components'\nimport { BaseProps, InputField } from 'shared/interfaces'\nimport { InputPhone } from 'components/Input.Phone'\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 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) {\n const theme = useTheme()\n\n const { width = theme.defaultInputControlsWidth } = props\n\n return <Styled.Root {...props} width={width} mask={props.mask || ''} />\n}\n","import styled, { css } from 'styled-components'\nimport { screenMaxS } from 'mixins/screen'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { display } from 'mixins/display'\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 {\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) => ['children', 'htmlFor'].includes(prop),\n})`\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n width: auto;\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 ${(props) =>\n !props.error\n ? css`\n circle:not(:disabled) {\n stroke: #48a1e6;\n }\n circle:not(:disabled):last-child {\n fill: #48a1e6;\n }\n `\n : null}\n }\n }\n > span {\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 ${(props) => (props.display ? display(props.display) : null)}\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) =>\n props.fluid\n ? css`\n width: 100%;\n `\n : 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 cx from 'clsx'\nimport { useTheme } from 'styled-components'\nimport { ResponsiveProperty } from 'mixins/responsive-property'\nimport { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from 'shared/interfaces'\nimport { SizeInput } from 'shared/enums/sizeInput'\nimport { RadioGroup } from './Group'\nimport * as Styled from './style'\n\ntype RadioInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'width'>\n\nexport interface RadioProps extends BaseProps, DisplayProperty, 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 fluid?: boolean\n /**\n * Width of label. Default is `Theme.defaultInputControlsWidth`\n */\n width?: ResponsiveProperty<'auto' | number | keyof typeof SizeInput>\n}\n\nRadio.defaultProps = {\n disabled: false,\n size: 'medium',\n display: 'inline-flex',\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 theme = useTheme()\n\n const {\n children,\n disabled,\n error,\n id,\n name,\n size,\n value,\n label,\n className,\n width = theme.defaultInputControlsWidth,\n style,\n fluid,\n display,\n ...anotherProps\n } = props\n\n const baseClassName = useClassname(Radio.displayName)\n const _className = cx(baseClassName, className, props.checked && !uncontrolled ? `${baseClassName}--checked` : null)\n const _labelClassName = `${baseClassName}__label`\n\n const inputProps = uncontrolled ? { defaultChecked: props.defaultChecked } : { checked: props.checked }\n\n return (\n <Styled.Root\n className={_className}\n style={style}\n disabled={disabled}\n error={error}\n htmlFor={id || name}\n size={size}\n width={width}\n display={display}\n fluid={fluid}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='radio'\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={_labelClassName}>{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, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { display } from 'mixins/display'\nimport { responsiveProperty } from 'mixins/responsive-property'\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 width: 100%;\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) => ['children'].includes(prop),\n})`\n .Select {\n position: relative;\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\n width: auto;\n ${(props) => (props.error ? error : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) => (props.fluid ? fluid : null)}\n`\n","import ReactSelect, { Async, AsyncCreatable, Creatable, ReactSelectProps } from 'react-select'\nimport { useTheme } from 'styled-components'\nimport { DisplayProperty } from 'mixins/display'\nimport { ResponsiveProperty } from 'mixins/responsive-property'\nimport { useClassname } from 'hooks/useClassname'\nimport { SizeInput } from 'shared/enums/sizeInput'\nimport { BaseProps } from 'shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SelectProps extends BaseProps, ReactSelectProps, DisplayProperty {\n fluid?: boolean\n error?: boolean\n /**\n * Width of select. Default is `Theme.defaultInputControlsWidth`\n */\n width?: ResponsiveProperty<'auto' | number | keyof typeof SizeInput>\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 display: 'inline-block',\n}\n\nSelect.displayName = 'Select'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `ReactSelectProps`\n */\nexport function Select(props: SelectProps) {\n const theme = useTheme()\n const {\n fluid,\n error,\n className,\n style,\n display,\n width = theme.defaultInputControlsWidth,\n ...reactSelectProps\n } = 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} width={width} display={display}>\n <SelectElement {...reactSelectProps} promptTextCreator={(label: string) => `Добавить \"${label}\"`} />\n </Styled.Root>\n )\n}\n","/* eslint-disable no-unused-vars */\nimport { useCallback } from 'react'\nimport { DefaultTheme, ThemeProvider as StyledThemeProvider } from 'styled-components'\nimport { mergeDeepLeft } from 'ramda'\nimport { UiGlobalStyles } from './global-styled'\nimport { defaultTheme } from './themes'\n\ninterface ThemeProviderProps {\n theme: Partial<DefaultTheme> | ((topLevelTheme: DefaultTheme) => DefaultTheme)\n children: React.ReactNode\n}\n\nexport function ThemeProvider(props: ThemeProviderProps) {\n const mergeTheme = useCallback(\n (topLevelTheme: DefaultTheme = defaultTheme): DefaultTheme => {\n const mergingTheme = props.theme\n\n if (typeof mergingTheme === 'function') {\n return mergingTheme(topLevelTheme)\n }\n\n if (typeof mergingTheme === 'object' && !Array.isArray(mergingTheme) && mergingTheme !== null) {\n return mergeDeepLeft(mergingTheme, topLevelTheme) as DefaultTheme\n }\n\n return topLevelTheme\n },\n [props.theme]\n )\n\n return (\n <StyledThemeProvider theme={mergeTheme}>\n <UiGlobalStyles />\n {props.children}\n </StyledThemeProvider>\n )\n}\n"],"names":["allowedHexColorCodes","hexToRgbA","hex","alpha","test","Error","codeGroupLength","Math","floor","length","hexCodePattern","RegExp","groupLength","r","g","b","matchAll","map","_ref","code","parseInt","padEnd","concat","DefaultColorNames","BaseColorNames","BrandColorNames","SocialColorNames","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","catalinaBlue","danube","midnightDeep","anakiva","azureRadiance","blueMarguerite","blueViolet","bossanova","capeCod","cerulean","congressBlue","congressBlueLight","creamBrulee","denim","earlyDawn","eminence","endeavour","fern","ghost","grape","gunsmoke","highland","honeyFlower","honeyFlower2","honeyFlower3","jagger","jordyBlue","jumbo","mediumPurple","midnightBlue","moodyBlue","nandor","nevada","olivine","parsley","pattensBlue","pattensBlueLight","scarletGum","scienceBlue","scienceBlue03","seance","smalt","smaltLight","tarawera","toryBlue","toryBlueDark","dodgerBlueDark","chambray","chambrayDark","pomegranateDark","azureRadiance2","curiousBlue","jungleGreen","violetDeep","stormGray","zeus","athensGray","marinerLight","royalBlue","melrose","zircon","veniceBlue","solitude","selago","coconutCream","cinderella","royalBlueDark","persianBlue","ultramarine","cornflowerBlueDark","jungleGreenDark","mountainMeadow","dodgerBlueDim","zirconDark","pizazz","madison","ebony","mediumRedViolet","fruitSaladLight","shark","azureRadianceLight","carnation","limaGreen","mysin","studio","athsSpecial","thunderbird","denimDark","puertoRico","lochmara","aliceBlue","perano","portage","royalBlueDim","sailDim","solitaire","capeHoney","fairPink","romantic","polar","cruise","selagoLight","moonRaker","pippin","yourPinkDark","peppermintLight","fringyFlower","heliotropeDark","pictonBlue","mediumPurpleRed","scooter","chambrayDim","dodgerBlueLight","selectiveYellow","scienceBlueDark","dodgerBlueDeep","kashmirBlue","turbo","denimDim","orangeRoughy","selagoDim","congressBlueNight","azureRadianceMedium","honeyFlowerDim","jaguar","kournikova","drover","flamingo","mineShaftDim","periwinkle","colonialWhiteDim","pattensBlueDeep","solitudeDim","periwinkleDim","rioGrande","kournikovaDim","UnitColorNames","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","ColorNames","_colors","keys","colorName","css","_socialColors","_unitColors","UiGlobalStyles","createGlobalStyle","SizeInput","useFallbackTheme","contextTheme","useTheme","defaultTheme","useConfigPriority","minor","major","useMemo","minorConfig","majorConfig","Set","reduce","prioritized","key","finalVal","valid","value","Boolean","_path","_extends","assign","target","i","arguments","source","hasOwnProperty","call","apply","this","SvgArrowmodule","props","React","createElement","width","height","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","SvgChevronmodule","viewBox","DIR_MAP","top","right","bottom","left","CONDITIONS","MAX","maxWidth","breakpoints","point","MIN","minWidth","RANGE","point1","point2","createMediaQuery","condition","_len","points","Array","_key","params","_len2","args","_key2","_props$theme$breakpoi","_props$theme","theme","and","screenXs","screenS","screenM","screenL","screenXl","screenMaxXxs","screenMaxXs","screenMinXs","screenMaxS","screenMinS","screenMaxM","screenMinM","screenMaxL","screenMinL","screenMaxXl","screenMinXl","SIZES_LATIN","xxxl","xxl","xl","l","m","s","xs","xxs","xxxs","FONT_SIZES_LATIN","DESKTOP_FIRST_KEYS","MOBILE_FIRST_KEYS","getLatinSizeMapByCssProperty","cssProperty","buildMediaQuery","property","screenQueryFunction","sizing","sizes","_sizeMap$value","sizeMap","size","getKey","endsWith","desktopFirst","a","aKey","bKey","findIndex","el","getMediaQueryByResponsiveProp","prop","o","t","n","undefined","includes","SCREEN_SIZE_MAP","XXS","XS","S","M","L","XL","SCREEN_SIZE_MAP_BY_DEVICE_ALIAS","desktop","tablet","mobile","responsiveNamedProperty","predefinedSizes","customSizeHandler","sort","filter","item","responsiveProperty","propName","_props$propName","_cssProperty","isArray","_templateObject","_taggedTemplateLiteral","_templateObject2","default","_templateObject3","_templateObject4","_templateObject6","_templateObject9","injectDefaultTheme","config","forwardedTheme","_objectSpread","TRANSIENT_PROPS","SIZES","DEFAULT_SIZES","pseudoBaseStyles","defaultDisabledStyles","PRESET","filled","disabled","onColored","_ref2","outline","_ref3","_ref4","PRESET_DEFAULT","_ref5","_ref6","inverse","_ref7","extractSize","brandPresetUsed","Root","styled","button","withConfig","shouldForwardProp","attrs","componentId","borderRadius","Arrow","forwardRef","ref","_theme$components","components","onClick","_useConfigPriority","configProps","_objectWithoutProperties","_excluded","preset","square","Icon","ArrowSvg","ChevronSvg","iconStyles","arrowDir","isMultiDir","values","rotateDeg","acc","transform","_jsx","Styled.Root","type","event","preventDefault","children","jsx","style","useClassname","componentName","originalClassName","cx","classNamePrefix","displayName","FORWARD_PROPS","fontSize","paddingLeft","paddingRight","SIZES_BRAND","SIZES_ROUND","lineHeight","padding","SIZES_ROUND_BRAND","PROPS_BY_SIZE","paddingLeftM","paddingRightM","paddingLeftS","paddingRightS","fontSizeM","heightM","heightS","getColor","color","_props$theme2","colorVal","textColor","fallbackColor","_color","commonPropKeyRegExp","colorSchemaPropKeyRegExp","responsiveSizePropKeyRegExp","marginPropKeyRegExp","responsiveMarginPropKeyRegExp","DEVICE_MEDIA_QUERIES","BREAKPOINTS_MEDIA_QUERIES","buildSizeCSSDeclarations","_sizes$size","cssUnit","dynamicDeclaration","declarations","responsiveSize","queries","idx","mediaQuery","sizeProperty","sizeUnits","dynamicSizeDeclaration","propKey","sizeProp","WIDTHS","baseStyles","display","fontWeight","noSpacing","loading","keyframes","spin","defaultLoadingStyles","getWidth","fluidStyles","background","danger","success","backgroundBefore","boxShadow","backgroundAfter","base","clear","fontColor","tiny","saturate","lighten","toString","inverted","basic","colorFn","paddingTop","paddingBottom","margin","marginTop","marginRight","marginBottom","marginLeft","fluid","paddingXS","paddingS","paddingM","paddingL","paddingXL","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","paddingRightXS","paddingRightL","paddingRightXL","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","paddingLeftXS","paddingLeftL","paddingLeftXL","marginXS","marginS","marginM","marginL","marginXL","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","_ref8","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","_ref9","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","_ref10","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","_ref11","fontSizeXS","fontSizeS","fontSizeL","fontSizeXL","_ref12","heightXS","heightL","heightXL","_ref13","widthXS","widthS","widthM","widthL","widthXL","_ref14","fluidXS","fluidS","fluidM","fluidL","fluidXL","IconSlot","span","Content","SpinnerIcon","CheckIcon","Button","rounded","as","_as","_type","className","_className","content","onClickCapture","onMouseEnter","onMouseLeave","round","_PROPS_BY_SIZE$size","propsBySize","componentSizes","mergeDeepLeft","classNameContent","rel","_theme$utils","relBuilder","utils","_config$href","href","autoRel","to","linkProps","Link","secondary","fontBold","leftIcon","rightIcon","icon","Styled.SpinnerIcon","Styled.CheckIcon","_jsxs","innerRef","evt","Styled.IconSlot","Styled.Content","_rect","_g","extraSmall","small","medium","large","extraLarge","BRAND_SIZES","STATIC_SIZES","inline","Input","input","Background","DefaultMask","x","y","rx","BrandMask","div","template","palette","bg","border","bgChecked","colorDisabled","borderHover","outlineFocus","templateBackground","borderChecked","bgHover","beforeBgHover","regular","error","tinycolor","setAlpha","label","Group","Checkbox","baseClassName","id","name","checked","defaultChecked","defaultInputControlsWidth","onChange","labelClassName","inputProps","htmlFor","Styled.Input","jsxs","_Fragment","Styled.Background","Styled.BrandMask","Styled.DefaultMask","Styled.Group","baseColors","zIndex","modal","tooltip","link","relStr","e","url","hostname","URL","window","location","push","join","mode","motherLightTheme","motherDarkTheme","ColorsDark","babyLightTheme","babyDarkTheme","teenLightTheme","teenDarkTheme","adultLightTheme","adultDarkTheme","vAlign","lm","pointerStyle","calcFontSize","pointer","sizeXS","sizeS","sizeM","sizeL","sizeXL","_path2","_circle","IconNames","defaultIcons","book","blackBoard","clipRule","burger","eye","email","unsort","person","diamond","diamondFilled","diamondSolid","cy","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","enableBackground","xmlSpace","coins","calendar","calendar_simple","chevronDown","chevronUp","chevronRight","chevronLeft","cross","dialog","dropDownArrow","externalLink","fillOpacity","file","fileBordered","lessons","pencil","phoneNoFill","radioChecked","radioNotChecked","search","tasks","tinyCross","sharpCross","plus","plusThin","play","reload","checkCircle","info","check","home","questionFilled","document","cancel","playPause","video","svg","dangerouslySetInnerHTML","__html","active","notDisabled","ActionBtn","wrapper","underline","pseudo","Anchor","_props$rel","_props$rel2","_props$rel3","tabIndex","rest","_display","_rel","_props$href","contentProps","onKeyDown","_rest$onClick","defaultProps","PARAMS","h1","weight","h2","h3","h4","TextHeading","h","fontFamily","Text","topXS","topS","topM","topL","topXL","rightXS","rightS","rightM","rightL","rightXL","bottomXS","bottomS","bottomM","bottomL","bottomXL","leftXS","leftS","leftM","leftL","leftXL","Spacer","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","componentDidUpdate","render","_this$props","moreText","lessText","showToggler","restProps","APPEARANCE","fontStyle","heading","subheading","body","caption","WEIGHT_MAP","lighter","normal","bold","bolder","LINE_HEIGHT_MAP","_WEIGHT_MAP$props$wei","_LINE_HEIGHT_MAP$prop","_props$margin","textAlign","underlineLinks","_props$fontUnits","fontUnits","sizeXXS","_APPEARANCE","prioritizedProps","appearanceProps","appearance","mergedProps","Heading","Ellipse","Progress","percent","percentColor","Separators","Separator","separatorColor","isEmpty","haveCircle","ProgressSegmented","segments","isActive","Styled.Progress","Styled.Separators","from","Styled.Separator","resultColor","strokeBGColor","polarToCartesian","centerX","centerY","radius","angleInDegrees","angleInRadians","PI","cos","sin","describeArc","startAngle","endAngle","reverse","start","end","diff","angleDiff","sweep","arcSweep","ProgressCircle","PureComponent","renderSvg","progress","strokeLineWidth","strokeBGWidth","progressStartAngle","thickness","center","bgStartAngle","bgEndAngle","describeArcProgress","describeArcBg","bgAngleDiff","componentDidMount","prevProps","prevProgress","prevSize","htmlContent","status","move","bgColor","isLoading","backgroundColor","Bar","_percent","Styled.Bar","Circle","Segmented","getPaddingY","column","isCompact","withImage","withTimer","getImageSize","textWrap","withCloseIcon","noIcon","withAction","withTitle","IconWrapper","getMarginRightIconWrapper","ContentWrapper","Title","Actions","CloseIcon","CancelTimer","Timer","paused","timer","countdown","setCountdown","useState","intervalId","useRef","useEffect","current","clearInterval","setInterval","prevCountdown","progressRate","ceil","countdownColor","getDefaultIcon","CloseCirlceFill","NotifFill","CheckCircleFill","WarningTriangleFill","Alert","cancelTimerText","primaryAction","primaryActionProps","secondaryAction","secondaryActionProps","customIcon","image","onClickCancelTimer","closeToast","textProps","title","titleProps","timerOnPause","setTimerOnPause","withLink","Styled.IconWrapper","Styled.Timer","Styled.ContentWrapper","Styled.Title","Styled.Link","Styled.Actions","Styled.CancelTimer","Styled.CloseIcon","Close","CurrencyCodes","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","ZERO_MINOR_PART_REGEXP","createSplitter","partSize","parts","str","Amount","renderCurrencySymbol","currencySymbol","position","currency","opacity","visibility","static","currencyCode","renderMinorPart","minorPart","showZeroMinorPart","separator","needMinorPart","digitsAfterPoint","isHeader","onlyCurrency","majorPart","isNegative","numberParts","abs","toFixed","split","majorPartFormatted","formattedValueStr","getCurrencySymbol","classNames","amountInner","SvgRectanglemodule","SvgFancymodule","shouldForwardArrowBadgeProp","predicates","cache","create","every","func","regExp","Edge","Shape","Rectangle","fancy","Fancy","after","COLOR_SCHEMA","tertiary","quaternary","cssObject","_props$marginUnits","marginUnits","breakpointsTuples","matched","match","_props$marginUnits2","tupleFound","find","tuple","propertyEntry","cursor","ArrowBadge","Styled.Edge","options","WithMergedProps","_theme$components$opt","_forwardProps$preset","forwardProps","pattern","sm","linearGenerator","withPlaceholder","WITH_PH_SIZE","shadow","autoColor","string","sum","charCodeAt","src","Avatar","getAvatarText","titleArray","trim","backgroundImage","Badge","Container","Modal","isOpen","overlayClassName","contentClassName","overlayClassNameLocal","ReactModal","portalClassName","valign","blurredOverlay","ModalClose","appElement","closeTimeoutMS","contentLabel","onAfterOpen","onRequestClose","role","shouldCloseOnOverlayClick","Styled.Modal","bodyOpenClassName","HTMLElement","setAppElement","Styled.ModalClose","zDepth","circle","Paper","Scrollable","scrollable","ts","scrollTop","scrollHeight","clientHeight","handleTouchStart","touches","clientY","handleTouchMove","isolate","scrollarea","parentNode","te","changedTouches","dir","upTouch","endTouch","handleScroll","deltaY","detail","handleUpdate","hexToRgb","result","exec","renderTrack","trackColor","trackOpacity","trackBorderRadius","trackWidth","trackStyle","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","sizeBuilder","getSize","Spinner","DEFAULT_PROPS","switcherWidth","switcherHeight","dotSize","BRAND_PROPS","Label","Switcher","disabledStyles","checkedStyles","defaultPresetStyle","inactiveColor","brandPresetStyles","propsByPreset","Styled.Switcher","Styled.Label","borderColor","activeTab","noBorder","Inner","Tab","themeKey","TabsTab","Styled.Tab","activeClassName","Tabs","classNameInner","Styled.Inner","tooltipStyles","flexDirection","wrapperPosition","floater","WebkitFilter","transition","floaterOpening","floaterWithAnimation","floaterClosing","floaterCentered","container","boxSizing","minHeight","justifyContent","borderBottom","close","WebkitAppearance","footer","borderTop","arrow","spread","tooltipDisplayBlockStyles","Tooltip","styles","tooltipStyle","mergeDeepRight","Floater","autoOpen","disableAnimation","disableFlip","disableHoverToClick","eventDelay","offset","placement","showCloseButton","wrapperOptions","component","themes","tooltipStylesRounend","textDecoration","TagInput","Tag","inputType","buttonProps","_onChange","_x","persist","_onClick","_x2","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","levelId","_acc$items$find","items","reset","itemOnClickHandler","currentTarget","dataset","preventClosing","stopPropagation","clearTimeout","tooltipProps","trigger","anotherProps","ContextMenu","onClose","Styled.MultilevelItems","Item","controls","disabledItem","notDisabledItem","hideOverlay","RootItem","disabledHandler","ContextMenuItem","Styled.RootItem","getOpen","openMenu","onOpen","closeMenu","toggleMenu","open","cloneElement","MultiLevel","overflow","chooseWidthValue","errorStyle","disabledStyle","focusStyle","roundedStyle","baseInputStyle","placeholderColor","InputMask","brandTextareaStyle","baseTextareaStyle","textarea","Textarea","omit","maxLength","placeholder","required","autosize","cols","rows","maxRows","tRows","setRows","onChangeHandler","useCallback","HTMLTextAreaElement","rect","getBoundingClientRect","lh","getComputedStyle","numberOfLines","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","Radio","uncontrolled","_labelClassName","console","log","fadeIn","Select","reactSelectProps","loadOptions","allowCreate","AsyncCreatable","Async","Creatable","ReactSelect","promptTextCreator","searchable","clearable","addLabelText","backspaceToRemoveMessage","clearAllText","clearValueText","noResultsText","searchPromptText","loadingPlaceholder","autoload","mergeTheme","topLevelTheme","mergingTheme","StyledThemeProvider"],"mappings":"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"}
|