{"version":3,"sources":["data/texts.js","components/countdown/countdown.js","components/calculator/box/box.js","components/calculator/buttongroup/buttongroup-item/buttongroup-item.js","components/calculator/buttongroup/buttongroup.js","components/calculator/number-description/number-description.js","components/calculator/number-diagram/number-diagram.js","components/calculator/percentage-diagram/percentage-diagram.js","components/calculator/slider/slider.js","data/calculator-options.js","components/calculator/calculator.js","App.js","reportWebVitals.js","index.js"],"names":["calculatorTexts","countdownTexts","Countdown","state","hasPassed","days","undefined","hours","minutes","toDate","timeFormat","deadline","moment","utc","now","totalTime","diff","Math","floor","this","setState","TagManager","initialize","gtmId","props","timeTillDate","updateCountdown","interval","setInterval","clearInterval","className","download","href","React","Component","Box","title","children","ButtonGroupItem","value","selected","circle","onSelected","classname","cx","onClick","tabIndex","ButtonGroup","buttons","metric","getTitle","button","id","imperial","map","index","NumberDescription","number","unit","isPositive","duration","formatValue","toLocaleString","maximumFractionDigits","NumberDiagram","sign","isPos","classnames","abs","PercentageDiagram","percentage","diagramValue","posOrNeg","barWidth","width","style","Slider","values","onChange","useState","selectedValue","setSelectedValue","minmax","arr","min","max","i","len","length","v","step","findMinMax","sliderMarks","mark","dots","defaultValue","find","x","metrics","options","long","short","drill","mass","massUnit","weight","weightUnit","drillability","diameter","annualHours","text","targetMeters","Calculator","metricOptions","setMetricOptions","drillabilityOptions","setDrillabilityOptions","diameterOptions","setDiameterOptions","filter","meters","setMeters","setHours","fuelPercent","setFuelPercent","fuelNumber","setFuelNumber","productivityPercent","setProductivityPercent","productivityNumber","setProductivityNumber","carbonReduction","setCarbonReduction","carIndex","setCarIndex","riggsNeeded","setRiggsNeeded","useEffect","m","h","isSubscribed","urlParameters","fetch","then","res","json","option","currentIndex","indexOf","numberOfmeterOptions","newIndex","App","exact","path","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","Array","prototype","Object","defineProperty","predicate","TypeError","o","thisArg","arguments","k","kValue","call","configurable","writable","assign","target","varArgs","to","nextSource","nextKey","hasOwnProperty","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.591f9697.chunk.js","sourcesContent":["export const calculatorTexts = {\n calculatorTitle: 'Your current DTH set-up',\n calculatorSubtitle: 'Choose your current down-the-hole set-up and conditions.',\n resultsTitle: 'With Top Hammer XL',\n resultsSubtitle: 'Your potential annual improvements with Top Hammer XL system.',\n fuelTitle: 'Fuel consumption',\n capacityTitle: 'Productivity',\n carbonTitle: 'Co2 reduction',\n familyCars: 'family cars @ target ', /* whitespace matters! unit is added in code! */\n rigsTitle: 'No. rigs needed',\n rigsDescription: 'for target amount of ', /* whitespace matters! unit is added in code! */\n}\n\nexport const countdownTexts = {\n productName: 'Top hammer XL',\n title: 'Launching in',\n days: 'days',\n hours: 'hours',\n minutes: 'minutes',\n calendarLink: 'Save the date',\n launched: 'It\\'s here!'\n}","import React from \"react\"\nimport moment from 'moment'\nimport { countdownTexts } from '../../data/texts'\nimport TagManager from 'react-gtm-module'\n\nimport './countdown.scss'\n\nclass Countdown extends React.Component {\n state = {\n hasPassed: false,\n days: undefined,\n hours: undefined,\n minutes: undefined,\n }\n\n updateCountdown(\n toDate,\n timeFormat) {\n const deadline = moment.utc(toDate, timeFormat);\n const now = moment.utc();\n const totalTime = deadline.diff(now);\n const minutes = Math.floor((totalTime / 1000 / 60) % 60);\n const hours = Math.floor((totalTime / (1000 * 60 * 60)) % 24);\n const days = Math.floor(totalTime / (1000 * 60 * 60 * 24));\n const hasPassed = days + hours + minutes < 0;\n this.setState({ days, hours, minutes, hasPassed });\n }\n\n componentDidMount() {\n\n const tagManagerArgs = {\n gtmId: 'GTM-TZHVMVM'\n }\n\n TagManager.initialize(tagManagerArgs)\n const { timeTillDate, timeFormat } = this.props;\n this.updateCountdown(timeTillDate, timeFormat);\n this.interval = setInterval(() => {\n this.updateCountdown(timeTillDate, timeFormat);\n }, 60000);\n }\n\n componentWillUnmount() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n }\n\n render () {\n const { days, hours, minutes, hasPassed } = this.state;\n if(hasPassed) {\n return (\n
\n
\n

{countdownTexts.productName}

\n

{countdownTexts.launched}

\n
\n
\n )\n } else {\n return (\n
\n
\n

{countdownTexts.productName}

\n

{countdownTexts.title}

\n
\n
\n
\n {days}\n {countdownTexts.days}\n
\n
\n {hours}\n {countdownTexts.hours}\n
\n
\n {minutes}\n {countdownTexts.minutes}\n
\n
\n
\n

\n \n {countdownTexts.calendarLink}\n \n

\n
\n
\n )\n }\n }\n}\n\nexport default Countdown","import React from 'react'\n\nimport './box.scss'\n\nconst Box = ({\n title,\n children,\n}) => {\n return (\n
\n

{title}

\n {children}\n
\n )\n}\n\nexport default Box","import React from 'react'\nimport cx from 'classnames'\n\nimport './buttongroup-item.scss'\n\nconst ButtonGroupItem = ({\n title,\n value,\n selected,\n circle,\n onSelected,\n}) => {\n\n const classname = cx(\n 'buttongroup-item',\n {'selected' : selected},\n {[`circle circle-${value}`]: circle}\n )\n\n return (\n onSelected()}\n >\n \n {title}\n \n \n )\n}\n\nexport default ButtonGroupItem","import React from 'react'\n\nimport './buttongroup.scss'\nimport ButtonGroupItem from './buttongroup-item/buttongroup-item'\n\nconst ButtonGroup = ({\n buttons,\n onSelected,\n metric,\n}) => {\n\n const getTitle = (button) => {\n return ((metric && metric.id === 1) ? button.imperial : button.title)\n }\n\n return (\n
\n {buttons.map((button, index) => (\n onSelected({button})}\n circle={button.circle}\n />\n \n ))}\n
\n )\n}\n\nexport default ButtonGroup","import React from 'react'\nimport AnimatedNumber from 'animated-number-react'\n\nimport './number-description.scss'\n\nconst NumberDescription = ({\n number,\n unit\n}) => {\n\n const isPositive = number >=0\n\n return (\n
\n {number && (\n <>\n {isPositive && '+'}\n value.toLocaleString(undefined, {maximumFractionDigits:0})}\n />\n \n )}\n  {unit}\n
\n )\n}\n\nexport default NumberDescription","import React from 'react'\nimport AnimatedNumber from 'animated-number-react'\nimport cx from 'classnames'\n\nimport './number-diagram.scss'\n\nconst NumberDiagram = ({\n title,\n number,\n unit,\n children,\n}) => {\n var sign = '-'\n const isPos = Math.sign(number)\n if (isPos === 1) {\n sign = '+'\n } else if (isPos === 0) {\n sign = '±'\n } else {\n sign = '-'\n }\n \n const classnames = cx({\n 'number': true,\n 'neutral': Math.sign(number) === 0\n })\n\n return (\n
\n

{title}

\n
\n {sign}\n value.toLocaleString(undefined, {maximumFractionDigits:0})}\n />\n {unit && ({` ${unit}`})}\n
\n {children && (\n
\n {children}\n
\n )}\n
\n )\n}\n\nexport default NumberDiagram","import React from 'react'\nimport cx from 'classnames'\nimport AnimatedNumber from 'animated-number-react'\n\nimport './percentage-diagram.scss'\n\nconst PercentageDiagram = ({\n title,\n percentage,\n children,\n}) => {\n const diagramValue = percentage/2\n const posOrNeg = Math.sign(diagramValue) > 0 ? 'positive' : 'negative'\n const classnames = cx({\n 'bar': true,\n [`${posOrNeg}`]: true\n })\n\n const barWidth = {\n width: `${Math.abs(diagramValue)}%`\n }\n \n return (\n
\n

{title}

\n

\n {Math.sign(diagramValue) > 0 ? '+' : '-'}\n value.toLocaleString(undefined, {maximumFractionDigits:0})}\n />\n {'%'}\n

\n
\n
\n
\n
\n {children && (\n
\n {children}\n
\n )}\n
\n )\n}\n\nexport default PercentageDiagram","import React, { useState } from 'react'\nimport RCSlider from 'rc-slider';\n\nimport './slider.scss'\n\nconst Slider = ({\n values,\n onChange,\n selected\n}) => {\n\n const [selectedValue, setSelectedValue] = useState(selected)\n\n const findMinMax = (arr) => {\n let min = values[0], max = values[0];\n \n for (let i = 1, len=values.length; i < len; i++) {\n let v = values[i];\n min = (v.step < min.step) ? v : min;\n max = (v.step > max.step) ? v : max;\n }\n \n return [min, max];\n }\n\n const onSliderChange = (value) => {\n const selectedValue = values.find(x => x.step === value)\n setSelectedValue(selectedValue)\n onChange(selectedValue)\n }\n\n const minmax = findMinMax(values)\n const sliderMarks = (<>

{minmax[0].mark}

{minmax[1].mark}

)\n \n return (\n
\n

\n {selected.mark}\n

\n \n
\n {sliderMarks}\n
\n
\n )\n}\n\nexport default Slider\n\n\n\n","export const apiUrl = 'https://ewus0qw9db.execute-api.eu-west-1.amazonaws.com/test/calculate'\n\nexport const metrics = {\n title: 'System of measurement',\n options: [\n {\n id: 0,\n title: 'Metric',\n long: 'meters',\n short: 'm',\n drill: '(mm)',\n value: 1,\n mass: 1,\n massUnit: 'litres',\n weight: 1,\n weightUnit: 'kg',\n },\n {\n id: 1,\n title: 'Imperial',\n long: 'feet',\n drill: '(inch)',\n short: 'ft',\n value: 3.2808399,\n selected: true,\n mass: 0.21997,\n massUnit: 'gallons',\n weight: 2.20462,\n weightUnit: 'lb',\n }\n]}\n\nexport const drillability = {\n title: 'Drillability of rock',\n options: [\n {\n id: 0,\n title: 'Hard',\n value: 35,\n },\n {\n id: 1,\n title: 'Medium',\n value: 43,\n selected: true,\n },\n {\n id: 2,\n title: 'Soft',\n value: 65,\n },\n]}\n\nexport const diameter = {\n title: 'Your drill bit diameter ',\n options: [\n {\n id: 0,\n title: '140',\n value: 140,\n circle: true,\n imperial: '5.5',\n },\n {\n id: 1,\n title: '152',\n value: 152,\n circle: true,\n imperial: '6',\n },\n {\n id: 2,\n title: '165',\n value: 165,\n circle: true,\n selected: true,\n imperial: '6.5',\n },\n {\n id: 3,\n title: '172',\n value: 172,\n circle: true,\n imperial: '6.75',\n },\n {\n id: 4,\n title: '178',\n value: 178,\n circle: true,\n imperial: '7',\n },\n]}\n\nexport const annualHours = {\n title: 'Your annual engine hours / rig',\n options: [\n {\n id: 0,\n step: 0,\n value: 1500,\n text: '1 500 hours',\n mark: '1 500 h',\n },\n {\n id: 1,\n step: 1,\n value: 2000,\n text: '2 000 hours',\n mark: '2 000 h',\n },\n {\n id: 2,\n step: 2,\n value: 3000,\n text: '3 000 hours',\n mark: '3 000 h',\n selected: true,\n },\n {\n id: 3,\n step: 3,\n value: 5000,\n text: '5 000 hours',\n mark: '5 000 h',\n },\n]}\n\nexport const targetMeters = {\n title: 'Target amount of ',\n options: [\n {\n id: 0,\n step: 0,\n value: 45000,\n text: '45 000 m',\n mark: '45 000 m',\n metric: 0,\n },\n {\n id: 1,\n step: 1,\n value: 60000,\n text: '60 000 m',\n mark: '60 000 m',\n metric: 0,\n selected: true,\n },\n {\n id: 2,\n step: 2,\n value: 90000,\n text: '90 000 m',\n mark: '90 000 m',\n metric: 0,\n },\n {\n id: 3,\n step: 3,\n value: 160000,\n text: '160 000 m',\n mark: '160 000 m',\n metric: 0,\n },\n {\n id: 4,\n step: 4,\n value: 450000,\n text: '450 000 m',\n mark: '450 000 m',\n metric: 0,\n },\n {\n id: 5,\n step: 5,\n value: 500000,\n text: '500 000 m',\n mark: '500 000 m',\n metric: 0,\n },\n {\n id: 6,\n step: 0,\n value: 45000,\n text: '147,638 ft',\n mark: '147,638 ft',\n metric: 1,\n },\n {\n id: 7,\n step: 1,\n value: 60000,\n text: '196,850 ft',\n mark: '196,850 ft',\n metric: 1,\n },\n {\n id: 8,\n step: 2,\n value: 90000,\n text: '295,276 ft',\n mark: '295,276 ft',\n metric: 1,\n },\n {\n id: 9,\n step: 3,\n value: 160000,\n text: '524,934 ft',\n mark: '524,934 ft',\n metric: 1,\n },\n {\n id: 10,\n step: 4,\n value: 450000,\n text: '1,476,377 ft',\n mark: '1,476,377 ft',\n metric: 1,\n },\n {\n id: 11,\n step: 5,\n value: 500000,\n text: '1,640,420 ft',\n mark: '1,640,420 ft',\n metric: 1,\n },\n]}","import React, { useEffect, useState } from 'react'\nimport Box from './box/box'\nimport ButtonGroup from './buttongroup/buttongroup';\nimport NumberDescription from './number-description/number-description';\nimport NumberDiagram from './number-diagram/number-diagram';\nimport PercentageDiagram from './percentage-diagram/percentage-diagram';\nimport Slider from './slider/slider';\nimport 'promise-polyfill/src/polyfill';\nimport 'whatwg-fetch'\nimport { calculatorTexts } from '../../data/texts'\nimport { metrics, drillability, diameter, annualHours, targetMeters, apiUrl } from '../../data/calculator-options'\nimport TagManager from 'react-gtm-module'\nimport './slider.scss'\nimport './calculator.scss'\n\n\nconst Calculator = () => {\n const [metricOptions, setMetricOptions] = useState(metrics.options)\n const [drillabilityOptions, setDrillabilityOptions] = useState(drillability.options)\n const [diameterOptions, setDiameterOptions] = useState(diameter.options)\n const [meters, setMeters] = useState(targetMeters.options.filter(x => x.metric === metrics.options.find(x => x.selected).id)[1])\n const [hours, setHours] = useState(annualHours.options[1])\n const [fuelPercent, setFuelPercent] = useState(0)\n const [fuelNumber, setFuelNumber] = useState(0)\n const [productivityPercent, setProductivityPercent] = useState(0)\n const [productivityNumber, setProductivityNumber] = useState(0)\n const [carbonReduction, setCarbonReduction] = useState(0)\n const [carIndex, setCarIndex] = useState(0)\n const [riggsNeeded, setRiggsNeeded] = useState(0)\n\n useEffect(() => {\n const tagManagerArgs = {\n gtmId: 'GTM-KL46396'\n }\n\n TagManager.initialize(tagManagerArgs)\n }, [])\n\n useEffect(() => {\n const diameter = diameterOptions.find(x => x.selected).value\n const drillability = drillabilityOptions.find(x => x.selected).value\n const m = meters.value\n const h = hours.value\n let isSubscribed = true\n const urlParameters = `?diameter=${diameter}&meters=${m}&drillability=${drillability}&hours=${h}`\n fetch(apiUrl + urlParameters)\n .then((res) => res.json())\n .then(res => { \n if (isSubscribed){\n setFuelPercent(res.fuelPercent)\n setFuelNumber(res.fuelNumber * metricOptions.find(x => x.selected).mass)\n setProductivityPercent(res.productivityPercent)\n setProductivityNumber(res.productivityNumber * metricOptions.find(x => x.selected).value)\n setCarbonReduction(res.carbonReduction * metricOptions.find(x => x.selected).weight)\n setCarIndex(res.carIndex)\n setRiggsNeeded(res.riggsNeeded)\n }\n })\n\n return () => isSubscribed = false\n }, [metricOptions, diameterOptions, drillabilityOptions, meters, hours])\n\n\n const updateMetric = ({button}) => {\n if(button.id !== metricOptions.find(x => x.selected).id) {\n const options = metricOptions.map(option => {\n const selected = option.id === button.id\n return {\n ...option,\n selected,\n }\n })\n const currentIndex = targetMeters.options.indexOf(meters)\n const numberOfmeterOptions = (targetMeters.options.length)/2\n const newIndex = currentIndex >= (numberOfmeterOptions) ? currentIndex - numberOfmeterOptions : currentIndex + numberOfmeterOptions\n\n setMetricOptions(options)\n setMeters(targetMeters.options[newIndex])\n }\n }\n\n const updateDrillability = ({button}) => {\n const options = drillabilityOptions.map(option => {\n const selected = option.id === button.id\n return {\n ...option,\n selected,\n }\n })\n\n setDrillabilityOptions(options)\n }\n\n const updateDiameter = ({button}) => {\n const options = diameterOptions.map(option => {\n const selected = option.id === button.id\n return {\n ...option,\n selected,\n }\n })\n\n setDiameterOptions(options)\n }\n\n const onHoursChange = value => {\n setHours(value)\n };\n\n const onMeterChange = value => {\n setMeters(value)\n }\n\n return (\n <>\n
\n
\n
\n

{calculatorTexts.calculatorTitle}

\n

\n {calculatorTexts.calculatorSubtitle}\n

\n
\n \n \n \n \n \n \n x.selected).drill}>\n x.selected)}\n />\n \n \n \n \n x.selected).long}>\n x.metric === metricOptions.find(x => x.selected).id)}\n onChange={onMeterChange}\n selected={meters}\n />\n \n
\n
\n \n
\n

