├── .eslintignore ├── .eslintrc ├── .gitignore ├── .npmignore ├── README.md ├── config ├── env.js ├── paths.js ├── polyfills.js ├── svgoConfig.js ├── webpack.config.dev.js ├── webpack.config.prod.js └── webpackDevServer.config.js ├── dist ├── main.css ├── main.css.map └── main.js ├── package-lock.json ├── package.json ├── scripts └── build.js ├── src ├── assets │ ├── achievements │ │ ├── awwwards.svg │ │ ├── cssda.svg │ │ ├── eda.svg │ │ └── fwa.svg │ ├── arrow.svg │ ├── arrow_white.svg │ ├── clients │ │ ├── alfa-bank.svg │ │ ├── alfa-bank_white.svg │ │ ├── avito.svg │ │ ├── avito_white.svg │ │ ├── baku.svg │ │ ├── baku_small.svg │ │ ├── baku_small_white.svg │ │ ├── baku_white.svg │ │ ├── bcs.svg │ │ ├── bcs_white.svg │ │ ├── bosh.svg │ │ ├── bosh_white.svg │ │ ├── centerinvest.svg │ │ ├── centerinvest_white.svg │ │ ├── dontabak.svg │ │ ├── dontabak_white.svg │ │ ├── fullSize │ │ │ ├── baku.svg │ │ │ ├── bcs.svg │ │ │ ├── dontabak.svg │ │ │ ├── essencelondon.svg │ │ │ ├── fi.svg │ │ │ ├── harbour-space.svg │ │ │ ├── ikea.svg │ │ │ ├── karimrashid.svg │ │ │ ├── megafon.svg │ │ │ ├── mts.svg │ │ │ ├── papa-johns.svg │ │ │ ├── playkot.svg │ │ │ ├── raiffaisen.svg │ │ │ ├── ris.svg │ │ │ ├── s7.svg │ │ │ ├── sfera.svg │ │ │ ├── silasveta.svg │ │ │ ├── sovcombank.svg │ │ │ ├── tekta.svg │ │ │ ├── tele2.svg │ │ │ ├── teplocel.svg │ │ │ ├── tinkoff.svg │ │ │ ├── utkonos.svg │ │ │ └── yota.svg │ │ ├── home-credit.svg │ │ ├── home-credit_white.svg │ │ ├── ikea.svg │ │ ├── ikea_white.svg │ │ ├── imperial-tobacco.svg │ │ ├── imperial-tobacco_white.svg │ │ ├── leroy-merlin.svg │ │ ├── leroy-merlin_white.svg │ │ ├── mazda.svg │ │ ├── mazda_white.svg │ │ ├── megafon.svg │ │ ├── megafon_white.svg │ │ ├── megalabs.svg │ │ ├── megalabs_white.svg │ │ ├── mts.svg │ │ ├── mts_white.svg │ │ ├── originSize │ │ │ ├── alfa-bank.svg │ │ │ ├── avito.svg │ │ │ ├── baku.svg │ │ │ ├── bcs.svg │ │ │ ├── bosch.svg │ │ │ ├── dontabak.svg │ │ │ ├── essencelondon.svg │ │ │ ├── fi.svg │ │ │ ├── harbour-space.svg │ │ │ ├── home-credit.svg │ │ │ ├── ikea.svg │ │ │ ├── karimrashid.svg │ │ │ ├── leroy-merlin.svg │ │ │ ├── megafon.svg │ │ │ ├── megalabs.svg │ │ │ ├── mts.svg │ │ │ ├── papa-johns.svg │ │ │ ├── playkot.svg │ │ │ ├── raiffeisen.svg │ │ │ ├── ris.svg │ │ │ ├── rjd.svg │ │ │ ├── rosbank.svg │ │ │ ├── s7.svg │ │ │ ├── sfera.svg │ │ │ ├── silasveta.svg │ │ │ ├── sovcombank.svg │ │ │ ├── tekta.svg │ │ │ ├── tele2.svg │ │ │ ├── teplocel.svg │ │ │ ├── tinkoff.svg │ │ │ ├── utkonos.svg │ │ │ └── yota.svg │ │ ├── otkritie.svg │ │ ├── otkritie_white.svg │ │ ├── papa-johns.svg │ │ ├── papa-johns_white.svg │ │ ├── philip-morris.svg │ │ ├── philip-morris_white.svg │ │ ├── raiffeisen.svg │ │ ├── raiffeisen_white.svg │ │ ├── renesans.svg │ │ ├── renesans_white.svg │ │ ├── ris.svg │ │ ├── ris_white.svg │ │ ├── rjd.svg │ │ ├── rjd_white.svg │ │ ├── rosbank.svg │ │ ├── rosbank_white.svg │ │ ├── sevenAds.svg │ │ ├── sevenAds_white.svg │ │ ├── sevenFlowers.svg │ │ ├── sevenFlowers_white.svg │ │ ├── sfera.svg │ │ ├── sfera_white.svg │ │ ├── sibur.svg │ │ ├── sibur_white.svg │ │ ├── sovcombank.svg │ │ ├── sovcombank_white.svg │ │ ├── stada.svg │ │ ├── stada_white.svg │ │ ├── tekta.svg │ │ ├── tekta_white.svg │ │ ├── tele2.svg │ │ ├── tele2_white.svg │ │ ├── tinkoff.svg │ │ ├── tinkoff_white.svg │ │ ├── workItem │ │ │ ├── avito.svg │ │ │ ├── baku.svg │ │ │ ├── bcs.svg │ │ │ ├── dontabak.svg │ │ │ ├── essencelondon.svg │ │ │ ├── fi.svg │ │ │ ├── harbour-space.svg │ │ │ ├── home-credit.svg │ │ │ ├── ikea.svg │ │ │ ├── inverse │ │ │ │ ├── avito.svg │ │ │ │ ├── baku.svg │ │ │ │ ├── bcs.svg │ │ │ │ ├── dontabak.svg │ │ │ │ ├── essencelondon.svg │ │ │ │ ├── fi.svg │ │ │ │ ├── harbour-space.svg │ │ │ │ ├── home-credit.svg │ │ │ │ ├── ikea.svg │ │ │ │ ├── karimrashid.svg │ │ │ │ ├── megafon.svg │ │ │ │ ├── mts.svg │ │ │ │ ├── papa-johns.svg │ │ │ │ ├── playkot.svg │ │ │ │ ├── raiffeisen.svg │ │ │ │ ├── ris.svg │ │ │ │ ├── rjd.svg │ │ │ │ ├── s7.svg │ │ │ │ ├── sfera.svg │ │ │ │ ├── silasveta.svg │ │ │ │ ├── sovcombank.svg │ │ │ │ ├── spires.svg │ │ │ │ ├── tekta.svg │ │ │ │ ├── tele2.svg │ │ │ │ ├── teplocel.svg │ │ │ │ ├── tinkoff.svg │ │ │ │ ├── utkonos.svg │ │ │ │ └── yota.svg │ │ │ ├── karimrashid.svg │ │ │ ├── megafon.svg │ │ │ ├── mts.svg │ │ │ ├── papa-johns.svg │ │ │ ├── playkot.svg │ │ │ ├── raiffeisen.svg │ │ │ ├── ris.svg │ │ │ ├── rjd.svg │ │ │ ├── s7.svg │ │ │ ├── sfera.svg │ │ │ ├── silasveta.svg │ │ │ ├── sovcombank.svg │ │ │ ├── spires.svg │ │ │ ├── tekta.svg │ │ │ ├── tele2.svg │ │ │ ├── teplocel.svg │ │ │ ├── tinkoff.svg │ │ │ ├── utkonos.svg │ │ │ └── yota.svg │ │ ├── yandex.svg │ │ ├── yandex_white.svg │ │ ├── yota.svg │ │ ├── yota_white.svg │ │ ├── ytkonos.svg │ │ └── ytkonos_white.svg │ ├── contacts │ │ ├── moscow.svg │ │ └── rostov.svg │ ├── document.svg │ ├── download.svg │ ├── newTarget.svg │ ├── newTargetBlank.svg │ ├── newTargetBlankHover.svg │ ├── payment.svg │ ├── pencil.svg │ ├── player │ │ ├── copy.svg │ │ ├── exit.svg │ │ ├── facebook.svg │ │ ├── gear.svg │ │ ├── play.svg │ │ ├── play_mini.svg │ │ ├── share.svg │ │ ├── telegram.svg │ │ └── vkontakte.svg │ ├── services │ │ ├── analytics.svg │ │ ├── animate │ │ │ ├── analytics.json │ │ │ ├── creative.json │ │ │ ├── designer.json │ │ │ ├── development.json │ │ │ └── support.json │ │ ├── creative.svg │ │ ├── designer.svg │ │ ├── development.svg │ │ └── support.svg │ ├── socials │ │ ├── facebook.svg │ │ ├── instagram.svg │ │ ├── telegram.svg │ │ └── vkontakte.svg │ └── target-blank.svg ├── components │ ├── AchievementsList │ │ ├── AchievementsList.js │ │ ├── AchievementsList.md │ │ ├── AchievementsList.styl │ │ ├── assets │ │ │ ├── awwwards.bg.svg │ │ │ ├── cssda.bg.svg │ │ │ ├── eda.bg.svg │ │ │ └── fwa.bg.svg │ │ └── data.json │ ├── AppLink │ │ └── AppLink.js │ ├── Avatar │ │ ├── Avatar.js │ │ ├── Avatar.md │ │ └── Avatar.styl │ ├── Awards │ │ ├── Awards.js │ │ ├── Awards.md │ │ ├── assets │ │ │ ├── 1.svg │ │ │ ├── 10.svg │ │ │ ├── 4.svg │ │ │ ├── 5.svg │ │ │ ├── awwwards.svg │ │ │ ├── cssda.svg │ │ │ ├── eda.svg │ │ │ └── fwa.svg │ │ └── styles.styl │ ├── Block │ │ ├── Block.jsx │ │ └── Block.styl │ ├── Button │ │ ├── Button.js │ │ ├── Button.md │ │ ├── Button.styl │ │ └── icons │ │ │ └── arrow-link.svg │ ├── Card │ │ ├── Card.js │ │ ├── Card.md │ │ └── Card.styl │ ├── Checkbox │ │ ├── Checkbox.js │ │ └── Checkbox.md │ ├── CheckboxGroup │ │ ├── CheckboxGroup.js │ │ ├── CheckboxGroup.md │ │ └── CheckboxGroup.styl │ ├── Clients │ │ ├── Clients.js │ │ ├── Clients.md │ │ └── Clients.styl │ ├── Control │ │ ├── Control.js │ │ ├── Control.md │ │ └── Control.styl │ ├── Copyright │ │ ├── Copyright.js │ │ └── Copyright.styl │ ├── ErrorBoundary │ │ └── ErrorBoundary.js │ ├── FileInput │ │ ├── FileInput.js │ │ ├── FileInput.md │ │ └── FileInput.styl │ ├── Footer │ │ ├── Footer.jsx │ │ ├── Footer.md │ │ ├── assets │ │ │ ├── facebook.svg │ │ │ ├── instagram.svg │ │ │ └── vk.svg │ │ └── styles.styl │ ├── FooterMini │ │ ├── FooterMini.js │ │ ├── FooterMini.md │ │ └── FooterMini.styl │ ├── FooterSection │ │ ├── FooterSection.js │ │ ├── FooterSection.md │ │ ├── FooterSection.styl │ │ └── data.json │ ├── FormCol │ │ ├── FormCol.js │ │ ├── FormCol.md │ │ └── FormCol.styl │ ├── FormGroup │ │ ├── FormGroup.js │ │ ├── FormGroup.md │ │ └── FormGroup.styl │ ├── FormRow │ │ ├── FormRow.js │ │ ├── FormRow.md │ │ └── FormRow.styl │ ├── Header │ │ ├── Hamburger │ │ │ ├── index.js │ │ │ └── styles.styl │ │ ├── Header.js │ │ ├── Navigation │ │ │ ├── index.js │ │ │ └── styles.styl │ │ ├── ScrollButton │ │ │ ├── assets │ │ │ │ └── payment.svg │ │ │ ├── index.jsx │ │ │ └── styles.styl │ │ └── styles.styl │ ├── HeaderWrap │ │ ├── HeaderWrap.js │ │ ├── HeaderWrap.md │ │ ├── showreel.gif │ │ ├── showreel_1.png │ │ ├── showreel_2.png │ │ ├── showreel_3.png │ │ └── showreel_4.png │ ├── Heading │ │ ├── Heading.js │ │ ├── Heading.md │ │ └── Heading.styl │ ├── Icon │ │ └── Icon.js │ ├── Input │ │ ├── Input.js │ │ ├── Input.md │ │ └── Input.styl │ ├── InstallmentForm │ │ ├── InputShort │ │ │ ├── InputShort.jsx │ │ │ ├── InputShort.md │ │ │ └── styles.styl │ │ ├── InstallmentForm.jsx │ │ ├── InstallmentForm.md │ │ └── styles.styl │ ├── Link │ │ ├── Link.js │ │ ├── Link.md │ │ └── Link.styl │ ├── LinkScroll │ │ ├── index.jsx │ │ └── util.js │ ├── Logo │ │ ├── Logo.js │ │ ├── Logo.md │ │ ├── Logo.styl │ │ └── assets │ │ │ ├── consulting.svg │ │ │ ├── group.svg │ │ │ ├── handbook.svg │ │ │ ├── lab.svg │ │ │ ├── logo-black.svg │ │ │ ├── logo.svg │ │ │ ├── media.svg │ │ │ ├── mobile.svg │ │ │ └── partners.svg │ ├── Media │ │ ├── Media.js │ │ ├── Media.md │ │ └── Media.styl │ ├── ModalInfo │ │ ├── ModalInfo.js │ │ ├── ModalInfo.md │ │ └── styles.styl │ ├── Note │ │ ├── Note.js │ │ ├── Note.md │ │ └── Note.styl │ ├── Paragraph │ │ ├── Paragraph.js │ │ ├── Paragraph.md │ │ └── style.styl │ ├── Player │ │ ├── ChangeQuality │ │ │ ├── ChangeQuality.js │ │ │ └── ChangeQuality.styl │ │ ├── Player.js │ │ ├── Player.md │ │ ├── Player.styl │ │ ├── ShareBlock │ │ │ ├── ShareBlock.js │ │ │ └── ShareBlock.styl │ │ ├── css.styl │ │ ├── poster-en.jpg │ │ ├── poster-ru.jpg │ │ └── thumb.jpg │ ├── Preloader │ │ ├── Preloader.js │ │ ├── Preloader.md │ │ └── Preloader.styl │ ├── Radio │ │ ├── Radio.js │ │ └── Radio.md │ ├── Reviews │ │ ├── Reviews.js │ │ ├── Reviews.md │ │ └── Reviews.styl │ ├── SelectField │ │ ├── SelectField.js │ │ ├── SelectField.md │ │ └── SelectField.styl │ ├── ServicesItem │ │ ├── ServicesItem.js │ │ └── ServicesItem.styl │ ├── ServicesList │ │ ├── ServicesList.js │ │ ├── ServicesList.md │ │ └── ServicesList.styl │ ├── Slider │ │ ├── Slider.js │ │ ├── Slider.md │ │ └── Slider.styl │ ├── SocialNetworks │ │ ├── SocialNetworks.js │ │ └── SocialNetworks.styl │ ├── Spinner │ │ ├── Spinner.js │ │ ├── Spinner.md │ │ └── Spinner.styl │ ├── Summary │ │ ├── 2-5.png │ │ ├── 2_8.png │ │ ├── Summary.js │ │ ├── Summary.md │ │ ├── Summary.styl │ │ ├── data.json │ │ ├── medal_1-2.png │ │ ├── medal_1.png │ │ ├── medal_12.png │ │ ├── medal_2.png │ │ ├── medal_3.png │ │ ├── medal_4.png │ │ ├── medal_5.png │ │ ├── medal_6.png │ │ ├── medal_7.png │ │ ├── medal_8.png │ │ └── medal_9.png │ ├── Table │ │ ├── Table.js │ │ ├── Table.md │ │ └── Table.styl │ ├── TableCell │ │ ├── TableCell.js │ │ ├── TableCell.md │ │ └── TableCell.styl │ ├── TableContent │ │ ├── TableContent.js │ │ ├── TableContent.md │ │ └── TableContent.styl │ ├── TableHeader │ │ ├── TableHeader.js │ │ ├── TableHeader.md │ │ └── TableHeader.styl │ ├── TableRow │ │ ├── TableRow.js │ │ ├── TableRow.md │ │ └── TableRow.styl │ ├── TextGroup │ │ ├── TextGroup.js │ │ ├── TextGroup.md │ │ └── TextGroup.styl │ ├── VideoBlock │ │ ├── VideoBlock.js │ │ ├── VideoBlock.md │ │ └── VideoBlock.styl │ ├── WorkItem │ │ ├── WorkItem.js │ │ ├── WorkItem.md │ │ ├── WorkItem.styl │ │ └── cup.svg │ ├── WorkTags │ │ ├── WorkTags.js │ │ └── WorkTags.styl │ └── modules │ │ ├── modal.js │ │ └── ui.js ├── fonts │ ├── Graphik-Black-Web.woff │ ├── Graphik-Bold-Web.woff │ ├── Graphik-Medium-Web.woff │ ├── Graphik-Regular-Web.woff │ └── Graphik-Semibold.otf ├── index.js ├── styles │ ├── common.styl │ ├── common │ │ ├── easings.styl │ │ ├── headings.styl │ │ ├── helpers.styl │ │ ├── layouts.styl │ │ ├── mixins.styl │ │ ├── types.styl │ │ └── variables.styl │ ├── config │ │ ├── breakpoints.json │ │ ├── colors.json │ │ └── grid.json │ ├── iconfont-template.styl │ ├── main.styl │ └── reset.styl └── utils │ ├── configureStore.js │ ├── devices.js │ ├── helpers.js │ ├── reducers.js │ ├── scrollLock.js │ └── validation.js ├── styleguide.config.js ├── styleguide └── components │ ├── ComponentsListRenderer │ └── ComponentsListRenderer.js │ ├── Logo │ └── Logo.js │ ├── PlaygroundRenderer │ └── PlaygroundRenderer.js │ ├── SectionHeadingRenderer │ └── SectionHeadingRenderer.js │ ├── Sections │ └── Sections.js │ ├── StyleGuideRenderer │ └── StyleGuideRenderer.js │ ├── TableOfContents │ └── TableOfContents.js │ └── Wrapper │ └── Wrapper.js └── yarn.lock /.eslintignore: -------------------------------------------------------------------------------- 1 | scripts/* 2 | config/* -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "react-app", 3 | "env": { 4 | "browser": true, 5 | "node": true 6 | }, 7 | "rules": { 8 | "new-cap": [2, { 9 | "capIsNewExceptions": ["List", "Map", "Set", "GSAP"] 10 | }], 11 | "react/no-multi-comp": 0, 12 | "import/default": 0, 13 | "import/no-duplicates": 0, 14 | "import/named": 0, 15 | "import/namespace": 0, 16 | "import/no-unresolved": 0, 17 | "import/no-named-as-default": 2, 18 | "no-undef": 0, 19 | "comma-dangle": 0, // not sure why airbnb turned this on. gross! 20 | // "indent": ["error", 2], 21 | "no-console": 0, 22 | "no-alert": 0, 23 | "no-param-reassign": 0, 24 | "func-names": 0, 25 | "id-length": [2, { 26 | "min": 1 27 | }] 28 | }, 29 | "plugins": [ 30 | "react", "import" 31 | ], 32 | "settings": { 33 | "import/parser": "babel-eslint", 34 | "import/resolve": { 35 | "moduleDirectory": ["node_modules", "src"] 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /styleguide/build 6 | 7 | # misc 8 | .DS_Store 9 | .env.local 10 | .env.development.local 11 | .env.test.local 12 | .env.production.local 13 | 14 | npm-debug.log* 15 | yarn-debug.log* 16 | yarn-error.log* 17 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # demo 2 | /styleguide -------------------------------------------------------------------------------- /config/polyfills.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (typeof Promise === 'undefined') { 4 | // Rejection tracking prevents a common issue where React gets into an 5 | // inconsistent state due to an error, but it gets swallowed by a Promise, 6 | // and the user has no idea what causes React's erratic future behavior. 7 | require('promise/lib/rejection-tracking').enable(); 8 | window.Promise = require('promise/lib/es6-extensions.js'); 9 | } 10 | 11 | // fetch() polyfill for making API calls. 12 | require('whatwg-fetch'); 13 | 14 | // Object.assign() is commonly used with React. 15 | // It will use the native implementation if it's present and isn't buggy. 16 | Object.assign = require('object-assign'); 17 | -------------------------------------------------------------------------------- /config/svgoConfig.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | { cleanupAttrs: false }, 4 | { cleanupEnableBackground: false }, 5 | { cleanupIDs: false }, 6 | { cleanupListOfValues: false }, 7 | { cleanupNumericValues: false }, 8 | { collapseGroups: false }, 9 | { convertColors: false }, 10 | { convertPathData: false }, 11 | { convertShapeToPath: false }, 12 | { convertStyleToAttrs: false }, 13 | { convertTransform: false }, 14 | { mergePaths: false }, 15 | { moveElemsAttrsToGroup: false }, 16 | { moveGroupAttrsToElems: false }, 17 | { removeComments: false }, 18 | { removeDesc: false }, 19 | { removeDoctype: false }, 20 | { removeEmptyAttrs: false }, 21 | { removeEmptyContainers: false }, 22 | { removeEmptyText: false }, 23 | { removeHiddenElems: false }, 24 | { removeEditorsNSData: false }, 25 | { removeMetadata: false }, 26 | { removeNonInheritableGroupAttrs: false }, 27 | { removeRasterImages: false }, 28 | { removeTitle: false }, 29 | { removeUnknownsAndDefaults: false }, 30 | { removeUselessDefs: false }, 31 | { removeUnusedNS: false }, 32 | { removeUselessStrokeAndFill: false }, 33 | { removeXMLProcInst: false }, 34 | { sortAttrs: false }, 35 | ], 36 | floatPrecision: 2 37 | }; 38 | -------------------------------------------------------------------------------- /src/assets/achievements/awwwards.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/achievements/cssda.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/achievements/eda.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/achievements/fwa.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/arrow_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/avito.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/avito_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/fullSize/ikea.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/fullSize/mts.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/fullSize/silasveta.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/fullSize/tele2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/clients/ikea.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/clients/ikea_white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/clients/mts.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/mts_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/originSize/ikea.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/originSize/mts.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/originSize/rjd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/clients/originSize/tele2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/clients/rjd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/clients/rjd_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/clients/sevenAds.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/clients/sevenAds_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/clients/sibur.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/clients/sibur_white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/clients/stada.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/clients/stada_white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/clients/tele2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/clients/tele2_white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/avito.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/ikea.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/inverse/avito.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/inverse/ikea.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/inverse/mts.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/inverse/rjd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/inverse/tele2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/mts.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/rjd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/silasveta.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/tele2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/assets/clients/workItem/yota.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/assets/clients/yandex.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/clients/yandex_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/contacts/moscow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/contacts/rostov.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/document.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/download.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/newTarget.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/assets/newTargetBlank.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/newTargetBlankHover.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/payment.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/pencil.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/player/copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/player/exit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/player/facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/player/gear.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/player/play.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/player/play_mini.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/player/share.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/player/telegram.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/player/vkontakte.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/services/analytics.svg: -------------------------------------------------------------------------------- 1 | icon/services/analytics -------------------------------------------------------------------------------- /src/assets/services/designer.svg: -------------------------------------------------------------------------------- 1 | icon/services/design -------------------------------------------------------------------------------- /src/assets/services/development.svg: -------------------------------------------------------------------------------- 1 | icon/services/development -------------------------------------------------------------------------------- /src/assets/services/support.svg: -------------------------------------------------------------------------------- 1 | icon/services/support -------------------------------------------------------------------------------- /src/assets/socials/facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/socials/instagram.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/socials/telegram.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/target-blank.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/AchievementsList/AchievementsList.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/AchievementsList/assets/awwwards.bg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/AchievementsList/assets/cssda.bg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/AchievementsList/assets/eda.bg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/AchievementsList/assets/fwa.bg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/AppLink/AppLink.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import { Link } from 'react-router-dom'; 4 | 5 | export default class Card extends Component { 6 | static propTypes = { 7 | /** link */ 8 | to: PropTypes.string, 9 | /** link text */ 10 | children: PropTypes.any 11 | }; 12 | 13 | static defaultProps = { 14 | to: '' 15 | }; 16 | 17 | render() { 18 | const { to, children, ...rest } = this.props; 19 | let RenderedComponent; 20 | let path; 21 | if (to.indexOf('//') < 0) { 22 | RenderedComponent = Link; 23 | path = { to: to }; 24 | } else if (to.indexOf('://') >= 0 || to.indexOf('//') === 0) { 25 | RenderedComponent = 'a'; 26 | path = { href: to }; 27 | } 28 | 29 | return ( 30 | 31 | {children} 32 | 33 | ) 34 | } 35 | } -------------------------------------------------------------------------------- /src/components/Avatar/Avatar.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import classNames from 'classnames'; 4 | import './Avatar.styl'; 5 | 6 | export default class Avatar extends Component { 7 | static propTypes = { 8 | /** symbol that will be displayed if 'photo' was not set */ 9 | char: PropTypes.string, 10 | /** space delimited list of additional class names */ 11 | className: PropTypes.string, 12 | isLoading: PropTypes.bool, 13 | /** image url */ 14 | photo: PropTypes.string, 15 | }; 16 | 17 | static defaultProps = { 18 | char: '', 19 | photo: '' 20 | }; 21 | 22 | render() { 23 | const { char, className, isLoading, photo } = this.props; 24 | return ( 25 |
32 | { 33 | photo ? 34 | 35 | : 36 |
{ char }
37 | } 38 |
39 | ) 40 | } 41 | } -------------------------------------------------------------------------------- /src/components/Avatar/Avatar.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | Simple avatar 4 | 5 | -------------------------------------------------------------------------------- /src/components/Avatar/Avatar.styl: -------------------------------------------------------------------------------- 1 | $size = 50px 2 | 3 | .Avatar { 4 | display block 5 | vertical-align top 6 | min-width $size 7 | width $size 8 | height $size 9 | border-radius 50% 10 | background-color #00B2FC 11 | color #FFF 12 | overflow hidden 13 | transition background-color $duration 14 | &--loading { 15 | background-color #DDD 16 | } 17 | &__image { 18 | width 100% 19 | height 100% 20 | } 21 | &__text { 22 | font-family $fontFamily 23 | font-size 14px 24 | line-height $size 25 | text-transform uppercase 26 | text-align center 27 | } 28 | } -------------------------------------------------------------------------------- /src/components/Awards/Awards.md: -------------------------------------------------------------------------------- 1 | Awards: 2 | 3 | 56 | -------------------------------------------------------------------------------- /src/components/Awards/assets/1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/Awards/assets/10.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/Awards/assets/4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/Awards/assets/5.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/Awards/assets/awwwards.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/Awards/assets/cssda.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/Awards/assets/eda.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/Awards/assets/fwa.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/Button/Button.md: -------------------------------------------------------------------------------- 1 | White button with arrow: 2 | 3 |