@foxford/ui 2.18.0 → 2.19.0-beta-2d7873b-20240207

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.
Files changed (35) hide show
  1. package/components/Badge/Badge.js +1 -1
  2. package/components/Badge/Badge.js.map +1 -1
  3. package/components/Checkbox/Checkbox.js +1 -1
  4. package/components/Checkbox/Checkbox.js.map +1 -1
  5. package/components/FormLabel/FormLabel.js +2 -0
  6. package/components/FormLabel/FormLabel.js.map +1 -0
  7. package/components/FormLabel/constants.js +2 -0
  8. package/components/FormLabel/constants.js.map +1 -0
  9. package/components/FormLabel/style.js +2 -0
  10. package/components/FormLabel/style.js.map +1 -0
  11. package/components/InputCheckbox/InputCheckbox.js +2 -0
  12. package/components/InputCheckbox/InputCheckbox.js.map +1 -0
  13. package/components/InputCheckbox/constants.js +2 -0
  14. package/components/InputCheckbox/constants.js.map +1 -0
  15. package/components/InputCheckbox/images/checked.module.svg.js +2 -0
  16. package/components/InputCheckbox/images/checked.module.svg.js.map +1 -0
  17. package/components/InputCheckbox/images/indeterminate.module.svg.js +2 -0
  18. package/components/InputCheckbox/images/indeterminate.module.svg.js.map +1 -0
  19. package/components/InputCheckbox/style.js +2 -0
  20. package/components/InputCheckbox/style.js.map +1 -0
  21. package/components/InputRadio/InputRadio.js +2 -0
  22. package/components/InputRadio/InputRadio.js.map +1 -0
  23. package/components/InputRadio/constants.js +2 -0
  24. package/components/InputRadio/constants.js.map +1 -0
  25. package/components/InputRadio/style.js +2 -0
  26. package/components/InputRadio/style.js.map +1 -0
  27. package/components/Radio/Radio.js +1 -1
  28. package/components/Radio/Radio.js.map +1 -1
  29. package/dts/index.d.ts +101 -1
  30. package/index.cjs.js +1 -1
  31. package/index.cjs.js.map +1 -1
  32. package/index.js +1 -1
  33. package/package.json +2 -1
  34. package/theme/themes.js +1 -1
  35. package/theme/themes.js.map +1 -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/shared/constants.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/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/create-responsive-props.ts","../../src/shared/regexp.ts","../../src/shared/utils/style.ts","../../src/mixins/responsive-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/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/hocs/withMergedProps.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/mixins/responsive-margin.ts","../../src/components/Text/style.ts","../../src/components/Text/Text.tsx","../../src/mixins/focus.ts","../../src/components/Anchor/style.ts","../../src/components/Anchor/Anchor.tsx","../../src/components/Anchor/constants.ts","../../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/components/ArrowBadge/ArrowBadge.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/constants.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/Tab/constants.ts","../../src/components/Tab/images/arrow.module.svg","../../src/components/Tab/style.ts","../../src/components/Tab/Tab.tsx","../../src/components/Tabs/style.ts","../../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 type { CSSColor } from 'shared/types'\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 'product-bg-course' = 'product-bg-course',\n 'product-bg-tutor' = 'product-bg-tutor',\n 'product-bg-group' = 'product-bg-group',\n 'product-bg-complect' = 'product-bg-complect',\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, CSSColor> = 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, CSSColor> = 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, CSSColor> = 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 type { Breakpoint } from 'shared/types'\n\nexport const BREAKPOINTS: Readonly<Record<Lowercase<Breakpoint>, number>> = {\n xl: 1440,\n l: 1280,\n m: 1024,\n s: 768,\n xs: 374,\n xxs: 320,\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 { BREAKPOINTS } from 'shared/constants'\n\ntype MediaQueryParams = {\n and?: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n condition?: (_props: any) => boolean\n}\n\ntype ThemeBreakpoints = DefaultTheme['breakpoints']\n\ntype BreakpointKey = keyof ThemeBreakpoints\n\nconst CONDITIONS = (() => {\n const maxWidth = (breakpoints: ThemeBreakpoints, point: BreakpointKey) =>\n `(max-width: ${breakpoints[point] - 0.02}px)`\n const minWidth = (breakpoints: ThemeBreakpoints, point: BreakpointKey) => `(min-width: ${breakpoints[point]}px)`\n\n return {\n MAX: maxWidth,\n MIN: minWidth,\n RANGE: (breakpoints: ThemeBreakpoints, point1: BreakpointKey, point2: BreakpointKey) =>\n `${minWidth(breakpoints, point1)} and ${maxWidth(breakpoints, point2)}`,\n }\n})()\n\nexport const createMediaQuery =\n (condition: (_breakpoints: ThemeBreakpoints, ..._points: BreakpointKey[]) => string, ...points: BreakpointKey[]) =>\n (params?: MediaQueryParams) =>\n <T extends object>(...args: [CSSObject | TemplateStringsArray, ...Interpolation<T & ThemeProps<DefaultTheme>>[]]) =>\n (props: ThemeProps<DefaultTheme>) => {\n const contextBreakpoints = props.theme?.breakpoints ?? {}\n const breakpoints: ThemeBreakpoints = { ...BREAKPOINTS, ...contextBreakpoints }\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/types'\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/types'\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 { 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 { 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.withConfig<StyledArrowProps>({\n shouldForwardProp: (prop) => {\n return !TRANSIENT_PROPS.includes(<ArrowTransientProp>prop)\n },\n})`\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 { useTheme } from 'styled-components'\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 = useTheme()\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 { useTheme } from 'styled-components'\nimport cx from 'clsx'\n\nexport function useClassname(componentName: string, originalClassName?: string) {\n const theme = useTheme()\n return cx(`${theme.classNamePrefix}-${componentName}`, originalClassName)\n}\n","import type { Sizes, Size } from 'shared/types'\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 type { CSSColor, Color } from 'shared/types'\n\ntype ColorPropertyVariants = 'color' | 'fontColor' | `${string}Color` | `color${string}`\ntype ColorCalcProperty = (_color: CSSColor) => FlattenSimpleInterpolation | null\ntype ColorCssProperty = string | ColorCalcProperty\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 Color, props)\n\n if (typeof cssProperty === 'function') {\n return cssProperty(_color)\n }\n\n return css`\n ${cssProperty}: ${_color};\n `\n }\n","import type { CSSProperties } from 'react'\nimport { css } from 'styled-components'\nimport type { ThemedStyledProps, DefaultTheme, CSSObject, FlattenInterpolation, ThemeProps } from 'styled-components'\nimport { screenMinM, screenMaxM, screenMaxS, screenMinL, screenMaxL, screenMaxXs, screenMaxXxs } from 'mixins/screen'\nimport { getMediaQueryByResponsiveProp, desktopFirst } from 'mixins/shared'\nimport type { MediaQuery } from 'mixins/screen'\nimport type { Breakpoint } from 'shared/types'\n\ntype ResponsivePropKey = 'size' | keyof CSSProperties\n\ntype ResponsiveProps<K extends ResponsivePropKey, V> = {\n [key in K]?: V | [desktop: V, tablet: V, mobile: V] | [xl: V, l: V, m: V, s: V, xs: V, xxs: V]\n} & {\n [key in `${K}${Breakpoint}`]?: V\n}\n\ntype MediaFunction = ReturnType<ReturnType<MediaQuery>>\n\n/**\n *\n * Factory to create mixins to enable responsive interface for any set of props\n */\nfunction createResponsivePropsMixin<K extends ResponsivePropKey, V, P extends ResponsiveProps<K, V>>(\n propsKeys: K[],\n buildCSSObject: (propKey: K, propValue: V, props: ThemedStyledProps<P, DefaultTheme>) => CSSObject\n): (props: ThemedStyledProps<P, DefaultTheme>) => FlattenInterpolation<ThemeProps<DefaultTheme>> {\n const propsRegExp = new RegExp(`^(${propsKeys.join('|')})$`)\n const breakpointsPropsRegExp = new RegExp(`^(${propsKeys.join('|')})(XXS|XS|S|M|L|XL)$`)\n const breakpointsRegExp = /(XXS|XS|S|M|L|XL)$/\n\n const deviceQueries = [screenMinM, screenMaxM, screenMaxS]\n const breakpointsQueries = [screenMinL, screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMaxXxs]\n\n return (props) => {\n const propsKeys = Object.keys(props).reduce(\n (groups, propKey) => {\n if (propsRegExp.test(propKey)) groups[0].push(propKey)\n else if (breakpointsPropsRegExp.test(propKey)) groups[1].push(propKey)\n\n return groups\n },\n [[], []] as [string[], string[]]\n )\n\n const interpolations = propsKeys[0].reduce((acc, propKey) => {\n const propValue: V | V[] = props[propKey]\n\n if (!Array.isArray(propValue)) {\n acc.push(buildCSSObject(propKey as K, propValue, props))\n } else if (propValue.length > 0) {\n const mediaFunctions: MediaFunction[] = []\n const queries = propValue.length > deviceQueries.length ? breakpointsQueries : deviceQueries\n\n for (let i = 0; i < propValue.length; i++) {\n if (!queries[i]) break\n mediaFunctions.push(queries[i]()`${buildCSSObject(propKey as K, propValue[i], props)}`)\n }\n\n acc.push(...mediaFunctions)\n }\n\n return acc\n }, [] as (CSSObject | MediaFunction)[])\n\n const breakpointsInterpolations = propsKeys[1]\n .sort(desktopFirst)\n .map<MediaFunction>(\n (propKey) =>\n getMediaQueryByResponsiveProp(propKey)()`${buildCSSObject(\n propKey.replace(breakpointsRegExp, '') as K,\n props[propKey],\n props\n )}`\n )\n\n return css`\n ${interpolations}\n ${breakpointsInterpolations}\n `\n }\n}\n\nexport type { ResponsiveProps }\n\nexport { createResponsivePropsMixin }\n","export const commonPropKeyRegExp =\n /^(preset|sizeUnits|sizes|size|dynamicSizeDeclaration|marginUnits|color|backgroundColor|cursor|borderColor|palette)$/\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 {\n commonPropKeyRegExp,\n colorSchemaPropKeyRegExp,\n responsiveSizePropKeyRegExp,\n marginPropKeyRegExp,\n responsiveMarginPropKeyRegExp,\n} from 'shared/regexp'\nimport type { CSSGlobalValue } from 'shared/types'\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\nexport const isCSSGlobalValue = (value: CSSGlobalValue | string): value is CSSGlobalValue =>\n ['initial', 'inherit', 'unset', 'revert', 'revert-layer'].includes(value)\n","import type { CSSObject } from 'styled-components'\nimport { createResponsivePropsMixin } from 'mixins/create-responsive-props'\nimport { isCSSGlobalValue } from 'shared/utils/style'\nimport type { ResponsiveProps } from 'mixins/create-responsive-props'\nimport type { CSSUnit, Size, CSSGlobalValue, Sizes } from 'shared/types'\n\ntype SizeProperty = 'size'\n\ntype SizeValue = Size | CSSGlobalValue | number\n\ntype ResponsiveSizeProps = ResponsiveProps<SizeProperty, SizeValue> & {\n sizeUnits?: CSSUnit\n sizes?: Partial<Sizes>\n}\n\ntype ResponsiveSizeInterpolationProps<T extends ResponsiveSizeProps = ResponsiveSizeProps> = Omit<T, 'size' | 'sizes'> &\n Required<Pick<T, 'size'>> & {\n sizes: Sizes\n dynamicSizeDeclaration?: (size: Exclude<SizeValue, Size>, sizeUnits: CSSUnit) => CSSObject\n }\n\n/**\n *\n * Mixin enables responsive size interface\n */\nconst responsiveSize = createResponsivePropsMixin<SizeProperty, SizeValue | void, ResponsiveSizeInterpolationProps>(\n ['size'],\n (_, sizeValue, props) => {\n if (sizeValue === undefined || sizeValue === null) return {}\n\n if (typeof sizeValue === 'number' || isCSSGlobalValue(sizeValue)) {\n const cssObject =\n typeof props.dynamicSizeDeclaration === 'function'\n ? props.dynamicSizeDeclaration(sizeValue, props.sizeUnits ?? 'px')\n : { fontSize: typeof sizeValue === 'string' ? sizeValue : `${sizeValue}${props.sizeUnits ?? 'px'}` }\n\n return cssObject\n }\n\n return (props.sizes[sizeValue] ?? {}) as CSSObject\n }\n)\n\nexport type { ResponsiveSizeProps, ResponsiveSizeInterpolationProps }\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 } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { responsiveSize } from 'mixins/responsive-size'\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 = props.theme.colors.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 = 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 = props.theme.colors.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 = props.theme.colors.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 = props.theme.colors['border-oncolor-default']\n if (props.disabled) boxShadow = props.theme.colors.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.withConfig<StyledButtonProps>({\n shouldForwardProp: (prop) => {\n return FORWARD_PROPS.includes(prop) || prop.includes('data')\n },\n})`\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 { useTheme } from 'styled-components'\nimport { Link } from 'react-router-dom'\nimport { mergeDeepLeft } from 'ramda'\nimport { useClassname } from 'hooks/useClassname'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport type { Sizes } from 'shared/types'\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 = useTheme()\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, sizeUnits) => {\n return {\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\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 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.withConfig<StyledCheckboxProps>({\n shouldForwardProp: (prop) => ['children', 'htmlFor', 'style'].includes(prop),\n})`\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 { useTheme } from 'styled-components'\nimport cx from 'clsx'\nimport { useClassname } from 'hooks/useClassname'\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 = useTheme()\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 type { CSSColor } from 'shared/types'\nimport { BaseColorNames, BrandColorNames } from './colors'\n\nexport const baseColors: Readonly<Record<BaseColorNames, CSSColor>> = {\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 'product-bg-course': '#00222e',\n 'product-bg-tutor': '#232900',\n 'product-bg-group': '#202018',\n 'product-bg-complect': '#241500',\n}\n\nexport const motherColors: Readonly<Record<BrandColorNames, CSSColor>> = {\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, CSSColor>> = {\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, CSSColor>> = {\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, CSSColor>> = {\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 { BREAKPOINTS } from 'shared/constants'\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'\n\nexport const defaultTheme: DefaultTheme = {\n breakpoints: 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","import type { CSSColor } from 'shared/types'\nimport { BaseColorNames, BrandColorNames } from './colors'\n\nexport const baseColors: Readonly<Record<BaseColorNames, CSSColor>> = {\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 'product-bg-course': '#e1f5fe',\n 'product-bg-tutor': '#eaf9ae',\n 'product-bg-group': '#feffbd',\n 'product-bg-complect': '#ffebcc',\n}\n\nexport const motherColors: Readonly<Record<BrandColorNames, CSSColor>> = {\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, CSSColor>> = {\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, CSSColor>> = {\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, CSSColor>> = {\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 /** Root node polymorphic type */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n as?: React.ElementType<any>\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 as,\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 as={as}\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 as={as}\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 as={as}\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 { forwardRef } from 'react'\nimport { useTheme } from 'styled-components'\nimport { mergeDeepLeft } from 'ramda'\nimport type { DefaultTheme } from 'styled-components'\nimport type { BaseProps, ColorPaletteProps } from 'shared/interfaces'\nimport type { ResponsiveSizeProps } from 'mixins/responsive-size'\nimport type { CSSColor, Sizes, Color, ThemePreset, ColorPaletteKey } from 'shared/types'\n\nconst injectThemeColors = (\n colors: Partial<Record<ColorPaletteKey, Color>> = {},\n theme: DefaultTheme\n): Partial<Record<ColorPaletteKey, CSSColor>> =>\n Object.keys(colors).reduce((resultColors, colorKey) => {\n const color = colors[colorKey]\n resultColors[colorKey] = theme.colors[color] ?? color\n return resultColors\n }, {} as Record<ColorPaletteKey, CSSColor>)\n\nexport const withMergedProps = <\n T extends ResponsiveSizeProps & ColorPaletteProps & BaseProps,\n P extends HTMLElement = HTMLElement\n>(\n Component: React.FC<\n Omit<T, 'sizes' | 'preset' | 'palette'> & {\n sizes: Sizes\n preset: ThemePreset\n palette: Partial<Record<ColorPaletteKey, CSSColor>>\n } & React.RefAttributes<P>\n >,\n options: {\n displayName: string\n sizes: Sizes | ((props: Omit<T, 'sizes' | 'preset'> & { preset: ThemePreset }) => Sizes)\n }\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 componentSizes =\n typeof options.sizes === 'function' ? options.sizes({ ...forwardProps, preset }) : options.sizes\n const sizes = (forwardProps.sizes ? mergeDeepLeft(forwardProps.sizes, componentSizes) : componentSizes) as Sizes\n const palette = forwardProps.palette ? injectThemeColors(forwardProps.palette, theme) : {}\n\n Component.displayName = options.displayName\n\n return <Component {...forwardProps} preset={preset} sizes={sizes} palette={palette} ref={ref} />\n })\n\n WithMergedProps.displayName = `WithMergedProps${options.displayName}`\n return WithMergedProps\n}\n","import { useTheme } from 'styled-components'\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 = useTheme()\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 type { TextProps } from 'components/Text'\nimport { Spacer } from '../Spacer/Spacer'\nimport { Anchor } from '../Anchor/Anchor'\nimport { Text } 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 { Sizes } from 'shared/types'\nimport type { TypographyAppearance, TextProps } from './types'\n\nexport const APPEARANCE: Record<TypographyAppearance, Partial<Omit<TextProps, 'size' | 'appearance'>>> = {\n display: {\n lineHeight: 1,\n weight: 800,\n fontStyle: 'normal',\n },\n heading: {\n lineHeight: 1.1,\n weight: 800,\n fontStyle: 'normal',\n },\n subheading: {\n lineHeight: 1.1,\n weight: 700,\n fontStyle: 'normal',\n },\n 'subheading-compact': {\n lineHeight: 1.3,\n weight: 800,\n fontStyle: 'normal',\n },\n body: {\n lineHeight: 1.3,\n weight: 400,\n fontStyle: 'normal',\n },\n caption: {\n lineHeight: 1.2,\n weight: 400,\n fontStyle: 'normal',\n },\n}\n\nexport const SIZES: Record<TypographyAppearance, Sizes> = {\n display: {\n xxxl: {\n fontSize: 84,\n },\n xxl: {\n fontSize: 76,\n },\n xl: {\n fontSize: 68,\n },\n l: {\n fontSize: 60,\n },\n m: {\n fontSize: 52,\n },\n s: {\n fontSize: 44,\n },\n xs: {\n fontSize: 36,\n },\n xxs: {\n fontSize: 28,\n },\n xxxs: {\n fontSize: 20,\n },\n },\n heading: {\n xxxl: {\n fontSize: 64,\n },\n xxl: {\n fontSize: 56,\n },\n xl: {\n fontSize: 48,\n },\n l: {\n fontSize: 40,\n },\n m: {\n fontSize: 36,\n },\n s: {\n fontSize: 32,\n },\n xs: {\n fontSize: 28,\n },\n xxs: {\n fontSize: 24,\n },\n xxxs: {\n fontSize: 20,\n },\n },\n subheading: {\n xxxl: {\n fontSize: 52,\n },\n xxl: {\n fontSize: 46,\n },\n xl: {\n fontSize: 40,\n },\n l: {\n fontSize: 34,\n },\n m: {\n fontSize: 28,\n },\n s: {\n fontSize: 24,\n },\n xs: {\n fontSize: 20,\n },\n xxs: {\n fontSize: 16,\n },\n xxxs: {\n fontSize: 12,\n },\n },\n 'subheading-compact': {\n xxxl: {\n fontSize: 36,\n },\n xxl: {\n fontSize: 32,\n },\n xl: {\n fontSize: 28,\n },\n l: {\n fontSize: 24,\n },\n m: {\n fontSize: 20,\n },\n s: {\n fontSize: 18,\n },\n xs: {\n fontSize: 16,\n },\n xxs: {\n fontSize: 14,\n },\n xxxs: {\n fontSize: 12,\n },\n },\n body: {\n xxxl: {\n fontSize: 32,\n },\n xxl: {\n fontSize: 28,\n },\n xl: {\n fontSize: 24,\n },\n l: {\n fontSize: 20,\n },\n m: {\n fontSize: 18,\n },\n s: {\n fontSize: 16,\n },\n xs: {\n fontSize: 14,\n },\n xxs: {\n fontSize: 12,\n },\n xxxs: {\n fontSize: 10,\n },\n },\n caption: {\n xxxl: {\n fontSize: 32,\n },\n xxl: {\n fontSize: 28,\n },\n xl: {\n fontSize: 24,\n },\n l: {\n fontSize: 20,\n },\n m: {\n fontSize: 18,\n },\n s: {\n fontSize: 16,\n },\n xs: {\n fontSize: 14,\n },\n xxs: {\n fontSize: 12,\n },\n xxxs: {\n fontSize: 10,\n },\n },\n}\n\nexport const SIZES_DEFAULT: Sizes = {\n xxxl: {\n fontSize: 24,\n },\n xxl: {\n fontSize: 22,\n },\n xl: {\n fontSize: 20,\n },\n l: {\n fontSize: 18,\n },\n m: {\n fontSize: 16,\n },\n s: {\n fontSize: 14,\n },\n xs: {\n fontSize: 12,\n },\n xxs: {\n fontSize: 10,\n },\n xxxs: {\n fontSize: 8,\n },\n}\n","import type { CSSProperties } from 'react'\nimport { createResponsivePropsMixin } from 'mixins/create-responsive-props'\nimport type { ResponsiveProps } from 'mixins/create-responsive-props'\nimport type { CSSUnit } from 'shared/types'\n\ntype MarginProperty = 'margin' | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft'\n\ntype ResponsiveMarginProps = ResponsiveProps<MarginProperty, CSSProperties['margin']> & {\n marginUnits?: CSSUnit\n}\n\n/**\n *\n * Mixin enables responsive margin interface\n */\nconst responsiveMargin = createResponsivePropsMixin<MarginProperty, CSSProperties['margin'], ResponsiveMarginProps>(\n ['margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft'],\n (propKey, propValue, props) => {\n if (propValue === undefined || propValue === null) return {}\n\n return {\n [propKey]: typeof propValue === 'string' ? propValue : `${propValue}${props.marginUnits ?? 'px'}`,\n }\n }\n)\n\nexport type { ResponsiveMarginProps }\n\nexport { responsiveMargin }\n","import styled from 'styled-components'\nimport { display } from 'mixins/display'\nimport { color } from 'mixins/color'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport type { Color } from 'shared/types'\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\nconst shouldForwardTextProp = createShouldForwardProp(\n (propKey) =>\n ![\n 'appearance',\n 'fontFamily',\n 'weight',\n 'fontStyle',\n 'transform',\n 'underlineLinks',\n 'textAlign',\n 'lineHeight',\n 'content',\n 'display',\n 'chars',\n 'quoted',\n 'showZeroMinorPart',\n 'separator',\n 'underline',\n ].includes(propKey)\n)\n\nexport const Root = styled.div.withConfig<StyledTextProps>({\n shouldForwardProp: shouldForwardTextProp,\n})`\n ${(props) => `\n margin: 0;\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 ${props.lineHeight ? `line-height: ${LINE_HEIGHT_MAP[props.lineHeight] ?? props.lineHeight};` : ''}\n ${props.underline ? `border-bottom: 1px ${typeof props.underline === 'string' ? props.underline : 'solid'};` : ''}\n a {\n text-decoration: ${props.underlineLinks ? 'underline' : 'none'};\n &:hover {\n text-decoration: none;\n }\n }\n `}\n\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : color(props.theme.textColor as Color))}\n`\n","import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { useClassname } from 'hooks/useClassname'\nimport { TextHeading } from 'components/Text.Heading'\nimport { TextEllipse } from 'components/Text.Ellipse'\nimport type { TextProps } from './types'\nimport { APPEARANCE, SIZES, SIZES_DEFAULT } from './constants'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Text'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`BaseProps`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'div'>`](#/Interfaces)\n */\nconst Text: React.ForwardRefExoticComponent<TextProps> & { Heading: typeof TextHeading; Ellipse: typeof TextEllipse } =\n Object.assign(\n withMergedProps<TextProps, HTMLDivElement>(\n forwardRef((props, ref) => {\n const textProps = props.appearance ? { ...APPEARANCE[props.appearance], ...props } : props\n\n const {\n size = 'm',\n weight = 'normal',\n lineHeight = 'm',\n fontStyle = 'normal',\n className,\n content,\n children,\n ...restProps\n } = textProps\n\n const textClassName = useClassname(COMPONENT_NAME, className)\n\n if (children) {\n return (\n <Styled.Root\n {...restProps}\n size={size}\n weight={weight}\n lineHeight={lineHeight}\n fontStyle={fontStyle}\n className={textClassName}\n ref={ref}\n >\n {children}\n </Styled.Root>\n )\n }\n\n return (\n <Styled.Root\n {...restProps}\n size={size}\n weight={weight}\n lineHeight={lineHeight}\n fontStyle={fontStyle}\n className={textClassName}\n dangerouslySetInnerHTML={{ __html: content || '' }}\n ref={ref}\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n if (typeof props.appearance === 'string') {\n return SIZES[props.appearance] ?? SIZES_DEFAULT\n }\n\n return SIZES_DEFAULT\n },\n }\n ),\n {\n Heading: TextHeading,\n Ellipse: TextEllipse,\n }\n )\n\nexport { Text, COMPONENT_NAME }\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.toryBlueDark}, 0 0 0 4px ${props.theme.colors.white};\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n `\n}\n\nexport { focus }\n","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport type { ThemedStyledProps, DefaultTheme } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { getColor } from 'mixins/color'\nimport { focus } from 'mixins/focus'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { display } from 'mixins/display'\nimport type { CSSColor } from 'shared/types'\nimport type { StyledAnchorProps, AnchorPalette } from './types'\n\nconst shouldForwardAnchorProp = createShouldForwardProp(\n (propKey) => !['display', 'underline', 'onColored', 'verticalAlign', 'pseudo', 'wrapper'].includes(propKey)\n)\n\nconst template = (palette: AnchorPalette) => `\n color: ${palette.color};\n &:hover {\n color: ${palette.colorHover};\n }\n &:active {\n color: ${palette.color};\n }\n &[data-disabled=\"true\"] {\n color: ${palette.colorDisabled};\n }\n`\n\nconst COLOR_SCHEMA = {\n default: css<StyledAnchorProps>`\n ${(props) =>\n template({\n color: props.wrapper ? 'inherit' : props.theme.colors.accent,\n colorHover: props.wrapper ? 'inherit' : props.theme.colors.primary,\n colorDisabled: props.theme.colors['content-disabled'],\n ...props.palette,\n })}\n `,\n primary: css<StyledAnchorProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-link'],\n colorHover: tinycolor(props.theme.colors['content-link']).lighten(10).toString() as CSSColor,\n colorDisabled: props.theme.colors['content-disabled'],\n ...props.palette,\n })}\n `,\n onColored: css<StyledAnchorProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n colorHover: tinycolor(props.theme.colors['content-oncolor-primary']).darken(10).toString() as CSSColor,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n ...props.palette,\n })}\n `,\n}\n\nconst anchorStyles = (props: ThemedStyledProps<StyledAnchorProps, DefaultTheme>) => {\n if (props.onColored) return COLOR_SCHEMA.onColored\n return props.preset === 'brand' ? COLOR_SCHEMA.primary : COLOR_SCHEMA.default\n}\n\nexport const Root = styled.a.withConfig<StyledAnchorProps>({\n shouldForwardProp: shouldForwardAnchorProp,\n})`\n ${(props) => `\n box-sizing: border-box;\n isolation: isolate;\n transition-property: color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n cursor: ${props.cursor ?? 'pointer'};\n vertical-align: ${\n props.verticalAlign\n ? `${typeof props.verticalAlign === 'string' ? props.verticalAlign : 'text-bottom'}`\n : 'baseline'\n };\n ${\n props.preset === 'brand'\n ? `\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n text-decoration: none;\n `\n : `\n display: ${props.wrapper ? 'block' : 'inline-block'};\n text-decoration-line: ${props.underline === true ? 'underline' : 'none'};\n border-bottom: ${\n props.pseudo || typeof props.underline === 'string'\n ? `1px ${typeof props.underline === 'string' ? props.underline : 'dashed'}`\n : 'none'\n };\n `\n }\n \n `}\n\n ${anchorStyles}\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n \n ${(props) => props.display && display(props.display)}\n ${(props) => props.color && `color: ${getColor(props.color, props)};`}\n`\n","import { forwardRef } from 'react'\nimport { Link } from 'react-router-dom'\nimport { useTheme } from 'styled-components'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { useClassname } from 'hooks/useClassname'\nimport { Text } from 'components/Text'\nimport { Icon } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport { SIZES } from './constants'\nimport * as Styled from './style'\nimport type { AnchorProps } from './types'\n\nconst COMPONENT_NAME = 'Anchor'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`ColorPaletteProps<keyof AnchorPalette>`](#/Interfaces)\n * - [`TypographyProps`](#/Interfaces)\n * - [`BaseProps`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'a'>`](#/Interfaces)\n */\nconst Anchor: React.ForwardRefExoticComponent<AnchorProps> = withMergedProps<AnchorProps, HTMLAnchorElement>(\n forwardRef((props, ref) => {\n const {\n size = 'inherit',\n autoRel = true,\n textProps = {},\n iconProps = {},\n icon,\n children,\n content,\n ...restProps\n } = props\n\n const contentProps = content ? { dangerouslySetInnerHTML: { __html: content } } : {}\n\n const theme = useTheme()\n\n const className = useClassname(COMPONENT_NAME, restProps.className)\n const relBuilder = theme.utils?.relBuilder\n const href = restProps.href ?? restProps.to\n\n const rel =\n restProps.rel ??\n (autoRel && relBuilder && typeof href === 'string' ? relBuilder(href, restProps.target) : undefined)\n\n const [before, after] = Array.isArray(icon) ? icon : [icon]\n\n const baseTextProps: TextProps = {\n as: 'span',\n size: 'inherit',\n color: 'inherit',\n underline: restProps.underline,\n marginLeft: before ? '0.25em' : undefined,\n marginRight: after ? '0.25em' : undefined,\n }\n\n const iconBaseProps: IconProps = { as: 'span', color: 'inherit' }\n\n let rootNode\n if (restProps.to) rootNode = Link\n if (restProps.pseudo) rootNode = 'div'\n if (restProps.disabled) rootNode = 'span'\n if (restProps.as) rootNode = restProps.as\n\n return (\n <Styled.Root\n {...contentProps}\n {...restProps}\n ref={ref}\n as={rootNode}\n className={className}\n size={size}\n rel={rel}\n data-disabled={restProps.disabled}\n >\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps, iconBaseProps, iconProps, icon })\n ) : props.preset === 'brand' ? (\n <>\n {before && <Icon icon={before} {...iconBaseProps} {...iconProps} />}\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n {after && <Icon icon={after} {...iconBaseProps} {...iconProps} />}\n </>\n ) : (\n children\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Anchor, COMPONENT_NAME }\n","import type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n fontSize: 24,\n },\n xxl: {\n fontSize: 22,\n },\n xl: {\n fontSize: 20,\n },\n l: {\n fontSize: 18,\n },\n m: {\n fontSize: 16,\n },\n s: {\n fontSize: 14,\n },\n xs: {\n fontSize: 12,\n },\n xxs: {\n fontSize: 10,\n },\n xxxs: {\n fontSize: 8,\n },\n}\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'\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.withConfig<RootAlertProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'onMouseEnter', 'onMouseLeave', 'style'].includes(prop),\n})`\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 { CSSColor } from 'shared/types'\n\nimport type { AlertProps } from './types'\n\nexport const countdownColor = ({ theme, type }: Pick<AlertProps, 'type'> & { theme: DefaultTheme }): CSSColor => {\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 { useTheme } from 'styled-components'\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'\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 = useTheme()\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 if (timer) {\n setTimerOnPause(true)\n }\n }\n\n const handleMouseLeave = () => {\n if (timer) {\n setTimerOnPause(false)\n }\n }\n\n return (\n <Styled.Root\n className={_className}\n clear={clear}\n column={column}\n isCompact={isCompact}\n noIcon={noIcon}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={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='default'\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 { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\nimport { CurrencyCodes, CURRENCY_MAP } from './data'\nimport * as Styled from './style'\n\nexport interface AmountProps extends TextProps {\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/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { getColor } from 'mixins/color'\nimport { focus } from 'mixins/focus'\nimport type { StyledArrowBadgeProps, StyledArrowBadgeEdgeProps, ArrowBadgePalette } 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 height: 100%;\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: ArrowBadgePalette) => `\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<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-200'],\n ...props.palette,\n })}\n `,\n secondary: css<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-secondary-200'],\n ...props.palette,\n })}\n `,\n tertiary: css<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-tertiary-200'],\n ...props.palette,\n })}\n `,\n quaternary: css<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-quaternary-200'],\n ...props.palette,\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(<Required<Pick<StyledArrowBadgeProps, 'dynamicSizeDeclaration'>>>{\n dynamicSizeDeclaration: (size, sizeUnits) => {\n return {\n height: '1.8em',\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n }\n },\n })`\n box-sizing: border-box;\n isolation: isolate;\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 { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\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 * - [`ColorPaletteProps<keyof ArrowBadgePalette>`](#/Interfaces)\n * - [`TypographyProps`](#/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', textProps = {}, children, left, right, fancy, ...restProps } = props\n\n const baseTextProps: TextProps = { as: 'div', size: 'inherit', color: 'inherit' }\n\n return (\n <Styled.Root {...restProps} size={size} ref={ref}>\n <Styled.Edge left={left} right={right} fancy={fancy} />\n <Styled.Content>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </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 type { Sizes } from 'shared/types'\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 type { ThemedStyledProps, DefaultTheme } from 'styled-components'\nimport { color } from 'mixins/color'\nimport { display } from 'mixins/display'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { focus } from 'mixins/focus'\nimport type { StyledBadgeProps, BadgePalette } from './types'\n\nconst shouldForwardBadgeProp = createShouldForwardProp(\n (propKey) => !['round', 'content', 'borderRadius', 'resetDefaultMargin', 'display'].includes(propKey)\n)\n\nconst template = (palette: BadgePalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n`\n\nconst COLOR_SCHEMA = {\n primary: css<StyledBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100'],\n ...props.palette,\n })}\n `,\n secondary: css<StyledBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-secondary-100'],\n ...props.palette,\n })}\n `,\n tertiary: css<StyledBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-tertiary-100'],\n ...props.palette,\n })}\n `,\n quaternary: css<StyledBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-quaternary-100'],\n ...props.palette,\n })}\n `,\n}\n\nconst badgeStyles = (props: ThemedStyledProps<StyledBadgeProps, 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<StyledBadgeProps>({\n shouldForwardProp: shouldForwardBadgeProp,\n })\n .attrs<StyledBadgeProps>(\n (props): Required<Pick<StyledBadgeProps, 'dynamicSizeDeclaration'>> => ({\n dynamicSizeDeclaration: (size, sizeUnits) => {\n return {\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n height: '1.8em',\n width: props.round ? '1.8em' : undefined,\n paddingRight: props.round ? undefined : '0.6em',\n paddingLeft: props.round ? undefined : '0.6em',\n }\n },\n })\n )`\n ${(props) => {\n const borderRadius = typeof props.borderRadius === 'number' ? `${props.borderRadius}px` : props.borderRadius\n\n return `\n box-sizing: border-box;\n isolation: isolate;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: max-content;\n flex-shrink: 0;\n border-radius: ${props.round ? '50%' : borderRadius};\n `\n }}\n\n ${badgeStyles}\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => props.cursor && `cursor: ${props.cursor};`}\n ${(props) => props.color && color(props.color, 'background-color')}\n ${(props) => props.display && display(props.display)}\n ${(props) => !props.resetDefaultMargin && '&:not(:last-child) { margin-right: 8px; }'}\n`\n","import type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n height: 34,\n fontSize: 22,\n paddingRight: 10,\n paddingLeft: 10,\n },\n xxl: {\n height: 32,\n fontSize: 20,\n paddingRight: 10,\n paddingLeft: 10,\n },\n xl: {\n height: 30,\n fontSize: 18,\n paddingRight: 10,\n paddingLeft: 10,\n },\n l: {\n height: 28,\n fontSize: 16,\n paddingRight: 8,\n paddingLeft: 8,\n },\n m: {\n height: 26,\n fontSize: 14,\n paddingRight: 8,\n paddingLeft: 8,\n },\n s: {\n height: 24,\n fontSize: 12,\n paddingRight: 8,\n paddingLeft: 8,\n },\n xs: {\n height: 22,\n fontSize: 10,\n paddingRight: 6,\n paddingLeft: 6,\n },\n xxs: {\n height: 20,\n fontSize: 10,\n paddingRight: 6,\n paddingLeft: 6,\n },\n xxxs: {\n height: 18,\n fontSize: 10,\n paddingRight: 6,\n paddingLeft: 6,\n },\n}\n\nexport const SIZES_ROUND: Sizes = {\n xxxl: {\n height: 34,\n width: 34,\n fontSize: 22,\n },\n xxl: {\n height: 32,\n width: 32,\n fontSize: 20,\n },\n xl: {\n height: 30,\n width: 30,\n fontSize: 18,\n },\n l: {\n height: 28,\n width: 28,\n fontSize: 16,\n },\n m: {\n height: 26,\n width: 26,\n fontSize: 14,\n },\n s: {\n height: 24,\n width: 24,\n fontSize: 12,\n },\n xs: {\n height: 22,\n width: 22,\n fontSize: 10,\n },\n xxs: {\n height: 20,\n width: 20,\n fontSize: 10,\n },\n xxxs: {\n height: 18,\n width: 18,\n fontSize: 10,\n },\n}\n","import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport { Icon } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport * as Styled from './style'\nimport { SIZES, SIZES_ROUND } from './constants'\nimport type { BadgeProps } from './types'\n\nconst COMPONENT_NAME = 'Badge'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`ColorSchemaProps`](#/Interfaces)\n * - [`ColorPaletteProps<keyof BadgePalette>`](#/Interfaces)\n * - [`TypographyProps`](#/Interfaces)\n * - [`BaseProps`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'div'>`](#/Interfaces)\n */\nexport const Badge: React.ForwardRefExoticComponent<BadgeProps> = withMergedProps<BadgeProps, HTMLDivElement>(\n forwardRef((props, ref) => {\n const {\n size = 's',\n borderRadius = 3,\n textProps = {},\n iconProps = {},\n children,\n content,\n icon,\n ...restProps\n } = props\n\n const [before, after] = Array.isArray(icon) ? icon : [icon]\n\n const baseTextProps: TextProps = {\n as: 'span',\n size: 'inherit',\n color: 'inherit',\n marginLeft: before ? '0.5em' : undefined,\n marginRight: after ? '0.5em' : undefined,\n }\n const iconBaseProps: IconProps = { color: 'inherit' }\n\n return (\n <Styled.Root {...restProps} size={size} borderRadius={borderRadius} ref={ref}>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps, iconBaseProps, iconProps, icon })\n ) : (\n <>\n {before && <Icon icon={before} {...iconBaseProps} {...iconProps} />}\n {(children || content) && (\n <Text {...baseTextProps} {...textProps}>\n {children || content}\n </Text>\n )}\n {after && <Icon icon={after} {...iconBaseProps} {...iconProps} />}\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => (props.round ? SIZES_ROUND : SIZES),\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 { 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.withConfig<StyledSwitcherProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\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 { useTheme } from 'styled-components'\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 = useTheme()\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 type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n height: 60,\n fontSize: 20,\n },\n xxl: {\n height: 56,\n fontSize: 20,\n },\n xl: {\n height: 52,\n fontSize: 18,\n },\n l: {\n height: 48,\n fontSize: 18,\n },\n m: {\n height: 44,\n fontSize: 16,\n },\n s: {\n height: 40,\n fontSize: 16,\n },\n xs: {\n height: 36,\n fontSize: 14,\n },\n xxs: {\n height: 32,\n fontSize: 14,\n },\n xxxs: {\n height: 28,\n fontSize: 12,\n },\n}\n\nexport const SIZES_DEFAULT: Sizes = {\n xxxl: {},\n xxl: {},\n xl: {},\n l: {},\n m: {},\n s: {},\n xs: {},\n xxs: {},\n xxxs: {},\n}\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 21 48\" fill=\"none\" preserveAspectRatio=\"none\"><path d=\"M22 0h-3L1 24l18 24h3\" fill=\"currentcolor\"/></svg>","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport type { ThemedStyledProps, DefaultTheme } from 'styled-components'\nimport { getColor } from 'mixins/color'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { focus } from 'mixins/focus'\nimport type { CSSColor } from 'shared/types'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport type { StyledTabProps, StyledTabEdgeProps, TabPalette } from './types'\nimport Arrow from './images/arrow.module.svg'\n\nconst shouldForwardTabProp = createShouldForwardProp(\n (propKey) =>\n ![\n 'active',\n 'compact',\n 'crispy',\n 'crispyCompact',\n 'tabTheme',\n 'left',\n 'right',\n 'rounded',\n 'outline',\n 'onColored',\n ].includes(propKey)\n)\n\nconst DEFAULT_STYLES = {\n default: css<StyledTabProps>`\n ${(props) => `\n font-size: 16px;\n font-weight: bold;\n padding-bottom: 12px;\n color: ${props.active ? props.theme.colors.primary : props.theme.colors.mineShaft};\n border-bottom: 2px solid ${props.active ? 'currentcolor' : 'transparent'};\n &:hover {\n color: ${props.theme.colors.primary};\n }\n &.active {\n color: ${props.theme.colors.primary};\n border-bottom-color: currentcolor;\n }\n & + & {\n margin-left: 60px;\n }\n `}\n `,\n compact: css<StyledTabProps>`\n ${(props) => `\n font-size: 16px;\n font-weight: normal;\n padding-bottom: 10px;\n color: ${props.active ? props.theme.colors.primary : props.theme.colors.mineShaft};\n border-bottom: 2px solid ${props.active ? 'currentcolor' : 'transparent'};\n &:hover {\n color: ${props.theme.colors.primary};\n }\n &.active {\n color: ${props.theme.colors.primary};\n border-bottom-color: currentcolor;\n }\n & + & {\n margin-left: 20px;\n }\n `}\n `,\n crispyCompact: css<StyledTabProps>`\n ${(props) => `\n font-size: 12px;\n font-weight: bold;\n padding-bottom: 6px;\n text-transform: uppercase;\n color: ${props.active ? props.theme.colors.primary : props.theme.colors.mineShaft};\n border-bottom: 2px solid ${props.active ? 'currentcolor' : 'transparent'};\n &:hover {\n color: ${props.theme.colors.primary};\n }\n &.active {\n color: ${props.theme.colors.primary};\n border-bottom-color: currentcolor;\n }\n & + & {\n margin-left: 18px;\n }\n `}\n `,\n crispy: css<StyledTabProps>`\n ${(props) => `\n font-size: 12px;\n font-weight: bold;\n padding-bottom: 14px;\n text-transform: uppercase;\n color: ${props.active ? props.theme.colors.primary : props.theme.colors.mineShaft};\n border-bottom: 2px solid ${props.active ? 'currentcolor' : 'transparent'};\n &:hover {\n color: ${props.theme.colors.primary};\n }\n &.active {\n color: ${props.theme.colors.primary};\n border-bottom-color: currentcolor;\n }\n & + & {\n margin-left: 32px;\n }\n `}\n `,\n}\n\nexport const Content = styled.span`\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n flex-grow: 1;\n flex-shrink: 0;\n height: 100%;\n padding: 0 1em;\n border: 1px solid transparent;\n`\n\nexport const Edge = styled(Arrow).withConfig({\n shouldForwardProp: () => false,\n})<StyledTabEdgeProps>`\n flex-shrink: 0;\n height: 100%;\n ${(props) => props.after && 'transform: rotate(180deg);'}\n`\n\nconst template = (palette: TabPalette) => `\n &:hover > ${Content} {\n color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n border-color: ${palette.borderColorHover};\n }\n &:hover > ${Edge} {\n color: ${palette.backgroundColorHover};\n stroke: ${palette.borderColorHover};\n }\n & > ${Content},\n &:active > ${Content} {\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n }\n & > ${Edge},\n &:active > ${Edge} {\n color: ${palette.backgroundColor};\n stroke: ${palette.borderColor};\n }\n &:disabled > ${Content} {\n color: ${palette.colorDisabled};\n background-color: ${palette.backgroundColorDisabled};\n border-color: ${palette.borderColorDisabled};\n }\n &:disabled > ${Edge} {\n color: ${palette.backgroundColorDisabled};\n stroke: ${palette.borderColorDisabled};\n }\n`\n\nconst COLOR_SCHEMA = {\n default: {\n filled: css<StyledTabProps>`\n ${(props) =>\n template({\n color: props.active\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-primary'],\n backgroundColor: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['bg-onmain-tertiary'],\n borderColor: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['bg-onmain-tertiary'],\n colorHover: props.active\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(6).toString() as CSSColor),\n borderColorHover: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(6).toString() as CSSColor),\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors['bg-disabled-large'],\n ...props.palette,\n })}\n `,\n outline: css<StyledTabProps>`\n ${(props) => {\n return template({\n color: props.active\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-primary'],\n backgroundColor: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['bg-onmain-primary'],\n borderColor: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['border-onmain-default-large'],\n colorHover: props.active\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['bg-onmain-tertiary'],\n borderColorHover: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['border-onmain-default-large'],\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors['bg-disabled-large'],\n ...props.palette,\n })\n }}\n `,\n },\n onColored: {\n filled: css<StyledTabProps>`\n ${(props) =>\n template({\n color: props.active\n ? props.theme.colors['content-brand-primary']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.active\n ? props.theme.colors['bg-onmain-primary']\n : (tinycolor(props.theme.colors['bg-brand-primary-500']).lighten(10).toString() as CSSColor),\n borderColor: props.active\n ? props.theme.colors['bg-onmain-primary']\n : (tinycolor(props.theme.colors['bg-brand-primary-500']).lighten(10).toString() as CSSColor),\n colorHover: props.active\n ? props.theme.colors['content-brand-primary']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.active\n ? props.theme.colors['bg-onmain-primary']\n : (tinycolor(props.theme.colors['bg-brand-primary-500']).lighten(5).toString() as CSSColor),\n borderColorHover: props.active\n ? props.theme.colors['bg-onmain-primary']\n : (tinycolor(props.theme.colors['bg-brand-primary-500']).lighten(5).toString() as CSSColor),\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-small'],\n borderColorDisabled: props.theme.colors['bg-disabled-small'],\n ...props.palette,\n })}\n `,\n outline: css<StyledTabProps>`\n ${(props) =>\n template({\n color: props.active\n ? props.theme.colors['content-brand-primary']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.active\n ? props.theme.colors['bg-onmain-primary']\n : props.theme.colors['bg-brand-primary-500'],\n borderColor: props.theme.colors['bg-onmain-primary'],\n colorHover: props.active\n ? props.theme.colors['content-brand-primary']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.active\n ? props.theme.colors['bg-onmain-primary']\n : (tinycolor(props.theme.colors['bg-brand-primary-500']).darken(3).toString() as CSSColor),\n borderColorHover: props.theme.colors['bg-onmain-primary'],\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-small'],\n borderColorDisabled: props.theme.colors['bg-disabled-small'],\n ...props.palette,\n })}\n `,\n },\n}\n\nconst tabStyles = (props: ThemedStyledProps<StyledTabProps, DefaultTheme>) => {\n if (props.preset === 'brand') {\n const schema = props.onColored ? COLOR_SCHEMA.onColored : COLOR_SCHEMA.default\n return props.outline ? schema.outline : schema.filled\n }\n\n if (props.compact || props.tabTheme === 'compact') return DEFAULT_STYLES.compact\n if (props.crispyCompact || props.tabTheme === 'crispyCompact') return DEFAULT_STYLES.crispyCompact\n if (props.crispy || props.tabTheme === 'crispy') return DEFAULT_STYLES.crispy\n\n return DEFAULT_STYLES.default\n}\n\nexport const Root = styled.button\n .withConfig<StyledTabProps>({\n shouldForwardProp: shouldForwardTabProp,\n })\n .attrs(<Required<Pick<StyledTabProps, 'dynamicSizeDeclaration'>>>{\n dynamicSizeDeclaration: (size, sizeUnits) => {\n return {\n height: '2.8em',\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n }\n },\n })`\n ${(props) => {\n const radius = props.rounded ? 8 : 0\n const leftRadius = props.left ? 0 : radius\n const rightRadius = props.right ? 0 : radius\n\n return `\n display: ${props.preset === 'brand' ? 'inline-flex' : 'inline-block'};\n cursor: ${props.cursor ?? 'pointer'};\n isolation: isolate;\n flex-shrink: 0;\n appearance: none;\n padding: 0;\n border: none;\n background-color: transparent;\n text-decoration: none;\n width: max-content;\n &,\n & > ${Content}, \n & > ${Edge} {\n box-sizing: border-box;\n transition-property: color, background-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n & > ${Content} {\n border-radius: ${leftRadius}px ${rightRadius}px ${rightRadius}px ${leftRadius}px;\n border-left-style: ${props.left ? 'none' : 'solid'};\n border-right-style: ${props.right ? 'none' : 'solid'};\n margin-left: ${props.left ? -2 : 0}px;\n margin-right: ${props.right ? -2 : 0}px;\n }\n `\n }}\n\n ${tabStyles}\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => props.color && `color: ${getColor(props.color, props)};`}\n ${(props) => props.borderColor && `border-color: ${getColor(props.borderColor, props)};`}\n`\n","import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\nimport { SIZES, SIZES_DEFAULT } from './constants'\nimport * as Styled from './style'\nimport type { TabProps } from './types'\n\nconst COMPONENT_NAME = 'Tab'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`ColorPaletteProps<keyof TabPalette>`](#/Interfaces)\n * - [`TypographyProps`](#/Interfaces)\n * - [`BaseProps`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'button'>`](#/Interfaces)\n */\nconst Tab: React.ForwardRefExoticComponent<TabProps> = withMergedProps<TabProps, HTMLButtonElement>(\n forwardRef((props, ref) => {\n const { size = 'm', type = 'button', textProps = {}, children, theme, ...restProps } = props\n\n const baseTextProps: TextProps = { as: 'span', size: 'inherit', color: 'inherit', weight: 'inherit' }\n\n return (\n <Styled.Root\n {...restProps}\n size={size}\n tabTheme={theme}\n type={restProps.as === undefined ? type : undefined}\n ref={ref}\n >\n {restProps.preset === 'brand' ? (\n <>\n {restProps.left && <Styled.Edge />}\n <Styled.Content>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </Styled.Content>\n {restProps.right && <Styled.Edge after />}\n </>\n ) : (\n <>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n return props.preset === 'brand' ? SIZES : SIZES_DEFAULT\n },\n }\n)\n\nexport { Tab, COMPONENT_NAME }\n","import styled, { css } from 'styled-components'\nimport { color } from 'mixins/color'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { TabsProps } from './Tabs'\n\nconst BEFORE_AFTER_SHADOW_WIDTH = 20\n\nconst borderColor = (color: string) => css`\n border-bottom: 1px solid ${color};\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 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 position: relative;\n z-index: 1;\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","import { ResponsiveProperty } from 'mixins/responsive-property'\nimport { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport { Tab } from 'components/Tab'\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 = Tab\n\n/**\n *\n * Use only with default preset\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 } from 'components/Text'\nimport type { TextProps } from 'components/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 type { BaseProps } from 'shared/interfaces'\nimport type { TextProps } from 'components/Text'\nimport { DefaultColorNames } from 'theme/colors'\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 type { BaseProps } from 'shared/interfaces'\nimport type { Color } from 'shared/types'\nimport { Spacer } from 'components/Spacer'\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 { 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.withConfig<StyledTextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error', 'brandPresetUsed', 'theme'].includes(prop) &&\n !prop.includes('width'),\n})`\n ${({ brandPresetUsed }) => (brandPresetUsed ? brandTextareaStyle : baseTextareaStyle)}\n`\n","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useTheme } from 'styled-components'\nimport { omit } from 'ramda'\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 = useTheme()\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","BREAKPOINTS","xl","l","m","s","xs","xxs","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","contextBreakpoints","theme","_objectSpread","default","undefined","and","screenXs","screenS","screenM","screenL","screenXl","screenMaxXxs","screenMaxXs","screenMinXs","screenMaxS","screenMinS","screenMaxM","screenMinM","screenMaxL","screenMinL","screenMaxXl","screenMinXl","SIZES_LATIN","xxxl","xxl","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","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","_templateObject3","_templateObject4","_templateObject6","_templateObject9","TRANSIENT_PROPS","SIZES","DEFAULT_SIZES","pseudoBaseStyles","defaultDisabledStyles","PRESET","filled","disabled","onColored","_ref2","outline","_ref3","_ref4","PRESET_DEFAULT","_ref5","_ref6","inverse","_ref7","extractSize","config","brandPresetUsed","Root","styled","button","withConfig","shouldForwardProp","componentId","borderRadius","Arrow","forwardRef","ref","_theme$components","useTheme","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","createResponsivePropsMixin","propsKeys","buildCSSObject","propsRegExp","join","breakpointsPropsRegExp","breakpointsRegExp","deviceQueries","breakpointsQueries","groups","propKey","push","interpolations","propValue","mediaFunctions","queries","breakpointsInterpolations","replace","commonPropKeyRegExp","colorSchemaPropKeyRegExp","responsiveSizePropKeyRegExp","marginPropKeyRegExp","responsiveMarginPropKeyRegExp","createShouldForwardProp","predicates","cache","create","every","func","regExp","responsiveSize","_","sizeValue","_props$sizes$sizeValu","dynamicSizeDeclaration","sizeUnits","_props$sizeUnits","_props$sizeUnits2","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","defaultTheme","zIndex","modal","tooltip","link","relStr","e","url","hostname","URL","window","location","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","withMergedProps","Component","options","WithMergedProps","_theme$components$opt","_forwardProps$preset","forwardProps","resultColors","colorKey","_theme$colors$color","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","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","Anchor","pseudo","APPEARANCE","fontStyle","heading","subheading","body","caption","SIZES_DEFAULT","responsiveMargin","_props$marginUnits","marginUnits","WEIGHT_MAP","lighter","normal","bold","bolder","LINE_HEIGHT_MAP","shouldForwardTextProp","_WEIGHT_MAP$props$wei","_LINE_HEIGHT_MAP$prop","textAlign","underline","underlineLinks","textProps","appearance","textClassName","_SIZES$props$appearan","Heading","Ellipse","focus","shouldForwardAnchorProp","colorHover","COLOR_SCHEMA","wrapper","darken","_props$cursor","cursor","verticalAlign","_restProps$href","_restProps$rel","iconProps","contentProps","before","after","baseTextProps","iconBaseProps","rootNode","Progress","percent","percentColor","Separators","Separator","separatorColor","isEmpty","haveCircle","ProgressSegmented","segments","isActive","Styled.Progress","Styled.Separators","from","Styled.Separator","defaultProps","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","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","rest","majorPart","isNegative","numberParts","abs","toFixed","split","majorPartFormatted","formattedValueStr","getCurrencySymbol","classNames","amountInner","SvgRectanglemodule","SvgFancymodule","shouldForwardArrowBadgeProp","Edge","attrs","Shape","Rectangle","fancy","Fancy","tertiary","quaternary","ArrowBadge","Styled.Edge","pattern","sm","linearGenerator","withPlaceholder","WITH_PH_SIZE","shadow","autoColor","string","sum","charCodeAt","src","Avatar","getAvatarText","titleArray","trim","backgroundImage","shouldForwardBadgeProp","resetDefaultMargin","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","tabIndex","propsByPreset","Styled.Switcher","Styled.Label","shouldForwardTabProp","DEFAULT_STYLES","compact","crispyCompact","crispy","preserveAspectRatio","backgroundColorHover","borderColorHover","borderColor","backgroundColorDisabled","borderColorDisabled","leftRadius","rightRadius","schema","tabTheme","Tab","noBorder","Inner","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","find","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","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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"}
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/shared/constants.ts","../../src/theme/colors-dark.ts","../../src/theme/themes.ts","../../src/theme/colors-light.ts","../../src/shared/utils/rel-builder.ts","../../src/mixins/screen.ts","../../src/mixins/shared.ts","../../src/mixins/responsive-property.ts","../../src/mixins/color.ts","../../src/mixins/vAlign.ts","../../src/hooks/useClassname.ts","../../src/components/Icon/style.ts","../../src/components/Icon/images/book.module.svg","../../src/components/Icon/images/blackBoard.module.svg","../../src/components/Icon/images/burger.module.svg","../../src/components/Icon/images/eye.module.svg","../../src/components/Icon/images/email.module.svg","../../src/components/Icon/images/sort.module.svg","../../src/components/Icon/images/unsort.module.svg","../../src/components/Icon/images/person.module.svg","../../src/components/Icon/images/diamond.module.svg","../../src/components/Icon/images/diamondFilled.module.svg","../../src/components/Icon/images/diamondSolid.module.svg","../../src/components/Icon/images/infoInverse.module.svg","../../src/components/Icon/images/list.module.svg","../../src/components/Icon/images/login.module.svg","../../src/components/Icon/images/logout.module.svg","../../src/components/Icon/images/fire.module.svg","../../src/components/Icon/images/camps.module.svg","../../src/components/Icon/images/cart.module.svg","../../src/components/Icon/images/clock.module.svg","../../src/components/Icon/images/clockFilled.module.svg","../../src/components/Icon/images/courses.module.svg","../../src/components/Icon/images/discount.module.svg","../../src/components/Icon/images/externat.module.svg","../../src/components/Icon/images/headphones.module.svg","../../src/components/Icon/images/priceTag.module.svg","../../src/components/Icon/images/prof.module.svg","../../src/components/Icon/images/phone.module.svg","../../src/components/Icon/images/star.module.svg","../../src/components/Icon/images/settings.module.svg","../../src/components/Icon/images/student.module.svg","../../src/components/Icon/images/target.module.svg","../../src/components/Icon/images/textbook.module.svg","../../src/components/Icon/images/trophy.module.svg","../../src/components/Icon/images/message.module.svg","../../src/components/Icon/images/wallet.module.svg","../../src/components/Icon/images/edit.module.svg","../../src/components/Icon/images/copy.module.svg","../../src/components/Icon/images/page.module.svg","../../src/components/Icon/images/print.module.svg","../../src/components/Icon/images/objective.module.svg","../../src/components/Icon/images/present.module.svg","../../src/components/Icon/images/coins.module.svg","../../src/components/Icon/icons.tsx","../../src/components/Icon/Icon.tsx","../../src/mixins/display.ts","../../src/components/ActionBtn/style.ts","../../src/components/ActionBtn/ActionBtn.tsx","../../src/hooks/use-config-priority.ts","../../src/hocs/withMergedProps.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/mixins/create-responsive-props.ts","../../src/shared/regexp.ts","../../src/shared/utils/style.ts","../../src/mixins/responsive-size.ts","../../src/mixins/responsive-margin.ts","../../src/components/Text/style.ts","../../src/components/Text/Text.tsx","../../src/mixins/focus.ts","../../src/components/Anchor/style.ts","../../src/components/Anchor/Anchor.tsx","../../src/components/Anchor/constants.ts","../../src/components/Button/constants.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/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/Arrow/images/arrow.module.svg","../../src/components/Arrow/images/chevron.module.svg","../../src/components/Arrow/utils.ts","../../src/components/Arrow/constants.ts","../../src/components/Arrow/style.ts","../../src/components/Arrow/Arrow.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/components/ArrowBadge/ArrowBadge.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/constants.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/Tab/constants.ts","../../src/components/Tab/images/arrow.module.svg","../../src/components/Tab/style.ts","../../src/components/Tab/Tab.tsx","../../src/components/Tabs/style.ts","../../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/InputRadio/style.ts","../../src/components/InputRadio/InputRadio.tsx","../../src/components/InputRadio/constants.ts","../../src/components/Radio/style.ts","../../src/components/Radio/Radio.tsx","../../src/components/InputCheckbox/images/checked.module.svg","../../src/components/InputCheckbox/images/indeterminate.module.svg","../../src/components/Radio/Group.tsx","../../src/components/InputCheckbox/style.ts","../../src/components/InputCheckbox/InputCheckbox.tsx","../../src/components/InputCheckbox/constants.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/components/Select/style.ts","../../src/components/Select/Select.tsx","../../src/components/FormLabel/style.ts","../../src/components/FormLabel/FormLabel.tsx","../../src/components/FormLabel/constants.ts","../../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 type { CSSColor } from 'shared/types'\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 'product-bg-course' = 'product-bg-course',\n 'product-bg-tutor' = 'product-bg-tutor',\n 'product-bg-group' = 'product-bg-group',\n 'product-bg-complect' = 'product-bg-complect',\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, CSSColor> = 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, CSSColor> = 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, CSSColor> = 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 type { Breakpoint } from 'shared/types'\n\nexport const BREAKPOINTS: Readonly<Record<Lowercase<Breakpoint>, number>> = {\n xl: 1440,\n l: 1280,\n m: 1024,\n s: 768,\n xs: 374,\n xxs: 320,\n}\n","import type { CSSColor } from 'shared/types'\nimport { BaseColorNames, BrandColorNames } from './colors'\n\nexport const baseColors: Readonly<Record<BaseColorNames, CSSColor>> = {\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 'product-bg-course': '#00222e',\n 'product-bg-tutor': '#232900',\n 'product-bg-group': '#202018',\n 'product-bg-complect': '#241500',\n}\n\nexport const motherColors: Readonly<Record<BrandColorNames, CSSColor>> = {\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, CSSColor>> = {\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, CSSColor>> = {\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, CSSColor>> = {\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 { BREAKPOINTS } from 'shared/constants'\nimport { colors, socialColors, unitColors } from './colors'\nimport * as ColorsLight from './colors-light'\nimport * as ColorsDark from './colors-dark'\n\nexport const defaultTheme: DefaultTheme = {\n breakpoints: 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","import type { CSSColor } from 'shared/types'\nimport { BaseColorNames, BrandColorNames } from './colors'\n\nexport const baseColors: Readonly<Record<BaseColorNames, CSSColor>> = {\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 'product-bg-course': '#e1f5fe',\n 'product-bg-tutor': '#eaf9ae',\n 'product-bg-group': '#feffbd',\n 'product-bg-complect': '#ffebcc',\n}\n\nexport const motherColors: Readonly<Record<BrandColorNames, CSSColor>> = {\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, CSSColor>> = {\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, CSSColor>> = {\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, CSSColor>> = {\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'\nimport type { CSSObject, ThemeProps, DefaultTheme, SimpleInterpolation, Interpolation } from 'styled-components'\nimport { BREAKPOINTS } from 'shared/constants'\n\ntype MediaQueryParams = {\n and?: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n condition?: (_props: any) => boolean\n}\n\ntype ThemeBreakpoints = DefaultTheme['breakpoints']\n\ntype BreakpointKey = keyof ThemeBreakpoints\n\nconst CONDITIONS = (() => {\n const maxWidth = (breakpoints: ThemeBreakpoints, point: BreakpointKey) =>\n `(max-width: ${breakpoints[point] - 0.02}px)`\n const minWidth = (breakpoints: ThemeBreakpoints, point: BreakpointKey) => `(min-width: ${breakpoints[point]}px)`\n\n return {\n MAX: maxWidth,\n MIN: minWidth,\n RANGE: (breakpoints: ThemeBreakpoints, point1: BreakpointKey, point2: BreakpointKey) =>\n `${minWidth(breakpoints, point1)} and ${maxWidth(breakpoints, point2)}`,\n }\n})()\n\nexport const createMediaQuery =\n (condition: (_breakpoints: ThemeBreakpoints, ..._points: BreakpointKey[]) => string, ...points: BreakpointKey[]) =>\n (params?: MediaQueryParams) =>\n <T extends object>(...args: [CSSObject | TemplateStringsArray, ...Interpolation<T & ThemeProps<DefaultTheme>>[]]) =>\n (props: ThemeProps<DefaultTheme>) => {\n const contextBreakpoints = props.theme?.breakpoints ?? {}\n const breakpoints: ThemeBreakpoints = { ...BREAKPOINTS, ...contextBreakpoints }\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/types'\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/types'\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 { css, DefaultTheme, FlattenSimpleInterpolation } from 'styled-components'\nimport type { CSSColor, Color } from 'shared/types'\n\ntype ColorPropertyVariants = 'color' | 'fontColor' | `${string}Color` | `color${string}`\ntype ColorCalcProperty = (_color: CSSColor) => FlattenSimpleInterpolation | null\ntype ColorCssProperty = string | ColorCalcProperty\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 Color, props)\n\n if (typeof cssProperty === 'function') {\n return cssProperty(_color)\n }\n\n return css`\n ${cssProperty}: ${_color};\n `\n }\n","import { css } from 'styled-components'\n\nexport interface VAlign {\n vAlign?: 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'baseline'\n}\n\nexport const vAlign = (vAlign: 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'baseline') => css`\n vertical-align: ${vAlign};\n`\n","import { useTheme } from 'styled-components'\nimport cx from 'clsx'\n\nexport function useClassname(componentName: string, originalClassName?: string) {\n const theme = useTheme()\n return cx(`${theme.classNamePrefix}-${componentName}`, originalClassName)\n}\n","import styled, { css } from 'styled-components'\nimport { vAlign } from 'mixins/vAlign'\nimport { color } from 'mixins/color'\nimport { responsiveNamedProperty, property } from 'mixins/responsive-property'\nimport { IconProps } from './Icon'\n\nconst 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 /** Root node polymorphic type */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n as?: React.ElementType<any>\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 as,\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 as={as}\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 as={as}\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 as={as}\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 { 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","import { forwardRef } from 'react'\nimport { useTheme } from 'styled-components'\nimport { mergeDeepLeft } from 'ramda'\nimport type { DefaultTheme } from 'styled-components'\nimport type { BaseProps, ColorPaletteProps } from 'shared/interfaces'\nimport type { ResponsiveSizeProps } from 'mixins/responsive-size'\nimport type { CSSColor, Sizes, Color, ThemePreset, ColorPaletteKey } from 'shared/types'\n\nconst injectThemeColors = (\n colors: Partial<Record<ColorPaletteKey, Color>> = {},\n theme: DefaultTheme\n): Partial<Record<ColorPaletteKey, CSSColor>> =>\n Object.keys(colors).reduce((resultColors, colorKey) => {\n const color = colors[colorKey]\n resultColors[colorKey] = theme.colors[color] ?? color\n return resultColors\n }, {} as Record<ColorPaletteKey, CSSColor>)\n\nexport const withMergedProps = <\n T extends ResponsiveSizeProps & ColorPaletteProps & BaseProps,\n P extends HTMLElement = HTMLElement\n>(\n Component: React.FC<\n Omit<T, 'sizes' | 'preset' | 'palette'> & {\n sizes: Sizes\n preset: ThemePreset\n palette: Partial<Record<ColorPaletteKey, CSSColor>>\n } & React.RefAttributes<P>\n >,\n options: {\n displayName: string\n sizes: Sizes | ((props: Omit<T, 'sizes' | 'preset'> & { preset: ThemePreset }) => Sizes)\n }\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 componentSizes =\n typeof options.sizes === 'function' ? options.sizes({ ...forwardProps, preset }) : options.sizes\n const sizes = (forwardProps.sizes ? mergeDeepLeft(forwardProps.sizes, componentSizes) : componentSizes) as Sizes\n const palette = forwardProps.palette ? injectThemeColors(forwardProps.palette, theme) : {}\n\n Component.displayName = options.displayName\n\n return <Component {...forwardProps} preset={preset} sizes={sizes} palette={palette} ref={ref} />\n })\n\n WithMergedProps.displayName = `WithMergedProps${options.displayName}`\n return WithMergedProps\n}\n","import { useTheme } from 'styled-components'\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 = useTheme()\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 type { TextProps } from 'components/Text'\nimport { Spacer } from '../Spacer/Spacer'\nimport { Anchor } from '../Anchor/Anchor'\nimport { Text } 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 { Sizes } from 'shared/types'\nimport type { TypographyAppearance, TextProps } from './types'\n\nexport const APPEARANCE: Record<TypographyAppearance, Partial<Omit<TextProps, 'size' | 'appearance'>>> = {\n display: {\n lineHeight: 1,\n weight: 800,\n fontStyle: 'normal',\n },\n heading: {\n lineHeight: 1.1,\n weight: 800,\n fontStyle: 'normal',\n },\n subheading: {\n lineHeight: 1.1,\n weight: 700,\n fontStyle: 'normal',\n },\n 'subheading-compact': {\n lineHeight: 1.3,\n weight: 800,\n fontStyle: 'normal',\n },\n body: {\n lineHeight: 1.3,\n weight: 400,\n fontStyle: 'normal',\n },\n caption: {\n lineHeight: 1.2,\n weight: 400,\n fontStyle: 'normal',\n },\n}\n\nexport const SIZES: Record<TypographyAppearance, Sizes> = {\n display: {\n xxxl: {\n fontSize: 84,\n },\n xxl: {\n fontSize: 76,\n },\n xl: {\n fontSize: 68,\n },\n l: {\n fontSize: 60,\n },\n m: {\n fontSize: 52,\n },\n s: {\n fontSize: 44,\n },\n xs: {\n fontSize: 36,\n },\n xxs: {\n fontSize: 28,\n },\n xxxs: {\n fontSize: 20,\n },\n },\n heading: {\n xxxl: {\n fontSize: 64,\n },\n xxl: {\n fontSize: 56,\n },\n xl: {\n fontSize: 48,\n },\n l: {\n fontSize: 40,\n },\n m: {\n fontSize: 36,\n },\n s: {\n fontSize: 32,\n },\n xs: {\n fontSize: 28,\n },\n xxs: {\n fontSize: 24,\n },\n xxxs: {\n fontSize: 20,\n },\n },\n subheading: {\n xxxl: {\n fontSize: 52,\n },\n xxl: {\n fontSize: 46,\n },\n xl: {\n fontSize: 40,\n },\n l: {\n fontSize: 34,\n },\n m: {\n fontSize: 28,\n },\n s: {\n fontSize: 24,\n },\n xs: {\n fontSize: 20,\n },\n xxs: {\n fontSize: 16,\n },\n xxxs: {\n fontSize: 12,\n },\n },\n 'subheading-compact': {\n xxxl: {\n fontSize: 36,\n },\n xxl: {\n fontSize: 32,\n },\n xl: {\n fontSize: 28,\n },\n l: {\n fontSize: 24,\n },\n m: {\n fontSize: 20,\n },\n s: {\n fontSize: 18,\n },\n xs: {\n fontSize: 16,\n },\n xxs: {\n fontSize: 14,\n },\n xxxs: {\n fontSize: 12,\n },\n },\n body: {\n xxxl: {\n fontSize: 32,\n },\n xxl: {\n fontSize: 28,\n },\n xl: {\n fontSize: 24,\n },\n l: {\n fontSize: 20,\n },\n m: {\n fontSize: 18,\n },\n s: {\n fontSize: 16,\n },\n xs: {\n fontSize: 14,\n },\n xxs: {\n fontSize: 12,\n },\n xxxs: {\n fontSize: 10,\n },\n },\n caption: {\n xxxl: {\n fontSize: 32,\n },\n xxl: {\n fontSize: 28,\n },\n xl: {\n fontSize: 24,\n },\n l: {\n fontSize: 20,\n },\n m: {\n fontSize: 18,\n },\n s: {\n fontSize: 16,\n },\n xs: {\n fontSize: 14,\n },\n xxs: {\n fontSize: 12,\n },\n xxxs: {\n fontSize: 10,\n },\n },\n}\n\nexport const SIZES_DEFAULT: Sizes = {\n xxxl: {\n fontSize: 24,\n },\n xxl: {\n fontSize: 22,\n },\n xl: {\n fontSize: 20,\n },\n l: {\n fontSize: 18,\n },\n m: {\n fontSize: 16,\n },\n s: {\n fontSize: 14,\n },\n xs: {\n fontSize: 12,\n },\n xxs: {\n fontSize: 10,\n },\n xxxs: {\n fontSize: 8,\n },\n}\n","import type { CSSProperties } from 'react'\nimport { css } from 'styled-components'\nimport type { ThemedStyledProps, DefaultTheme, CSSObject, FlattenInterpolation, ThemeProps } from 'styled-components'\nimport { screenMinM, screenMaxM, screenMaxS, screenMinL, screenMaxL, screenMaxXs, screenMaxXxs } from 'mixins/screen'\nimport { getMediaQueryByResponsiveProp, desktopFirst } from 'mixins/shared'\nimport type { MediaQuery } from 'mixins/screen'\nimport type { Breakpoint } from 'shared/types'\n\ntype ResponsivePropKey = 'size' | keyof CSSProperties\n\ntype ResponsiveProps<K extends ResponsivePropKey, V> = {\n [key in K]?: V | [desktop: V, tablet: V, mobile: V] | [xl: V, l: V, m: V, s: V, xs: V, xxs: V]\n} & {\n [key in `${K}${Breakpoint}`]?: V\n}\n\ntype MediaFunction = ReturnType<ReturnType<MediaQuery>>\n\n/**\n *\n * Factory to create mixins to enable responsive interface for any set of props\n */\nfunction createResponsivePropsMixin<K extends ResponsivePropKey, V, P extends ResponsiveProps<K, V>>(\n propsKeys: K[],\n buildCSSObject: (propKey: K, propValue: V, props: ThemedStyledProps<P, DefaultTheme>) => CSSObject\n): (props: ThemedStyledProps<P, DefaultTheme>) => FlattenInterpolation<ThemeProps<DefaultTheme>> {\n const propsRegExp = new RegExp(`^(${propsKeys.join('|')})$`)\n const breakpointsPropsRegExp = new RegExp(`^(${propsKeys.join('|')})(XXS|XS|S|M|L|XL)$`)\n const breakpointsRegExp = /(XXS|XS|S|M|L|XL)$/\n\n const deviceQueries = [screenMinM, screenMaxM, screenMaxS]\n const breakpointsQueries = [screenMinL, screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMaxXxs]\n\n return (props) => {\n const propsKeys = Object.keys(props).reduce(\n (groups, propKey) => {\n if (propsRegExp.test(propKey)) groups[0].push(propKey)\n else if (breakpointsPropsRegExp.test(propKey)) groups[1].push(propKey)\n\n return groups\n },\n [[], []] as [string[], string[]]\n )\n\n const interpolations = propsKeys[0].reduce((acc, propKey) => {\n const propValue: V | V[] = props[propKey]\n\n if (!Array.isArray(propValue)) {\n acc.push(buildCSSObject(propKey as K, propValue, props))\n } else if (propValue.length > 0) {\n const mediaFunctions: MediaFunction[] = []\n const queries = propValue.length > deviceQueries.length ? breakpointsQueries : deviceQueries\n\n for (let i = 0; i < propValue.length; i++) {\n if (!queries[i]) break\n mediaFunctions.push(queries[i]()`${buildCSSObject(propKey as K, propValue[i], props)}`)\n }\n\n acc.push(...mediaFunctions)\n }\n\n return acc\n }, [] as (CSSObject | MediaFunction)[])\n\n const breakpointsInterpolations = propsKeys[1]\n .sort(desktopFirst)\n .map<MediaFunction>(\n (propKey) =>\n getMediaQueryByResponsiveProp(propKey)()`${buildCSSObject(\n propKey.replace(breakpointsRegExp, '') as K,\n props[propKey],\n props\n )}`\n )\n\n return css`\n ${interpolations}\n ${breakpointsInterpolations}\n `\n }\n}\n\nexport type { ResponsiveProps }\n\nexport { createResponsivePropsMixin }\n","export const commonPropKeyRegExp =\n /^(preset|sizeUnits|sizes|size|dynamicSizeDeclaration|marginUnits|color|backgroundColor|cursor|borderColor|palette)$/\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 {\n commonPropKeyRegExp,\n colorSchemaPropKeyRegExp,\n responsiveSizePropKeyRegExp,\n marginPropKeyRegExp,\n responsiveMarginPropKeyRegExp,\n} from 'shared/regexp'\nimport type { CSSGlobalValue } from 'shared/types'\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\nexport const isCSSGlobalValue = (value: CSSGlobalValue | string): value is CSSGlobalValue =>\n ['initial', 'inherit', 'unset', 'revert', 'revert-layer'].includes(value)\n","import type { CSSObject } from 'styled-components'\nimport { createResponsivePropsMixin } from 'mixins/create-responsive-props'\nimport { isCSSGlobalValue } from 'shared/utils/style'\nimport type { ResponsiveProps } from 'mixins/create-responsive-props'\nimport type { CSSUnit, Size, CSSGlobalValue, Sizes } from 'shared/types'\n\ntype SizeProperty = 'size'\n\ntype SizeValue = Size | CSSGlobalValue | number\n\ntype ResponsiveSizeProps = ResponsiveProps<SizeProperty, SizeValue> & {\n sizeUnits?: CSSUnit\n sizes?: Partial<Sizes>\n}\n\ntype ResponsiveSizeInterpolationProps<T extends ResponsiveSizeProps = ResponsiveSizeProps> = Omit<T, 'size' | 'sizes'> &\n Required<Pick<T, 'size'>> & {\n sizes: Sizes\n dynamicSizeDeclaration?: (size: Exclude<SizeValue, Size>, sizeUnits: CSSUnit) => CSSObject\n }\n\n/**\n *\n * Mixin enables responsive size interface\n */\nconst responsiveSize = createResponsivePropsMixin<SizeProperty, SizeValue | void, ResponsiveSizeInterpolationProps>(\n ['size'],\n (_, sizeValue, props) => {\n if (sizeValue === undefined || sizeValue === null) return {}\n\n if (typeof sizeValue === 'number' || isCSSGlobalValue(sizeValue)) {\n const cssObject =\n typeof props.dynamicSizeDeclaration === 'function'\n ? props.dynamicSizeDeclaration(sizeValue, props.sizeUnits ?? 'px')\n : { fontSize: typeof sizeValue === 'string' ? sizeValue : `${sizeValue}${props.sizeUnits ?? 'px'}` }\n\n return cssObject\n }\n\n return (props.sizes[sizeValue] ?? {}) as CSSObject\n }\n)\n\nexport type { ResponsiveSizeProps, ResponsiveSizeInterpolationProps }\n\nexport { responsiveSize }\n","import type { CSSProperties } from 'react'\nimport { createResponsivePropsMixin } from 'mixins/create-responsive-props'\nimport type { ResponsiveProps } from 'mixins/create-responsive-props'\nimport type { CSSUnit } from 'shared/types'\n\ntype MarginProperty = 'margin' | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft'\n\ntype ResponsiveMarginProps = ResponsiveProps<MarginProperty, CSSProperties['margin']> & {\n marginUnits?: CSSUnit\n}\n\n/**\n *\n * Mixin enables responsive margin interface\n */\nconst responsiveMargin = createResponsivePropsMixin<MarginProperty, CSSProperties['margin'], ResponsiveMarginProps>(\n ['margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft'],\n (propKey, propValue, props) => {\n if (propValue === undefined || propValue === null) return {}\n\n return {\n [propKey]: typeof propValue === 'string' ? propValue : `${propValue}${props.marginUnits ?? 'px'}`,\n }\n }\n)\n\nexport type { ResponsiveMarginProps }\n\nexport { responsiveMargin }\n","import styled from 'styled-components'\nimport { display } from 'mixins/display'\nimport { color } from 'mixins/color'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport type { Color } from 'shared/types'\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\nconst shouldForwardTextProp = createShouldForwardProp(\n (propKey) =>\n ![\n 'appearance',\n 'fontFamily',\n 'weight',\n 'fontStyle',\n 'transform',\n 'underlineLinks',\n 'textAlign',\n 'lineHeight',\n 'content',\n 'display',\n 'chars',\n 'quoted',\n 'showZeroMinorPart',\n 'separator',\n 'underline',\n ].includes(propKey)\n)\n\nexport const Root = styled.div.withConfig<StyledTextProps>({\n shouldForwardProp: shouldForwardTextProp,\n})`\n ${(props) => `\n margin: 0;\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 ${props.lineHeight ? `line-height: ${LINE_HEIGHT_MAP[props.lineHeight] ?? props.lineHeight};` : ''}\n ${props.underline ? `border-bottom: 1px ${typeof props.underline === 'string' ? props.underline : 'solid'};` : ''}\n a {\n text-decoration: ${props.underlineLinks ? 'underline' : 'none'};\n &:hover {\n text-decoration: none;\n }\n }\n `}\n\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : color(props.theme.textColor as Color))}\n`\n","import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { useClassname } from 'hooks/useClassname'\nimport { TextHeading } from 'components/Text.Heading'\nimport { TextEllipse } from 'components/Text.Ellipse'\nimport type { TextProps } from './types'\nimport { APPEARANCE, SIZES, SIZES_DEFAULT } from './constants'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Text'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`BaseProps`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'div'>`](#/Interfaces)\n */\nconst Text: React.ForwardRefExoticComponent<TextProps> & { Heading: typeof TextHeading; Ellipse: typeof TextEllipse } =\n Object.assign(\n withMergedProps<TextProps, HTMLDivElement>(\n forwardRef((props, ref) => {\n const textProps = props.appearance ? { ...APPEARANCE[props.appearance], ...props } : props\n\n const {\n size = 'm',\n weight = 'normal',\n lineHeight = 'm',\n fontStyle = 'normal',\n className,\n content,\n children,\n ...restProps\n } = textProps\n\n const textClassName = useClassname(COMPONENT_NAME, className)\n\n if (children) {\n return (\n <Styled.Root\n {...restProps}\n size={size}\n weight={weight}\n lineHeight={lineHeight}\n fontStyle={fontStyle}\n className={textClassName}\n ref={ref}\n >\n {children}\n </Styled.Root>\n )\n }\n\n return (\n <Styled.Root\n {...restProps}\n size={size}\n weight={weight}\n lineHeight={lineHeight}\n fontStyle={fontStyle}\n className={textClassName}\n dangerouslySetInnerHTML={{ __html: content || '' }}\n ref={ref}\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n if (typeof props.appearance === 'string') {\n return SIZES[props.appearance] ?? SIZES_DEFAULT\n }\n\n return SIZES_DEFAULT\n },\n }\n ),\n {\n Heading: TextHeading,\n Ellipse: TextEllipse,\n }\n )\n\nexport { Text, COMPONENT_NAME }\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.toryBlueDark}, 0 0 0 4px ${props.theme.colors.white};\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n `\n}\n\nexport { focus }\n","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport type { ThemedStyledProps, DefaultTheme } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { getColor } from 'mixins/color'\nimport { focus } from 'mixins/focus'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { display } from 'mixins/display'\nimport type { CSSColor } from 'shared/types'\nimport type { StyledAnchorProps, AnchorPalette } from './types'\n\nconst shouldForwardAnchorProp = createShouldForwardProp(\n (propKey) => !['display', 'underline', 'onColored', 'verticalAlign', 'pseudo', 'wrapper'].includes(propKey)\n)\n\nconst template = (palette: AnchorPalette) => `\n color: ${palette.color};\n &:hover {\n color: ${palette.colorHover};\n }\n &:active {\n color: ${palette.color};\n }\n &[data-disabled=\"true\"] {\n color: ${palette.colorDisabled};\n }\n`\n\nconst COLOR_SCHEMA = {\n default: css<StyledAnchorProps>`\n ${(props) =>\n template({\n color: props.wrapper ? 'inherit' : props.theme.colors.accent,\n colorHover: props.wrapper ? 'inherit' : props.theme.colors.primary,\n colorDisabled: props.theme.colors['content-disabled'],\n ...props.palette,\n })}\n `,\n primary: css<StyledAnchorProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-link'],\n colorHover: tinycolor(props.theme.colors['content-link']).lighten(10).toString() as CSSColor,\n colorDisabled: props.theme.colors['content-disabled'],\n ...props.palette,\n })}\n `,\n onColored: css<StyledAnchorProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n colorHover: tinycolor(props.theme.colors['content-oncolor-primary']).darken(10).toString() as CSSColor,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n ...props.palette,\n })}\n `,\n}\n\nconst anchorStyles = (props: ThemedStyledProps<StyledAnchorProps, DefaultTheme>) => {\n if (props.onColored) return COLOR_SCHEMA.onColored\n return props.preset === 'brand' ? COLOR_SCHEMA.primary : COLOR_SCHEMA.default\n}\n\nexport const Root = styled.a.withConfig<StyledAnchorProps>({\n shouldForwardProp: shouldForwardAnchorProp,\n})`\n ${(props) => `\n box-sizing: border-box;\n isolation: isolate;\n transition-property: color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n cursor: ${props.cursor ?? 'pointer'};\n vertical-align: ${\n props.verticalAlign\n ? `${typeof props.verticalAlign === 'string' ? props.verticalAlign : 'text-bottom'}`\n : 'baseline'\n };\n ${\n props.preset === 'brand'\n ? `\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n text-decoration: none;\n `\n : `\n display: ${props.wrapper ? 'block' : 'inline-block'};\n text-decoration-line: ${props.underline === true ? 'underline' : 'none'};\n border-bottom: ${\n props.pseudo || typeof props.underline === 'string'\n ? `1px ${typeof props.underline === 'string' ? props.underline : 'dashed'}`\n : 'none'\n };\n `\n }\n \n `}\n\n ${anchorStyles}\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n \n ${(props) => props.display && display(props.display)}\n ${(props) => props.color && `color: ${getColor(props.color, props)};`}\n`\n","import { forwardRef } from 'react'\nimport { Link } from 'react-router-dom'\nimport { useTheme } from 'styled-components'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { useClassname } from 'hooks/useClassname'\nimport { Text } from 'components/Text'\nimport { Icon } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport { SIZES } from './constants'\nimport * as Styled from './style'\nimport type { AnchorProps } from './types'\n\nconst COMPONENT_NAME = 'Anchor'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`ColorPaletteProps<keyof AnchorPalette>`](#/Interfaces)\n * - [`TypographyProps`](#/Interfaces)\n * - [`BaseProps`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'a'>`](#/Interfaces)\n */\nconst Anchor: React.ForwardRefExoticComponent<AnchorProps> = withMergedProps<AnchorProps, HTMLAnchorElement>(\n forwardRef((props, ref) => {\n const {\n size = 'inherit',\n autoRel = true,\n textProps = {},\n iconProps = {},\n icon,\n children,\n content,\n ...restProps\n } = props\n\n const contentProps = content ? { dangerouslySetInnerHTML: { __html: content } } : {}\n\n const theme = useTheme()\n\n const className = useClassname(COMPONENT_NAME, restProps.className)\n const relBuilder = theme.utils?.relBuilder\n const href = restProps.href ?? restProps.to\n\n const rel =\n restProps.rel ??\n (autoRel && relBuilder && typeof href === 'string' ? relBuilder(href, restProps.target) : undefined)\n\n const [before, after] = Array.isArray(icon) ? icon : [icon]\n\n const baseTextProps: TextProps = {\n as: 'span',\n size: 'inherit',\n color: 'inherit',\n underline: restProps.underline,\n marginLeft: before ? '0.25em' : undefined,\n marginRight: after ? '0.25em' : undefined,\n }\n\n const iconBaseProps: IconProps = { as: 'span', color: 'inherit' }\n\n let rootNode\n if (restProps.to) rootNode = Link\n if (restProps.pseudo) rootNode = 'div'\n if (restProps.disabled) rootNode = 'span'\n if (restProps.as) rootNode = restProps.as\n\n return (\n <Styled.Root\n {...contentProps}\n {...restProps}\n ref={ref}\n as={rootNode}\n className={className}\n size={size}\n rel={rel}\n data-disabled={restProps.disabled}\n >\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps, iconBaseProps, iconProps, icon })\n ) : props.preset === 'brand' ? (\n <>\n {before && <Icon icon={before} {...iconBaseProps} {...iconProps} />}\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n {after && <Icon icon={after} {...iconBaseProps} {...iconProps} />}\n </>\n ) : (\n children\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Anchor, COMPONENT_NAME }\n","import type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n fontSize: 24,\n },\n xxl: {\n fontSize: 22,\n },\n xl: {\n fontSize: 20,\n },\n l: {\n fontSize: 18,\n },\n m: {\n fontSize: 16,\n },\n s: {\n fontSize: 14,\n },\n xs: {\n fontSize: 12,\n },\n xxs: {\n fontSize: 10,\n },\n xxxs: {\n fontSize: 8,\n },\n}\n","import type { Sizes, Size } from 'shared/types'\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","<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 } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { responsiveSize } from 'mixins/responsive-size'\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 = props.theme.colors.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 = 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 = props.theme.colors.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 = props.theme.colors.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 = props.theme.colors['border-oncolor-default']\n if (props.disabled) boxShadow = props.theme.colors.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.withConfig<StyledButtonProps>({\n shouldForwardProp: (prop) => {\n return FORWARD_PROPS.includes(prop) || prop.includes('data')\n },\n})`\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 { useTheme } from 'styled-components'\nimport { Link } from 'react-router-dom'\nimport { mergeDeepLeft } from 'ramda'\nimport { useClassname } from 'hooks/useClassname'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport type { Sizes } from 'shared/types'\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 = useTheme()\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, sizeUnits) => {\n return {\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\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","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'\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.withConfig<RootAlertProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'onMouseEnter', 'onMouseLeave', 'style'].includes(prop),\n})`\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 { CSSColor } from 'shared/types'\n\nimport type { AlertProps } from './types'\n\nexport const countdownColor = ({ theme, type }: Pick<AlertProps, 'type'> & { theme: DefaultTheme }): CSSColor => {\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 { useTheme } from 'styled-components'\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'\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 = useTheme()\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 if (timer) {\n setTimerOnPause(true)\n }\n }\n\n const handleMouseLeave = () => {\n if (timer) {\n setTimerOnPause(false)\n }\n }\n\n return (\n <Styled.Root\n className={_className}\n clear={clear}\n column={column}\n isCompact={isCompact}\n noIcon={noIcon}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={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='default'\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 { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\nimport { CurrencyCodes, CURRENCY_MAP } from './data'\nimport * as Styled from './style'\n\nexport interface AmountProps extends TextProps {\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 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 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 { 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.withConfig<StyledArrowProps>({\n shouldForwardProp: (prop) => {\n return !TRANSIENT_PROPS.includes(<ArrowTransientProp>prop)\n },\n})`\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 { useTheme } from 'styled-components'\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 = useTheme()\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","<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/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { getColor } from 'mixins/color'\nimport { focus } from 'mixins/focus'\nimport type { StyledArrowBadgeProps, StyledArrowBadgeEdgeProps, ArrowBadgePalette } 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 height: 100%;\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: ArrowBadgePalette) => `\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<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-200'],\n ...props.palette,\n })}\n `,\n secondary: css<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-secondary-200'],\n ...props.palette,\n })}\n `,\n tertiary: css<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-tertiary-200'],\n ...props.palette,\n })}\n `,\n quaternary: css<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-quaternary-200'],\n ...props.palette,\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(<Required<Pick<StyledArrowBadgeProps, 'dynamicSizeDeclaration'>>>{\n dynamicSizeDeclaration: (size, sizeUnits) => {\n return {\n height: '1.8em',\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n }\n },\n })`\n box-sizing: border-box;\n isolation: isolate;\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 { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\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 * - [`ColorPaletteProps<keyof ArrowBadgePalette>`](#/Interfaces)\n * - [`TypographyProps`](#/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', textProps = {}, children, left, right, fancy, ...restProps } = props\n\n const baseTextProps: TextProps = { as: 'div', size: 'inherit', color: 'inherit' }\n\n return (\n <Styled.Root {...restProps} size={size} ref={ref}>\n <Styled.Edge left={left} right={right} fancy={fancy} />\n <Styled.Content>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </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 type { Sizes } from 'shared/types'\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 type { ThemedStyledProps, DefaultTheme } from 'styled-components'\nimport { color } from 'mixins/color'\nimport { display } from 'mixins/display'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { focus } from 'mixins/focus'\nimport type { StyledBadgeProps, BadgePalette } from './types'\n\nconst shouldForwardBadgeProp = createShouldForwardProp(\n (propKey) => !['round', 'content', 'borderRadius', 'resetDefaultMargin', 'display'].includes(propKey)\n)\n\nconst template = (palette: BadgePalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n`\n\nconst COLOR_SCHEMA = {\n primary: css<StyledBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100'],\n ...props.palette,\n })}\n `,\n secondary: css<StyledBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-secondary-100'],\n ...props.palette,\n })}\n `,\n tertiary: css<StyledBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-tertiary-100'],\n ...props.palette,\n })}\n `,\n quaternary: css<StyledBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-quaternary-100'],\n ...props.palette,\n })}\n `,\n}\n\nconst badgeStyles = (props: ThemedStyledProps<StyledBadgeProps, 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<StyledBadgeProps>({\n shouldForwardProp: shouldForwardBadgeProp,\n })\n .attrs<StyledBadgeProps>(\n (props): Required<Pick<StyledBadgeProps, 'dynamicSizeDeclaration'>> => ({\n dynamicSizeDeclaration: (size, sizeUnits) => {\n return {\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n height: '1.8em',\n width: props.round ? '1.8em' : undefined,\n paddingRight: props.round ? undefined : '0.6em',\n paddingLeft: props.round ? undefined : '0.6em',\n }\n },\n })\n )`\n ${(props) => {\n const borderRadius = typeof props.borderRadius === 'number' ? `${props.borderRadius}px` : props.borderRadius\n\n return `\n box-sizing: border-box;\n isolation: isolate;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: max-content;\n flex-shrink: 0;\n border-radius: ${props.round ? '50%' : borderRadius};\n `\n }}\n\n ${badgeStyles}\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => props.cursor && `cursor: ${props.cursor};`}\n ${(props) => props.color && color(props.color, 'background-color')}\n ${(props) => props.display && display(props.display)}\n ${(props) => !props.resetDefaultMargin && '&:not(:last-child) { margin-right: 8px; }'}\n`\n","import type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n height: 34,\n fontSize: 22,\n paddingRight: 10,\n paddingLeft: 10,\n },\n xxl: {\n height: 32,\n fontSize: 20,\n paddingRight: 10,\n paddingLeft: 10,\n },\n xl: {\n height: 30,\n fontSize: 18,\n paddingRight: 10,\n paddingLeft: 10,\n },\n l: {\n height: 28,\n fontSize: 16,\n paddingRight: 8,\n paddingLeft: 8,\n },\n m: {\n height: 26,\n fontSize: 14,\n paddingRight: 8,\n paddingLeft: 8,\n },\n s: {\n height: 24,\n fontSize: 12,\n paddingRight: 8,\n paddingLeft: 8,\n },\n xs: {\n height: 22,\n fontSize: 10,\n paddingRight: 6,\n paddingLeft: 6,\n },\n xxs: {\n height: 20,\n fontSize: 10,\n paddingRight: 6,\n paddingLeft: 6,\n },\n xxxs: {\n height: 18,\n fontSize: 10,\n paddingRight: 6,\n paddingLeft: 6,\n },\n}\n\nexport const SIZES_ROUND: Sizes = {\n xxxl: {\n height: 34,\n width: 34,\n fontSize: 22,\n },\n xxl: {\n height: 32,\n width: 32,\n fontSize: 20,\n },\n xl: {\n height: 30,\n width: 30,\n fontSize: 18,\n },\n l: {\n height: 28,\n width: 28,\n fontSize: 16,\n },\n m: {\n height: 26,\n width: 26,\n fontSize: 14,\n },\n s: {\n height: 24,\n width: 24,\n fontSize: 12,\n },\n xs: {\n height: 22,\n width: 22,\n fontSize: 10,\n },\n xxs: {\n height: 20,\n width: 20,\n fontSize: 10,\n },\n xxxs: {\n height: 18,\n width: 18,\n fontSize: 10,\n },\n}\n","import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport { Icon } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport * as Styled from './style'\nimport { SIZES, SIZES_ROUND } from './constants'\nimport type { BadgeProps } from './types'\n\nconst COMPONENT_NAME = 'Badge'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`ColorSchemaProps`](#/Interfaces)\n * - [`ColorPaletteProps<keyof BadgePalette>`](#/Interfaces)\n * - [`TypographyProps`](#/Interfaces)\n * - [`BaseProps`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'div'>`](#/Interfaces)\n */\nexport const Badge: React.ForwardRefExoticComponent<BadgeProps> = withMergedProps<BadgeProps, HTMLDivElement>(\n forwardRef((props, ref) => {\n const {\n size = 's',\n borderRadius = 3,\n textProps = {},\n iconProps = {},\n children,\n content,\n icon,\n ...restProps\n } = props\n\n const [before, after] = Array.isArray(icon) ? icon : [icon]\n\n const baseTextProps: TextProps = {\n as: 'span',\n size: 'inherit',\n color: 'inherit',\n marginLeft: before ? '0.25em' : undefined,\n marginRight: after ? '0.25em' : undefined,\n }\n const iconBaseProps: IconProps = { color: 'inherit' }\n\n return (\n <Styled.Root {...restProps} size={size} borderRadius={borderRadius} ref={ref}>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps, iconBaseProps, iconProps, icon })\n ) : (\n <>\n {before && <Icon icon={before} {...iconBaseProps} {...iconProps} />}\n {(children || content) && (\n <Text {...baseTextProps} {...textProps}>\n {children || content}\n </Text>\n )}\n {after && <Icon icon={after} {...iconBaseProps} {...iconProps} />}\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => (props.round ? SIZES_ROUND : SIZES),\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 { 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.withConfig<StyledSwitcherProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\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 { useTheme } from 'styled-components'\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 = useTheme()\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 type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n height: 60,\n fontSize: 20,\n },\n xxl: {\n height: 56,\n fontSize: 20,\n },\n xl: {\n height: 52,\n fontSize: 18,\n },\n l: {\n height: 48,\n fontSize: 18,\n },\n m: {\n height: 44,\n fontSize: 16,\n },\n s: {\n height: 40,\n fontSize: 16,\n },\n xs: {\n height: 36,\n fontSize: 14,\n },\n xxs: {\n height: 32,\n fontSize: 14,\n },\n xxxs: {\n height: 28,\n fontSize: 12,\n },\n}\n\nexport const SIZES_DEFAULT: Sizes = {\n xxxl: {},\n xxl: {},\n xl: {},\n l: {},\n m: {},\n s: {},\n xs: {},\n xxs: {},\n xxxs: {},\n}\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 21 48\" fill=\"none\" preserveAspectRatio=\"none\"><path d=\"M22 0h-3L1 24l18 24h3\" fill=\"currentcolor\"/></svg>","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport type { ThemedStyledProps, DefaultTheme } from 'styled-components'\nimport { getColor } from 'mixins/color'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { focus } from 'mixins/focus'\nimport type { CSSColor } from 'shared/types'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport type { StyledTabProps, StyledTabEdgeProps, TabPalette } from './types'\nimport Arrow from './images/arrow.module.svg'\n\nconst shouldForwardTabProp = createShouldForwardProp(\n (propKey) =>\n ![\n 'active',\n 'compact',\n 'crispy',\n 'crispyCompact',\n 'tabTheme',\n 'left',\n 'right',\n 'rounded',\n 'outline',\n 'onColored',\n ].includes(propKey)\n)\n\nconst DEFAULT_STYLES = {\n default: css<StyledTabProps>`\n ${(props) => `\n font-size: 16px;\n font-weight: bold;\n padding-bottom: 12px;\n color: ${props.active ? props.theme.colors.primary : props.theme.colors.mineShaft};\n border-bottom: 2px solid ${props.active ? 'currentcolor' : 'transparent'};\n &:hover {\n color: ${props.theme.colors.primary};\n }\n &.active {\n color: ${props.theme.colors.primary};\n border-bottom-color: currentcolor;\n }\n & + & {\n margin-left: 60px;\n }\n `}\n `,\n compact: css<StyledTabProps>`\n ${(props) => `\n font-size: 16px;\n font-weight: normal;\n padding-bottom: 10px;\n color: ${props.active ? props.theme.colors.primary : props.theme.colors.mineShaft};\n border-bottom: 2px solid ${props.active ? 'currentcolor' : 'transparent'};\n &:hover {\n color: ${props.theme.colors.primary};\n }\n &.active {\n color: ${props.theme.colors.primary};\n border-bottom-color: currentcolor;\n }\n & + & {\n margin-left: 20px;\n }\n `}\n `,\n crispyCompact: css<StyledTabProps>`\n ${(props) => `\n font-size: 12px;\n font-weight: bold;\n padding-bottom: 6px;\n text-transform: uppercase;\n color: ${props.active ? props.theme.colors.primary : props.theme.colors.mineShaft};\n border-bottom: 2px solid ${props.active ? 'currentcolor' : 'transparent'};\n &:hover {\n color: ${props.theme.colors.primary};\n }\n &.active {\n color: ${props.theme.colors.primary};\n border-bottom-color: currentcolor;\n }\n & + & {\n margin-left: 18px;\n }\n `}\n `,\n crispy: css<StyledTabProps>`\n ${(props) => `\n font-size: 12px;\n font-weight: bold;\n padding-bottom: 14px;\n text-transform: uppercase;\n color: ${props.active ? props.theme.colors.primary : props.theme.colors.mineShaft};\n border-bottom: 2px solid ${props.active ? 'currentcolor' : 'transparent'};\n &:hover {\n color: ${props.theme.colors.primary};\n }\n &.active {\n color: ${props.theme.colors.primary};\n border-bottom-color: currentcolor;\n }\n & + & {\n margin-left: 32px;\n }\n `}\n `,\n}\n\nexport const Content = styled.span`\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n flex-grow: 1;\n flex-shrink: 0;\n height: 100%;\n padding: 0 1em;\n border: 1px solid transparent;\n`\n\nexport const Edge = styled(Arrow).withConfig({\n shouldForwardProp: () => false,\n})<StyledTabEdgeProps>`\n flex-shrink: 0;\n height: 100%;\n ${(props) => props.after && 'transform: rotate(180deg);'}\n`\n\nconst template = (palette: TabPalette) => `\n &:hover > ${Content} {\n color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n border-color: ${palette.borderColorHover};\n }\n &:hover > ${Edge} {\n color: ${palette.backgroundColorHover};\n stroke: ${palette.borderColorHover};\n }\n & > ${Content},\n &:active > ${Content} {\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n }\n & > ${Edge},\n &:active > ${Edge} {\n color: ${palette.backgroundColor};\n stroke: ${palette.borderColor};\n }\n &:disabled > ${Content} {\n color: ${palette.colorDisabled};\n background-color: ${palette.backgroundColorDisabled};\n border-color: ${palette.borderColorDisabled};\n }\n &:disabled > ${Edge} {\n color: ${palette.backgroundColorDisabled};\n stroke: ${palette.borderColorDisabled};\n }\n`\n\nconst COLOR_SCHEMA = {\n default: {\n filled: css<StyledTabProps>`\n ${(props) =>\n template({\n color: props.active\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-primary'],\n backgroundColor: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['bg-onmain-tertiary'],\n borderColor: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['bg-onmain-tertiary'],\n colorHover: props.active\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(6).toString() as CSSColor),\n borderColorHover: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(6).toString() as CSSColor),\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors['bg-disabled-large'],\n ...props.palette,\n })}\n `,\n outline: css<StyledTabProps>`\n ${(props) => {\n return template({\n color: props.active\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-primary'],\n backgroundColor: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['bg-onmain-primary'],\n borderColor: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['border-onmain-default-large'],\n colorHover: props.active\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['bg-onmain-tertiary'],\n borderColorHover: props.active\n ? props.theme.colors['bg-brand-primary-500']\n : props.theme.colors['border-onmain-default-large'],\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors['bg-disabled-large'],\n ...props.palette,\n })\n }}\n `,\n },\n onColored: {\n filled: css<StyledTabProps>`\n ${(props) =>\n template({\n color: props.active\n ? props.theme.colors['content-brand-primary']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.active\n ? props.theme.colors['bg-onmain-primary']\n : (tinycolor(props.theme.colors['bg-brand-primary-500']).lighten(10).toString() as CSSColor),\n borderColor: props.active\n ? props.theme.colors['bg-onmain-primary']\n : (tinycolor(props.theme.colors['bg-brand-primary-500']).lighten(10).toString() as CSSColor),\n colorHover: props.active\n ? props.theme.colors['content-brand-primary']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.active\n ? props.theme.colors['bg-onmain-primary']\n : (tinycolor(props.theme.colors['bg-brand-primary-500']).lighten(5).toString() as CSSColor),\n borderColorHover: props.active\n ? props.theme.colors['bg-onmain-primary']\n : (tinycolor(props.theme.colors['bg-brand-primary-500']).lighten(5).toString() as CSSColor),\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-small'],\n borderColorDisabled: props.theme.colors['bg-disabled-small'],\n ...props.palette,\n })}\n `,\n outline: css<StyledTabProps>`\n ${(props) =>\n template({\n color: props.active\n ? props.theme.colors['content-brand-primary']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.active\n ? props.theme.colors['bg-onmain-primary']\n : props.theme.colors['bg-brand-primary-500'],\n borderColor: props.theme.colors['bg-onmain-primary'],\n colorHover: props.active\n ? props.theme.colors['content-brand-primary']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.active\n ? props.theme.colors['bg-onmain-primary']\n : (tinycolor(props.theme.colors['bg-brand-primary-500']).darken(3).toString() as CSSColor),\n borderColorHover: props.theme.colors['bg-onmain-primary'],\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-small'],\n borderColorDisabled: props.theme.colors['bg-disabled-small'],\n ...props.palette,\n })}\n `,\n },\n}\n\nconst tabStyles = (props: ThemedStyledProps<StyledTabProps, DefaultTheme>) => {\n if (props.preset === 'brand') {\n const schema = props.onColored ? COLOR_SCHEMA.onColored : COLOR_SCHEMA.default\n return props.outline ? schema.outline : schema.filled\n }\n\n if (props.compact || props.tabTheme === 'compact') return DEFAULT_STYLES.compact\n if (props.crispyCompact || props.tabTheme === 'crispyCompact') return DEFAULT_STYLES.crispyCompact\n if (props.crispy || props.tabTheme === 'crispy') return DEFAULT_STYLES.crispy\n\n return DEFAULT_STYLES.default\n}\n\nexport const Root = styled.button\n .withConfig<StyledTabProps>({\n shouldForwardProp: shouldForwardTabProp,\n })\n .attrs(<Required<Pick<StyledTabProps, 'dynamicSizeDeclaration'>>>{\n dynamicSizeDeclaration: (size, sizeUnits) => {\n return {\n height: '2.8em',\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n }\n },\n })`\n ${(props) => {\n const radius = props.rounded ? 8 : 0\n const leftRadius = props.left ? 0 : radius\n const rightRadius = props.right ? 0 : radius\n\n return `\n display: ${props.preset === 'brand' ? 'inline-flex' : 'inline-block'};\n cursor: ${props.cursor ?? 'pointer'};\n isolation: isolate;\n flex-shrink: 0;\n appearance: none;\n padding: 0;\n border: none;\n background-color: transparent;\n text-decoration: none;\n width: max-content;\n &,\n & > ${Content}, \n & > ${Edge} {\n box-sizing: border-box;\n transition-property: color, background-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n & > ${Content} {\n border-radius: ${leftRadius}px ${rightRadius}px ${rightRadius}px ${leftRadius}px;\n border-left-style: ${props.left ? 'none' : 'solid'};\n border-right-style: ${props.right ? 'none' : 'solid'};\n margin-left: ${props.left ? -2 : 0}px;\n margin-right: ${props.right ? -2 : 0}px;\n }\n `\n }}\n\n ${tabStyles}\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => props.color && `color: ${getColor(props.color, props)};`}\n ${(props) => props.borderColor && `border-color: ${getColor(props.borderColor, props)};`}\n`\n","import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\nimport { SIZES, SIZES_DEFAULT } from './constants'\nimport * as Styled from './style'\nimport type { TabProps } from './types'\n\nconst COMPONENT_NAME = 'Tab'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`ColorPaletteProps<keyof TabPalette>`](#/Interfaces)\n * - [`TypographyProps`](#/Interfaces)\n * - [`BaseProps`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'button'>`](#/Interfaces)\n */\nconst Tab: React.ForwardRefExoticComponent<TabProps> = withMergedProps<TabProps, HTMLButtonElement>(\n forwardRef((props, ref) => {\n const { size = 'm', type = 'button', textProps = {}, children, theme, ...restProps } = props\n\n const baseTextProps: TextProps = { as: 'span', size: 'inherit', color: 'inherit', weight: 'inherit' }\n\n return (\n <Styled.Root\n {...restProps}\n size={size}\n tabTheme={theme}\n type={restProps.as === undefined ? type : undefined}\n ref={ref}\n >\n {restProps.preset === 'brand' ? (\n <>\n {restProps.left && <Styled.Edge />}\n <Styled.Content>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </Styled.Content>\n {restProps.right && <Styled.Edge after />}\n </>\n ) : (\n <>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n return props.preset === 'brand' ? SIZES : SIZES_DEFAULT\n },\n }\n)\n\nexport { Tab, COMPONENT_NAME }\n","import styled, { css } from 'styled-components'\nimport { color } from 'mixins/color'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { TabsProps } from './Tabs'\n\nconst BEFORE_AFTER_SHADOW_WIDTH = 20\n\nconst borderColor = (color: string) => css`\n border-bottom: 1px solid ${color};\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 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 position: relative;\n z-index: 1;\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","import { ResponsiveProperty } from 'mixins/responsive-property'\nimport { ColorProperty } from 'mixins/color'\nimport { BaseProps } from 'shared/interfaces'\nimport { Tab } from 'components/Tab'\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 = Tab\n\n/**\n *\n * Use only with default preset\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 } from 'components/Text'\nimport type { TextProps } from 'components/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 type { BaseProps } from 'shared/interfaces'\nimport type { TextProps } from 'components/Text'\nimport { DefaultColorNames } from 'theme/colors'\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 type { BaseProps } from 'shared/interfaces'\nimport type { Color } from 'shared/types'\nimport { Spacer } from 'components/Spacer'\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 { 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.withConfig<StyledTextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error', 'brandPresetUsed', 'theme'].includes(prop) &&\n !prop.includes('width'),\n})`\n ${({ brandPresetUsed }) => (brandPresetUsed ? brandTextareaStyle : baseTextareaStyle)}\n`\n","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useTheme } from 'styled-components'\nimport { omit } from 'ramda'\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 = useTheme()\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 { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport type { StyledInputRadioProps, InputRadioPalette } from './types'\n\nconst shouldForwardInputRadioProp = createShouldForwardProp(\n (propKey) => !['inline', 'error', 'success', 'onColored'].includes(propKey)\n)\n\nexport const Input = styled.input`\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n margin: 0;\n border: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n &:focus {\n outline: none;\n }\n`\n\nexport const InputMask = styled.span`\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: inherit;\n border: 1px solid transparent;\n transition-property: border-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n &::before {\n content: '';\n position: absolute;\n width: 40%;\n height: 40%;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border-radius: 50%;\n opacity: 0;\n }\n`\n\nconst template = (palette: InputRadioPalette) => `\n & > ${InputMask} {\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n }\n & > ${InputMask}::before {\n background-color: ${palette.color};\n }\n &:hover > ${InputMask} {\n background-color: ${palette.backgroundColorHover};\n border-color: ${palette.borderColorHover};\n }\n &:hover > ${InputMask}::before {\n background-color: ${palette.colorHover};\n }\n & > ${Input}:checked:not(:disabled) + ${InputMask} {\n background-color: ${palette.backgroundColorChecked};\n border-color: ${palette.borderColorChecked};\n }\n & > ${Input}:checked:not(:disabled) + ${InputMask}::before {\n background-color: ${palette.colorChecked};\n }\n & > ${Input}:disabled:not(:checked) + ${InputMask} {\n background-color: ${palette.backgroundColorDisabled};\n border-color: ${palette.borderColorDisabled};\n }\n & > ${Input}:disabled:not(:checked) + ${InputMask}::before {\n background-color: ${palette.colorDisabled};\n }\n & > ${Input}:disabled:checked + ${InputMask} {\n background-color: ${palette.backgroundColorDisabledChecked};\n border-color: ${palette.borderColorDisabledChecked};\n }\n & > ${Input}:disabled:checked + ${InputMask}::before {\n background-color: ${palette.colorDisabledChecked};\n }\n`\n\nconst COLOR_SCHEMA = {\n default: {\n error: css<StyledInputRadioProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors['alert-bg-error-500'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-onmain-primary'],\n borderColorHover: props.theme.colors['alert-bg-error-500'],\n colorChecked: props.theme.colors['content-oncolor-primary'],\n backgroundColorChecked: props.theme.colors['alert-bg-error-500'],\n borderColorChecked: props.theme.colors['alert-bg-error-500'],\n colorDisabled: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors['border-disabled'],\n colorDisabledChecked: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n ...props.palette,\n })}\n `,\n success: css<StyledInputRadioProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors['alert-bg-success-500'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-onmain-primary'],\n borderColorHover: props.theme.colors['alert-bg-success-500'],\n colorChecked: props.theme.colors['content-oncolor-primary'],\n backgroundColorChecked: props.theme.colors['alert-bg-success-500'],\n borderColorChecked: props.theme.colors['alert-bg-success-500'],\n colorDisabled: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors['border-disabled'],\n colorDisabledChecked: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n ...props.palette,\n })}\n `,\n default: css<StyledInputRadioProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors['border-onmain-default-small'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-onmain-primary'],\n borderColorHover: props.theme.colors['border-brand-primary'],\n colorChecked: props.theme.colors['content-oncolor-primary'],\n backgroundColorChecked: props.theme.colors['bg-brand-primary-basic'],\n borderColorChecked: props.theme.colors['bg-brand-primary-basic'],\n colorDisabled: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors['border-disabled'],\n colorDisabledChecked: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n ...props.palette,\n })}\n `,\n },\n onColored: {\n error: css<StyledInputRadioProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors['bg-onmain-secondary'],\n borderColor: props.theme.colors['alert-error'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-onmain-secondary'],\n borderColorHover: props.theme.colors['alert-error'],\n colorChecked: props.theme.colors['content-oncolor-primary'],\n backgroundColorChecked: props.theme.colors['alert-bg-error-500'],\n borderColorChecked: props.theme.colors['alert-bg-error-500'],\n colorDisabled: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-small'],\n borderColorDisabled: props.theme.colors['border-disabled'],\n colorDisabledChecked: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n ...props.palette,\n })}\n `,\n success: css<StyledInputRadioProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors['bg-onmain-secondary'],\n borderColor: props.theme.colors['alert-success'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-onmain-secondary'],\n borderColorHover: props.theme.colors['alert-success'],\n colorChecked: props.theme.colors['content-oncolor-primary'],\n backgroundColorChecked: props.theme.colors['alert-bg-success-500'],\n borderColorChecked: props.theme.colors['alert-bg-success-500'],\n colorDisabled: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-small'],\n borderColorDisabled: props.theme.colors['border-disabled'],\n colorDisabledChecked: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n ...props.palette,\n })}\n `,\n default: css<StyledInputRadioProps>`\n ${(props) =>\n template({\n color: props.theme.colors['bg-brand-primary-basic'],\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors['border-onmain-default-small'],\n colorHover: props.theme.colors['bg-brand-primary-basic'],\n backgroundColorHover: props.theme.colors['bg-onmain-primary'],\n borderColorHover: props.theme.colors['border-brand-primary'],\n colorChecked: props.theme.colors['bg-brand-primary-basic'],\n backgroundColorChecked: props.theme.colors['bg-oncolor-primary'],\n borderColorChecked: props.theme.colors['bg-oncolor-primary'],\n colorDisabled: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-small'],\n borderColorDisabled: props.theme.colors['border-disabled'],\n colorDisabledChecked: props.theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: props.theme.colors['bg-disabled-active'],\n ...props.palette,\n })}\n `,\n },\n}\n\nexport const Root = styled.span\n .withConfig<StyledInputRadioProps>({\n shouldForwardProp: shouldForwardInputRadioProp,\n })\n .attrs(<Required<Pick<StyledInputRadioProps, 'dynamicSizeDeclaration'>>>{\n dynamicSizeDeclaration: (size, sizeUnits) => {\n return {\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n height: '1em',\n width: '1em',\n }\n },\n })`\n ${(props) => `\n box-sizing: border-box;\n isolation: isolate;\n position: relative;\n display: ${props.inline ? 'inline-flex' : 'flex'};\n border-radius: 50%;\n flex-shrink: 0;\n & > ${Input} {\n cursor: ${props.cursor ? props.cursor : 'pointer'};\n }\n & > ${Input}:checked + ${InputMask}::before {\n opacity: 1;\n }\n & > ${Input}:focus-visible + ${InputMask} {\n box-shadow: 0 0 0 2px ${props.theme.colors.toryBlueDark}, 0 0 0 4px ${props.theme.colors.white};\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n `}\n ${(props) => {\n const schema = props.onColored ? COLOR_SCHEMA.onColored : COLOR_SCHEMA.default\n\n if (props.error) return schema.error\n if (props.success) return schema.success\n\n return schema.default\n }}\n\n ${responsiveSize}\n`\n","import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { SIZES } from './constants'\nimport * as Styled from './style'\nimport type { InputRadioProps } from './types'\n\nconst COMPONENT_NAME = 'InputRadio'\n\n/**\n *\n * Component interface extends:\n * - [`BaseProps`](#/Interfaces)\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ColorPaletteProps<keyof InputRadioPalette>`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'input'>`](#/Interfaces)\n *\n * @visibleName Radio\n */\nconst InputRadio: React.ForwardRefExoticComponent<InputRadioProps> = withMergedProps<InputRadioProps, HTMLInputElement>(\n forwardRef(\n (\n {\n size = 'm',\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n inline,\n error,\n success,\n onColored,\n palette,\n preset,\n cursor,\n style,\n className,\n ...inputProps\n },\n ref\n ) => {\n return (\n <Styled.Root\n size={size}\n sizeXXS={sizeXXS}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n sizes={sizes}\n sizeUnits={sizeUnits}\n inline={inline}\n error={error}\n success={success}\n onColored={onColored}\n palette={palette}\n preset={preset}\n cursor={cursor}\n style={style}\n className={className}\n >\n <Styled.Input {...inputProps} type='radio' ref={ref} />\n <Styled.InputMask />\n </Styled.Root>\n )\n }\n ),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { InputRadio, COMPONENT_NAME }\n","import type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n width: 40,\n height: 40,\n },\n xxl: {\n width: 36,\n height: 36,\n },\n xl: {\n width: 32,\n height: 32,\n },\n l: {\n width: 28,\n height: 28,\n },\n m: {\n width: 24,\n height: 24,\n },\n s: {\n width: 20,\n height: 20,\n },\n xs: {\n width: 18,\n height: 18,\n },\n xxs: {\n width: 16,\n height: 16,\n },\n xxxs: {\n width: 14,\n height: 14,\n },\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 { InputRadio } from 'components/InputRadio'\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.Input = InputRadio\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","<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.5 4.5 6.312 11 3.5 8.045\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path clip-rule=\"evenodd\" d=\"M3.5 8a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.5-.5z\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","import { BaseProps } from 'shared/interfaces'\nimport * as Styled from './style'\n\nexport interface RadioGroupProps extends BaseProps {\n inline?: boolean\n children?: React.ReactNode\n}\n\nexport function RadioGroup({ children, ...props }: RadioGroupProps) {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n","import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport Checked from './images/checked.module.svg'\nimport Indeterminate from './images/indeterminate.module.svg'\nimport type { StyledInputCheckboxProps, InputCheckboxPalette } from './types'\n\nconst shouldForwardInputCheckboxProp = createShouldForwardProp(\n (propKey) => !['inline', 'error', 'success', 'onColored', 'indeterminate'].includes(propKey)\n)\n\nexport const Input = styled.input`\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n margin: 0;\n border: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n &:focus {\n outline: none;\n }\n`\n\nexport const InputMask = styled.span`\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: inherit;\n border: 1px solid transparent;\n transition-property: border-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n`\n\nexport const InputChecked = styled(Checked)`\n box-sizing: border-box;\n width: 90%;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n opacity: 0;\n`\n\nexport const InputIndeterminate = styled(Indeterminate)`\n box-sizing: border-box;\n width: 90%;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n`\n\nconst template = (palette: InputCheckboxPalette) => `\n & > ${InputMask} {\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n color: ${palette.color};\n }\n &:hover > ${InputMask} {\n background-color: ${palette.backgroundColorHover};\n border-color: ${palette.borderColorHover};\n color: ${palette.colorHover};\n }\n & > ${Input}:checked:not(:disabled) + ${InputMask} {\n background-color: ${palette.backgroundColorChecked};\n border-color: ${palette.borderColorChecked};\n color: ${palette.colorChecked};\n }\n & > ${Input}:disabled:not(:checked) + ${InputMask} {\n background-color: ${palette.backgroundColorDisabled};\n border-color: ${palette.borderColorDisabled};\n color: ${palette.colorDisabled};\n }\n & > ${Input}:disabled:checked + ${InputMask} {\n background-color: ${palette.backgroundColorDisabledChecked};\n border-color: ${palette.borderColorDisabledChecked};\n color: ${palette.colorDisabledChecked};\n }\n`\n\nconst COLOR_SCHEMA = {\n default: {\n error: css<StyledInputCheckboxProps>`\n ${({ theme, palette, indeterminate }) =>\n template({\n color: theme.colors['content-oncolor-primary'],\n backgroundColor: indeterminate ? theme.colors['alert-bg-error-500'] : theme.colors['bg-onmain-primary'],\n borderColor: theme.colors['alert-bg-error-500'],\n colorHover: theme.colors['content-oncolor-primary'],\n backgroundColorHover: indeterminate ? theme.colors['alert-bg-error-500'] : theme.colors['bg-onmain-primary'],\n borderColorHover: theme.colors['alert-bg-error-500'],\n colorChecked: theme.colors['content-oncolor-primary'],\n backgroundColorChecked: theme.colors['alert-bg-error-500'],\n borderColorChecked: theme.colors['alert-bg-error-500'],\n colorDisabled: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: indeterminate\n ? theme.colors['bg-disabled-active']\n : theme.colors['bg-disabled-large'],\n borderColorDisabled: indeterminate ? theme.colors['bg-disabled-active'] : theme.colors['border-disabled'],\n colorDisabledChecked: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: theme.colors['bg-disabled-active'],\n ...palette,\n })}\n `,\n success: css<StyledInputCheckboxProps>`\n ${({ theme, palette, indeterminate }) =>\n template({\n color: theme.colors['content-oncolor-primary'],\n backgroundColor: indeterminate ? theme.colors['alert-bg-success-500'] : theme.colors['bg-onmain-primary'],\n borderColor: theme.colors['alert-bg-success-500'],\n colorHover: theme.colors['content-oncolor-primary'],\n backgroundColorHover: indeterminate\n ? theme.colors['alert-bg-success-500']\n : theme.colors['bg-onmain-primary'],\n borderColorHover: theme.colors['alert-bg-success-500'],\n colorChecked: theme.colors['content-oncolor-primary'],\n backgroundColorChecked: theme.colors['alert-bg-success-500'],\n borderColorChecked: theme.colors['alert-bg-success-500'],\n colorDisabled: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: indeterminate\n ? theme.colors['bg-disabled-active']\n : theme.colors['bg-disabled-large'],\n borderColorDisabled: indeterminate ? theme.colors['bg-disabled-active'] : theme.colors['border-disabled'],\n colorDisabledChecked: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: theme.colors['bg-disabled-active'],\n ...palette,\n })}\n `,\n default: css<StyledInputCheckboxProps>`\n ${({ theme, palette, indeterminate }) =>\n template({\n color: theme.colors['content-oncolor-primary'],\n backgroundColor: indeterminate ? theme.colors['bg-brand-primary-basic'] : theme.colors['bg-onmain-primary'],\n borderColor: indeterminate\n ? theme.colors['bg-brand-primary-basic']\n : theme.colors['border-onmain-default-small'],\n colorHover: theme.colors['content-oncolor-primary'],\n backgroundColorHover: indeterminate\n ? theme.colors['bg-brand-primary-basic']\n : theme.colors['bg-onmain-primary'],\n borderColorHover: indeterminate\n ? theme.colors['bg-brand-primary-basic']\n : theme.colors['border-brand-primary'],\n colorChecked: theme.colors['content-oncolor-primary'],\n backgroundColorChecked: theme.colors['bg-brand-primary-basic'],\n borderColorChecked: theme.colors['bg-brand-primary-basic'],\n colorDisabled: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: indeterminate\n ? theme.colors['bg-disabled-active']\n : theme.colors['bg-disabled-large'],\n borderColorDisabled: indeterminate ? theme.colors['bg-disabled-active'] : theme.colors['border-disabled'],\n colorDisabledChecked: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: theme.colors['bg-disabled-active'],\n ...palette,\n })}\n `,\n },\n onColored: {\n error: css<StyledInputCheckboxProps>`\n ${({ theme, palette, indeterminate }) =>\n template({\n color: theme.colors['content-oncolor-primary'],\n backgroundColor: indeterminate ? theme.colors['alert-bg-error-500'] : theme.colors['bg-onmain-secondary'],\n borderColor: indeterminate ? theme.colors['alert-bg-error-500'] : theme.colors['alert-error'],\n colorHover: theme.colors['content-oncolor-primary'],\n backgroundColorHover: indeterminate\n ? theme.colors['alert-bg-error-500']\n : theme.colors['bg-onmain-secondary'],\n borderColorHover: indeterminate ? theme.colors['alert-bg-error-500'] : theme.colors['alert-error'],\n colorChecked: theme.colors['content-oncolor-primary'],\n backgroundColorChecked: theme.colors['alert-bg-error-500'],\n borderColorChecked: theme.colors['alert-bg-error-500'],\n colorDisabled: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: indeterminate\n ? theme.colors['bg-disabled-active']\n : theme.colors['bg-disabled-small'],\n borderColorDisabled: indeterminate ? theme.colors['bg-disabled-active'] : theme.colors['border-disabled'],\n colorDisabledChecked: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: theme.colors['bg-disabled-active'],\n ...palette,\n })}\n `,\n success: css<StyledInputCheckboxProps>`\n ${({ theme, palette, indeterminate }) =>\n template({\n color: theme.colors['content-oncolor-primary'],\n backgroundColor: indeterminate ? theme.colors['alert-bg-success-500'] : theme.colors['bg-onmain-secondary'],\n borderColor: indeterminate ? theme.colors['alert-bg-success-500'] : theme.colors['alert-success'],\n colorHover: theme.colors['content-oncolor-primary'],\n backgroundColorHover: indeterminate\n ? theme.colors['alert-bg-success-500']\n : theme.colors['bg-onmain-secondary'],\n borderColorHover: indeterminate ? theme.colors['alert-bg-success-500'] : theme.colors['alert-success'],\n colorChecked: theme.colors['content-oncolor-primary'],\n backgroundColorChecked: theme.colors['alert-bg-success-500'],\n borderColorChecked: theme.colors['alert-bg-success-500'],\n colorDisabled: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: indeterminate\n ? theme.colors['bg-disabled-active']\n : theme.colors['bg-disabled-small'],\n borderColorDisabled: indeterminate ? theme.colors['bg-disabled-active'] : theme.colors['border-disabled'],\n colorDisabledChecked: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: theme.colors['bg-disabled-active'],\n ...palette,\n })}\n `,\n default: css<StyledInputCheckboxProps>`\n ${({ theme, palette, indeterminate }) =>\n template({\n color: theme.colors['bg-brand-primary-basic'],\n backgroundColor: indeterminate ? theme.colors['bg-oncolor-primary'] : theme.colors['bg-onmain-primary'],\n borderColor: indeterminate ? theme.colors['bg-oncolor-primary'] : theme.colors['border-onmain-default-small'],\n colorHover: theme.colors['bg-brand-primary-basic'],\n backgroundColorHover: indeterminate ? theme.colors['bg-oncolor-primary'] : theme.colors['bg-onmain-primary'],\n borderColorHover: indeterminate ? theme.colors['bg-oncolor-primary'] : theme.colors['border-brand-primary'],\n colorChecked: theme.colors['bg-brand-primary-basic'],\n backgroundColorChecked: theme.colors['bg-oncolor-primary'],\n borderColorChecked: theme.colors['bg-oncolor-primary'],\n colorDisabled: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabled: indeterminate\n ? theme.colors['bg-disabled-active']\n : theme.colors['bg-disabled-small'],\n borderColorDisabled: indeterminate ? theme.colors['bg-disabled-active'] : theme.colors['border-disabled'],\n colorDisabledChecked: theme.colors['bg-onmain-secondary'],\n backgroundColorDisabledChecked: theme.colors['bg-disabled-active'],\n borderColorDisabledChecked: theme.colors['bg-disabled-active'],\n ...palette,\n })}\n `,\n },\n}\n\nexport const Root = styled.span\n .withConfig<StyledInputCheckboxProps>({\n shouldForwardProp: shouldForwardInputCheckboxProp,\n })\n .attrs(<Required<Pick<StyledInputCheckboxProps, 'dynamicSizeDeclaration'>>>{\n dynamicSizeDeclaration: (size, sizeUnits) => {\n return {\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n height: '1em',\n width: '1em',\n }\n },\n })`\n ${(props) => `\n box-sizing: border-box;\n isolation: isolate;\n position: relative;\n display: ${props.inline ? 'inline-flex' : 'flex'};\n border-radius: 4px;\n flex-shrink: 0;\n & > ${Input} {\n cursor: ${props.cursor ? props.cursor : 'pointer'};\n }\n & > ${Input}:checked + ${InputMask} > ${InputChecked} {\n opacity: 1;\n }\n & > ${Input}:focus-visible + ${InputMask} {\n box-shadow: 0 0 0 2px ${props.theme.colors.toryBlueDark}, 0 0 0 4px ${props.theme.colors.white};\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n `}\n ${(props) => {\n const schema = props.onColored ? COLOR_SCHEMA.onColored : COLOR_SCHEMA.default\n\n if (props.error) return schema.error\n if (props.success) return schema.success\n\n return schema.default\n }}\n\n ${responsiveSize}\n`\n","import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { SIZES } from './constants'\nimport * as Styled from './style'\nimport type { InputCheckboxProps } from './types'\n\nconst COMPONENT_NAME = 'InputCheckbox'\n\n/**\n *\n * Component interface extends:\n * - [`BaseProps`](#/Interfaces)\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ColorPaletteProps<keyof InputCheckboxPalette>`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'input'>`](#/Interfaces)\n *\n * @visibleName Checkbox\n */\nconst InputCheckbox: React.ForwardRefExoticComponent<InputCheckboxProps> = withMergedProps<\n InputCheckboxProps,\n HTMLInputElement\n>(\n forwardRef(\n (\n {\n size = 'm',\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n inline,\n error,\n success,\n onColored,\n palette,\n preset,\n cursor,\n style,\n indeterminate,\n className,\n ...inputProps\n },\n ref\n ) => {\n return (\n <Styled.Root\n size={size}\n sizeXXS={sizeXXS}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n sizes={sizes}\n sizeUnits={sizeUnits}\n inline={inline}\n error={error}\n success={success}\n onColored={onColored}\n palette={palette}\n preset={preset}\n cursor={cursor}\n style={style}\n indeterminate={indeterminate}\n className={className}\n >\n <Styled.Input {...inputProps} type='checkbox' ref={ref} />\n <Styled.InputMask>\n {indeterminate === true ? <Styled.InputIndeterminate /> : <Styled.InputChecked />}\n </Styled.InputMask>\n </Styled.Root>\n )\n }\n ),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { InputCheckbox, COMPONENT_NAME }\n","import type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n width: 40,\n height: 40,\n },\n xxl: {\n width: 36,\n height: 36,\n },\n xl: {\n width: 32,\n height: 32,\n },\n l: {\n width: 28,\n height: 28,\n },\n m: {\n width: 24,\n height: 24,\n },\n s: {\n width: 20,\n height: 20,\n },\n xs: {\n width: 18,\n height: 18,\n },\n xxs: {\n width: 16,\n height: 16,\n },\n xxxs: {\n width: 14,\n height: 14,\n },\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 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.withConfig<StyledCheckboxProps>({\n shouldForwardProp: (prop) => ['children', 'htmlFor', 'style'].includes(prop),\n})`\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 { useTheme } from 'styled-components'\nimport cx from 'clsx'\nimport { useClassname } from 'hooks/useClassname'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { InputCheckbox } from 'components/InputCheckbox'\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 = useTheme()\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.Input = InputCheckbox\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 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","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport type { CSSColor } from 'shared/types'\nimport type { StyledFormLabelProps, FormLabelPalette } from './types'\n\nconst shouldForwardFormLabelProp = createShouldForwardProp(\n (propKey) => !['inline', 'clear', 'disabled', 'error', 'success', 'checked', 'onColored'].includes(propKey)\n)\n\nconst template = (palette: FormLabelPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n &:hover {\n color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n border-color: ${palette.borderColorHover};\n }\n`\n\nconst COLOR_SCHEMA = {\n default: {\n disabled: css<StyledFormLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors['bg-disabled-large'],\n borderColor: props.theme.colors['border-disabled'],\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors['bg-disabled-large'],\n borderColorHover: props.theme.colors['border-disabled'],\n ...props.palette,\n })}\n `,\n error: css<StyledFormLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['alert-bg-error-100'],\n borderColor: props.theme.colors['alert-bg-error-500'],\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['alert-bg-error-100'],\n borderColorHover: props.theme.colors['alert-bg-error-500'],\n ...props.palette,\n })}\n `,\n success: css<StyledFormLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['alert-bg-success-100'],\n borderColor: props.theme.colors['alert-success'],\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['alert-bg-success-100'],\n borderColorHover: props.theme.colors['alert-success'],\n ...props.palette,\n })}\n `,\n checked: css<StyledFormLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100'],\n borderColor: props.theme.colors['border-brand-primary-active'],\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['bg-brand-primary-100'],\n borderColorHover: props.theme.colors['border-brand-primary-active'],\n ...props.palette,\n })}\n `,\n default: css<StyledFormLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-onmain-secondary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: tinycolor(props.theme.colors['bg-onmain-secondary']).darken(3).toString() as CSSColor,\n borderColorHover: props.theme.colors['border-onmain-default-large'],\n ...props.palette,\n })}\n `,\n },\n onColored: {\n disabled: css<StyledFormLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-disabled'],\n backgroundColor: props.theme.colors['bg-onmain-secondary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-disabled'],\n backgroundColorHover: props.theme.colors['bg-onmain-secondary'],\n borderColorHover: props.theme.colors['border-onmain-default-large'],\n ...props.palette,\n })}\n `,\n error: css<StyledFormLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['alert-bg-error-200'],\n borderColor: props.theme.colors['alert-bg-error-500'],\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['alert-bg-error-200'],\n borderColorHover: props.theme.colors['alert-bg-error-500'],\n ...props.palette,\n })}\n `,\n success: css<StyledFormLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['alert-bg-success-200'],\n borderColor: props.theme.colors['alert-success'],\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['alert-bg-success-200'],\n borderColorHover: props.theme.colors['alert-success'],\n ...props.palette,\n })}\n `,\n checked: css<StyledFormLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['bg-onmain-primary'],\n borderColorHover: props.theme.colors['border-onmain-default-large'],\n ...props.palette,\n })}\n `,\n default: css<StyledFormLabelProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-onmain-secondary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: tinycolor(props.theme.colors['bg-onmain-secondary']).darken(3).toString() as CSSColor,\n borderColorHover: props.theme.colors['border-onmain-default-large'],\n ...props.palette,\n })}\n `,\n },\n}\n\nexport const Root = styled.label.withConfig<StyledFormLabelProps>({\n shouldForwardProp: shouldForwardFormLabelProp,\n})`\n ${(props) => `\n box-sizing: border-box;\n isolation: isolate;\n display: ${props.inline ? 'inline-flex' : 'flex'};\n cursor: ${props.cursor ? props.cursor : 'pointer'};\n align-items: center;\n border-radius: 8px;\n padding: 12px 16px 12px 12px;\n border: 1px solid transparent;\n background-color: transparent;\n transition-property: background-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n `}\n ${(props) => {\n if (props.clear) return ''\n\n const schema = props.onColored ? COLOR_SCHEMA.onColored : COLOR_SCHEMA.default\n\n if (props.disabled) return schema.disabled\n if (props.error) return schema.error\n if (props.success) return schema.success\n if (props.checked) return schema.checked\n\n return schema.default\n }}\n\n ${responsiveSize}\n ${responsiveMargin}\n`\n","import { forwardRef, cloneElement } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport * as Styled from './style'\nimport { SIZES } from './constants'\nimport type { FormLabelProps } from './types'\n\nconst COMPONENT_NAME = 'FormLabel'\n\n/**\n *\n * Component interface extends:\n * - [`BaseProps`](#/Interfaces)\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`ColorPaletteProps<keyof FormLabelPalette>`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'label'>`](#/Interfaces)\n */\nconst FormLabel: React.ForwardRefExoticComponent<FormLabelProps> = withMergedProps<FormLabelProps, HTMLLabelElement>(\n forwardRef(\n (\n {\n size = 'm',\n textProps = {},\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n disabled,\n error,\n success,\n checked,\n onColored,\n cursor,\n children,\n control,\n label,\n ...props\n },\n ref\n ) => {\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const stateProps = {\n disabled,\n error,\n success,\n checked,\n onColored,\n }\n\n const elementProps =\n typeof control === 'object' && typeof control.props === 'object' && control.props !== null ? control.props : {}\n\n return (\n <Styled.Root {...props} {...sizeProps} {...stateProps} cursor={cursor} ref={ref}>\n {typeof control === 'function'\n ? control({\n cursor,\n ...sizeProps,\n ...stateProps,\n })\n : cloneElement(control, {\n cursor,\n ...sizeProps,\n ...stateProps,\n ...elementProps,\n })}\n <Text as='span' appearance='body' size='inherit' color='inherit' marginLeft={8} {...textProps}>\n {label ?? children}\n </Text>\n </Styled.Root>\n )\n }\n ),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { FormLabel, COMPONENT_NAME }\n","import type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n fontSize: 26,\n },\n xxl: {\n fontSize: 24,\n },\n xl: {\n fontSize: 22,\n },\n l: {\n fontSize: 20,\n },\n m: {\n fontSize: 18,\n },\n s: {\n fontSize: 16,\n },\n xs: {\n fontSize: 14,\n },\n xxs: {\n fontSize: 12,\n },\n xxxs: {\n fontSize: 10,\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","BREAKPOINTS","xl","l","m","s","xs","xxs","baseColors","defaultTheme","breakpoints","borderRadius","textColor","fallbackColor","zIndex","modal","tooltip","classNamePrefix","defaultInputControlsWidth","utils","relBuilder","link","target","relStr","e","url","hostname","arguments","URL","endsWith","window","location","push","join","mode","preset","name","components","Arrow","size","Button","Checkbox","motherLightTheme","_objectSpread","default","motherDarkTheme","ColorsDark","babyLightTheme","babyDarkTheme","teenLightTheme","teenDarkTheme","adultLightTheme","adultDarkTheme","CONDITIONS","MAX","maxWidth","point","MIN","minWidth","RANGE","point1","point2","createMediaQuery","condition","_len","points","Array","_key","params","_len2","args","_key2","props","_props$theme$breakpoi","_props$theme","contextBreakpoints","theme","undefined","and","screenXs","screenS","screenM","screenL","screenXl","screenMaxXxs","screenMaxXs","screenMinXs","screenMaxS","screenMinS","screenMaxM","screenMinM","screenMaxL","screenMinL","screenMaxXl","screenMinXl","SIZES_LATIN","xxxl","xxl","xxxs","FONT_SIZES_LATIN","DESKTOP_FIRST_KEYS","MOBILE_FIRST_KEYS","getLatinSizeMapByCssProperty","cssProperty","buildMediaQuery","value","property","screenQueryFunction","sizing","sizes","_sizeMap$value","sizeMap","getKey","key","desktopFirst","a","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","predefinedSizes","customSizeHandler","sort","filter","Boolean","item","responsiveProperty","propName","_props$propName","_cssProperty","isArray","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","_templateObject4","_templateObject6","_templateObject9","getColor","color","_props$theme2","colorVal","_color","vAlign","useClassname","componentName","originalClassName","useTheme","cx","SIZES","lm","pointerStyle","calcFontSize","Root","styled","div","withConfig","shouldForwardProp","componentId","pointer","sizeXS","sizeS","sizeM","sizeL","sizeXL","_path","_extends","assign","i","source","hasOwnProperty","call","apply","this","_path2","_circle","IconNames","defaultIcons","book","React","createElement","viewBox","xmlns","fill","d","blackBoard","clipRule","burger","eye","email","width","height","unsort","person","diamond","diamondFilled","diamondSolid","cy","stroke","strokeWidth","infoInverse","list","login","logout","fire","cart","clock","clockFilled","discount","headphones","page","priceTag","phone","prof","star","settings","student","trophy","message","wallet","edit","copy","print","objective","fillRule","present","style","enableBackground","xmlSpace","coins","calendar","_jsxs","jsxs","children","_jsx","jsx","calendar_simple","chevronDown","chevronUp","chevronRight","chevronLeft","cross","dialog","dropDownArrow","externalLink","className","fillOpacity","file","fileBordered","lessons","pencil","phoneNoFill","radioChecked","radioNotChecked","search","tasks","tinyCross","sharpCross","plus","y","rx","transform","plusThin","play","reload","checkCircle","info","check","home","id","questionFilled","document","cancel","playPause","video","Icon","as","icon","svg","_className","displayName","Styled.Root","dangerouslySetInnerHTML","__html","display","active","notDisabled","disabled","ActionBtn","onClick","useConfigPriority","minor","major","useMemo","minorConfig","majorConfig","Set","reduce","prioritized","finalVal","valid","withMergedProps","Component","options","WithMergedProps","forwardRef","ref","_theme$components$opt","_theme$components","_forwardProps$preset","forwardProps","mergeDeepLeft","componentSizes","palette","resultColors","colorKey","_theme$colors$color","PARAMS","h1","lineHeight","weight","h2","h3","h4","TextHeading","h","fontFamily","_useConfigPriority","configProps","_objectWithoutProperties","_excluded","Text","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","paddingXS","paddingS","paddingM","paddingL","paddingXL","_ref2","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","_ref3","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","_ref4","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","_ref5","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","_ref6","marginXS","marginS","marginM","marginL","marginXL","_ref7","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","_ref8","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","_ref9","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","_ref10","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","top","right","bottom","left","_ref11","topXS","topS","topM","topL","topXL","_ref12","rightXS","rightS","rightM","rightL","rightXL","_ref13","bottomXS","bottomS","bottomM","bottomL","bottomXL","_ref14","leftXS","leftS","leftM","leftL","leftXL","Spacer","Ul","ul","Li","li","TextEllipse","constructor","super","getContent","content","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","Anchor","pseudo","APPEARANCE","fontStyle","heading","subheading","body","caption","fontSize","SIZES_DEFAULT","createResponsivePropsMixin","propsKeys","buildCSSObject","propsRegExp","breakpointsPropsRegExp","breakpointsRegExp","deviceQueries","breakpointsQueries","groups","propKey","interpolations","acc","propValue","mediaFunctions","queries","breakpointsInterpolations","replace","commonPropKeyRegExp","colorSchemaPropKeyRegExp","responsiveSizePropKeyRegExp","marginPropKeyRegExp","responsiveMarginPropKeyRegExp","createShouldForwardProp","predicates","cache","create","every","func","regExp","responsiveSize","_","sizeValue","_props$sizes$sizeValu","dynamicSizeDeclaration","sizeUnits","_props$sizeUnits","_props$sizeUnits2","responsiveMargin","_props$marginUnits","marginUnits","WEIGHT_MAP","lighter","normal","bold","bolder","LINE_HEIGHT_MAP","shouldForwardTextProp","_WEIGHT_MAP$props$wei","_LINE_HEIGHT_MAP$prop","textAlign","underline","underlineLinks","textProps","appearance","textClassName","_SIZES$props$appearan","Heading","Ellipse","focus","shouldForwardAnchorProp","template","colorHover","colorDisabled","COLOR_SCHEMA","wrapper","tinycolor","lighten","toString","onColored","darken","_props$cursor","cursor","verticalAlign","_theme$utils","_restProps$href","_restProps$rel","autoRel","iconProps","contentProps","href","to","rel","before","after","baseTextProps","iconBaseProps","rootNode","Link","_Fragment","FORWARD_PROPS","SIZES_BRAND","SIZES_ROUND","SIZES_ROUND_BRAND","PROPS_BY_SIZE","fontSizeM","heightM","heightS","WIDTHS","baseStyles","fontWeight","noSpacing","loading","keyframes","spin","defaultLoadingStyles","getWidth","fluidStyles","pseudoBaseStyles","PRESET","filled","background","danger","success","backgroundBefore","outline","boxShadow","backgroundAfter","base","clear","PRESET_DEFAULT","fontColor","tiny","saturate","inverted","basic","colorFn","button","brandPresetUsed","fluid","fontSizeXS","fontSizeS","fontSizeL","fontSizeXL","heightXS","heightL","heightXL","widthXS","widthS","widthM","widthL","widthXL","fluidXS","fluidS","fluidM","fluidL","fluidXL","IconSlot","span","Content","SpinnerIcon","strokeLinecap","strokeLinejoin","CheckIcon","rounded","_as","type","_type","onClickCapture","onMouseEnter","onMouseLeave","round","_PROPS_BY_SIZE$size","propsBySize","classNameContent","config","_config$href","linkProps","secondary","fontBold","leftIcon","rightIcon","Styled.SpinnerIcon","Styled.CheckIcon","innerRef","evt","Styled.IconSlot","Styled.Content","Progress","percent","percentColor","Separators","Separator","separatorColor","isEmpty","haveCircle","ProgressSegmented","segments","isActive","Styled.Progress","Styled.Separators","from","Styled.Separator","defaultProps","resultColor","strokeBGColor","polarToCartesian","centerX","centerY","radius","angleInDegrees","angleInRadians","PI","x","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","setAlpha","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","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","rest","majorPart","isNegative","numberParts","abs","toFixed","split","majorPartFormatted","formattedValueStr","getCurrencySymbol","classNames","amountInner","SvgArrowmodule","SvgChevronmodule","DIR_MAP","TRANSIENT_PROPS","DEFAULT_SIZES","defaultDisabledStyles","inverse","extractSize","square","ArrowSvg","ChevronSvg","iconStyles","arrowDir","isMultiDir","values","rotateDeg","event","preventDefault","SvgRectanglemodule","SvgFancymodule","shouldForwardArrowBadgeProp","Edge","attrs","Shape","Rectangle","fancy","Fancy","tertiary","quaternary","ArrowBadge","Styled.Edge","pattern","sm","linearGenerator","withPlaceholder","WITH_PH_SIZE","shadow","autoColor","string","sum","charCodeAt","src","Avatar","getAvatarText","titleArray","trim","backgroundImage","shouldForwardBadgeProp","resetDefaultMargin","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","inline","sizeBuilder","getSize","Spinner","DEFAULT_PROPS","switcherWidth","switcherHeight","dotSize","BRAND_PROPS","Input","input","Label","label","Switcher","disabledStyles","checkedStyles","defaultPresetStyle","inactiveColor","checked","brandPresetStyles","tabIndex","onChange","propsByPreset","Styled.Input","Styled.Switcher","htmlFor","Styled.Label","shouldForwardTabProp","DEFAULT_STYLES","compact","crispyCompact","crispy","preserveAspectRatio","backgroundColorHover","borderColorHover","borderColor","backgroundColorDisabled","borderColorDisabled","leftRadius","rightRadius","schema","tabTheme","Tab","noBorder","Inner","Tabs","classNameInner","Styled.Inner","tooltipStyles","flexDirection","wrapperPosition","floater","WebkitFilter","transition","floaterOpening","floaterWithAnimation","floaterClosing","floaterCentered","container","boxSizing","minHeight","justifyContent","borderBottom","close","border","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","inputProps","_onChange","_x","persist","_onClick","_x2","defaultChecked","hidden","forwardedAs","HeadingRoot","SubHeadingRoot","ControlsRoot","ControlsItem","MultilevelItems","Styled.HeadingRoot","SubHeading","Styled.SubHeadingRoot","Controls","confirm","Styled.ControlsRoot","Styled.ControlsItem","ContextMenuMultiLevel","resetTimeout","onSelectItem","selectedItem","level","selectedItems","newSelectedItems","getCurrentConfig","levelId","_acc$items$find","items","find","error","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","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","shouldForwardInputRadioProp","backgroundColorChecked","borderColorChecked","colorChecked","backgroundColorDisabledChecked","borderColorDisabledChecked","colorDisabledChecked","InputRadio","sizeXXS","Styled.InputMask","sizeRadio","Group","Radio","uncontrolled","baseClassName","_labelClassName","console","log","Styled.Group","shouldForwardInputCheckboxProp","InputChecked","InputIndeterminate","indeterminate","InputCheckbox","Styled.InputIndeterminate","Styled.InputChecked","_rect","_g","extraSmall","small","medium","large","extraLarge","BRAND_SIZES","STATIC_SIZES","Background","DefaultMask","BrandMask","bg","bgChecked","borderHover","outlineFocus","templateBackground","borderChecked","bgHover","beforeBgHover","regular","labelClassName","Styled.Background","Styled.BrandMask","Styled.DefaultMask","fadeIn","Select","reactSelectProps","loadOptions","allowCreate","AsyncCreatable","Async","Creatable","ReactSelect","promptTextCreator","searchable","clearable","addLabelText","backspaceToRemoveMessage","clearAllText","clearValueText","noResultsText","searchPromptText","loadingPlaceholder","autoload","shouldForwardFormLabelProp","FormLabel","control","sizeProps","stateProps","elementProps","mergeTheme","topLevelTheme","mergingTheme","StyledThemeProvider"],"mappings":"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"}