{"version":3,"sources":["webpack:///./src/helpers/fonts.ts","webpack:///./src/img/line-pattern.svg","webpack:///./src/stories/Components/Buttons/Button/Button.styles.tsx","webpack:///./src/core/api/services/ApiService.ts","webpack:///./src/core/url-resolver/UrlResolver.ts","webpack:///./src/stories/Components/Buttons/Button/Button.tsx","webpack:///./src/helpers/global.ts"],"names":["fonts","DaxPro","Bold","css","BoldItalic","Medium","SlightlyLessThanMedium","Regular","RegularItalic","Light","_g","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","Text","styled","div","HoverEffect","props","xmlns","viewBox","fill","stroke","d","strokeWidth","brand","primary","base","alt","accent","orange","white","black","PrimaryStyles","PrimaryAltStyles","SecondaryStyles","grey","grey55","WhiteStyles","BlackStyles","grey20","grey44","GreyStyles","grey89","grey76","TextOnlyStyles","TextOnlyPrimaryStyles","IconLeft","until","Device","DesktopSmall","IconRight","hideText","Icon","position","Inner","ButtonStyles","Button","button","ButtonReset","branding","hoverColour","hideTextMobile","ApiService","request","url","getUrl","headers","Headers","Accept","isMultipartFormData","delete","requestOptions","method","cache","body","getBody","files","undefined","cors","mode","credentials","fetch","response","status","Error","statusText","json","data","slug","controller","isStorybook","isSSR","window","location","host","port","process","API_URL","baseUrl","params","querystring","stringify","formData","FormData","append","JSON","index","file","UrlResolver","toLowerCase","_localDomain","addon","addonPosition","className","disabled","title","type","onClick","rest","React","createElement","iconPosition","LinkButton","href","download","as"],"mappings":"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","file":"7-e19af418ae0bda673d1d.js","sourcesContent":["import { css } from 'styled-components';\r\nexport const fonts = {\r\n DaxPro: {\r\n Bold: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 700;\r\n `,\r\n BoldItalic: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: italic;\r\n font-weight: 700;\r\n `,\r\n Medium: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 600;\r\n `,\r\n SlightlyLessThanMedium: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 500;\r\n `,\r\n Regular: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 400;\r\n `,\r\n RegularItalic: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: italic;\r\n font-weight: 400;\r\n `,\r\n Light: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 200;\r\n `,\r\n },\r\n};\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgLinePattern(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 119 45\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Line pattern\",\n fill: \"none\",\n stroke: \"currentColor\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 16\",\n d: \"M198.312-368.656l-423.66 764.334M202.674-366.238l-423.66 764.334M207.036-363.82l-423.66 764.334M211.398-361.402l-423.66 764.334M215.761-358.984l-423.66 764.334M220.123-356.566l-423.66 764.334M224.485-354.148l-423.66 764.334M228.847-351.73l-423.66 764.334M233.209-349.312l-423.66 764.334M237.572-346.894l-423.66 764.334M241.934-344.476l-423.66 764.334M246.296-342.058l-423.66 764.334M250.658-339.64l-423.66 764.334M255.02-337.222l-423.66 764.334M259.382-334.804l-423.66 764.334M263.744-332.386l-423.66 764.334M268.107-329.968l-423.66 764.334M272.469-327.55l-423.66 764.334M276.831-325.132l-423.66 764.334M281.193-322.714l-423.66 764.334M285.555-320.296l-423.66 764.334M289.917-317.878l-423.66 764.334M294.28-315.46l-423.66 764.334M298.642-313.042l-423.66 764.334M303.004-310.624l-423.66 764.334M307.366-308.206l-423.66 764.334M311.728-305.788l-423.66 764.334M316.091-303.37l-423.66 764.334M320.453-300.952l-423.66 764.334M324.815-298.534L-98.845 465.8M329.177-296.116l-423.66 764.334M333.539-293.698l-423.66 764.334M337.901-291.28l-423.66 764.334M342.264-288.862l-423.66 764.334M346.625-286.444L-77.035 477.89M350.988-284.026l-423.66 764.334M355.35-281.608L-68.31 482.726M359.712-279.19l-423.66 764.334M364.074-276.772l-423.66 764.334M368.436-274.354L-55.224 489.98M372.799-271.936l-423.66 764.334M377.161-269.518l-423.66 764.334M381.523-267.1l-423.66 764.334M385.885-264.682l-423.66 764.334M390.247-262.264L-33.413 502.07M394.609-259.847l-423.66 764.334M398.972-257.428l-423.66 764.334M403.334-255.011l-423.66 764.334M407.696-252.592l-423.66 764.334M412.058-250.175l-423.66 764.334M416.42-247.756L-7.24 516.578M420.783-245.339L-2.877 518.995M425.145-242.92L1.485 521.414M429.507-240.503L5.847 523.831M433.869-238.084L10.209 526.25M438.231-235.667L14.571 528.667M442.593-233.248L18.933 531.086M446.955-230.831L23.295 533.503M451.318-228.413L27.658 535.921M455.68-225.995L32.02 538.339M460.042-223.577L36.382 540.757M464.404-221.159L40.744 543.175M468.766-218.741L45.106 545.593M473.128-216.323L49.468 548.011M477.491-213.905L53.831 550.429M481.853-211.487L58.193 552.847M486.215-209.069L62.555 555.265M490.577-206.651L66.917 557.683M494.939-204.233L71.279 560.101M499.302-201.815L75.642 562.519M503.664-199.397L80.004 564.937M508.026-196.979L84.366 567.355M512.388-194.561L88.728 569.773M516.75-192.143L93.09 572.191M521.112-189.725L97.452 574.609M525.474-187.307l-423.66 764.334M529.836-184.889l-423.66 764.334M534.199-182.471l-423.66 764.334M538.561-180.053l-423.66 764.334M542.923-177.635l-423.66 764.334M547.285-175.217l-423.66 764.334M551.647-172.799l-423.66 764.334M556.01-170.381L132.35 593.953M560.372-167.963l-423.66 764.334M564.734-165.545l-423.66 764.334M569.096-163.127l-423.66 764.334M573.458-160.709l-423.66 764.334M577.821-158.291l-423.66 764.334M582.183-155.873l-423.66 764.334M586.545-153.455l-423.66 764.334M590.907-151.037l-423.66 764.334M595.269-148.619l-423.66 764.334M599.631-146.201l-423.66 764.334M603.993-143.783l-423.66 764.334M608.355-141.365l-423.66 764.334M612.718-138.947l-423.66 764.334M617.08-136.529L193.42 627.805M621.442-134.111l-423.66 764.334M625.804-131.693l-423.66 764.334M630.166-129.275l-423.66 764.334M634.529-126.857l-423.66 764.334M638.891-124.439l-423.66 764.334M643.253-122.021l-423.66 764.334M647.615-119.603l-423.66 764.334M651.977-117.185l-423.66 764.334M656.339-114.767l-423.66 764.334M660.702-112.349l-423.66 764.334M665.064-109.931l-423.66 764.334M669.426-107.513l-423.66 764.334M673.788-105.095l-423.66 764.334M678.15-102.677L254.49 661.657M682.513-100.259l-423.66 764.334M686.874-97.841l-423.66 764.334M691.237-95.423l-423.66 764.334M695.599-93.005l-423.66 764.334M699.961-90.587l-423.66 764.334M704.323-88.169l-423.66 764.334M708.685-85.751l-423.66 764.334M713.047-83.333l-423.66 764.334M717.41-80.915L293.75 683.419M721.772-78.497l-423.66 764.334M726.134-76.079l-423.66 764.334M730.496-73.661l-423.66 764.334M734.858-71.243l-423.66 764.334M739.221-68.825l-423.66 764.334M743.583-66.407l-423.66 764.334M747.945-63.99l-423.66 764.334M752.307-61.571l-423.66 764.334M756.669-59.153l-423.66 764.334M761.032-56.735l-423.66 764.334M765.394-54.318l-423.66 764.334M769.756-51.899l-423.66 764.334M774.118-49.481l-423.66 764.334M778.48-47.064L354.82 717.27M782.842-44.646l-423.66 764.334M787.204-42.227l-423.66 764.334M791.566-39.809l-423.66 764.334M795.929-37.392l-423.66 764.334M800.291-34.974L376.631 729.36M804.653-32.556l-423.66 764.334M809.015-30.137l-423.66 764.334M813.377-27.72l-423.66 764.334M817.74-25.302L394.08 739.032\",\n strokeWidth: 1.00042\n }))));\n}\n\nexport default __webpack_public_path__ + \"32774766b3243253aabbc97bbe71ff0a.svg\";\nexport { SvgLinePattern as ReactComponent };","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { ButtonReset } from '@helpers/global';\r\nimport { Device, until } from '@helpers/media';\r\nimport { ReactComponent as SvgHoverLines } from '@img/line-pattern.svg';\r\nimport styled, { css } from 'styled-components';\r\nconst Text = styled.div ``;\r\nconst HoverEffect = styled(SvgHoverLines) `\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n transform: translate(0, 0);\r\n transition: transform 0.3s;\r\n\r\n [data-theme='textOnly'] & {\r\n display: none;\r\n }\r\n [data-theme='textOnlyPrimary'] & {\r\n display: none;\r\n }\r\n [data-theme='primary'] &,\r\n &[data-theme='primary'] {\r\n color: ${brand.primary.base};\r\n }\r\n [data-theme='primaryAlt'] &,\r\n &[data-theme='primaryAlt'] {\r\n color: ${brand.primary.alt};\r\n }\r\n [data-theme='secondary'] &,\r\n &[data-theme='secondary'] {\r\n color: ${brand.accent.orange};\r\n }\r\n [data-theme='white'] &,\r\n &[data-theme='white'] {\r\n color: ${brand.white};\r\n }\r\n [data-theme='black'] &,\r\n &[data-theme='black'] {\r\n color: ${brand.black};\r\n }\r\n [data-theme='grey'] &,\r\n &[data-theme='grey'] {\r\n color: ${brand.black};\r\n }\r\n`;\r\nconst PrimaryStyles = css `\r\n color: ${brand.white};\r\n background-color: ${brand.primary.base};\r\n\r\n &:hover {\r\n background-color: #a2b952;\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst PrimaryAltStyles = css `\r\n color: ${brand.white};\r\n background-color: ${brand.primary.alt};\r\n\r\n &:hover {\r\n background-color: #a2b952;\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst SecondaryStyles = css `\r\n background-color: ${brand.accent.orange};\r\n color: ${brand.white};\r\n\r\n &:focus {\r\n background-color: ${brand.accent.orange};\r\n color: ${brand.white};\r\n }\r\n\r\n &:hover {\r\n border-color: ${brand.black};\r\n background-color: ${brand.black};\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.grey.grey55};\r\n }\r\n`;\r\nconst WhiteStyles = css `\r\n background-color: ${brand.white};\r\n color: ${brand.black};\r\n border: 1px solid ${brand.white};\r\n\r\n &:hover {\r\n border-color: ${brand.white};\r\n background-color: ${brand.white};\r\n color: ${brand.black};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.black};\r\n }\r\n`;\r\nconst BlackStyles = css `\r\n background-color: ${brand.grey.grey20};\r\n color: ${brand.white};\r\n\r\n &:hover {\r\n border-color: ${brand.grey.grey44};\r\n background-color: ${brand.grey.grey44};\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst GreyStyles = css `\r\n background-color: ${brand.grey.grey89};\r\n color: ${brand.black};\r\n\r\n &:hover {\r\n border-color: ${brand.grey.grey76};\r\n background-color: ${brand.grey.grey76};\r\n color: ${brand.black};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.black};\r\n }\r\n`;\r\nconst TextOnlyStyles = css `\r\n border: 1px solid transparent;\r\n background: none;\r\n color: ${brand.black};\r\n\r\n &:hover {\r\n border-color: ${brand.black};\r\n background-color: ${brand.black};\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst TextOnlyPrimaryStyles = css `\r\n ${TextOnlyStyles};\r\n color: ${brand.primary.alt};\r\n\r\n &:hover {\r\n border-color: transparent;\r\n background-color: transparent;\r\n color: ${brand.primary.base};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.primary.base};\r\n }\r\n`;\r\nconst IconLeft = css `\r\n padding-right: 12px;\r\n\r\n @media ${until(Device.DesktopSmall)} {\r\n padding-right: 6px;\r\n }\r\n`;\r\nconst IconRight = css `\r\n padding-left: 15px;\r\n\r\n @media ${until(Device.DesktopSmall)} {\r\n padding-left: 6px;\r\n }\r\n`;\r\nconst hideText = css `\r\n ${Text} {\r\n @media ${until(Device.DesktopSmall)} {\r\n display: none;\r\n }\r\n }\r\n`;\r\nconst Icon = styled.div `\r\n display: inline-block;\r\n vertical-align: middle;\r\n\r\n ${({ position }) => {\r\n switch (position) {\r\n case 'left':\r\n return IconLeft;\r\n case 'right':\r\n return IconRight;\r\n default:\r\n break;\r\n }\r\n}}\r\n\r\n svg {\r\n vertical-align: middle;\r\n max-height: 24px;\r\n width: 22px;\r\n }\r\n`;\r\nconst Inner = styled.div `\r\n position: relative;\r\n padding: 11px 14px;\r\n\r\n [data-theme='textOnly'] & {\r\n ${TextOnlyStyles}\r\n }\r\n [data-theme='textOnlyPrimary'] & {\r\n ${TextOnlyPrimaryStyles}\r\n }\r\n [data-theme='primary'] & {\r\n ${PrimaryStyles}\r\n }\r\n [data-theme='primaryAlt'] & {\r\n ${PrimaryAltStyles}\r\n }\r\n [data-theme='secondary'] & {\r\n ${SecondaryStyles}\r\n }\r\n [data-theme='white'] & {\r\n ${WhiteStyles}\r\n }\r\n [data-theme='black'] & {\r\n ${BlackStyles}\r\n }\r\n [data-theme='grey'] & {\r\n ${GreyStyles}\r\n }\r\n`;\r\nconst Button = styled.button `\r\n ${ButtonReset};\r\n display: inline-block;\r\n padding: 0;\r\n position: relative;\r\n transition: background-color 0.3s, border-color 0.3s, opacity 100ms;\r\n user-select: none;\r\n background-color: transparent;\r\n border: none;\r\n\r\n &:hover,\r\n &:focus {\r\n ${HoverEffect} {\r\n transform: translate(10px, 10px);\r\n }\r\n }\r\n\r\n &:disabled {\r\n user-select: none;\r\n cursor: not-allowed;\r\n opacity: 0.5;\r\n }\r\n\r\n ${Text} {\r\n ${fonts.DaxPro.Bold};\r\n font-size: 18px;\r\n line-height: 24px;\r\n display: inline-block;\r\n vertical-align: middle;\r\n }\r\n\r\n ${({ branding }) => {\r\n switch (branding) {\r\n case 'textOnly':\r\n return TextOnlyStyles;\r\n case 'textOnlyPrimary':\r\n return TextOnlyPrimaryStyles;\r\n case 'primary':\r\n return PrimaryStyles;\r\n case 'secondary':\r\n return SecondaryStyles;\r\n case 'white':\r\n return WhiteStyles;\r\n case 'black':\r\n return BlackStyles;\r\n default:\r\n break;\r\n }\r\n}}\r\n\r\n ${({ hoverColour }) => {\r\n switch (hoverColour) {\r\n case 'primary':\r\n return css `\r\n ${HoverEffect} {\r\n color: ${brand.primary.alt} !important;\r\n }\r\n\r\n ${Inner} {\r\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\r\n }\r\n\r\n &:hover {\r\n ${Inner} {\r\n background-color: ${brand.primary.alt} !important;\r\n border-color: ${brand.primary.alt} !important;\r\n }\r\n }\r\n `;\r\n default:\r\n break;\r\n }\r\n}}\r\n\r\n ${({ hideTextMobile }) => {\r\n if (hideTextMobile) {\r\n return hideText;\r\n }\r\n}}\r\n`;\r\nexport const ButtonStyles = {\r\n Button,\r\n HoverEffect,\r\n Icon,\r\n Inner,\r\n Text,\r\n};\r\n","import { isSSR } from '@helpers/ssr';\r\nimport querystring from 'querystring';\r\nclass ApiService {\r\n async request(request) {\r\n // Get the url\r\n const url = this.getUrl(request);\r\n // Headers\r\n const headers = new Headers({\r\n 'Content-Type': 'application/json; charset=utf-8',\r\n Accept: 'application/json',\r\n });\r\n if (request.isMultipartFormData === true) {\r\n headers.delete('Content-Type');\r\n }\r\n // construct a request\r\n const requestOptions = {\r\n method: request.method,\r\n headers,\r\n cache: 'default',\r\n body: this.getBody(request, request.files),\r\n };\r\n if (request.cors === undefined || request.cors === true) {\r\n requestOptions.mode = 'cors';\r\n requestOptions.credentials = 'include';\r\n }\r\n // await the response\r\n const response = await fetch(url, requestOptions);\r\n if (response.status === 500) {\r\n throw Error(`${response.status}: ${response.statusText}`);\r\n }\r\n const data = (await response.json());\r\n return data;\r\n }\r\n async safeRequest(request) {\r\n try {\r\n const response = await this.request(request);\r\n return response;\r\n }\r\n catch {\r\n return null;\r\n }\r\n }\r\n getUrl(request) {\r\n let url = `/${request.slug}`;\r\n if (request.controller && request.controller.length > 0) {\r\n url = `/api/${request.controller}/${request.slug}`;\r\n }\r\n let isStorybook = false;\r\n if (!isSSR()) {\r\n if ((window.location.host === 'styleguide.groundforce.netcprev.co.uk' ||\r\n window.location.port === '4000' ||\r\n window.location.port === '4001') &&\r\n process.env.API_URL) {\r\n isStorybook = true;\r\n }\r\n }\r\n if (request.baseUrl) {\r\n url = `${request.baseUrl}${url}`;\r\n }\r\n else if (isStorybook) {\r\n url = `${process.env.API_URL}${url}`;\r\n }\r\n if ((request.method === 'GET' || request.method === 'DELETE') && request.params) {\r\n url += '?';\r\n url += querystring.stringify({ ...request.params });\r\n }\r\n return url;\r\n }\r\n getBody(request, files) {\r\n if (request.method === 'GET') {\r\n return null;\r\n }\r\n if (request.isMultipartFormData === true) {\r\n const formData = new FormData();\r\n formData.append('params', JSON.stringify(request.params));\r\n if (files && files.length > 0) {\r\n for (let index = 0; index < files.length; index++) {\r\n const file = files[index];\r\n formData.append(`files-${index}`, file);\r\n }\r\n }\r\n return formData;\r\n }\r\n return JSON.stringify(request.params);\r\n }\r\n}\r\nexport default new ApiService();\r\n","class UrlResolver {\r\n _localDomain = 'https://groundforce.local';\r\n /**\r\n *\r\n * Gets the current domain\r\n */\r\n getDomain = () => {\r\n if (`${process.env.NODE_ENV}`.toLowerCase() === 'development') {\r\n return this._localDomain;\r\n }\r\n return '';\r\n };\r\n}\r\nexport default new UrlResolver();\r\n","import React from 'react';\r\nimport { ButtonStyles } from './Button.styles';\r\nconst Button = ({ addon, addonPosition, branding, className, disabled, title, type = 'button', onClick, hoverColour, hideTextMobile, ...rest }) => {\r\n if (hideTextMobile == undefined && addonPosition == 'right') {\r\n hideTextMobile = true;\r\n }\r\n return (React.createElement(ButtonStyles.Button, { \"data-theme\": branding, className: className, disabled: disabled, iconPosition: addonPosition, type: type, onClick: onClick, hoverColour: hoverColour, hideTextMobile: hideTextMobile, ...rest },\r\n React.createElement(ButtonStyles.HoverEffect, null),\r\n React.createElement(ButtonStyles.Inner, null,\r\n addon && addonPosition === 'left' && (React.createElement(ButtonStyles.Icon, { position: addonPosition }, addon)),\r\n React.createElement(ButtonStyles.Text, null, title),\r\n addon && addonPosition === 'right' && (React.createElement(ButtonStyles.Icon, { position: addonPosition }, addon)))));\r\n};\r\nconst LinkButton = ({ addon, addonPosition, branding, className, onClick, href, target = '_self', title, download, hoverColour, }) => {\r\n return (React.createElement(ButtonStyles.Button, { \"data-theme\": branding, className: className, as: \"a\", href: href, target: target, download: download, hoverColour: hoverColour, onClick: onClick },\r\n React.createElement(ButtonStyles.HoverEffect, null),\r\n React.createElement(ButtonStyles.Inner, null,\r\n addon && addonPosition === 'left' && (React.createElement(ButtonStyles.Icon, { position: addonPosition }, addon)),\r\n React.createElement(ButtonStyles.Text, null, title),\r\n addon && addonPosition === 'right' && (React.createElement(ButtonStyles.Icon, { position: addonPosition }, addon)))));\r\n};\r\nexport { LinkButton, Button as default };\r\n","import { css } from 'styled-components';\r\nexport default {\r\n navHeight: 107,\r\n navHeightTablet: 80,\r\n navHeightMobile: 59,\r\n};\r\nexport const ButtonReset = css `\r\n border: none;\r\n outline: none;\r\n padding: 0px;\r\n background: none;\r\n border-radius: 0px;\r\n`;\r\n"],"sourceRoot":""}