{calculatorTexts.resultsTitle}

\n

\n {calculatorTexts.resultsSubtitle}\n

\n
\n \n x.selected).massUnit + ' @ target ' + metricOptions.find(x => x.selected).long}\n />\n \n \n x.selected).long + ' / year'}\n />\n \n x.selected).weightUnit}\n >\n x.selected).long}\n number={carIndex}\n />\n \n \n x.selected).long + ')'}\n />\n \n
\n
\n
\n \n )\n}\n\nexport default Calculator","import React from \"react\";\nimport {\n BrowserRouter as Router,\n Switch,\n Route\n} from \"react-router-dom\";\nimport Countdown from './components/countdown/countdown';\nimport Calculator from './components/calculator/calculator';\nimport './App.scss';\n\n\nfunction App() {\n \n return (\n \n
\n \n \n \n \n \n \n \n \n
\n
\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, 'find', {\n value: function(predicate) {\n // 1. Let O be ? ToObject(this value).\n if (this == null) {\n throw TypeError('\"this\" is null or not defined');\n }\n\n var o = Object(this);\n\n // 2. Let len be ? ToLength(? Get(O, \"length\")).\n var len = o.length >>> 0;\n\n // 3. If IsCallable(predicate) is false, throw a TypeError exception.\n if (typeof predicate !== 'function') {\n throw TypeError('predicate must be a function');\n }\n\n // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.\n var thisArg = arguments[1];\n\n // 5. Let k be 0.\n var k = 0;\n\n // 6. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ! ToString(k).\n // b. Let kValue be ? Get(O, Pk).\n // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).\n // d. If testResult is true, return kValue.\n var kValue = o[k];\n if (predicate.call(thisArg, kValue, k, o)) {\n return kValue;\n }\n // e. Increase k by 1.\n k++;\n }\n\n // 7. Return undefined.\n return undefined;\n },\n configurable: true,\n writable: true\n });\n}\n\nif (typeof Object.assign !== 'function') {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, \"assign\", {\n value: function assign(target, varArgs) { // .length of function is 2\n 'use strict';\n if (target === null || target === undefined) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var to = Object(target);\n\n for (var index = 1; index < arguments.length; index++) {\n var nextSource = arguments[index];\n\n if (nextSource !== null && nextSource !== undefined) {\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n },\n writable: true,\n configurable: true\n });\n}\n\nif (!Math.sign) {\n Math.sign = function(x) {\n // If x is NaN, the result is NaN.\n // If x is -0, the result is -0.\n // If x is +0, the result is +0.\n // If x is negative and not -0, the result is -1.\n // If x is positive and not +0, the result is +1.\n return ((x > 0) - (x < 0)) || +x;\n // A more aesthetic pseudo-representation:\n //\n // ( (x > 0) ? 1 : 0 ) // if x is positive, then positive one\n // + // else (because you can't be both - and +)\n // ( (x < 0) ? -1 : 0 ) // if x is negative, then negative one\n // || // if x is 0, -0, or NaN, or not a number,\n // +x // then the result will be x, (or) if x is\n // // not a number, then x converts to number\n };\n}\n\nReactDOM.render(\n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}