{"version":3,"sources":["webpack:///./src/components/Calculator/index.jsx","webpack:///./src/components/CTA/index.jsx","webpack:///./src/components/PriceTable/withPriceData.jsx","webpack:///./src/components/FormattedPrice/index.jsx","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./src/components/PriceTable/PriceTableColumn.jsx","webpack:///./src/components/PriceTable/PriceTableCell.jsx","webpack:///./src/components/PriceTable/PriceTableTabs.jsx","webpack:///./src/components/PriceTable/PriceTable.jsx","webpack:///./src/components/PriceTable/index.js","webpack:///./src/components/Popup/index.jsx","webpack:///./src/components/VatList/getVatData.jsx","webpack:///./src/components/VatList/VatList.jsx","webpack:///./src/components/VatList/index.js","webpack:///./src/pages/pricing.html/index.jsx","webpack:///./src/components/FaqSection/index.jsx","webpack:///./src/components/VerticalTextBlock/index.jsx","webpack:///./src/components/Accordion/Accordion.jsx","webpack:///./src/components/Accordion/AccordionItem.jsx","webpack:///./src/components/Spinner/index.jsx"],"names":["utils","window","require","Calculator","state","calcLoaded","getCalc","props","academicLevel","paperType","pages","Calc","ID","calculatorType","format","callback","i","setState","isLoading","options","deafault","deadlinesDefault","academicLevelDefault","paperTypesDefault","pagesDefault","componentDidMount","isBrowser","this","calcRef","observeElement","element","marginValue","getWidget","widgetLink","fn","render","className","sectionClassName","text","dotsStyle","ref","el","data-calc-mini","name","classNames","method","action","data-calculator-form","htmlFor","id","data-academic-level-select","type","title","data-minus-button","data-pages-input","data-plus-button","data-words-qty","style","display","data-tip-discount","data-notice","data-academic-level-control","data-academic-level-select-mobile","aria-label","data-tariff-control","data-total-price","data-submit-button","Component","defaultProps","CTA","isOnlyWaves","children","btnText","to","rel","data-observed-bg","undefined","FormattedPrice","value","currency","escape","symbol","rate","fixed","formattedPrice","parseFloat","toFixed","dangerouslySetInnerHTML","__html","_objectWithoutPropertiesLoose","source","excluded","key","target","sourceKeys","Object","keys","length","indexOf","PriceTableColumn","heading","mouseLeaveEvent","others","filter","Boolean","join","onMouseLeave","PriceTableCell","mouseEnterEvent","ishovered","index","onMouseEnter","PriceTableTabs","isActive","onClickTab","onClick","PriceTable","defaultDynamicLevel","currentTabId","hoverCellIndex","currencyCode","handleCurrencyChange","event","hoverCell","renderTariff","academicLevelId","deadlineHours","data","tariffs","byId","byAcademicLevelToDeadline","currencies","byCode","defaultCode","pricePerItem","renderDeadline","hours","byHours","deadlines","renderDynamicLevel","renderAcademicLevel","renderTabs","academicLevels","map","renderCurrencyMenu","allCodes","onChange","defaultValue","code","academicLevelIds","allIds","sort","a","b","allHours","Spinner","normalizeData","json","rawAcademicLevels","rawDeadlines","defaultCurrency","currencyInfo","rawCurrencies","env","reduce","result","push","defaultHours","acc","deadlineName","byDeadlineToAcademicLevel","pricePerPage","minItemCount","minPages","hrs","writerHours","hrsWriter","isDefault","deadline","prices","withPriceData","fetcher","fetch","then","response","WrappedComponent","Promise","resolve","wrappedComponentName","displayName","PriceData","error","catch","createPriceData","Popup","isOpen","closePopup","VatList","vats","item","tax","countryA","country","toUpperCase","countryB","renderVatItem","getVatData","VatData","createVatData","Pricing","popup","openPopup","status","document","getElementsByTagName","classList","add","remove","pageWrapperClassName","headerClassName","meta","content","property","link","href","VerticalTextBlock","FaqSection","Accordion","React","verticalTextClass","AccordionItem","handleAccordionItemClick","itemHeight","itemRef","clientHeight","handleAccordionItemKeyPress","e","charCode","preventDefault","currentHeight","onKeyPress","aria-expanded","role","tabIndex","height","aria-hidden"],"mappings":"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","file":"component---src-pages-pricing-html-index-jsx-2beec5cc795ebbc48265.js","sourcesContent":["/* globals Calc */\n// @todo enable next eslint rules\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable no-new */\n/* eslint-disable jsx-a11y/label-has-for */\n/* eslint-disable jsx-a11y/label-has-associated-control */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isBrowser from '../../utils/helpers/isBrowser';\nimport Spinner from '../Spinner';\nimport VerticalTextBlock from '../VerticalTextBlock';\n\nimport './index.scss';\nimport './calculator.scss';\n\n// eslint-disable-next-line global-require\nconst utils = typeof window !== 'undefined' ? require('@uvocore-front/utils') : null;\n\nclass Calculator extends Component {\n state = {\n calcLoaded: false,\n };\n\n componentDidMount() {\n if (isBrowser && this.calcRef) {\n utils.observeElement({\n element: '[data-calc-mini]',\n marginValue: 300,\n callback: () => {\n utils.getWidget({\n widgetLink: '/assets/js/calc.js',\n fn: () => {\n this.getCalc();\n },\n });\n },\n });\n }\n }\n\n getCalc = () => {\n const {\n academicLevel,\n paperType,\n pages = 1,\n } = this.props;\n\n new Calc({\n ID: '169',\n calculatorType: 'DefaultCalculator',\n format: 'json',\n callback: (i) => {\n this.setState({\n calcLoaded: !i.isLoading,\n });\n },\n options: {\n deafault: {\n deadlinesDefault: [101599, 101683, 101731],\n academicLevelDefault: academicLevel,\n paperTypesDefault: paperType,\n pagesDefault: pages,\n },\n },\n });\n };\n\n render() {\n const {\n calcLoaded,\n } = this.state;\n\n return (\n
\n
\n \n\n
\n
\n \n\n
\n
\n

\n Calculate the price of your paper\n

\n {\n this.calcRef = el;\n }}\n className=\"calculator__box\"\n data-calc-mini\n >\n \n\n
\n \n
\n \n
\n
\n\n
\n \n
\n
\n \n −\n \n \n \n +\n \n
\n
\n \n
\n\n \n You will get a personal manager and a discount.\n
\n\n
\n\n
\n \n \n
\n \n
\n );\n }\n\n render() {\n const { data, isLoading } = this.props;\n let academicLevelIds = [];\n let deadlineHours = [];\n\n if (data) {\n const { academicLevels, deadlines } = data;\n\n academicLevelIds = academicLevels.allIds.sort((a, b) => (a - b));\n deadlineHours = deadlines.allHours.sort((a, b) => (b - a));\n }\n\n return (\n
\n {isLoading && }\n {data && (\n \n {this.renderCurrencyMenu()}\n
\n {academicLevelIds.map(id => this.renderTabs(id, deadlineHours))}\n
\n \n {deadlineHours.map((hours, index) => this.renderDeadline(hours, index))}\n \n {academicLevelIds.map(id => this.renderAcademicLevel(id, deadlineHours))}\n {this.renderDynamicLevel(deadlineHours)}\n
\n )}\n
\n );\n }\n}\n\nPriceTable.propTypes = {\n data: PropTypes.shape({\n // eslint-disable-next-line react/forbid-prop-types\n academicLevels: PropTypes.object,\n // eslint-disable-next-line react/forbid-prop-types\n deadlines: PropTypes.object,\n // eslint-disable-next-line react/forbid-prop-types\n currencies: PropTypes.object,\n // eslint-disable-next-line react/forbid-prop-types\n tariffs: PropTypes.object,\n }),\n isLoading: PropTypes.bool,\n};\n\nPriceTable.defaultProps = {\n data: null,\n isLoading: false,\n};\n\nexport default PriceTable;\n","import fetch from '../../utils/fetch';\n\nimport withPriceData from './withPriceData';\nimport PriceTable from './PriceTable';\n\n\nconst normalizeData = (json = {}) => {\n /**\n * @todo use correct es6 syntax\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destructuring\n * @example\n * // Bad\n * const {\n * currency: {},\n * } = json;\n *\n * // Good\n * const {\n * currency = {},\n * } = json;\n */\n const {\n academicLevels: rawAcademicLevels = [],\n deadlines: rawDeadlines = {},\n // currency: {},\n currency: { defaultCurrency, currencyInfo: rawCurrencies = {} } = {},\n env = 'production',\n } = json;\n\n /**\n * @todo use immutable patters\n * @see https://hackernoon.com/functional-programming-paradigms-in-modern-javascript-immutability-4e9751ca005c\n * @example\n * const {\n * currency: { defaultCurrency: defaultName, currencyInfo: rawCurrencies } = {}\n * } = json;\n * const currencies = {\n * defaultName,\n * };\n *\n * return {\n * currencies,\n * };\n *\n * @todo properly structure data for usage in components\n * @see https://redux.js.org/recipes/structuring-reducers/normalizing-state-shape\n */\n // let { currency } = json;\n // currency.currentCurrency = json.currency.defaultCurrency;\n const currencies = Object\n .keys(rawCurrencies)\n .reduce((result, name) => {\n const { byCode, allCodes } = result;\n\n byCode[name] = rawCurrencies[name];\n allCodes.push(name);\n\n return {\n byCode,\n allCodes,\n };\n }, {\n byCode: {},\n allCodes: [],\n });\n\n currencies.defaultCode = defaultCurrency;\n\n const deadlines = {\n byHours: {},\n allHours: [],\n defaultHours: null,\n };\n\n const academicLevels = rawAcademicLevels.reduce((result, academicLevel) => {\n const { byId, allIds } = result;\n const { id } = academicLevel;\n\n byId[id] = academicLevel;\n allIds.push(id);\n\n return {\n byId,\n allIds,\n };\n },\n {\n byId: {},\n allIds: [],\n });\n\n const tariffs = Object\n .keys(rawDeadlines)\n .reduce((acc, deadlineName) => Object\n .keys(rawDeadlines[deadlineName])\n .reduce((result, academicLevelId) => {\n const {\n byId,\n allIds,\n byDeadlineToAcademicLevel,\n byAcademicLevelToDeadline,\n // prices\n } = result;\n const {\n id,\n name,\n pricePerPage: pricePerItem,\n minPages: minItemCount,\n hrs: hours,\n hrsWriter: writerHours,\n isDefault,\n academicLevel,\n } = rawDeadlines[deadlineName][academicLevelId];\n\n if (!deadlines.byHours[hours]) {\n deadlines.byHours[hours] = {\n name,\n hours,\n writerHours,\n };\n deadlines.allHours.push(hours);\n }\n\n if (isDefault) {\n deadlines.defaultHours = hours;\n }\n\n byId[id] = {\n id,\n pricePerItem,\n minItemCount,\n deadline: hours,\n academicLevel,\n };\n allIds.push(id);\n /**\n * @todo remove redundant property prices\n * Price is already declared in tariff\n */\n // prices[id] = {pricePerItem};\n\n if (!byAcademicLevelToDeadline[academicLevel]) {\n byAcademicLevelToDeadline[academicLevel] = {};\n }\n\n byAcademicLevelToDeadline[academicLevel][hours] = id;\n\n if (!byDeadlineToAcademicLevel[hours]) {\n byDeadlineToAcademicLevel[hours] = {};\n }\n\n byDeadlineToAcademicLevel[hours][academicLevel] = id;\n\n return {\n byId,\n allIds,\n byAcademicLevelToDeadline,\n byDeadlineToAcademicLevel,\n // prices,\n };\n }, acc), {\n byId: {},\n allIds: [],\n byDeadlineToAcademicLevel: {},\n byAcademicLevelToDeadline: {},\n prices: {},\n });\n\n return {\n academicLevels,\n deadlines,\n tariffs,\n currencies,\n env,\n };\n};\n\nconst fetcher = () => fetch('/assets/get_pricing_block/?siteId=169&format=json')\n .then(response => response.json())\n .then(normalizeData);\n\nexport default withPriceData({ fetcher })(PriceTable);\n","// @todo enable next eslint rules\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable react/require-default-props */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\n\n/**\n * @todo use React `Portal` utility component\n * @see https://reactjs.org/docs/portals.html\n *\n * @todo use `classNames` utility for style class names combinations\n * @see https://github.com/JedWatson/classnames#classnames\n *\n * @todo add attributes to interactive elements\n * @see https://www.w3.org/TR/wai-aria-practices/examples/dialog-modal/dialog.html\n */\nconst Popup = ({\n isOpen,\n heading,\n children,\n closePopup,\n}) => (\n
\n closePopup(false)} />\n
\n
closePopup(false)} />\n
\n {heading}\n
\n
\n {children}\n
\n
\n
\n);\n\n/**\n * @todo add default props\n */\nPopup.propTypes = {\n heading: PropTypes.string,\n children: PropTypes.node,\n closePopup: PropTypes.func,\n isOpen: PropTypes.bool,\n};\n\nexport default Popup;\n","import React, { Component } from 'react';\n\nfunction createVatData(WrappedComponent, options = {}) {\n const {\n fetcher = () => Promise.resolve(),\n } = options;\n const wrappedComponentName = WrappedComponent.name\n || WrappedComponent.displayName\n || 'Component';\n\n class VatData extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n error: undefined,\n data: undefined,\n isLoading: true,\n };\n }\n\n componentDidMount() {\n fetcher()\n .then((data) => {\n this.setState({\n data,\n isLoading: false,\n });\n })\n .catch((error) => {\n this.setState({\n error,\n isLoading: false,\n });\n });\n }\n\n render() {\n const {\n error,\n data,\n isLoading,\n } = this.state;\n\n return (\n \n );\n }\n }\n\n VatData.displayName = `${wrappedComponentName}-with-VatData`;\n\n return VatData;\n}\n\nexport default options => WrappedComponent => createVatData(WrappedComponent, options);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Spinner from '../Spinner';\nimport './VatList.scss';\n\nconst VatList = ({ data, error, isLoading }) => {\n const sortedVatList = () => data && data.vats.filter(item => item.tax > 0).sort((a, b) => {\n const countryA = a.country.toUpperCase();\n const countryB = b.country.toUpperCase();\n if (countryA < countryB) return -1;\n if (countryA > countryB) return 1;\n return 0;\n });\n\n const renderVatItem = (item, key) => (\n
  • \n {item.country}\n {' '}\n \n {item.tax}\n \n
  • \n );\n\n return (\n
      \n {isLoading && (
    • )}\n {error && (
    • Something went wrong
    • )}\n {data && sortedVatList().map((item, index) => renderVatItem(item, index))}\n
    \n );\n};\n\nVatList.propTypes = {\n data: PropTypes.shape({\n success: PropTypes.bool,\n vats: PropTypes.arrayOf(\n PropTypes.shape({\n country: PropTypes.string,\n tax: PropTypes.number,\n }),\n ),\n }),\n isLoading: PropTypes.bool,\n error: PropTypes.instanceOf(Error),\n};\n\nVatList.defaultProps = {\n data: undefined,\n isLoading: false,\n error: undefined,\n};\n\nexport default VatList;\n","import fetch from '../../utils/fetch';\nimport getVatData from './getVatData';\nimport VatList from './VatList';\n\n\nconst fetcher = () => fetch('/api/config/getVatForCountries.json')\n .then(response => response.json());\n\nexport default getVatData({ fetcher })(VatList);\n","// @todo enable next eslint rules\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable react/destructuring-assignment */\n/* eslint-disable react/no-access-state-in-setstate */\n/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { Link } from 'gatsby';\nimport Helmet from 'react-helmet';\n\nimport Layout from '../../layouts/SimplePage';\nimport Calculator from '../../components/Calculator';\nimport FaqSection from '../../components/FaqSection';\nimport { Accordion, AccordionItem } from '../../components/Accordion';\nimport VerticalTextBlock from '../../components/VerticalTextBlock';\nimport PriceTable from '../../components/PriceTable';\nimport Popup from '../../components/Popup';\nimport VatList from '../../components/VatList';\nimport CTA from '../../components/CTA';\n\nimport './index.scss';\n\n\n/**\n * @todo rewrite as stateless function\n */\nexport default class Pricing extends React.Component {\n /**\n * @todo move state to component\n * gatsby pages should be stateless functions\n */\n state = {\n popup: false,\n };\n\n openPopup = (status) => {\n /**\n * @todo use destructuring assignment\n *\n * @todo rewrite handler usage of `setState`\n * @see https://reactjs.org/docs/react-component.html#setstate\n * @example\n * this.setState(\n * ({ popup }) => ({\n * popup: status !== undefined ? status : !popup,\n * }),\n * () => {\n * const { popup } = this.state;\n *\n * if (popup) {\n * // ...\n * } else {\n * // ...\n * }\n * },\n * );\n */\n const popup = status !== undefined ? status : !this.state.popup;\n\n if (popup) {\n document.getElementsByTagName('html')[0].classList.add('overflow');\n document.getElementsByTagName('body')[0].classList.add('overflow');\n } else {\n document.getElementsByTagName('html')[0].classList.remove('overflow');\n document.getElementsByTagName('body')[0].classList.remove('overflow');\n }\n\n this.setState({\n popup,\n });\n };\n\n /**\n * @todo do not use array item index as Component key\n * @see https://reactjs.org/docs/lists-and-keys.html#keys\n *\n * @todo handle key events\n * Interactive elements should have focus management\n *\n * @todo add attributes to interactive static element\n * Interactive static elements should have role and description\n */\n render() {\n return (\n \n\n \n\n this.openPopup(false)}\n >\n \n \n\n
    \n
    \n

    \n Pricing\n

    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n

    \n The final price for an essay depends on several factors:\n

    \n
      \n
    • \n Academic level\n
    • \n
    • \n Number of pages\n
    • \n
    • \n Urgency\n
    • \n
    • \n Desired grade\n
    • \n
    \n

    \n All prices are given in USD for 1 page.\n

    \n

    \n These prices do not include the VAT (\n this.openPopup()}>\n value-added tax\n \n ). Prices for EU customers are calculated according to the tariffs of the country\n the customer is from.\n

    \n
    \n
    \n
    \n
    \n\n \n \n \n

    \n We believe our prices are neither high, nor low. Our goal was to find a perfect\n balance between the\n ability to hire competent writers and pay them a decent salary and providing our\n services at a fair\n price for customers. In our humble opinion, we found such a balance.\n

    \n
    \n\n \n

    \n There are several factors that influence the final price for your order.\n First of all, it depends on your academic level: obviously,\n it takes more time and effort to write a master’s\n paper than an undergraduate one. So, the price depends\n on the number of pages you’ve ordered and the\n urgency.\n

    \n
    \n\n \n

    \n Yes, you can. Please visit our\n {' '}\n \n Money Back Guarantee page\n \n {' '}\n for more information.\n

    \n
    \n\n \n

    \n You can pay via your credit card. All payment methods are safe since we use\n industry-standard security measures to encrypt all our data. This means no one can\n access your bank account information when you use our website to make a payment.\n

    \n
    \n\n \n

    \n If you’ve ordered a long paper like a thesis, you don’t have to wait until the last\n part of it is finished. Using our part-by-part payment feature,\n you can pay for every completed part of your order\n separately. This will cost you an additional 10%, but\n you get an opportunity to review every completed\n part of your paper and give suggestions to your writer.\n

    \n
    \n\n \n

    \n Sure. For an additional payment you can see three pages, which are randomly chosen\n from papers completed by your writer. You can request a new writer up to 3 times.\n

    \n
    \n\n \n

    \n There are disciplines that are considered more complicated since they require more\n profound research\n and skills:\n

    \n
      \n
    • \n Accounting\n
    • \n
    • \n Architecture, building and planning\n
    • \n
    • \n Chemistry\n
    • \n
    • \n Computer science\n
    • \n
    • \n Finance\n
    • \n
    • \n Mathematics\n
    • \n
    • \n Physics\n
    • \n
    • \n Statistics\n
    • \n
    • \n IT, web\n
    • \n
    • \n Biology (and other life sciences)\n
    • \n
    • \n Civil engineering\n
    • \n
    • \n Engineering\n
    • \n
    \n

    \n Papers in such disciplines will cost you 20% more. If you choose “Other” in the list\n of disciplines, our support team will review your order, and if\n it turns out the discipline is one of the mentioned\n above, they will send you a link to make an additional payment.\n

    \n
    \n
    \n
    \n\n \n\n \n\n \n );\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'gatsby';\nimport VerticalTextBlock from '../VerticalTextBlock';\n\nimport './index.scss';\n\n\nconst FaqSection = ({ children }) => (\n
    \n
    \n \n\n
    \n\n
    \n

    \n Frequently\n
    \n Asked\n
    \n Questions\n

    \n
    \n\n
    \n\n {children}\n\n \n Read full FAQ\n \n
    \n\n
    \n
    \n
    \n);\n\nFaqSection.propTypes = {\n children: PropTypes.node,\n};\n\nFaqSection.defaultProps = {\n children: undefined,\n};\n\nexport default FaqSection;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport './index.scss';\n\n\nconst VerticalTextBlock = ({\n sectionClassName,\n text,\n dotsStyle,\n}) => {\n const verticalTextClass = classNames(\n `${sectionClassName}-section__vertical-text`,\n 'vertical-text',\n `dots-${dotsStyle}`,\n 'font-rift',\n 'font-rift_inverse',\n );\n\n return (\n
    \n
    \n {text}\n
    \n
    \n );\n};\n\nVerticalTextBlock.propTypes = {\n sectionClassName: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n dotsStyle: PropTypes.string,\n};\n\nVerticalTextBlock.defaultProps = {\n dotsStyle: 'hidden',\n};\n\nexport default VerticalTextBlock;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport './Accordion.scss';\n\n\nconst Accordion = ({ children, className }) => (\n \n {children}\n
    \n);\n\nAccordion.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n};\n\nAccordion.defaultProps = {\n className: undefined,\n};\n\nexport default Accordion;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n\nclass AccordionItem extends Component {\n state = {\n isOpen: false,\n };\n\n handleAccordionItemClick = () => {\n const { isOpen } = this.state;\n\n if (isOpen) {\n this.setState({\n isOpen: false,\n });\n } else {\n this.setState({\n isOpen: true,\n itemHeight: this.itemRef.clientHeight,\n });\n }\n };\n\n handleAccordionItemKeyPress = (e) => {\n if (e.charCode === 13 || e.charCode === 32) {\n e.preventDefault();\n this.handleAccordionItemClick();\n }\n };\n\n\n render() {\n const { isOpen, itemHeight } = this.state;\n const { title, children, className } = this.props;\n const currentHeight = isOpen ? itemHeight : 0;\n\n return (\n \n \n

    \n {title}\n

    \n
    \n \n { this.itemRef = el; }}\n >\n {children}\n
    \n
    \n
    \n );\n }\n}\n\nAccordionItem.propTypes = {\n title: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n};\n\nAccordionItem.defaultProps = {\n className: undefined,\n};\n\nexport default AccordionItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport './index.scss';\n\nconst Spinner = ({ className }) => (\n \n
    \n
    \n);\n\nSpinner.propTypes = {\n className: PropTypes.string,\n};\n\nSpinner.defaultProps = {\n className: 'center',\n};\n\nexport default Spinner;\n"],"sourceRoot":""}