{"version":3,"sources":["webpack:///./src/helpers/fonts.ts","webpack:///./src/helpers/theme.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/stories/Components/Buttons/Button/Button.tsx","webpack:///./src/core/url-resolver/UrlResolver.ts","webpack:///./src/helpers/global.ts"],"names":["fonts","DaxPro","Bold","css","BoldItalic","Medium","SlightlyLessThanMedium","Regular","RegularItalic","Light","ThemeWrapper","styled","div","ThemeSwitch","options","groundforceColour","brand","primary","base","groundforceColourHover","lighten","generateOpacity","transparentize","groundforcePseudoColourAlt","tpaColour","tpa","tpaColourHover","tpaPseudoColourAlt","_g","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","Text","HoverEffect","props","xmlns","viewBox","fill","stroke","d","strokeWidth","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","keepalive","keepAlive","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","addon","addonPosition","className","disabled","title","type","onClick","rest","React","createElement","iconPosition","LinkButton","href","download","as","UrlResolver","toLowerCase","_localDomain"],"mappings":"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","file":"8-2fb06ced4385559e77b6.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","import styled, { css } from 'styled-components';\r\nimport brand from './brand';\r\nimport { lighten, transparentize } from 'polished';\r\nexport const ThemeWrapper = styled.div `\r\n display: contents;\r\n`;\r\n/**\r\n * Injects the theme switching for Groundforce / TPA.\r\n * Make sure to not include this on a pseudoelement, as they can't query parents for some reason.\r\n */\r\nexport const ThemeSwitch = (options) => css `\r\n --theme: ${options.groundforceColour ?? brand.primary.base};\r\n --theme-hover: ${options.groundforceColourHover ?? lighten(0.1, brand.primary.base)};\r\n\r\n ${options.generateOpacity &&\r\n `--theme-half-opacity: ${transparentize(0.5, options.groundforceColour ?? brand.primary.base)};`}\r\n\r\n ${options.groundforcePseudoColourAlt && `--theme-alt: ${options.groundforcePseudoColourAlt};`}\r\n\r\n [data-theme='tpa'] &,\r\n &[data-theme='tpa'] {\r\n --theme: ${options.tpaColour ?? brand.tpa.base};\r\n --theme-hover: ${options.tpaColourHover ?? lighten(0.1, brand.tpa.base)};\r\n\r\n ${options.generateOpacity &&\r\n `--theme-half-opacity: ${transparentize(0.5, options.tpaColour ?? brand.tpa.base)};`}\r\n\r\n ${options.tpaPseudoColourAlt && `--theme-alt: ${options.tpaPseudoColourAlt};`}\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\nimport { ThemeSwitch } from '@helpers/theme';\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 ${ThemeSwitch({ groundforceColour: brand.primary.base })};\r\n color: var(--theme);\r\n }\r\n [data-theme='primaryAlt'] &,\r\n &[data-theme='primaryAlt'] {\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })};\r\n color: var(--theme);\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 ${ThemeSwitch({ groundforceColour: brand.primary.base, groundforceColourHover: '#a2b952' })};\r\n color: ${brand.white};\r\n background-color: var(--theme);\r\n\r\n &:hover {\r\n background-color: var(--theme-hover);\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 ${ThemeSwitch({ groundforceColour: brand.primary.alt, groundforceColourHover: '#a2b952' })};\r\n color: ${brand.white};\r\n background-color: var(--theme);\r\n\r\n &:hover {\r\n background-color: var(--theme-hover);\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 ${ThemeSwitch({\r\n groundforceColour: brand.primary.alt,\r\n groundforceColourHover: brand.primary.base,\r\n})}\r\n ${TextOnlyStyles};\r\n color: var(--theme);\r\n\r\n &:hover {\r\n border-color: transparent;\r\n background-color: transparent;\r\n color: var(--theme-hover);\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: var(--theme-hover);\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 ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n\r\n ${HoverEffect} {\r\n color: var(--theme) !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: var(--theme) !important;\r\n border-color: var(--theme) !important;\r\n }\r\n }\r\n `;\r\n case 'black':\r\n return css `\r\n ${HoverEffect} {\r\n color: ${brand.black} !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.black} !important;\r\n border-color: ${brand.black} !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 keepalive: request.keepAlive ?? false,\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","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","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 { 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":""}