diff --git a/batfish.config.js b/batfish.config.js index 87afb906c93..2fa1932b4fa 100644 --- a/batfish.config.js +++ b/batfish.config.js @@ -10,7 +10,7 @@ module.exports = () => { stylesheets: [ `${__dirname}/docs/components/site.css`, `${__dirname}/docs/components/prism_highlight.css`, - `${__dirname}/vendor/dotcom-page-shell/page-shell-styles.css` + `${__dirname}/vendor/docs-page-shell/page-shell-styles.css` ], applicationWrapperPath: `${__dirname}/docs/components/application-wrapper.js`, webpackLoaders: [ @@ -30,7 +30,7 @@ module.exports = () => { ], inlineJs: [ { - filename: `${__dirname}/vendor/dotcom-page-shell/page-shell-script.js` + filename: `${__dirname}/vendor/docs-page-shell/page-shell-script.js` } ], dataSelectors: { diff --git a/docs/components/page_shell.js b/docs/components/page_shell.js index e955d3cd715..0146dd74467 100644 --- a/docs/components/page_shell.js +++ b/docs/components/page_shell.js @@ -1,6 +1,6 @@ import React from 'react'; import Helmet from 'react-helmet'; -import ReactPageShell from '../../vendor/dotcom-page-shell/react-page-shell.js'; +import ReactPageShell from '../../vendor/docs-page-shell/react-page-shell.js'; // initialize analytics if (typeof window !== 'undefined' && window.initializeMapboxAnalytics) { diff --git a/docs/components/quickstart.js b/docs/components/quickstart.js index 5162a21b319..53ff0d5057f 100644 --- a/docs/components/quickstart.js +++ b/docs/components/quickstart.js @@ -73,18 +73,15 @@ export default class extends React.Component { render() { return ( -
+

Mapbox GL JS

Current version: mapbox-gl.js v{version}

- Mapbox GL JS is a JavaScript library that uses WebGL to render interactive maps from - vector tiles and - Mapbox styles. - It is part of the Mapbox GL ecosystem, which includes - Mapbox Mobile, + Mapbox GL JS is a JavaScript library that uses WebGL to render interactive maps from{' '}vector tiles and{' '}Mapbox styles. + It is part of the Mapbox GL ecosystem, which includes{' '}Mapbox Mobile, a compatible renderer written in C++ with bindings for desktop and mobile platforms. To see what new features our team is working on, take a look at our roadmap. @@ -156,8 +153,7 @@ export default class extends React.Component { Including it with a {''} in the head of the document via the Mapbox CDN is the simplest and easiest way to provide the CSS, but it is also bundled in the Mapbox module, meaning that if you have a bundler - that can handle CSS, you can import the CSS from -

{`mapbox-gl/dist/mapbox-gl.css`}
. + that can handle CSS, you can import the CSS from {`mapbox-gl/dist/mapbox-gl.css`}.

Note too that if the CSS isn't available by the first render, as soon as the CSS is provided, diff --git a/docs/components/site.css b/docs/components/site.css index 5db5a4a12a2..e73eebbc396 100644 --- a/docs/components/site.css +++ b/docs/components/site.css @@ -30,3 +30,14 @@ a.dark-link:hover { div.toggle-sibling:hover { opacity: 0.7; } .line-height15 {line-height: 15px} + +@media only screen and (min-width: 640px) { + #page-footer-legal-social { + margin-left: 25% !important; + } +} + +#page-footer { + z-index: 1; + position: relative; +} diff --git a/vendor/docs-page-shell/page-shell-script.js b/vendor/docs-page-shell/page-shell-script.js new file mode 100644 index 00000000000..e2bc3ed91f9 --- /dev/null +++ b/vendor/docs-page-shell/page-shell-script.js @@ -0,0 +1,2 @@ +/*eslint-disable*/ +!function(){"use strict";var S,t="https://www.mapbox.com",i="https://122e4e-mapbox.global.ssl.fastly.net",s=640,L=[];function x(e){var t=e.triggerEl,n=e.pointerEl,o=e.onCrossMobileThreshhold,i=e.menuBodyContainerEl,a=e.menuBodyEl,r=e||B,c=function(){window.matchMedia("(min-width: ".concat(s,"px)")).matches?r({pointerEl:n,triggerEl:t,menuBodyContainerEl:i,menuBodyEl:a}):o&&o()};L.push(c),window.addEventListener("resize",c)}function B(e){var t=e.pointerEl,n=e.triggerEl.getBoundingClientRect();t.style.left=Math.round(n.left+n.width/2)+"px"}var a,r,I,M=function(o,i,a){var r,c,s,l,t=!1,u=!1,n={},d=0,m=0,v={sensitivity:7,interval:100,timeout:0,handleFocus:!1};function f(e){r=e.clientX,c=e.clientY}function e(e){return t=!0,m&&(m=clearTimeout(m)),o.removeEventListener("mousemove",f,!1),1!==d&&(s=e.clientX,l=e.clientY,o.addEventListener("mousemove",f,!1),m=setTimeout(function(){!function e(t,n){if(m&&(m=clearTimeout(m)),Math.abs(s-r)+Math.abs(l-c) .shell-col { + padding-left: 12px; +} +.shell-wrapper .shell-grid--gut24 > .shell-col { + padding-left: 24px; +} +.shell-wrapper .shell-my12 { + margin-top: 12px !important; + margin-bottom: 12px !important; +} +.shell-wrapper .shell-ml12 { + margin-left: 12px !important; +} +.shell-wrapper .shell-ml-neg6 { + margin-left: -6px !important; +} +.shell-wrapper .shell-mx6 { + margin-left: 6px !important; + margin-right: 6px !important; +} +.shell-wrapper .shell-mx12 { + margin-left: 12px !important; + margin-right: 12px !important; +} +.shell-wrapper .shell-mt3 { + margin-top: 3px !important; +} +.shell-wrapper .shell-mt6 { + margin-top: 6px !important; +} +.shell-wrapper .shell-mt12 { + margin-top: 12px !important; +} +.shell-wrapper .shell-mt18 { + margin-top: 18px !important; +} +.shell-wrapper .shell-mt24 { + margin-top: 24px !important; +} +.shell-wrapper .shell-mr18 { + margin-right: 18px !important; +} +.shell-wrapper .shell-mb6 { + margin-bottom: 6px !important; +} +.shell-wrapper .shell-mb12 { + margin-bottom: 12px !important; +} +.shell-wrapper .shell-ml6 { + margin-left: 6px !important; +} +.shell-wrapper .shell-ml24 { + margin-left: 24px !important; +} +.shell-wrapper .shell-p12 { + padding: 12px !important; +} +.shell-wrapper .shell-py6 { + padding-top: 6px !important; + padding-bottom: 6px !important; +} +.shell-wrapper .shell-py12 { + padding-top: 12px !important; + padding-bottom: 12px !important; +} +.shell-wrapper .shell-py24 { + padding-top: 24px !important; + padding-bottom: 24px !important; +} +.shell-wrapper .shell-py30 { + padding-top: 30px !important; + padding-bottom: 30px !important; +} +.shell-wrapper .shell-px12 { + padding-left: 12px !important; + padding-right: 12px !important; +} +.shell-wrapper .shell-px24 { + padding-left: 24px !important; + padding-right: 24px !important; +} +.shell-wrapper .shell-px30 { + padding-left: 30px !important; + padding-right: 30px !important; +} +.shell-wrapper .shell-pt3 { + padding-top: 3px !important; +} +.shell-wrapper .shell-pb24 { + padding-bottom: 24px !important; +} + +/* Sizing */ +.shell-wrapper .shell-w30 { + width: 30px !important; +} +.shell-wrapper .shell-w-full { + width: 100% !important; +} +.shell-wrapper .shell-h24 { + height: 24px !important; +} +.shell-wrapper .shell-h30 { + height: 30px !important; +} + +/* Media Queries */ +@media screen and (min-width: 640px) { + .shell-wrapper .shell-col--6-mm { + width: 50% !important; + } + .shell-wrapper .shell-none-mm { + display: none !important; + } + .shell-wrapper .shell-flex-child-mm { + display: block !important; + max-width: 100% !important; + } + .shell-wrapper .shell-flex-parent-mm { + display: -webkit-flex !important; + display: flex !important; + } + .shell-wrapper .shell-mb0-mm { + margin-bottom: 0 !important; + } + .shell-wrapper .shell-align-l-mm { + text-align: left !important; + } + .shell-wrapper .shell-align-r-mm { + text-align: right !important; + } +} +@media screen and (min-width: 800px) { + .shell-wrapper .shell-mt42-ml { + margin-top: 42px !important; + } + .shell-wrapper .shell-ml12-ml { + margin-left: 12px !important; + } + .shell-wrapper .shell-py0-ml { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .shell-wrapper .shell-py48-ml { + padding-top: 48px !important; + padding-bottom: 48px !important; + } +} +@media screen and (min-width: 1200px) { + .shell-wrapper .shell-txt-s-mxl { + font-size: 12px !important; + line-height: 18px; + } + .shell-wrapper .shell-mx18-mxl { + margin-right: 18px !important; + } + .shell-wrapper .shell-ml18-mxl, + .shell-wrapper .shell-mx18-mxl { + margin-left: 18px !important; + } +} + +.shell-wrapper .shell-transition { + transition: all .125s; +} +.shell-wrapper .shell-clip { + overflow: hidden !important; +} + +/* mapbox-assembly Typography */ +@font-face { + font-family: 'Cera'; + font-weight: 700; + /* Notice the absolute URLs! */ + src: url('https://api.mapbox.com/mapbox-assembly/mbx/v0.14.0/CeraPRO-Bold.woff2') + format('woff2'), + url('https://api.mapbox.com/mapbox-assembly/mbx/v0.14.0/CeraPRO-Bold.woff') + format('woff'); +} +.shell-wrapper .shell-txt-fancy { + font-family: 'Cera', sans-serif !important; +} + +/* mapbox-assembly Branding */ +.shell-wrapper .shell-mb-logo { + background-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 790 180%22%3E%3Cpath d%3D%22M89.1 1.8C39.9 1.8 0 41.7 0 90.9 0 140.1 39.9 180 89.1 180c49.2 0 89.1-39.9 89.1-89.1 0-49.2-39.9-89.1-89.1-89.1zm457.8 19.7c-1.2 0-2.2 1-2.2 2.2v103.2c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2v-7.1c6.9 7.2 16.4 11.3 26.3 11.3 20.9 0 37.9-18 37.9-40.3 0-22.3-17-40.2-37.9-40.2-10 0-19.5 4.1-26.3 11.3V23.7c0-1.2-1-2.2-2.2-2.2h-13.4zM98.3 36.4c11.4.3 22.9 4.8 31.7 13.7 17.7 17.7 18.3 45.7 1.4 62.7-30.5 30.5-84.8 20.7-84.8 20.7s-9.8-54.3 20.7-84.8c8.5-8.4 19.7-12.5 31-12.3zm160.3 14.2c-8.2 0-15.9 4-20.8 10.6v-6.4c0-1.2-1-2.2-2.2-2.2h-13.4c-1.2 0-2.2 1-2.2 2.2V127c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2V83.8c.5-9.7 7.2-17.3 15.4-17.3 8.5 0 15.6 7.1 15.6 16.5v44c0 1.2 1 2.2 2.2 2.2h13.5c1.2 0 2.2-1 2.2-2.2l-.1-44.9c1.2-8.8 7.6-15.6 15.3-15.6 8.5 0 15.6 7.1 15.6 16.5v44c0 1.2 1 2.2 2.2 2.2h13.5c1.2 0 2.2-1 2.2-2.2l-.1-49.6c.3-14.8-12.3-26.8-27.9-26.8-10 .1-19.2 5.9-23.5 15-5-9.3-14.7-15.1-25.3-15zm127.9 0c-20.9 0-37.9 18-37.9 40.3 0 22.3 17 40.3 37.9 40.3 10 0 19.5-4.1 26.3-11.3v7.1c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2V54.8c.1-1.2-.9-2.2-2.2-2.2H415c-1.2 0-2.2 1-2.2 2.2v7.1c-6.9-7.2-16.4-11.3-26.3-11.3zm106.1 0c-10 0-19.5 4.1-26.3 11.3v-7.1c0-1.2-1-2.2-2.2-2.2h-13.4c-1.2 0-2.2 1-2.2 2.2V158c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2v-38.2c6.9 7.2 16.4 11.3 26.3 11.3 20.9 0 37.9-18 37.9-40.3 0-22.3-17-40.2-37.9-40.2zm185.5 0c-22.7 0-41 18-41 40.3 0 22.3 18.4 40.3 41 40.3s41-18 41-40.3c0-22.3-18.3-40.3-41-40.3zm45.4 2c-1.1 0-2 .9-2 2 0 .4.1.8.3 1.1l23 35-23.3 35.4c-.6.9-.4 2.2.6 2.8.3.2.7.3 1.1.3h15.5c1.2 0 2.3-.6 2.9-1.6l13.8-23.1 13.8 23.1c.6 1 1.7 1.6 2.9 1.6h15.5c1.1 0 2-.9 2-2 0-.4-.1-.7-.3-1.1L766 90.7l23-35c.6-.9.4-2.2-.6-2.8-.3-.2-.7-.3-1.1-.3h-15.5c-1.2 0-2.3.6-2.9 1.6l-13.5 22.7-13.5-22.7c-.6-1-1.7-1.6-2.9-1.6h-15.5zM99.3 54l-8.7 18-17.9 8.7 17.9 8.7 8.7 18 8.8-18 17.9-8.7-17.9-8.7-8.8-18zm290.3 12.7c12.7 0 23 10.7 23.2 23.9v.6c-.1 13.2-10.5 23.9-23.2 23.9-12.8 0-23.2-10.8-23.2-24.2 0-13.4 10.4-24.2 23.2-24.2zm99.8 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.7 0-23-10.7-23.2-23.9v-.6c.2-13.2 10.5-23.9 23.2-23.9zm96.3 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.7 0-23-10.7-23.2-23.9v-.6c.2-13.2 10.5-23.9 23.2-23.9zm92.2 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.8 0-23.2-10.8-23.2-24.2 0-13.4 10.4-24.2 23.2-24.2z%22 fill%3D%22%234264fb%22%2F%3E%3C%2Fsvg%3E%0A"); + background-size: 132px 42px; + background-repeat: no-repeat; + display: inline-block; + width: 132px; + height: 42px; +} +.shell-wrapper .shell-mb-logo__wrapper { + height: 42px; +} +.shell-wrapper .shell-mb-logo--white { + background-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 790 180%22%3E%3Cpath d%3D%22M89.1 1.8C39.9 1.8 0 41.7 0 90.9 0 140.1 39.9 180 89.1 180c49.2 0 89.1-39.9 89.1-89.1 0-49.2-39.9-89.1-89.1-89.1zm457.8 19.7c-1.2 0-2.2 1-2.2 2.2v103.2c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2v-7.1c6.9 7.2 16.4 11.3 26.3 11.3 20.9 0 37.9-18 37.9-40.3 0-22.3-17-40.2-37.9-40.2-10 0-19.5 4.1-26.3 11.3V23.7c0-1.2-1-2.2-2.2-2.2h-13.4zM98.3 36.4c11.4.3 22.9 4.8 31.7 13.7 17.7 17.7 18.3 45.7 1.4 62.7-30.5 30.5-84.8 20.7-84.8 20.7s-9.8-54.3 20.7-84.8c8.5-8.4 19.7-12.5 31-12.3zm160.3 14.2c-8.2 0-15.9 4-20.8 10.6v-6.4c0-1.2-1-2.2-2.2-2.2h-13.4c-1.2 0-2.2 1-2.2 2.2V127c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2V83.8c.5-9.7 7.2-17.3 15.4-17.3 8.5 0 15.6 7.1 15.6 16.5v44c0 1.2 1 2.2 2.2 2.2h13.5c1.2 0 2.2-1 2.2-2.2l-.1-44.9c1.2-8.8 7.6-15.6 15.3-15.6 8.5 0 15.6 7.1 15.6 16.5v44c0 1.2 1 2.2 2.2 2.2h13.5c1.2 0 2.2-1 2.2-2.2l-.1-49.6c.3-14.8-12.3-26.8-27.9-26.8-10 .1-19.2 5.9-23.5 15-5-9.3-14.7-15.1-25.3-15zm127.9 0c-20.9 0-37.9 18-37.9 40.3 0 22.3 17 40.3 37.9 40.3 10 0 19.5-4.1 26.3-11.3v7.1c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2V54.8c.1-1.2-.9-2.2-2.2-2.2H415c-1.2 0-2.2 1-2.2 2.2v7.1c-6.9-7.2-16.4-11.3-26.3-11.3zm106.1 0c-10 0-19.5 4.1-26.3 11.3v-7.1c0-1.2-1-2.2-2.2-2.2h-13.4c-1.2 0-2.2 1-2.2 2.2V158c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2v-38.2c6.9 7.2 16.4 11.3 26.3 11.3 20.9 0 37.9-18 37.9-40.3 0-22.3-17-40.2-37.9-40.2zm185.5 0c-22.7 0-41 18-41 40.3 0 22.3 18.4 40.3 41 40.3s41-18 41-40.3c0-22.3-18.3-40.3-41-40.3zm45.4 2c-1.1 0-2 .9-2 2 0 .4.1.8.3 1.1l23 35-23.3 35.4c-.6.9-.4 2.2.6 2.8.3.2.7.3 1.1.3h15.5c1.2 0 2.3-.6 2.9-1.6l13.8-23.1 13.8 23.1c.6 1 1.7 1.6 2.9 1.6h15.5c1.1 0 2-.9 2-2 0-.4-.1-.7-.3-1.1L766 90.7l23-35c.6-.9.4-2.2-.6-2.8-.3-.2-.7-.3-1.1-.3h-15.5c-1.2 0-2.3.6-2.9 1.6l-13.5 22.7-13.5-22.7c-.6-1-1.7-1.6-2.9-1.6h-15.5zM99.3 54l-8.7 18-17.9 8.7 17.9 8.7 8.7 18 8.8-18 17.9-8.7-17.9-8.7-8.8-18zm290.3 12.7c12.7 0 23 10.7 23.2 23.9v.6c-.1 13.2-10.5 23.9-23.2 23.9-12.8 0-23.2-10.8-23.2-24.2 0-13.4 10.4-24.2 23.2-24.2zm99.8 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.7 0-23-10.7-23.2-23.9v-.6c.2-13.2 10.5-23.9 23.2-23.9zm96.3 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.7 0-23-10.7-23.2-23.9v-.6c.2-13.2 10.5-23.9 23.2-23.9zm92.2 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.8 0-23.2-10.8-23.2-24.2 0-13.4 10.4-24.2 23.2-24.2z%22 fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E%0A"); +} + +/* Color Variants */ +.shell-wrapper .shell-color-light-blue { + color: #7290AC !important; +} +.shell-wrapper .shell-color-blue { + color: #4264fb !important; +} +.shell-wrapper .shell-color-gray { + color: #607d9c !important; +} +.shell-wrapper .shell-color-gray-dark { + color: #273d56 !important; +} +.shell-wrapper .shell-color-darken50 { + color: rgba(31, 51, 73, .5) !important; +} +.shell-wrapper .shell-color-white { + color: #fff !important; +} +.shell-wrapper .shell-color-pink { + color: #ed6498 !important; +} + + +/*Background*/ +.shell-wrapper .shell-bg-blue { + background-color: #4264fb !important; +} +.shell-wrapper .shell-bg-darken25 { + background-color: rgba(31, 51, 73, .25) !important; +} +.shell-wrapper .shell-bg-white { + background-color: #fff !important; +} +.shell-wrapper .shell-bg-pink { + background-color: #ed6498 !important; +} + +/*Links*/ +.shell-wrapper .shell-link--white { + color: #fff; +} +.shell-wrapper .shell-link--white:hover { + color: rgba(255, 255, 255, .75); +} + +/*Border*/ +.shell-wrapper .shell-border--white { + border-color: #fff !important; +} +.shell-wrapper .shell-border--gray-light { + border-color: #c6d2e1 !important +} + +/*Shadow*/ +.shell-wrapper .shell-shadow-darken10-bold { + box-shadow: 0 0 30px 6px rgba(31, 51, 73, .10) !important; +} + +/*Hovers*/ +.shell-wrapper .shell-color-blue-on-hover:hover { + color: #4264fb !important; +} +.shell-wrapper .shell-color-blue-dark-on-hover:hover { + color: #314ccd !important; +} +.shell-wrapper .shell-color-gray-dark-on-hover:hover { + color: #273d56 !important; +} + +/* ========================================================================== */ +/* Special shell things */ +/* ========================================================================== */ + +.shell-wrapper .shell-triangle-wide { + width: 16px !important; + height: 16px !important; + font-size: 0 !important; + line-height: 0 !important; +} +.shell-wrapper .shell-triangle-wide--u { + border-left: 16px solid transparent !important; + border-right: 16px solid transparent !important; + border-bottom: 16px solid currentColor !important; +} +/* shell-header-buffer is not scoped so it can be used inside the shell */ +.shell-header-buffer { + padding-top: 66px; +} + +@media (min-width: 640px) { + .shell-header-buffer { + padding-top: 84px; + } +} +/* Menu transitions */ +/* If you change the speed of these transitions, you must also update the timeout value in + ./page-shell-script/menu-pointer-positioner.js#setPointerResetTimeout */ +.shell-animated-menu, +.shell-animated-menu__pointer, +.shell-mobile-nav__backdrop { + transition: opacity 0.25s, visibility 0.25s, transform 0.25s, -webkit-transform 0.25s; +} + +.shell-mobile-nav__backdrop { + will-change: opacity; +} + +.shell-animated-menu__pointer { + -webkit-transform: translateX(-50%) translateY(0); + transform: translateX(-50%) translateY(0); +} + +.shell-animated-menu__pointer--visible { + -webkit-transform: translateX(-50%) translateY(-100%); + transform: translateX(-50%) translateY(-100%); +} + +.shell-animated-menu { + opacity: 0; + pointer-events: none; + -webkit-transform: translate(0, 0, 0) scale(0.95); + transform: translate(0, 0, 0) scale(0.95); + -webkit-transform-origin: 50% 0; + transform-origin: 50% 0; + visibility: hidden; +} + +.shell-animated-menu--visible { + opacity: 1; + pointer-events: auto; + -webkit-transform: translate(0, 0, 0) scale(1); + transform: translate(0, 0, 0) scale(1); + visibility: visible; +} + +.shell-mb-logo--white, +.shell-mobile-nav__logo--overlay { + transition: opacity 0.125s, visibility 0.125s; +} + +.shell-mb-logo--white { + opacity: 1; +} + +.shell-mobile-nav__logo--overlay, +.shell-mobile-nav__backdrop { + opacity: 0; + visibility: hidden; +} + +.shell-mobile-nav--visible .shell-mobile-nav__trigger, +.shell-mobile-nav--visible .shell-mobile-nav__trigger:hover { + color: #4264fb; +} + +.shell-mobile-nav--visible .shell-mb-logo--white { + opacity: 0; +} + +.shell-mobile-nav--visible .shell-mobile-nav__logo--overlay, +.shell-mobile-nav__backdrop--visible { + opacity: 1; + visibility: visible; +} + +.shell-mobile-nav__trigger__bar--top, +.shell-mobile-nav__trigger__bar--middle, +.shell-mobile-nav__trigger__bar--bottom { + opacity: 1; + transition: opacity 0.25s, transform 0.25s; + -webkit-transform: translateY(0) rotate(0deg) scale(1); + transform: translateY(0) rotate(0deg) scale(1); +} + +.shell-mobile-nav__trigger__bar--middle { + -webkit-transform-origin: 9px 9px; + transform-origin: 9px 9px; +} + +.shell-mobile-nav__trigger__bar--top { + -webkit-transform-origin: 9px 5px; + transform-origin: 9px 5px; +} + +.shell-mobile-nav__trigger__bar--bottom { + -webkit-transform-origin: 9px 13px; + transform-origin: 9px 13px; +} + +.shell-mobile-nav--visible .shell-mobile-nav__trigger__bar--middle { + opacity: 0; + -webkit-transform: scale(0.5); + transform: scale(0.5); +} + +.shell-mobile-nav--visible .shell-mobile-nav__trigger__bar--top { + -webkit-transform: translateY(4px) rotate(45deg); + transform: translateY(4px) rotate(45deg); +} + +.shell-mobile-nav--visible .shell-mobile-nav__trigger__bar--bottom { + -webkit-transform: translateY(-4px) rotate(-45deg); + transform: translateY(-4px) rotate(-45deg); +} + +/* user menu color changes: it's a button when you're signed in, an anchor when you're not */ + +.shell-mobile-nav--visible #mbx-user-menu-mobile button { + color: #4264fb !important; +} + +.shell-mobile-nav--visible #mbx-user-menu-mobile a { + color: #4264fb !important; + box-shadow: inset 0 0 0 1px currentColor; +} diff --git a/vendor/docs-page-shell/react-page-shell.js b/vendor/docs-page-shell/react-page-shell.js new file mode 100644 index 00000000000..8b9ca59ffff --- /dev/null +++ b/vendor/docs-page-shell/react-page-shell.js @@ -0,0 +1,1084 @@ +/* eslint-disable */ +'use strict'; + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var React = _interopDefault(require('react')); +var PropTypes = _interopDefault(require('prop-types')); +var Helmet = require('react-helmet'); +var Helmet__default = _interopDefault(Helmet); + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _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); +} + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf(subClass, superClass); +} + +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} + +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +function _possibleConstructorReturn(self, call) { + if (call && (typeof call === "object" || typeof call === "function")) { + return call; + } + + return _assertThisInitialized(self); +} + +function BrowserCompatibilityWarning() { + return React.createElement("div", { + className: "shell-wrapper", + id: "page-shell-compatibility-warning", + style: { + display: 'none' + } + }, React.createElement("div", { + className: "shell-py12 shell-px24 shell-bg-pink shell-color-white shell-align-l" + }, React.createElement("button", { + className: "shell-absolute shell-top shell-right shell-p12", + id: "page-shell-compatibility-dismiss" + }, React.createElement("svg", { + className: "shell-icon", + viewBox: "0 0 18 18" + }, React.createElement("path", { + d: "M5.8,5C5.4,5,5,5.4,5,5.8C5,6,5.1,6.2,5.3,6.3l0,0L7.9,9l-2.6,2.6C5.1,11.8,5,12,5,12.2C5,12.6,5.4,13,5.8,13 c0.2,0,0.4-0.1,0.6-0.3L9,10.1l2.6,2.6c0.1,0.2,0.4,0.3,0.6,0.3c0.4,0,0.8-0.4,0.8-0.8c0-0.2-0.1-0.4-0.2-0.6L10.1,9l2.6-2.7 C12.9,6.2,13,6,13,5.8C13,5.4,12.6,5,12.2,5c-0.2,0-0.4,0.1-0.6,0.2L9,7.8L6.4,5.2C6.2,5.1,6,5,5.8,5L5.8,5z" + }))), React.createElement("div", { + className: "limiter shell-block shell-relative" + }, React.createElement("div", { + className: "compatibility-warning-copy shell-mb6 shell-mb0-mm shell-align-center shell-align-l-mm shell-txt-bold" + }, "You are using an outdated browser and will encounter some problems with our website. Please consider upgrading."), React.createElement("div", { + className: "compatibility-warning-action shell-align-center" + }, React.createElement("a", { + className: "shell-btn shell-btn--white shell-color-pink shell-txt-nowrap", + href: "http://outdatedbrowser.com" + }, "Upgrade Now"))))); +} + +function PageHelmet() { + return React.createElement(Helmet.Helmet, null, React.createElement("meta", { + charSet: "utf-8" + }), React.createElement("meta", { + name: "viewport", + content: "width=device-width, initial-scale=1" + }), React.createElement("link", { + rel: "apple-touch-icon", + sizes: "180x180", + href: "https://static-assets.mapbox.com/branding/favicon/v1/apple-touch-icon.png?v=gAd4JjrGWl" + }), React.createElement("link", { + rel: "icon", + type: "image/png", + sizes: "32x32", + href: "https://static-assets.mapbox.com/branding/favicon/v1/favicon-32x32.png?v=gAd4JjrGWl" + }), React.createElement("link", { + rel: "icon", + type: "image/png", + sizes: "16x16", + href: "https://static-assets.mapbox.com/branding/favicon/v1/favicon-16x16.png?v=gAd4JjrGWl" + }), React.createElement("link", { + rel: "manifest", + href: "https://static-assets.mapbox.com/branding/favicon/v1/site.webmanifest?v=gAd4JjrGWl" + }), React.createElement("link", { + rel: "mask-icon", + href: "https://static-assets.mapbox.com/branding/favicon/v1/safari-pinned-tab.svg?v=gAd4JjrGWl", + color: "#4264fb" + }), React.createElement("link", { + rel: "shortcut icon", + href: "https://static-assets.mapbox.com/branding/favicon/v1/favicon.ico?v=gAd4JjrGWl" + }), React.createElement("meta", { + name: "msapplication-TileColor", + content: "#ffffff" + }), React.createElement("meta", { + name: "msapplication-config", + content: "https://static-assets.mapbox.com/branding/favicon/v1/browserconfig.xml?v=gAd4JjrGWl" + }), React.createElement("meta", { + name: "theme-color", + content: "#ffffff" + }), React.createElement("meta", { + name: "p:domain_verify", + content: "57838af58c8045c2c024bc2f9d1577f9" + }), React.createElement("meta", { + name: "google-site-verification", + content: "umPiCFUc_EX8CJ7xWQDPgQwApDxNi59w6riFZPNZj4w" + }), React.createElement("meta", { + name: "twitter:site", + content: "@Mapbox" + }), React.createElement("meta", { + property: "og:site_name", + content: "Mapbox" + })); +} + +var shellStyles = { + // Header names + headerMenuName: 'shell-txt-s shell-txt-s-mxl shell-txt-bold shell-txt-nowrap shell-py6', + // Medium to X-large navigation + navigationItem: 'shell-mx6 shell-mx9-ml shell-mx18-mxl', + // Medium to X-large navigation popup menu + popupMenuBody: 'shell-shadow-darken10-bold shell-bg-white shell-absolute shell-inline-block shell-round shell-txt-s', + popupMenuNavHeading: 'shell-txt-uppercase shell-txt-s shell-txt-spacing1 shell-txt-fancy shell-color-light-blue', + popupMenuLink: 'shell-txt-bold shell-color-blue-on-hover shell-color-gray-dark', + // User menu popup + userNavLink: 'shell-color-gray-dark shell-color-blue-on-hover shell-txt-s shell-txt-bold shell-my12 shell-block', + userAvatar: 'shell-border shell-border--2 shell-border--white shell-h30 shell-w30 shell-bg-darken25 shell-clip shell-round-full' +}; + +function PopupMenu(props) { + var name = props.name, + darkText = props.darkText, + children = props.children; + var menuNameClasses = shellStyles.headerMenuName; + menuNameClasses += darkText ? ' shell-navigation-menu-button shell-transition shell-color-gray-dark shell-color-blue-on-hover' : ' shell-navigation-menu-button shell-link shell-link--white'; + return React.createElement("div", { + style: { + lineHeight: 1 + } + }, React.createElement("div", { + id: "".concat(name, "-menu"), + className: "shell-relative ".concat(shellStyles.navigationItem) + }, React.createElement("button", { + id: "".concat(name, "-menu-trigger"), + "data-nav-trigger": name, + "data-test": "nav-menu-trigger-".concat(name), + "aria-haspopup": "true", + "aria-controls": "".concat(name, "-menu-container"), + "aria-expanded": "false", + "aria-label": "".concat(name, " menu"), + className: menuNameClasses + }, name)), React.createElement("div", { + id: "".concat(name, "-menu-container"), + "data-nav-menu": name, + "data-test": "nav-menu-".concat(name), + role: "group", + "aria-labelledby": "".concat(name, "-menu-trigger"), + className: "shell-absolute shell-z2 shell-disable-text-size-adjust shell-w-full shell-animated-menu", + style: { + right: 0, + top: '100%', + marginTop: '14px' + } + }, React.createElement("div", { + "data-nav-pointer": name, + className: "shell-triangle-wide shell-triangle-wide--u shell-color-white shell-z5 shell-animated-menu__pointer", + style: { + position: 'absolute', + top: 0 + } + }), React.createElement("div", { + className: shellStyles.popupMenuBody, + "data-nav-menu-body": name + }, children))); +} + +PopupMenu.propTypes = { + darkText: PropTypes.bool, + name: PropTypes.string.isRequired, + children: PropTypes.node.isRequired +}; +PopupMenu.defaultProps = { + darkText: true +}; + +var nonMobile = { + maps: { + sdks: { + title: 'Maps SDKs', + links: [{ + name: 'for iOS', + to: '/ios-sdk/' + }, { + name: 'for Android', + to: '/android-docs/maps/overview/' + }, { + name: 'for Unity', + to: '/unity-sdk/' + }, { + name: 'for React Native', + to: 'https://github.com/mapbox/react-native-mapbox-gl' + }, { + name: 'for Qt', + to: 'https://doc.qt.io/qt-5/location-plugin-mapboxgl.html' + }] + }, + links: [{ + name: 'Mapbox GL JS', + to: '/mapbox-gl-js/' + }, { + name: 'Mapbox Studio', + to: '/studio-manual/' + }, { + name: 'Mapbox Style Spec', + to: '/mapbox-gl-js/style-spec/' + }, { + name: 'Vector tiles', + to: '/vector-tiles/' + }, { + name: 'Maps APIs', + to: '/api-documentation/#maps' + }] + }, + navigation: { + sdks: { + title: 'Navigation SDKs', + links: [{ + name: 'for iOS', + to: '/ios-sdk/navigation/' + }, { + name: 'for Android', + to: '/android-docs/navigation/' + }] + }, + links: [{ + name: 'Directions APIs', + to: '/api-documentation/#directions' + }] + }, + search: { + links: [{ + name: 'Geocoding API', + to: '/api-documentation/#geocoding' + }] + }, + help: { + links: [{ + name: 'How Mapbox works', + to: '/help/how-mapbox-works/' + }, { + name: 'Tutorials', + to: '/help/tutorials/' + }, { + name: 'Troubleshooting', + to: '/help/troubleshooting/' + }, { + name: 'Glossary', + to: '/help/glossary/' + }, { + name: 'Account FAQ', + to: '/help/account-faq/' + }, { + name: 'API playground', + to: '/api-playground/' + }] + } +}; +var mobile = { + maps: { + links: nonMobile.maps.sdks.links.map(function (item) { + return Object.assign({}, item, { + name: "SDK ".concat(item.name) + }); + }).concat(nonMobile.maps.links) + }, + navigation: { + links: nonMobile.navigation.sdks.links.map(function (item) { + return Object.assign({}, item, { + name: "SDK ".concat(item.name) + }); + }).concat(nonMobile.navigation.links) + }, + search: nonMobile.search, + help: nonMobile.help +}; +var navigationMenuData = { + nonMobile: nonMobile, + mobile: mobile +}; + +function LinkList(props) { + var title = props.title, + links = props.links, + bullets = props.bullets; + var navigationHeading = !title ? null : React.createElement("div", { + className: "".concat(shellStyles.popupMenuNavHeading, " shell-mb12") + }, title); + var ulClasses = bullets ? 'shell-txt-ul shell-ml24' : ''; + var linkListItems = React.createElement("ul", { + className: ulClasses + }, links.map(function (link, i) { + var liClasses = i === 0 ? '' : 'shell-mt12'; + if (bullets) liClasses += ' shell-txt-li'; + return React.createElement("li", { + key: i, + className: liClasses + }, React.createElement("a", { + href: link.to, + "data-nav-link": true, + className: shellStyles.popupMenuLink + }, link.name)); + })); + return React.createElement("div", null, navigationHeading, linkListItems); +} + +LinkList.propTypes = { + title: PropTypes.string, + links: PropTypes.arrayOf(PropTypes.shape({ + to: PropTypes.string.isRequired, + name: PropTypes.string.isRequired + })).isRequired, + bullets: PropTypes.bool +}; +LinkList.defaultProps = { + bullets: false +}; + +var navItems = navigationMenuData.nonMobile.search.links; + +function SearchMenu(props) { + return React.createElement(PopupMenu, _extends({}, props, { + name: "Search" + }), React.createElement("div", { + className: "shell-py30 shell-px30" + }, React.createElement(LinkList, { + links: navItems + }))); +} + +var navItems$1 = navigationMenuData.nonMobile.help.links; + +function HelpMenu(props) { + return React.createElement(PopupMenu, _extends({}, props, { + name: "Help" + }), React.createElement("div", { + className: "shell-py30 shell-px30" + }, React.createElement(LinkList, { + links: navItems$1 + }))); +} + +var menuData = navigationMenuData.nonMobile.maps; +var standardLinks = menuData.links; + +function MapsMenu(props) { + var sdkEls = React.createElement(LinkList, { + title: menuData.sdks.title, + links: menuData.sdks.links, + bullets: true + }); + var standardLinkEls = React.createElement(LinkList, { + links: standardLinks + }); + return React.createElement(PopupMenu, _extends({}, props, { + name: "Maps" + }), React.createElement("div", { + className: "shell-py30 shell-px30 w360" + }, React.createElement("div", { + className: "shell-grid shell-grid--gut24" + }, React.createElement("div", { + className: "shell-col shell-col--6" + }, sdkEls), React.createElement("div", { + className: "shell-col shell-col--6" + }, standardLinkEls)))); +} + +var menuData$1 = navigationMenuData.nonMobile.navigation; +var standardLinks$1 = menuData$1.links; + +function NavigationMenu(props) { + var sdkEls = React.createElement(LinkList, { + title: menuData$1.sdks.title, + links: menuData$1.sdks.links, + bullets: true + }); + var standardLinkEls = React.createElement(LinkList, { + links: standardLinks$1 + }); + return React.createElement(PopupMenu, _extends({}, props, { + name: "Navigation" + }), React.createElement("div", { + className: "shell-py30 shell-px30 w360" + }, React.createElement("div", { + className: "shell-grid shell-grid--gut24" + }, React.createElement("div", { + className: "shell-col shell-col--6" + }, sdkEls), React.createElement("div", { + className: "shell-col shell-col--6" + }, standardLinkEls)))); +} + +function NavigationItem(props) { + var colorBasedClasses = props.darkText ? 'shell-navigation-menu-button shell-color-gray-dark shell-color-blue-on-hover' : 'shell-navigation-menu-button shell-link shell-link--white'; + return React.createElement("div", { + className: "shell-flex-child ".concat(shellStyles.navigationItem), + style: { + lineHeight: 1 + } + }, React.createElement("a", { + className: "shell-py6 shell-txt-s shell-txt-bold ".concat(colorBasedClasses), + "data-test": "nav-menu-item-".concat(props.name), + href: props.href + }, props.children)); +} + +NavigationItem.propTypes = { + darkText: PropTypes.bool, + name: PropTypes.string.isRequired, + href: PropTypes.string.isRequired, + children: PropTypes.string.isRequired +}; + +function MobileMenuButton(props) { + var menuButtonClasses = 'shell-block'; + + if (!props.darkText) { + menuButtonClasses += ' shell-link shell-link--white'; + } else { + menuButtonClasses += ' shell-color-blue'; + } + + return React.createElement("button", { + id: "mobile-nav-trigger-toggle", + "aria-label": "Toggle navigation", + className: menuButtonClasses, + "data-test": "mobile-nav-trigger-toggle" + }, React.createElement("svg", { + id: "mobile-nav-trigger-menu", + viewBox: "0 0 18 18", + className: "shell-mobile-nav__trigger shell-icon shell-transition shell-icon--l" + }, React.createElement("g", null, React.createElement("path", { + className: "shell-mobile-nav__trigger__bar--top", + d: "M4.2,6h9.6C14.5,6,15,5.6,15,5s-0.5-1-1.2-1H4.2C3.5,4,3,4.4,3,5S3.5,6,4.2,6z" + }), React.createElement("path", { + className: "shell-mobile-nav__trigger__bar--middle", + d: "M13.8,8H4.2C3.5,8,3,8.4,3,9s0.5,1,1.2,1h9.6c0.7,0,1.2-0.4,1.2-1S14.5,8,13.8,8z" + }), React.createElement("path", { + className: "shell-mobile-nav__trigger__bar--bottom", + d: "M13.8,12H4.2C3.5,12,3,12.4,3,13s0.5,1,1.2,1h9.6c0.7,0,1.2-0.4,1.2-1S14.5,12,13.8,12z" + })))); +} + +MobileMenuButton.propTypes = { + darkText: PropTypes.bool +}; + +function MobileLinkList(props) { + var title = props.title, + links = props.links; + var navigationHeading = !title ? null : React.createElement("div", { + className: "".concat(shellStyles.popupMenuNavHeading) + }, title); + var ulClasses = 'shell-txt-s shell-grid shell-grid--gut12'; + if (navigationHeading) ulClasses += ' shell-mb6'; + var linkListItems = React.createElement("div", { + className: ulClasses + }, links.map(function (link, i) { + return React.createElement("div", { + key: i, + className: "shell-col shell-col--6 shell-mt6" + }, React.createElement("a", { + href: link.to, + "data-nav-link": true, + className: "shell-color-gray-dark" + }, link.name)); + })); + return React.createElement("div", null, navigationHeading, linkListItems); +} + +MobileLinkList.propTypes = { + title: PropTypes.string, + links: PropTypes.arrayOf(PropTypes.shape({ + to: PropTypes.string.isRequired, + name: PropTypes.string.isRequired + })).isRequired +}; + +var DEFAULT_SOCIAL_IMAGE_URL = 'https://static-assets.mapbox.com/branding/social/social-1200x630.v1.png'; +var DEFAULT_SOCIAL_IMAGE_THUMBNAIL_URL = 'https://static-assets.mapbox.com/branding/social/social-120x120.v1.png'; + +var MOBILE_HEADER_HEIGHT = 72; + +function MobileNavigation() { + return React.createElement("div", { + className: "shell-z1 shell-absolute shell-top shell-left shell-right shell-w-full" + }, React.createElement("div", { + id: "mobile-nav-backdrop", + "data-test": "mobile-nav-backdrop", + className: "shell-absolute shell-bottom shell-left shell-right shell-mobile-nav__backdrop", + style: { + top: MOBILE_HEADER_HEIGHT, + backgroundImage: "linear-gradient(to bottom, transparent, rgba(31, 51, 73, .5))" + } + }), React.createElement("div", { + id: "mobile-nav-menu", + "data-test": "mobile-nav-menu", + className: "shell-absolute shell-z5 shell-w-full shell-animated-menu", + style: { + top: 0, + right: 0 + } + }, React.createElement("div", { + className: "shell-shadow-darken10-bold shell-bg-white shell-clip shell-px24", + style: { + paddingTop: MOBILE_HEADER_HEIGHT + } + }, React.createElement("div", { + className: "shell-pb24" + }, React.createElement(MobileLinkList, { + title: "Maps", + links: navigationMenuData.mobile.maps.links + }), React.createElement("div", { + className: "shell-mt24" + }, React.createElement(MobileLinkList, { + title: "Navigation", + links: navigationMenuData.mobile.navigation.links + })), React.createElement("div", { + className: "shell-mt24" + }, React.createElement(MobileLinkList, { + title: "Search", + links: navigationMenuData.mobile.search.links + })), React.createElement("div", { + className: "shell-mt24" + }, React.createElement(MobileLinkList, { + title: "Help", + links: navigationMenuData.mobile.help.links + }))), React.createElement("div", { + className: "shell-border-t shell-border--gray-light shell-py24" + }, React.createElement("a", { + href: "/documentation/", + className: "shell-color-blue" + }, "All docs"))))); +} + +function Logo(props) { + var darkText = props.darkText, + mini = props.mini; + var logoClasses = 'shell-flex-child shell-mb-logo'; + + if (!darkText) { + logoClasses += ' shell-mb-logo--white'; + } + + var logoStyles = {}; + + if (mini) { + logoStyles.width = 30; + } + + var border = null; + + if (!mini) { + var borderClasses = 'shell-flex-child shell-h24 shell-mx12'; + borderClasses += darkText ? ' shell-bg-blue' : ' shell-bg-white'; + border = React.createElement("div", { + className: borderClasses, + style: { + width: 2 + }, + "data-subtitle-bar-dark": darkText + }); + } + + var nameClasses = 'shell-flex-child shell-txt-bold shell-txt-l '; + nameClasses += darkText ? ' shell-color-blue shell-color-blue-dark-on-hover' : ' shell-link shell-link--white'; + + if (mini) { + nameClasses += ' shell-ml6'; + } + + return React.createElement("div", { + className: "shell-flex-parent shell-flex-parent--center-cross" + }, React.createElement("a", { + href: "https://www.mapbox.com", + "aria-label": "Mapbox", + className: logoClasses, + style: logoStyles + }), border, React.createElement("a", { + href: "/documentation/", + className: nameClasses, + style: { + marginBottom: 2 + }, + "data-subtitle-dark": darkText + }, "Docs")); +} + +Logo.propTypes = { + darkText: PropTypes.bool, + mini: PropTypes.bool +}; +Logo.defaultProps = { + darkText: false, + mini: false +}; + +var USER_MENU_WIDTH = 66; + +function PageHeader(props) { + var logoOverlay = null; + + if (!props.darkText) { + logoOverlay = React.createElement("div", { + className: "shell-mobile-nav__logo--overlay shell-absolute shell-top shell-left" + }, React.createElement(Logo, { + darkText: true, + mini: true + })); + } + + return React.createElement("header", { + className: "shell-absolute shell-w-full shell-z1", + "data-swiftype-index": "false" + }, React.createElement("div", { + className: "shell-none limiter shell-mt24 shell-flex-parent-mm shell-flex-parent--center-cross" + }, React.createElement(Logo, { + darkText: props.darkText + }), React.createElement("div", { + className: "shell-flex-child shell-flex-child--grow shell-flex-parent shell-flex-parent--center-cross shell-flex-parent--end-main" + }, React.createElement("div", { + className: "shell-flex-parent shell-flex-parent--center-cross shell-flex-parent--end-main" + }, React.createElement(MapsMenu, { + darkText: props.darkText + }), React.createElement(NavigationMenu, { + darkText: props.darkText + }), React.createElement(SearchMenu, { + darkText: props.darkText + }), React.createElement(NavigationItem, { + href: "/documentation/", + darkText: props.darkText, + name: "all" + }, "All docs"), React.createElement(HelpMenu, { + darkText: props.darkText + }))), React.createElement("div", { + className: "shell-flex-child shell-ml6 shell-ml12-ml shell-ml18-mxl" + }, React.createElement("div", { + id: "mbx-user-menu", + style: { + width: USER_MENU_WIDTH + }, + "data-user-menu-trigger": true + }))), React.createElement("div", { + id: "page-header-content", + className: "shell-none-mm limiter shell-py12 shell-z2 shell-relative" + }, React.createElement("div", { + className: "shell-flex-parent shell-flex-parent--center-cross" + }, React.createElement("div", { + className: "shell-flex-child shell-flex-child--no-shrink shell-ml-neg6" + }, React.createElement(MobileMenuButton, { + darkText: props.darkText + })), React.createElement("div", { + className: "shell-flex-child shell-flex-child--grow shell-relative shell-mb-logo__wrapper shell-ml12" + }, React.createElement(Logo, { + darkText: props.darkText, + mini: true + }), logoOverlay), React.createElement("div", { + className: "shell-flex-child shell-flex-child--no-shrink" + }, React.createElement("div", { + id: "mbx-user-menu-mobile", + style: { + width: USER_MENU_WIDTH + }, + "data-user-menu-trigger": true + })))), React.createElement(MobileNavigation, null)); +} + +PageHeader.propTypes = { + darkText: PropTypes.bool +}; +PageHeader.defaultProps = { + darkText: false +}; + +function FooterLegalStrip(props) { + return React.createElement("div", { + className: props.className + }, React.createElement("a", { + className: "shell-link shell-color-darken50 shell-color-blue-on-hover shell-mr18", + href: "https://www.mapbox.com/" + }, "\xA9 Mapbox"), React.createElement("a", { + className: "shell-link shell-color-darken50 shell-color-blue-on-hover shell-mr18", + href: "https://www.mapbox.com/tos/" + }, "Terms"), React.createElement("a", { + className: "shell-link shell-color-darken50 shell-color-blue-on-hover shell-mr18", + href: "https://www.mapbox.com/privacy/" + }, "Privacy"), React.createElement("a", { + className: "shell-link shell-color-darken50 shell-color-blue-on-hover", + href: "https://www.mapbox.com/platform/security/" + }, "Security")); +} + +FooterLegalStrip.propTypes = { + className: PropTypes.string +}; + +function FooterSocialMediaStrip(props) { + return React.createElement("div", { + className: props.className + }, React.createElement("a", { + "aria-label": "Github", + className: "shell-color-blue shell-color-gray-dark-on-hover", + href: "https://github.com/mapbox" + }, React.createElement("svg", { + viewBox: "0 0 1790 1790", + className: "shell-mr18 shell-icon shell-icon--s shell-inline" + }, React.createElement("path", { + d: "M704 1216q0 40-12.5 82t-43 76-72.5 34-72.5-34-43-76-12.5-82 12.5-82 43-76 72.5-34 72.5 34 43 76 12.5 82zm640 0q0 40-12.5 82t-43 76-72.5 34-72.5-34-43-76-12.5-82 12.5-82 43-76 72.5-34 72.5 34 43 76 12.5 82zm160 0q0-120-69-204t-187-84q-41 0-195 21-71 11-157 11t-157-11q-152-21-195-21-118 0-187 84t-69 204q0 88 32 153.5t81 103 122 60 140 29.5 149 7h168q82 0 149-7t140-29.5 122-60 81-103 32-153.5zm224-176q0 207-61 331-38 77-105.5 133t-141 86-170 47.5-171.5 22-167 4.5q-78 0-142-3t-147.5-12.5-152.5-30-137-51.5-121-81-86-115q-62-123-62-331 0-237 136-396-27-82-27-170 0-116 51-218 108 0 190 39.5t189 123.5q147-35 309-35 148 0 280 32 105-82 187-121t189-39q51 102 51 218 0 87-27 168 136 160 136 398z" + }))), React.createElement("a", { + "aria-label": "Twitter", + className: "shell-color-blue shell-color-gray-dark-on-hover ", + href: "https://twitter.com/mapbox/" + }, React.createElement("svg", { + viewBox: "0 0 50 50", + className: "shell-mr18 shell-icon shell-icon--s shell-inline" + }, React.createElement("g", { + id: "77744030-a5d8-4d71-88ad-2c70d4dcad7b", + "data-name": "svg" + }, React.createElement("path", { + d: "M15.72,45.31c18.87,0,29.19-15.63,29.19-29.19,0-.44,0-.89,0-1.33A20.87,20.87,0,0,0,50,9.49a20.48,20.48,0,0,1-5.89,1.61,10.29,10.29,0,0,0,4.51-5.67A20.56,20.56,0,0,1,42.1,7.92a10.27,10.27,0,0,0-17.48,9.36A29.12,29.12,0,0,1,3.48,6.56,10.27,10.27,0,0,0,6.66,20.25,10.18,10.18,0,0,1,2,19v.13a10.26,10.26,0,0,0,8.23,10.06,10.24,10.24,0,0,1-4.63.18,10.27,10.27,0,0,0,9.58,7.12,20.58,20.58,0,0,1-12.74,4.4A20.88,20.88,0,0,1,0,40.71a29,29,0,0,0,15.72,4.6" + })))), React.createElement("a", { + "aria-label": "LinkedIn", + className: "shell-color-blue shell-color-gray-dark-on-hover", + href: "https://www.linkedin.com/company/mapbox" + }, React.createElement("svg", { + viewBox: "0 0 50 50", + className: "shell-mr18 shell-icon shell-icon--s shell-inline" + }, React.createElement("g", { + id: "875e301f-501b-48d2-a663-a3a855ad9d70", + "data-name": "svg" + }, React.createElement("rect", { + x: "1.32", + y: "13.16", + width: "10.53", + height: "36.84" + }), React.createElement("path", { + d: "M36.84,13.16c-7.34,0-8.61,2.68-9.21,5.26V13.16H17.11V50H27.63V28.95c0-3.41,1.85-5.26,5.26-5.26s5.26,1.81,5.26,5.26V50H48.68V31.58C48.68,21.05,47.31,13.16,36.84,13.16Z" + }), React.createElement("circle", { + cx: "6.58", + cy: "5.26", + r: "5.26" + })))), React.createElement("a", { + "aria-label": "Facebook", + className: "shell-color-blue shell-color-gray-dark-on-hover", + href: "https://www.facebook.com/Mapbox" + }, React.createElement("svg", { + viewBox: "0 0 50 50", + className: "shell-mr18 shell-icon shell-icon--s shell-inline" + }, React.createElement("g", { + id: "38f48a9c-03c5-4a1e-8aed-38100e1cd6a4", + "data-name": "svg" + }, React.createElement("path", { + id: "c5d5da0e-6004-406b-ad77-825ffd134c21", + "data-name": "f", + d: "M28.87,50V27.19h7.65l1.15-8.89h-8.8V12.63c0-2.57.71-4.33,4.41-4.33H38v-8A63.78,63.78,0,0,0,31.13,0C24.34,0,19.69,4.14,19.69,11.75V18.3H12v8.89h7.68V50Z" + })))), React.createElement("a", { + "aria-label": "Dribbble", + className: "shell-color-blue shell-color-gray-dark-on-hover", + href: "https://dribbble.com/mapbox" + }, React.createElement("svg", { + viewBox: "0 0 216 216", + className: "shell-mr18 shell-icon shell-icon--s shell-inline" + }, React.createElement("g", { + id: "bce6e84c-15aa-4744-93d1-a9e4a673398a", + "data-name": "ball" + }, React.createElement("g", { + id: "99079e24-a239-40f3-bf61-84ebc8f0b2ce", + "data-name": "ball" + }, React.createElement("path", { + d: "M108,15.78a92.16,92.16,0,1,0,92.16,92.16A92.27,92.27,0,0,0,108,15.78ZM169,58.28a78.31,78.31,0,0,1,17.78,49c-2.6-.55-28.62-5.83-54.81-2.54-.55-1.35-1.12-2.7-1.7-4.06-1.63-3.84-3.39-7.65-5.22-11.4C154.1,77.44,167.29,60.53,169,58.28ZM108,29.34A78.41,78.41,0,0,1,160.2,49.18c-1.41,2-13.26,17.94-41.25,28.43A421.91,421.91,0,0,0,89.58,31.53,79,79,0,0,1,108,29.34ZM74.56,36.82a503.63,503.63,0,0,1,29.18,45.53A293.82,293.82,0,0,1,31,91.94,79,79,0,0,1,74.56,36.82ZM29.31,108.06c0-.8,0-1.61,0-2.41,3.44.08,41.59.57,80.9-11.2,2.25,4.41,4.4,8.89,6.38,13.36-1,.29-2.08.61-3.1.94-40.6,13.12-62.2,48.89-64,51.94A78.39,78.39,0,0,1,29.31,108.06ZM108,186.78a78.29,78.29,0,0,1-48.31-16.62c1.41-2.9,17.35-33.69,61.75-49.16l.52-.17a326.92,326.92,0,0,1,16.79,59.69A78.19,78.19,0,0,1,108,186.78Zm44-13.47a338.31,338.31,0,0,0-15.29-56.12c24.67-4,46.34,2.51,49,3.36A78.84,78.84,0,0,1,152,173.31Z" + }))))), React.createElement("a", { + "aria-label": "Instagram", + className: "shell-color-blue shell-color-gray-dark-on-hover", + href: "https://www.instagram.com/Mapbox" + }, React.createElement("svg", { + viewBox: "0 0 50 50", + className: "shell-icon shell-icon--s shell-inline" + }, React.createElement("g", { + id: "fb2f6c01-da64-4dee-86ea-29fec95d4f45", + "data-name": "svg" + }, React.createElement("path", { + d: "M25,0c-6.79,0-7.64,0-10.31.15A18.35,18.35,0,0,0,8.62,1.31,12.25,12.25,0,0,0,4.2,4.2,12.25,12.25,0,0,0,1.31,8.62,18.35,18.35,0,0,0,.15,14.69C0,17.36,0,18.21,0,25s0,7.64.15,10.31a18.35,18.35,0,0,0,1.16,6.07A12.26,12.26,0,0,0,4.2,45.8a12.25,12.25,0,0,0,4.43,2.88,18.35,18.35,0,0,0,6.07,1.16C17.36,50,18.21,50,25,50s7.64,0,10.31-.15a18.35,18.35,0,0,0,6.07-1.16,12.78,12.78,0,0,0,7.31-7.31,18.35,18.35,0,0,0,1.16-6.07C50,32.64,50,31.79,50,25s0-7.64-.15-10.31a18.35,18.35,0,0,0-1.16-6.07A12.25,12.25,0,0,0,45.8,4.2a12.26,12.26,0,0,0-4.43-2.88A18.35,18.35,0,0,0,35.31.15C32.64,0,31.79,0,25,0Zm0,4.5c6.68,0,7.47,0,10.1.15a13.83,13.83,0,0,1,4.64.86,7.75,7.75,0,0,1,2.87,1.87,7.75,7.75,0,0,1,1.87,2.87,13.83,13.83,0,0,1,.86,4.64c.12,2.64.15,3.43.15,10.1s0,7.47-.15,10.1a13.83,13.83,0,0,1-.86,4.64,8.28,8.28,0,0,1-4.74,4.74,13.83,13.83,0,0,1-4.64.86c-2.64.12-3.43.15-10.1.15s-7.47,0-10.1-.15a13.83,13.83,0,0,1-4.64-.86,7.74,7.74,0,0,1-2.87-1.87,7.75,7.75,0,0,1-1.87-2.87,13.83,13.83,0,0,1-.86-4.64C4.53,32.47,4.5,31.68,4.5,25s0-7.47.15-10.1a13.83,13.83,0,0,1,.86-4.64A7.75,7.75,0,0,1,7.38,7.38a7.75,7.75,0,0,1,2.87-1.87,13.83,13.83,0,0,1,4.64-.86c2.64-.12,3.43-.15,10.1-.15" + }), React.createElement("path", { + d: "M25,33.33A8.33,8.33,0,1,1,33.33,25,8.33,8.33,0,0,1,25,33.33Zm0-21.17A12.84,12.84,0,1,0,37.84,25,12.84,12.84,0,0,0,25,12.16Z" + }), React.createElement("path", { + d: "M41.35,11.65a3,3,0,1,1-3-3,3,3,0,0,1,3,3Z" + }))))); +} + +FooterSocialMediaStrip.propTypes = { + className: PropTypes.string +}; + +function PageFooter() { + return React.createElement("footer", { + id: "page-footer", + className: "shell-py12 shell-py48-ml", + "data-swiftype-index": "false" + }, React.createElement("div", { + className: "limiter" + }, React.createElement("div", { + id: "page-footer-legal-social", + className: "shell-grid shell-txt-s shell-color-darken50 shell-py12 shell-py0-ml" + }, React.createElement(FooterLegalStrip, { + className: "shell-col shell-col--12 shell-col--6-mm shell-my12" + }), React.createElement(FooterSocialMediaStrip, { + className: "shell-col shell-col--12 shell-col--6-mm shell-my12 shell-align-r-mm" + })))); +} + +function MetaTagger(props) { + var suffixedTitle = /^Mapbox/.test(props.title) ? props.title : "".concat(props.title, " | Mapbox"); + var preppedDescription = props.description.replace(/\s+/g, ' '); + var prodUrl = 'https://www.mapbox.com'; + if (props.pathname[0] !== '/') prodUrl += '/'; + prodUrl += props.pathname; + var metaItems = [{ + name: 'description', + content: preppedDescription + }]; + metaItems.push({ + name: 'twitter:title', + content: props.title + }, { + property: 'og:title', + content: props.title + }, { + name: 'twitter:description', + content: preppedDescription + }, { + property: 'og:description', + content: preppedDescription + }, { + property: 'og:url', + content: prodUrl + }, { + property: 'og:type', + content: 'website' + }, { + class: 'swiftype', + name: 'title', + 'data-type': 'string', + content: props.title + }, { + class: 'swiftype', + name: 'excerpt', + 'data-type': 'string', + content: props.description + }, { + name: 'twitter:image:alt', + content: props.imageAlt + }, { + property: 'og:image', + content: props.imageUrl + }, { + class: 'swiftype', + name: 'image', + 'data-type': 'enum', + content: props.imageUrl + }); + + if (props.largeImage) { + metaItems.push({ + name: 'twitter:card', + content: 'summary_large_image' + }, { + name: 'twitter:image', + content: props.imageUrl + }); + } else { + metaItems.push({ + name: 'twitter:card', + content: 'summary' + }, { + name: 'twitter:image', + content: props.imageUrlThumbnail + }); + } + + return React.createElement(Helmet__default, { + title: suffixedTitle, + meta: metaItems + }); +} + +MetaTagger.propTypes = { + title: PropTypes.string.isRequired, + description: PropTypes.string.isRequired, + pathname: PropTypes.string.isRequired, + imageUrl: PropTypes.string, + imageUrlThumbnail: PropTypes.string, + imageAlt: PropTypes.string, + largeImage: PropTypes.bool +}; +MetaTagger.defaultProps = { + imageUrl: DEFAULT_SOCIAL_IMAGE_URL, + imageUrlThumbnail: DEFAULT_SOCIAL_IMAGE_THUMBNAIL_URL, + imageAlt: 'Mapbox', + largeImage: true +}; + +var pageShellInitialized = false; +var lastUrl; + +var ReactPageShell = +/*#__PURE__*/ +function (_React$Component) { + _inherits(ReactPageShell, _React$Component); + + function ReactPageShell() { + _classCallCheck(this, ReactPageShell); + + return _possibleConstructorReturn(this, _getPrototypeOf(ReactPageShell).apply(this, arguments)); + } + + _createClass(ReactPageShell, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (!window.MapboxPageShell) throw new Error('MapboxPageShell not loaded'); + + if (!pageShellInitialized) { + this.initialize(); + } else { + MapboxPageShell.initialize(); + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + var currentUrl = window.location.href; + if (currentUrl === lastUrl) return; + lastUrl = currentUrl; + this.initialize(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + MapboxPageShell.removeNavigation(); + } + }, { + key: "initialize", + value: function initialize() { + var _this = this; + + MapboxPageShell.initialize(); + MapboxPageShell.afterUserCheck(function () { + if (_this.props.onUser) { + _this.props.onUser(MapboxPageShell.getUser(), MapboxPageShell.getUserPublicAccessToken()); + } + + MapboxPageShell.loadUserMenu({ + dark: _this.props.darkHeaderText + }); + pageShellInitialized = true; + }); + } + }, { + key: "render", + value: function render() { + var nonFooterClasses = 'shell-flex-child shell-flex-child--grow shell-flex-child--no-shrink'; + + if (this.props.nonFooterBgClass) { + nonFooterClasses += " ".concat(this.props.nonFooterBgClass); + } + + return React.createElement("div", { + id: "page-shell" + }, React.createElement(BrowserCompatibilityWarning, null), React.createElement("div", { + className: "shell-flex-parent shell-flex-parent--column", + style: { + minHeight: '100vh', + overflowX: 'hidden' + } + }, React.createElement(PageHelmet, null), React.createElement(MetaTagger, this.props.meta), React.createElement("div", { + className: nonFooterClasses + }, React.createElement("div", { + className: "shell-wrapper" + }, React.createElement(PageHeader, { + darkText: this.props.darkHeaderText + })), React.createElement("main", { + style: { + zIndex: 0, + position: 'relative', + display: 'block' + } + }, this.props.children)), React.createElement("div", { + className: "shell-flex-child shell-flex-child--no-shrink shell-wrapper" + }, React.createElement(PageFooter, null)))); + } + }]); + + return ReactPageShell; +}(React.Component); + +ReactPageShell.propTypes = { + meta: PropTypes.shape({ + title: PropTypes.string.isRequired, + description: PropTypes.string.isRequired, + pathname: PropTypes.string + }).isRequired, + children: PropTypes.node.isRequired, + darkHeaderText: PropTypes.bool, + nonFooterBgClass: PropTypes.string, + onUser: PropTypes.func +}; +ReactPageShell.defaultProps = { + darkHeaderText: false +}; + +module.exports = ReactPageShell; diff --git a/vendor/dotcom-page-shell/page-shell-script.js b/vendor/dotcom-page-shell/page-shell-script.js deleted file mode 100644 index 8e5affb26d3..00000000000 --- a/vendor/dotcom-page-shell/page-shell-script.js +++ /dev/null @@ -1,2 +0,0 @@ -/*eslint-disable*/ -!(function(){"use strict";var e=function(){for(var e={},n=0;n1&&void 0!==arguments[1]?arguments[1]:window)}function me(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ae;return e in n.style||!!t&&re.some((function(t){return me(ce(t,e))}))}function ve(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:ae,o=n.allowPrefixedProp,a=n.allowPrefixedValue,r=!1;return(o||a)&&(r=re.some((function(n){return ve(o?ce(n,e):e,a?"-"+n+"-"+t:t)}))),r||(i.style[e]=t,i.style[e]===t)}function fe(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ae;(le={flexBox:me("flex",e,t)&&ve("display","flex",{allowPrefixedProp:!1,allowPrefixedValue:e},t),viewportUnits:ve("width","100vw",{allowPrefixedProp:!1,allowPrefixedValue:!1},t),visibilityState:ue("visibilityState",window.document),devicePixelRatio:ue("devicePixelRatio")}).doesCutMustard=Object.keys(le).every((function(e){return le[e]}))}function ge(){var e=window.document.getElementById("page-shell-compatibility-dismiss"),t=window.document.getElementById("page-shell-compatibility-warning");de=!0,se=!1,e&&e.removeEventListener("click",ge),t&&(t.style.display="none"),window.localStorage&&window.localStorage.setItem("suppress-browser-compatibility-warning","true")}var pe=!1;function he(){window.matchMedia("(min-width: "+c+"px)").matches&&we()}function ye(){var e=document.getElementById("mobile-nav-menu"),t=document.getElementById("page-header-content");e&&(pe=!0,e.classList.add("shell-animated-menu--visible"),t.classList.add("shell-mobile-nav--visible"),me("textOrientation",!0)||(document.querySelector(".shell-mobile-nav__trigger__bar--top").setAttribute("transform","translate(6 -1) rotate(45)"),document.querySelector(".shell-mobile-nav__trigger__bar--bottom").setAttribute("transform","translate(-6.5 6) rotate(-45)")),(function(){if(!ie){var e=document.getElementById("page-shell"),t=document.getElementById("mobile-nav-menu"),n=document.getElementById("mobile-nav-backdrop");if(t&&e&&n){var i=Math.max(t.getBoundingClientRect().bottom+120,window.innerHeight);e.style.height=String(i)+"px",e.style.overflow="hidden",n.classList.add("shell-mobile-nav__backdrop--visible"),n.style.height=String(i-parseInt(n.style.top))+"px",ie=!0}}})(),window.addEventListener("resize",he))}function we(){var e=document.getElementById("mobile-nav-menu"),t=document.getElementById("page-header-content");e&&(pe=!1,e.classList.remove("shell-animated-menu--visible"),t.classList.remove("shell-mobile-nav--visible"),me("textOrientation",!0)||(document.querySelector(".shell-mobile-nav__trigger__bar--top").setAttribute("transform",""),document.querySelector(".shell-mobile-nav__trigger__bar--bottom").setAttribute("transform","")),oe(),window.removeEventListener("resize",he))}function be(e){var t=document.getElementById("mobile-nav-trigger-toggle"),n=document.getElementById("mobile-nav-menu"),i=document.getElementById("page-header-content");t&&n&&(e.target.getAttribute&&e.target.getAttribute("data-nav-link")?(document.documentElement.scrollTop=0,document.body.scrollTop=0,we()):t.contains(e.target)?pe?we():ye():!pe||n.contains(e.target)||i.contains(e.target)||we())}var Ee=!1;function ke(){if(!Ee){Ee=!0;var e=document.querySelectorAll("[data-nav-trigger]");if(0!==e.length){var t=void 0,n=void 0,i=void 0;for(i=0;i .shell-col { - padding-left: 12px; -} -.shell-wrapper .shell-grid--gut24 > .shell-col { - padding-left: 24px; -} -.shell-wrapper .shell-my0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} -.shell-wrapper .shell-my6 { - margin-top: 6px !important; - margin-bottom: 6px !important; -} -.shell-wrapper .shell-my12 { - margin-top: 12px !important; - margin-bottom: 12px !important; -} -.shell-wrapper .shell-my18 { - margin-top: 18px !important; - margin-bottom: 18px !important; -} -.shell-wrapper .shell-mx6 { - margin-left: 6px !important; - margin-right: 6px !important; -} -.shell-wrapper .shell-mx12 { - margin-left: 12px !important; - margin-right: 12px !important; -} -.shell-wrapper .shell-mt6 { - margin-top: 6px !important; -} -.shell-wrapper .shell-mt12 { - margin-top: 12px !important; -} -.shell-wrapper .shell-mt18 { - margin-top: 18px !important; -} -.shell-wrapper .shell-mt24 { - margin-top: 24px !important; -} -.shell-wrapper .shell-mt30 { - margin-top: 30px !important; -} -.shell-wrapper .shell-mr-neg6 { - margin-right: -6px !important; -} -.shell-wrapper .shell-mt-neg12 { - margin-top: -12px !important; -} -.shell-wrapper .shell-ml-neg24 { - margin-left: -24px !important; -} -.shell-wrapper .shell-mr-neg24 { - margin-right: -24px !important; -} -.shell-wrapper .shell-mr3 { - margin-right: 3px !important; -} -.shell-wrapper .shell-mr6 { - margin-right: 6px !important; -} -.shell-wrapper .shell-mr18 { - margin-right: 18px !important; -} -.shell-wrapper .shell-mb0 { - margin-bottom: 0px !important; -} -.shell-wrapper .shell-mb3 { - margin-bottom: 3px !important; -} -.shell-wrapper .shell-mb6 { - margin-bottom: 6px !important; -} -.shell-wrapper .shell-mb12 { - margin-bottom: 12px !important; -} -.shell-wrapper .shell-mb24 { - margin-bottom: 24px !important; -} -.shell-wrapper .shell-mb30 { - margin-bottom: 30px !important; -} -.shell-wrapper .shell-ml-neg24 { - margin-left: -24px !important; -} -.shell-wrapper .shell-ml6 { - margin-left: 6px !important; -} -.shell-wrapper .shell-ml-auto { - margin-left: auto !important; -} -.shell-wrapper .shell-p12 { - padding: 12px !important; -} -.shell-wrapper .shell-py3 { - padding-top: 3px !important; - padding-bottom: 3px !important; -} -.shell-wrapper .shell-py6 { - padding-top: 6px !important; - padding-bottom: 6px !important; -} -.shell-wrapper .shell-py12 { - padding-top: 12px !important; - padding-bottom: 12px !important; -} -.shell-wrapper .shell-py24 { - padding-top: 24px !important; - padding-bottom: 24px !important; -} -.shell-wrapper .shell-py30 { - padding-top: 30px !important; - padding-bottom: 30px !important; -} -.shell-wrapper .shell-px12 { - padding-left: 12px !important; - padding-right: 12px !important; -} -.shell-wrapper .shell-px24 { - padding-left: 24px !important; - padding-right: 24px !important; -} -.shell-wrapper .shell-px30 { - padding-left: 30px !important; - padding-right: 30px !important; -} -.shell-wrapper .shell-pt3 { - padding-top: 3px !important; -} -.shell-wrapper .shell-pt12 { - padding-top: 12px !important; -} -.shell-wrapper .shell-pt18 { - padding-top: 18px !important; -} -.shell-wrapper .shell-pt24 { - padding-top: 24px !important; -} -.shell-wrapper .shell-pt30 { - padding-top: 30px !important; -} -.shell-wrapper .shell-pr24 { - padding-right: 24px !important; -} -.shell-wrapper .shell-pr12 { - padding-right: 12px !important; -} -.shell-wrapper .shell-pr6 { - padding-right: 6px !important; -} -.shell-wrapper .shell-pb3 { - padding-bottom: 3px !important; -} -.shell-wrapper .shell-pb6 { - padding-bottom: 6px !important; -} -.shell-wrapper .shell-pb12 { - padding-bottom: 12px !important; -} -.shell-wrapper .shell-pb24 { - padding-bottom: 24px !important; -} -.shell-wrapper .shell-pb30 { - padding-bottom: 30px !important; -} - -/* Sizing */ -.shell-wrapper .shell-w24 { - width: 24px !important; -} -.shell-wrapper .shell-w30 { - width: 30px !important; -} -.shell-wrapper .shell-w-full { - width: 100% !important; -} -.shell-wrapper .shell-h-full { - height: 100% !important; -} -.shell-wrapper .shell-h24 { - height: 24px !important; -} -.shell-wrapper .shell-h30 { - height: 30px !important; -} - -/* Media Queries */ -@media screen and (min-width: 640px) { - .shell-wrapper .shell-col--3-mm { - width: 25% !important; - } - .shell-wrapper .shell-col--6-mm { - width: 50% !important; - } - .shell-wrapper .shell-col--12-mm { - width: 100% !important; - } - .shell-wrapper .shell-none-mm { - display: none !important; - } - .shell-wrapper .shell-flex-child-mm { - display: block !important; - max-width: 100% !important; - } - .shell-wrapper .shell-flex-parent-mm { - display: -webkit-flex !important; - display: flex !important; - } - .shell-wrapper .shell-flex-parent--space-between-main-mm { - -webkit-justify-content: space-between !important; - justify-content: space-between !important; - } - .shell-wrapper .shell-mt0-mm { - margin-top: 0 !important; - } - .shell-wrapper .shell-my0-mm { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .shell-wrapper .shell-mb0-mm { - margin-bottom: 0 !important; - } - .shell-wrapper .shell-align-left-mm { - text-align: left !important; - } - .shell-wrapper .shell-footer-column { - /* max-width based on Turn-by-turn navigation in Use Cases column */ - width: 20% !important; - max-width: 130px !important; - } - .shell-wrapper .shell-w180-mm { - width: 180px !important; - } -} -@media screen and (min-width: 800px) { - .shell-wrapper .shell-grid--gut18-ml { - margin-left: -18px; - } - .shell-wrapper .shell-grid--gut18-ml > .shell-col { - padding-left: 18px; - } - .shell-wrapper .shell-flex-parent-ml { - display: -webkit-flex !important; - display: flex !important; - } - .shell-wrapper .shell-flex-child-ml { - display: block !important; - max-width: 100% !important; - } - .shell-wrapper .shell-none-ml { - display: none !important; - } - .shell-wrapper .shell-block-ml { - display: block !important; - } - .shell-wrapper .shell-mx9-ml { - margin-left: 9px !important; - margin-right: 9px !important; - } - .shell-wrapper .shell-mt42-ml { - margin-top: 42px !important; - } - .shell-wrapper .shell-ml12-ml { - margin-left: 12px !important; - } - .shell-wrapper .shell-py0-ml { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .shell-wrapper .shell-py48-ml { - padding-top: 48px !important; - padding-bottom: 48px !important; - } - .shell-wrapper .shell-footer-column { - /* max-width based on Turn-by-turn navigation in Use Cases column */ - width: 20% !important; - max-width: 130px !important; - } -} -@media screen and (min-width: 1200px) { - .shell-wrapper .shell-grid--gut24-mxl { - margin-left: -24px; - } - .shell-wrapper .shell-grid--gut24-mxl > .shell-col { - padding-left: 24px; - } - .shell-wrapper .shell-col--2-mxl { - width: 16.6% !important; - } - .shell-wrapper .shell-col--3-mxl { - width: 25% !important; - } - .shell-wrapper .shell-col--4-mxl { - width: 33.3333% !important; - } - .shell-wrapper .shell-col--10-mxl { - width: 83.3333% !important; - } - .shell-wrapper .shell-txt-s-mxl { - font-size: 12px !important; - line-height: 18px; - } - .shell-wrapper .shell-mx18-mxl { - margin-right: 18px !important; - } - .shell-wrapper .shell-ml18-mxl, - .shell-wrapper .shell-mx18-mxl { - margin-left: 18px !important; - } - .shell-wrapper .shell-footer-column { - /* max-width based on Turn-by-turn navigation in Use Cases column */ - width: 20% !important; - max-width: 140px !important; - } -} - -/* Triangles */ -.shell-wrapper .shell-triangle { - width: 12px !important; - height: 12px !important; - font-size: 0 !important; - line-height: 0 !important; -} -.shell-wrapper .shell-triangle--u { - border-left: 6px solid transparent !important; - border-right: 6px solid transparent !important; - border-bottom: 9px solid currentColor !important; -} -.shell-wrapper .shell-triangle-l { - width: 24px !important; - height: 24px !important; - font-size: 0 !important; - line-height: 0 !important; -} -.shell-wrapper .shell-triangle-l--u { - border-left: 12px solid transparent !important; - border-right: 12px solid transparent !important; - border-bottom: 18px solid currentColor !important; -} -.shell-wrapper .shell-transition { - transition: all .125s; -} -.shell-wrapper .shell-clip { - overflow: hidden !important; -} - -/* mapbox-assembly Typography */ -@font-face { - font-family: 'Cera'; - font-weight: 700; - /* Notice the absolute URLs! */ - src: url('https://api.mapbox.com/mapbox-assembly/mbx/v0.14.0/CeraPRO-Bold.woff2') - format('woff2'), - url('https://api.mapbox.com/mapbox-assembly/mbx/v0.14.0/CeraPRO-Bold.woff') - format('woff'); -} -.shell-wrapper .shell-txt-fancy { - font-family: 'Cera', sans-serif !important; -} - -/* mapbox-assembly Branding */ -.shell-wrapper .shell-mb-logo { - background-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 790 180%22%3E%3Cpath d%3D%22M89.1 1.8C39.9 1.8 0 41.7 0 90.9 0 140.1 39.9 180 89.1 180c49.2 0 89.1-39.9 89.1-89.1 0-49.2-39.9-89.1-89.1-89.1zm457.8 19.7c-1.2 0-2.2 1-2.2 2.2v103.2c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2v-7.1c6.9 7.2 16.4 11.3 26.3 11.3 20.9 0 37.9-18 37.9-40.3 0-22.3-17-40.2-37.9-40.2-10 0-19.5 4.1-26.3 11.3V23.7c0-1.2-1-2.2-2.2-2.2h-13.4zM98.3 36.4c11.4.3 22.9 4.8 31.7 13.7 17.7 17.7 18.3 45.7 1.4 62.7-30.5 30.5-84.8 20.7-84.8 20.7s-9.8-54.3 20.7-84.8c8.5-8.4 19.7-12.5 31-12.3zm160.3 14.2c-8.2 0-15.9 4-20.8 10.6v-6.4c0-1.2-1-2.2-2.2-2.2h-13.4c-1.2 0-2.2 1-2.2 2.2V127c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2V83.8c.5-9.7 7.2-17.3 15.4-17.3 8.5 0 15.6 7.1 15.6 16.5v44c0 1.2 1 2.2 2.2 2.2h13.5c1.2 0 2.2-1 2.2-2.2l-.1-44.9c1.2-8.8 7.6-15.6 15.3-15.6 8.5 0 15.6 7.1 15.6 16.5v44c0 1.2 1 2.2 2.2 2.2h13.5c1.2 0 2.2-1 2.2-2.2l-.1-49.6c.3-14.8-12.3-26.8-27.9-26.8-10 .1-19.2 5.9-23.5 15-5-9.3-14.7-15.1-25.3-15zm127.9 0c-20.9 0-37.9 18-37.9 40.3 0 22.3 17 40.3 37.9 40.3 10 0 19.5-4.1 26.3-11.3v7.1c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2V54.8c.1-1.2-.9-2.2-2.2-2.2H415c-1.2 0-2.2 1-2.2 2.2v7.1c-6.9-7.2-16.4-11.3-26.3-11.3zm106.1 0c-10 0-19.5 4.1-26.3 11.3v-7.1c0-1.2-1-2.2-2.2-2.2h-13.4c-1.2 0-2.2 1-2.2 2.2V158c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2v-38.2c6.9 7.2 16.4 11.3 26.3 11.3 20.9 0 37.9-18 37.9-40.3 0-22.3-17-40.2-37.9-40.2zm185.5 0c-22.7 0-41 18-41 40.3 0 22.3 18.4 40.3 41 40.3s41-18 41-40.3c0-22.3-18.3-40.3-41-40.3zm45.4 2c-1.1 0-2 .9-2 2 0 .4.1.8.3 1.1l23 35-23.3 35.4c-.6.9-.4 2.2.6 2.8.3.2.7.3 1.1.3h15.5c1.2 0 2.3-.6 2.9-1.6l13.8-23.1 13.8 23.1c.6 1 1.7 1.6 2.9 1.6h15.5c1.1 0 2-.9 2-2 0-.4-.1-.7-.3-1.1L766 90.7l23-35c.6-.9.4-2.2-.6-2.8-.3-.2-.7-.3-1.1-.3h-15.5c-1.2 0-2.3.6-2.9 1.6l-13.5 22.7-13.5-22.7c-.6-1-1.7-1.6-2.9-1.6h-15.5zM99.3 54l-8.7 18-17.9 8.7 17.9 8.7 8.7 18 8.8-18 17.9-8.7-17.9-8.7-8.8-18zm290.3 12.7c12.7 0 23 10.7 23.2 23.9v.6c-.1 13.2-10.5 23.9-23.2 23.9-12.8 0-23.2-10.8-23.2-24.2 0-13.4 10.4-24.2 23.2-24.2zm99.8 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.7 0-23-10.7-23.2-23.9v-.6c.2-13.2 10.5-23.9 23.2-23.9zm96.3 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.7 0-23-10.7-23.2-23.9v-.6c.2-13.2 10.5-23.9 23.2-23.9zm92.2 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.8 0-23.2-10.8-23.2-24.2 0-13.4 10.4-24.2 23.2-24.2z%22 fill%3D%22%234264fb%22%2F%3E%3C%2Fsvg%3E%0A"); - background-size: 132px 42px; - background-repeat: no-repeat; - display: inline-block; - width: 132px; - height: 42px; -} -.shell-wrapper .shell-mb-logo__wrapper { - height: 42px; -} -.shell-wrapper .shell-mb-logo--white { - background-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 790 180%22%3E%3Cpath d%3D%22M89.1 1.8C39.9 1.8 0 41.7 0 90.9 0 140.1 39.9 180 89.1 180c49.2 0 89.1-39.9 89.1-89.1 0-49.2-39.9-89.1-89.1-89.1zm457.8 19.7c-1.2 0-2.2 1-2.2 2.2v103.2c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2v-7.1c6.9 7.2 16.4 11.3 26.3 11.3 20.9 0 37.9-18 37.9-40.3 0-22.3-17-40.2-37.9-40.2-10 0-19.5 4.1-26.3 11.3V23.7c0-1.2-1-2.2-2.2-2.2h-13.4zM98.3 36.4c11.4.3 22.9 4.8 31.7 13.7 17.7 17.7 18.3 45.7 1.4 62.7-30.5 30.5-84.8 20.7-84.8 20.7s-9.8-54.3 20.7-84.8c8.5-8.4 19.7-12.5 31-12.3zm160.3 14.2c-8.2 0-15.9 4-20.8 10.6v-6.4c0-1.2-1-2.2-2.2-2.2h-13.4c-1.2 0-2.2 1-2.2 2.2V127c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2V83.8c.5-9.7 7.2-17.3 15.4-17.3 8.5 0 15.6 7.1 15.6 16.5v44c0 1.2 1 2.2 2.2 2.2h13.5c1.2 0 2.2-1 2.2-2.2l-.1-44.9c1.2-8.8 7.6-15.6 15.3-15.6 8.5 0 15.6 7.1 15.6 16.5v44c0 1.2 1 2.2 2.2 2.2h13.5c1.2 0 2.2-1 2.2-2.2l-.1-49.6c.3-14.8-12.3-26.8-27.9-26.8-10 .1-19.2 5.9-23.5 15-5-9.3-14.7-15.1-25.3-15zm127.9 0c-20.9 0-37.9 18-37.9 40.3 0 22.3 17 40.3 37.9 40.3 10 0 19.5-4.1 26.3-11.3v7.1c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2V54.8c.1-1.2-.9-2.2-2.2-2.2H415c-1.2 0-2.2 1-2.2 2.2v7.1c-6.9-7.2-16.4-11.3-26.3-11.3zm106.1 0c-10 0-19.5 4.1-26.3 11.3v-7.1c0-1.2-1-2.2-2.2-2.2h-13.4c-1.2 0-2.2 1-2.2 2.2V158c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2v-38.2c6.9 7.2 16.4 11.3 26.3 11.3 20.9 0 37.9-18 37.9-40.3 0-22.3-17-40.2-37.9-40.2zm185.5 0c-22.7 0-41 18-41 40.3 0 22.3 18.4 40.3 41 40.3s41-18 41-40.3c0-22.3-18.3-40.3-41-40.3zm45.4 2c-1.1 0-2 .9-2 2 0 .4.1.8.3 1.1l23 35-23.3 35.4c-.6.9-.4 2.2.6 2.8.3.2.7.3 1.1.3h15.5c1.2 0 2.3-.6 2.9-1.6l13.8-23.1 13.8 23.1c.6 1 1.7 1.6 2.9 1.6h15.5c1.1 0 2-.9 2-2 0-.4-.1-.7-.3-1.1L766 90.7l23-35c.6-.9.4-2.2-.6-2.8-.3-.2-.7-.3-1.1-.3h-15.5c-1.2 0-2.3.6-2.9 1.6l-13.5 22.7-13.5-22.7c-.6-1-1.7-1.6-2.9-1.6h-15.5zM99.3 54l-8.7 18-17.9 8.7 17.9 8.7 8.7 18 8.8-18 17.9-8.7-17.9-8.7-8.8-18zm290.3 12.7c12.7 0 23 10.7 23.2 23.9v.6c-.1 13.2-10.5 23.9-23.2 23.9-12.8 0-23.2-10.8-23.2-24.2 0-13.4 10.4-24.2 23.2-24.2zm99.8 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.7 0-23-10.7-23.2-23.9v-.6c.2-13.2 10.5-23.9 23.2-23.9zm96.3 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.7 0-23-10.7-23.2-23.9v-.6c.2-13.2 10.5-23.9 23.2-23.9zm92.2 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.8 0-23.2-10.8-23.2-24.2 0-13.4 10.4-24.2 23.2-24.2z%22 fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E%0A"); -} - -/* Color Variants */ -.shell-wrapper .shell-btn--lighten25 { - background-color: rgba(255, 255, 255, .25); -} -.shell-wrapper .shell-btn--lighten25:hover { - background-color: rgba(255, 255, 255, .5); -} -.shell-wrapper .shell-color-light-blue { - color: #7290AC !important; -} -.shell-wrapper .shell-color-blue { - color: #4264fb !important; -} -.shell-wrapper .shell-color-gray { - color: #607d9c !important; -} -.shell-wrapper .shell-color-gray-dark { - color: #273d56 !important; -} -.shell-wrapper .shell-color-darken50 { - color: rgba(31, 51, 73, .5) !important; -} -.shell-wrapper .shell-color-white { - color: #fff !important; -} -.shell-wrapper .shell-color-pink { - color: #ed6498 !important; -} - - -/*Background*/ -.shell-wrapper .shell-bg-green-light { - background-color: #72c781 !important; -} -.shell-wrapper .shell-bg-blue-light { - background-color: #00b1ff !important; -} -.shell-wrapper .shell-bg-purple { - background-color: #8c50c7 !important; -} -.shell-wrapper .shell-bg-gray-faint { - background-color: #f4f7fb !important; -} -.shell-wrapper .shell-bg-darken25 { - background-color: rgba(31, 51, 73, .25) !important; -} -.shell-wrapper .shell-bg-darken50 { - background-color: rgba(31, 51, 73, .5) !important; -} -.shell-wrapper .shell-bg-white { - background-color: #fff !important; -} -.shell-wrapper .shell-bg-pink { - background-color: #ed6498 !important; -} - -/*Links*/ -.shell-wrapper .shell-link--white { - color: #fff; -} -.shell-wrapper .shell-link--white:hover { - color: rgba(255, 255, 255, .75); -} - -/*Border*/ -.shell-wrapper .shell-border--white { - border-color: #fff !important; -} -.shell-wrapper .shell-border--gray-light { - border-color: #c6d2e1 !important -} - -/*Shadow*/ -.shell-wrapper .shell-shadow-darken10-bold { - box-shadow: 0 0 30px 6px rgba(31, 51, 73, .10) !important; -} - -/*Hovers*/ -.shell-wrapper .shell-color-blue-on-hover:hover { - color: #4264fb !important; -} -.shell-wrapper .shell-color-gray-dark-on-hover:hover { - color: #273d56 !important; -} - -/*Loading*/ -.shell-wrapper .shell-loading--dark::after, -.shell-wrapper .shell-loading::after { - content: ''; - display: block; - margin: auto; - height: 36px; - width: 36px; - animation: spin 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95); -} -.shell-wrapper .shell-loading--dark::after { - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='36' height='36' viewBox='0 0 36 36'%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill:%23f7f7f7;%7D.b%7Bopacity:0.1;%7D.c%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='a' d='M5.2721,5.2721,7.3934,7.3934a15,15,0,0,1,21.2132,0l2.1213-2.1213A18,18,0,0,0,5.2721,5.2721Z'/%3E%3Cg class='b'%3E%3Cpath class='c' d='M28.6066,28.6066A15,15,0,0,1,7.3934,7.3934L5.2721,5.2721a18,18,0,1,0,25.4558,0L28.6066,7.3934A15,15,0,0,1,28.6066,28.6066Z'/%3E%3C/g%3E%3C/svg%3E"); -} - -/* ========================================================================== */ -/* Special shell things */ -/* ========================================================================== */ - -.shell-wrapper .shell-illustration-container::after { - content: ''; - display: block; - padding-bottom: 60% -} - -.shell-wrapper .shell-mb-logo-m { - background-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 790 180%22%3E%3Cpath d%3D%22M89.1 1.8C39.9 1.8 0 41.7 0 90.9 0 140.1 39.9 180 89.1 180c49.2 0 89.1-39.9 89.1-89.1 0-49.2-39.9-89.1-89.1-89.1zm457.8 19.7c-1.2 0-2.2 1-2.2 2.2v103.2c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2v-7.1c6.9 7.2 16.4 11.3 26.3 11.3 20.9 0 37.9-18 37.9-40.3 0-22.3-17-40.2-37.9-40.2-10 0-19.5 4.1-26.3 11.3V23.7c0-1.2-1-2.2-2.2-2.2h-13.4zM98.3 36.4c11.4.3 22.9 4.8 31.7 13.7 17.7 17.7 18.3 45.7 1.4 62.7-30.5 30.5-84.8 20.7-84.8 20.7s-9.8-54.3 20.7-84.8c8.5-8.4 19.7-12.5 31-12.3zm160.3 14.2c-8.2 0-15.9 4-20.8 10.6v-6.4c0-1.2-1-2.2-2.2-2.2h-13.4c-1.2 0-2.2 1-2.2 2.2V127c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2V83.8c.5-9.7 7.2-17.3 15.4-17.3 8.5 0 15.6 7.1 15.6 16.5v44c0 1.2 1 2.2 2.2 2.2h13.5c1.2 0 2.2-1 2.2-2.2l-.1-44.9c1.2-8.8 7.6-15.6 15.3-15.6 8.5 0 15.6 7.1 15.6 16.5v44c0 1.2 1 2.2 2.2 2.2h13.5c1.2 0 2.2-1 2.2-2.2l-.1-49.6c.3-14.8-12.3-26.8-27.9-26.8-10 .1-19.2 5.9-23.5 15-5-9.3-14.7-15.1-25.3-15zm127.9 0c-20.9 0-37.9 18-37.9 40.3 0 22.3 17 40.3 37.9 40.3 10 0 19.5-4.1 26.3-11.3v7.1c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2V54.8c.1-1.2-.9-2.2-2.2-2.2H415c-1.2 0-2.2 1-2.2 2.2v7.1c-6.9-7.2-16.4-11.3-26.3-11.3zm106.1 0c-10 0-19.5 4.1-26.3 11.3v-7.1c0-1.2-1-2.2-2.2-2.2h-13.4c-1.2 0-2.2 1-2.2 2.2V158c0 1.2 1 2.2 2.2 2.2h13.4c1.2 0 2.2-1 2.2-2.2v-38.2c6.9 7.2 16.4 11.3 26.3 11.3 20.9 0 37.9-18 37.9-40.3 0-22.3-17-40.2-37.9-40.2zm185.5 0c-22.7 0-41 18-41 40.3 0 22.3 18.4 40.3 41 40.3s41-18 41-40.3c0-22.3-18.3-40.3-41-40.3zm45.4 2c-1.1 0-2 .9-2 2 0 .4.1.8.3 1.1l23 35-23.3 35.4c-.6.9-.4 2.2.6 2.8.3.2.7.3 1.1.3h15.5c1.2 0 2.3-.6 2.9-1.6l13.8-23.1 13.8 23.1c.6 1 1.7 1.6 2.9 1.6h15.5c1.1 0 2-.9 2-2 0-.4-.1-.7-.3-1.1L766 90.7l23-35c.6-.9.4-2.2-.6-2.8-.3-.2-.7-.3-1.1-.3h-15.5c-1.2 0-2.3.6-2.9 1.6l-13.5 22.7-13.5-22.7c-.6-1-1.7-1.6-2.9-1.6h-15.5zM99.3 54l-8.7 18-17.9 8.7 17.9 8.7 8.7 18 8.8-18 17.9-8.7-17.9-8.7-8.8-18zm290.3 12.7c12.7 0 23 10.7 23.2 23.9v.6c-.1 13.2-10.5 23.9-23.2 23.9-12.8 0-23.2-10.8-23.2-24.2 0-13.4 10.4-24.2 23.2-24.2zm99.8 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.7 0-23-10.7-23.2-23.9v-.6c.2-13.2 10.5-23.9 23.2-23.9zm96.3 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.7 0-23-10.7-23.2-23.9v-.6c.2-13.2 10.5-23.9 23.2-23.9zm92.2 0c12.8 0 23.2 10.8 23.2 24.2 0 13.4-10.4 24.2-23.2 24.2-12.8 0-23.2-10.8-23.2-24.2 0-13.4 10.4-24.2 23.2-24.2z%22 fill%3D%22%234264fb%22%2F%3E%3C%2Fsvg%3E%0A"); - background-size: 100px 32px; - background-repeat: no-repeat; - display: inline-block; - width: 100px; - height: 32px; -} -.shell-wrapper .shell-triangle-wide { - width: 16px !important; - height: 16px !important; - font-size: 0 !important; - line-height: 0 !important; -} -.shell-wrapper .shell-triangle-wide--u { - border-left: 16px solid transparent !important; - border-right: 16px solid transparent !important; - border-bottom: 16px solid currentColor !important; -} -/* shell-header-buffer is not scoped so it can be used inside the shell */ -.shell-header-buffer { - padding-top: 66px; -} -.shell-wrapper .shell-color-blue-on-hover:hover p { - color: #4264fb !important; -} -.shell-wrapper .shell-footer-column { - width: 100%; -} - -.shell-products-nav-item { - padding-left: 42px; - background-size: 36px 36px; - background-repeat: no-repeat; -} - -.shell-platforms-nav-item { - padding-left: 36px; - background-size: 30px 30px; - background-repeat: no-repeat; -} - -@media (min-width: 640px) { - .shell-footer-fr { - text-align: right; - } - .shell-header-buffer { - padding-top: 84px; - } - .shell-wrapper .shell-footer-column { - /* max-width based on Turn-by-turn navigation in Use Cases column */ - width: 25%; - max-width: 130px; - } - .shell-wrapper .compatibility-warning-copy { - padding-right: 150px; - } - .shell-wrapper .compatibility-warning-action { - margin-top: -18px; - position: absolute; - right: 0; - top: 50%; - } - .shell-wrapper .shell-w210-mm { - width: 210px !important; - } -} -/* Menu transitions */ -/* If you change the speed of these transitions, you must also update the timeout value in - ./page-shell-script/menu-pointer-positioner.js#setPointerResetTimeout */ -.shell-animated-menu, -.shell-animated-menu__pointer, -.shell-mobile-nav__backdrop { - transition: opacity 0.25s, visibility 0.25s, -webkit-transform 0.25s; - transition: opacity 0.25s, transform 0.25s, visibility 0.25s; - transition: opacity 0.25s, transform 0.25s, visibility 0.25s, -webkit-transform 0.25s; -} - -.shell-mobile-nav__backdrop { - will-change: opacity; -} - -.shell-animated-menu__pointer { - -webkit-transform: translateX(-50%) translateY(0); - transform: translateX(-50%) translateY(0); -} - -.shell-animated-menu__pointer--visible { - -webkit-transform: translateX(-50%) translateY(-100%); - transform: translateX(-50%) translateY(-100%); -} - -.shell-animated-menu { - opacity: 0; - pointer-events: none; - -webkit-transform: translateY(0) scale(0.95); - transform: translateY(0) scale(0.95); - -webkit-transform-origin: 50% 0; - transform-origin: 50% 0; - visibility: hidden; -} - -.shell-animated-menu--visible { - opacity: 1; - pointer-events: auto; - -webkit-transform: translateY(0) scale(1); - transform: translateY(0) scale(1); - visibility: visible; -} - -.shell-mb-logo--white, -.shell-mobile-nav__logo--overlay { - transition: opacity 0.125s, visibility 0.125s; -} - -.shell-mb-logo--white { - opacity: 1; -} - -.shell-mobile-nav__logo--overlay, -.shell-mobile-nav__backdrop { - opacity: 0; - visibility: hidden; -} - -.shell-mobile-nav--visible .shell-mobile-nav__trigger, -.shell-mobile-nav--visible .shell-mobile-nav__trigger:hover { - color: #4264fb; -} - -.shell-mobile-nav--visible .shell-mb-logo--white { - opacity: 0; -} - -.shell-mobile-nav--visible .shell-mobile-nav__logo--overlay, -.shell-mobile-nav__backdrop--visible { - opacity: 1; - visibility: visible; -} - -.shell-mobile-nav__trigger__bar--top, -.shell-mobile-nav__trigger__bar--middle, -.shell-mobile-nav__trigger__bar--bottom { - opacity: 1; - transition: opacity 0.25s, transform 0.25s; - -webkit-transform: translateY(0) rotate(0deg) scale(1); - transform: translateY(0) rotate(0deg) scale(1); -} - -.shell-mobile-nav__trigger__bar--middle { - -webkit-transform-origin: 9px 9px; - transform-origin: 9px 9px; -} - -.shell-mobile-nav__trigger__bar--top { - -webkit-transform-origin: 9px 5px; - transform-origin: 9px 5px; -} - -.shell-mobile-nav__trigger__bar--bottom { - -webkit-transform-origin: 9px 13px; - transform-origin: 9px 13px; -} - -.shell-mobile-nav--visible .shell-mobile-nav__trigger__bar--middle { - opacity: 0; - -webkit-transform: scale(0.5); - transform: scale(0.5); -} - -.shell-mobile-nav--visible .shell-mobile-nav__trigger__bar--top { - -webkit-transform: translateY(4px) rotate(45deg); - transform: translateY(4px) rotate(45deg); -} - -.shell-mobile-nav--visible .shell-mobile-nav__trigger__bar--bottom { - -webkit-transform: translateY(-4px) rotate(-45deg); - transform: translateY(-4px) rotate(-45deg); -} - -/* DO NOT MODIFY DIRECTLY! This content is generated by bin/build-inline-svg-styles.js */ -.shell-icon--ar { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgdmlld0JveD0iMCAwIDM2IDM2Ij48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9InNoZWxsLWFyLWEiIHgxPSIxMi41NzciIHkxPSIxNS45NjYiIHgyPSIxMy41NzkiIHkyPSIzMi42OTciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNhYWI3ZWYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM1MzcyZmIiIHN0b3Atb3BhY2l0eT0iLjkiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0ic2hlbGwtYXItYiIgeDE9IjYuMzUiIHkxPSIyMC43MDMiIHgyPSIyMi44MDkiIHkyPSIyMC42MjkiIHhsaW5rOmhyZWY9IiNzaGVsbC1hci1hIi8+PGxpbmVhckdyYWRpZW50IGlkPSJzaGVsbC1hci1jIiB4MT0iMTAuMzcyIiB5MT0iMTIuMzgyIiB4Mj0iMjUuNjI2IiB5Mj0iMTIuMzgyIiB4bGluazpocmVmPSIjc2hlbGwtYXItYSIvPjwvZGVmcz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIxOCIgZmlsbD0iI2U1ZWVmNyIvPjxwYXRoIGQ9Ik0xNi44NTUgMjYuMTgyYS41MzIuNTMyIDAgMCAxLS44MS41MjRsLTYuMzc5LTIuODUyYTEuNDkgMS40OSAwIDAgMS0uODA5LTEuMjQ4di03LjUzM2EuNTMyLjUzMiAwIDAgMSAuODEtLjUyNGw2LjM4IDIuODUyYTEuNDkgMS40OSAwIDAgMSAuODA5IDEuMjQ4eiIgZmlsbD0idXJsKCNzaGVsbC1hci1hKSIvPjxwYXRoIGQ9Ik0xOS4xNDUgMjYuMTgyYS41MzIuNTMyIDAgMCAwIC44MS41MjRsNi4zOC0yLjg1MmExLjQ5IDEuNDkgMCAwIDAgLjgwOC0xLjI0OHYtNy41MzNhLjUzMi41MzIgMCAwIDAtLjgwOS0uNTI0bC02LjM4IDIuODUyYTEuNDkgMS40OSAwIDAgMC0uODA5IDEuMjQ4eiIgZmlsbD0idXJsKCNzaGVsbC1hci1iKSIvPjxwYXRoIGQ9Ik0xMC43MTUgMTEuODU2Yy0uNDUyLjE4NC0uNDU4LjUtLjAxNC43MDFsNi40MjkgMi45MjhhMi4yNDMgMi4yNDMgMCAwIDAgMS42MTYuMDA0bDYuNTUxLTIuOTM1Yy40NDUtLjIuNDM5LS41MS0uMDE1LS42OWwtNi41NTYtMi42MDVhMi41NDggMi41NDggMCAwIDAtMS42NDUuMDA3eiIgZmlsbD0idXJsKCNzaGVsbC1hci1jKSIvPjwvc3ZnPg=='); -} -.shell-icon--ar:hover { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgdmlld0JveD0iMCAwIDM2IDM2Ij48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9InNoZWxsLWFyX2hvdmVyLWEiIHgxPSIxMi41NzciIHkxPSIxNS45NjYiIHgyPSIxMy41NzkiIHkyPSIzMi42OTciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMzZjVlN2UiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMxNTMzNGMiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0ic2hlbGwtYXJfaG92ZXItYiIgeDE9IjYuMzUiIHkxPSIyMC43MDMiIHgyPSIyMi44MDkiIHkyPSIyMC42MjkiIHhsaW5rOmhyZWY9IiNzaGVsbC1hcl9ob3Zlci1hIi8+PGxpbmVhckdyYWRpZW50IGlkPSJzaGVsbC1hcl9ob3Zlci1jIiB4MT0iMTAuMzcyIiB5MT0iMTIuMzgyIiB4Mj0iMjUuNjI2IiB5Mj0iMTIuMzgyIiB4bGluazpocmVmPSIjc2hlbGwtYXJfaG92ZXItYSIvPjwvZGVmcz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIxOCIgZmlsbD0iI2MyZDFlMSIvPjxwYXRoIGQ9Ik0xNi44NTUgMjYuMTgyYS41MzIuNTMyIDAgMCAxLS44MS41MjRsLTYuMzc5LTIuODUyYTEuNDkgMS40OSAwIDAgMS0uODA5LTEuMjQ4di03LjUzMmEuNTMyLjUzMiAwIDAgMSAuODEtLjUyNWw2LjM3OSAyLjg1MmExLjQ5IDEuNDkgMCAwIDEgLjgxIDEuMjQ4eiIgZmlsbD0idXJsKCNzaGVsbC1hcl9ob3Zlci1hKSIvPjxwYXRoIGQ9Ik0xOS4xNDUgMjYuMTgyYS41MzIuNTMyIDAgMCAwIC44MS41MjRsNi4zNzktMi44NTJhMS40OSAxLjQ5IDAgMCAwIC44MDktMS4yNDh2LTcuNTMyYS41MzIuNTMyIDAgMCAwLS44MS0uNTI1TDE5Ljk1NSAxNy40YTEuNDkgMS40OSAwIDAgMC0uODEgMS4yNDh6IiBmaWxsPSJ1cmwoI3NoZWxsLWFyX2hvdmVyLWIpIi8+PHBhdGggZD0iTTEwLjcxNSAxMS44NTZjLS40NTIuMTg0LS40NTguNS0uMDE0LjcwMWw2LjQyOSAyLjkyOGEyLjI0MyAyLjI0MyAwIDAgMCAxLjYxNi4wMDRsNi41NTEtMi45MzVjLjQ0NS0uMi40MzgtLjUxLS4wMTUtLjY5bC02LjU1Ni0yLjYwNWEyLjU0OCAyLjU0OCAwIDAgMC0xLjY0NS4wMDd6IiBmaWxsPSJ1cmwoI3NoZWxsLWFyX2hvdmVyLWMpIi8+PC9zdmc+'); -} -.shell-icon--atlas { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJzaGVsbC1hdGxhcy1hIiB4MT0iMTguNTIzIiB5MT0iMTQuMTU0IiB4Mj0iMTcuODU2IiB5Mj0iMjkuOTg3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNDI2NGZiIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDAyZWMzIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9InNoZWxsLWF0bGFzLWIiIHgxPSIxOC4xNTYiIHkxPSIxNC4xMzgiIHgyPSIxNy40OSIgeTI9IjI5Ljk3MSIgeGxpbms6aHJlZj0iI3NoZWxsLWF0bGFzLWEiLz48L2RlZnM+PGcgZGF0YS1uYW1lPSJMYXllciAyIj48ZyBkYXRhLW5hbWU9IkxheWVyIDEiPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjE4IiBmaWxsPSIjZTVlZWY3Ii8+PHBhdGggZD0iTTE0LjY4OCAyMS45OTZhMS42ODIgMS42ODIgMCAwIDAgMCAzLjM2NCAxLjY4MiAxLjY4MiAwIDAgMCAwLTMuMzY0eiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0yNS45NTYgMjAuMzE0aC0xNS44MWwtLjUwNCA1LjA0NiAxLjY4MiAxLjY4MmgxMy40NTVsMS42ODEtMS42ODJ6TTE0LjY4OCAyNS4zNmExLjY4MiAxLjY4MiAwIDAgMSAwLTMuMzY0IDEuNjgyIDEuNjgyIDAgMCAxIDAgMy4zNjR6IiBmaWxsPSJ1cmwoI3NoZWxsLWF0bGFzLWEpIi8+PHBhdGggZmlsbD0idXJsKCNzaGVsbC1hdGxhcy1iKSIgZD0iTTI0LjYxIDEwLjIyM2wtMS42ODEtMS42ODFoLTkuOTIzbC0xLjY4MiAxLjY4MS0xLjAwOSA4LjQxaDE1LjMwNGwtMS4wMDktOC40MXoiLz48L2c+PC9nPjwvc3ZnPg=='); -} -.shell-icon--atlas:hover { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJzaGVsbC1hdGxhc19ob3Zlci1hIiB4MT0iMTguNTIzIiB5MT0iMTQuMTU0IiB4Mj0iMTcuODU2IiB5Mj0iMjkuOTg3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjM2Y1ZTdlIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMTUzMzRjIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9InNoZWxsLWF0bGFzX2hvdmVyLWIiIHgxPSIxOC4xNTYiIHkxPSIxNC4xMzgiIHgyPSIxNy40OSIgeTI9IjI5Ljk3MSIgeGxpbms6aHJlZj0iI3NoZWxsLWF0bGFzX2hvdmVyLWEiLz48L2RlZnM+PGcgZGF0YS1uYW1lPSJMYXllciAyIj48ZyBkYXRhLW5hbWU9IkxheWVyIDEiPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjE4IiBmaWxsPSIjYzJkMWUxIi8+PHBhdGggZD0iTTI1Ljk1NiAyMC4zMTRoLTE1LjgxbC0uNTA0IDUuMDQ2IDEuNjgyIDEuNjgyaDEzLjQ1NWwxLjY4MS0xLjY4MnpNMTQuNjg4IDI1LjM2YTEuNjgyIDEuNjgyIDAgMCAxIDAtMy4zNjQgMS42ODIgMS42ODIgMCAxIDEgMCAzLjM2NHoiIGZpbGw9InVybCgjc2hlbGwtYXRsYXNfaG92ZXItYSkiLz48cGF0aCBmaWxsPSJ1cmwoI3NoZWxsLWF0bGFzX2hvdmVyLWIpIiBkPSJNMjQuNjEgMTAuMjIzbC0xLjY4MS0xLjY4MWgtOS45MjNsLTEuNjgyIDEuNjgxLTEuMDA5IDguNDFoMTUuMzA0bC0xLjAwOS04LjQxeiIvPjwvZz48L2c+PC9zdmc+'); -} -.shell-icon--auto { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIiB2aWV3Qm94PSIwIDAgMzYgMzYiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0ic2hlbGwtYXV0by1hIiB4MT0iMTcuOTEiIHkxPSI4Ljg0OSIgeDI9IjE4LjEzNyIgeTI9IjMxLjc3OCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2FhYjdlZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzUzNzJmYiIgc3RvcC1vcGFjaXR5PSIuOSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjE4IiBmaWxsPSIjZTVlZWY3Ii8+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTE4LjAxIDI2LjM2N2gtLjAybC4wMS4wMDEuMDEtLjAwMXpNMTEuNTgxIDIyLjJsLS41MjguNDQ3YTguMzcxIDguMzcxIDAgMCAwIDQuNzk2IDMuNDMxIDIuMjM2IDIuMjM2IDAgMCAwIC4yMDMtLjEwMy40OTMuNDkzIDAgMCAwIC4yNjItLjU2NiAxOC4wOTMgMTguMDkzIDAgMCAwLTEuMTU5LTQuNDQ3Yy0uNzM3LTEuMzczLTMuNjAyLTEuMjg3LTQuNjg4LTEuMDJhLjQ4NS40ODUgMCAwIDAtLjM2LjU3NyA3LjI0IDcuMjQgMCAwIDAgLjMzNSAxLjAzMWwuMDY3LjE0LjM3NS0uMzE2ek0yNC44MTcgMjIuODRsLS43NTctLjYzOS42OTctLjgyNy42My41MzEuMDE3LS4wMzNjLjA1NS0uMTA1LjEwMy0uMjE0LjE1NC0uMzIyYTcuMjQgNy4yNCAwIDAgMCAuMzM2LTEuMDMxLjQ4NS40ODUgMCAwIDAtLjM2LS41NzZjLTEuMDg3LS4yNjgtMy45NTItLjM1My00LjY5IDEuMDJhMTguMDkgMTguMDkgMCAwIDAtMS4xNTggNC40NDYuNDkzLjQ5MyAwIDAgMCAuMjYyLjU2NiAyLjIzNiAyLjIzNiAwIDAgMCAuMjAzLjEwNCA4LjM3NCA4LjM3NCAwIDAgMCA0LjY2Ni0zLjIzOXpNMjQuMjQgMTMuNTIxbC41MjQtLjQ0M2E4LjM2MSA4LjM2MSAwIDAgMC0xMy41MjggMGwuNTI1LjQ0My0uNjk3LjgyOEwxMC42NSAxNGMtLjAyNC4wNDUtLjA0Ni4wOTItLjA3LjEzOC0uMDQyLjA4LS4wNzkuMTY0LS4xMTguMjQ2LS4wODcuMTk5LS4yMDYuNDk0LS4wNDguNjhhLjk1Mi45NTIgMCAwIDAgLjY4NC4yOTNoMTMuODAyYS45NTMuOTUzIDAgMCAwIC42ODQtLjI5MmMuMTU4LS4xODguMDQtLjQ4My0uMDQ4LS42ODItLjA0LS4wOC0uMDc2LS4xNjMtLjExNy0uMjQybC0uMDctLjE0LS40MTMuMzQ3eiIvPjxwYXRoIGQ9Ik0yOC43OTkgMTguNTczYy4wMTItLjE5LjAyMy0uMzguMDIzLS41NzN2LS4wMDZjMCAuMTk1LS4wMTEuMzg3LS4wMjMuNTh6TTI1LjUwNiAxNC4zMTJsLS4wODYtLjE3MWMuMDQxLjA4LjA3OC4xNjEuMTE3LjI0MnpNNy4xNzggMThhOS4wMzEgOS4wMzEgMCAwIDAgMC0uMDA2ek0xMC40OTQgMTQuMzEybC0uMDMxLjA3MmMuMDQtLjA4Mi4wNzYtLjE2Ni4xMTktLjI0Ni0uMDMuMDU4LS4wNi4xMTYtLjA4OC4xNzR6IiBmaWxsPSIjYWFiN2VmIi8+PHBhdGggZD0iTTE4IDE2Ljk5M2MtLjk0NiAwLTEuNzEzLjU3OC0xLjcxMyAxLjI5cy43NjcgMS4yOTEgMS43MTMgMS4yOTEgMS43MTMtLjU3OCAxLjcxMy0xLjI5LS43NjctMS4yOTEtMS43MTMtMS4yOTF6IiBmaWxsPSIjZTVlZWY3Ii8+PHBhdGggZD0iTTI4LjgyIDE3Ljk2NmExMC44MSAxMC44MSAwIDAgMC0uMDk4LTEuMzY0IDExLjUxNCAxMS41MTQgMCAwIDAtLjA2MS0uMzk5IDEwLjc1OCAxMC43NTggMCAwIDAtLjIzNy0xLjA4Yy0uMDI1LS4wODktLjA0My0uMTgtLjA3LS4yNjhhMTAuNzI4IDEwLjcyOCAwIDAgMC0uNDYtMS4yM2MtLjA1LS4xMS0uMTA1LS4yMTgtLjE1OC0uMzI3cS0uMjIzLS40Ni0uNDg3LS44OTZsLS4wMDItLjAwNGMtLjA0LS4wNjYtLjA3LS4xNC0uMTExLS4yMDVsLS4wMDguMDA5Yy0uMTU0LS4yNDItLjMzMi0uNDY1LS41MDQtLjY5M2ExMC43NTIgMTAuNzUyIDAgMCAwLTE3LjI0OCAwYy0uMTcyLjIyOC0uMzUuNDUxLS41MDMuNjkzbC0uMDA5LS4wMDljLS4wNDEuMDY2LS4wNzEuMTM5LS4xMTEuMjA1bC0uMDAzLjAwNXEtLjI2My40MzUtLjQ4Ni44OTRjLS4wNTMuMTEtLjEwOS4yMTgtLjE1OC4zM2ExMC43MTggMTAuNzE4IDAgMCAwLS40NiAxLjIyOWMtLjAyNy4wODctLjA0NS4xNzktLjA3LjI2N2ExMC43MyAxMC43MyAwIDAgMC0uMjM3IDEuMDggMTAuODMgMTAuODMgMCAwIDAtLjA2LjM5OSAxMC44MSAxMC44MSAwIDAgMC0uMDk5IDEuMzY0bC0uMDAyLjAyNHYuMDA0YzAgLjIxNS4wMTIuNDI3LjAyNi42MzcuMDAyLjAzMi4wMDEuMDY0LjAwNC4wOTUuMDE4LjI0LjA0NS40OC4wNzcuNzE2LjAxMy4wOTcuMDI5LjE5Mi4wNDQuMjg4LjA1OS4zNTguMTM3LjcwOC4yMjkgMS4wNTMuMDIuMDc1LjA0NS4xNDguMDY3LjIyMi4wNzcuMjY2LjE2LjUzLjI1OC43ODguMDM0LjA5LjA3Mi4xOC4xMDguMjdhMTAuNjI5IDEwLjYyOSAwIDAgMCAuNDQ1Ljk2MWMuMDUuMDk2LjEwOC4xODYuMTYxLjI4LjA4LjE0My4xNTguMjg4LjI0NS40MjcuMDI0LjAzNy4wNDMuMDc4LjA2Ny4xMTZsLjAwNC0uMDA0Yy4wODQuMTMyLjE4Ni4yNS4yNzYuMzc3YTEwLjczMyAxMC43MzMgMCAwIDAgMTcuNDg2LjE4N2MuMTM4LS4xODcuMjg2LS4zNjcuNDEzLS41NjRsLjAwMy4wMDRjLjAyNC0uMDM4LjA0My0uMDc5LjA2Ny0uMTE3LjA0Ni0uMDcyLjA4NC0uMTQ5LjEyOC0uMjIyLjA5NS0uMTYuMTkyLS4zMi4yNzktLjQ4NGExMC40MTggMTAuNDE4IDAgMCAwIC40NDQtLjk2MWMuMDM3LS4wOS4wNzUtLjE4LjExLS4yNy4wOTYtLjI1OC4xOC0uNTIxLjI1Ny0uNzg4LjAyMS0uMDc0LjA0Ny0uMTQ2LjA2Ny0uMjIxYTEwLjkyIDEwLjkyIDAgMCAwIC4zNS0yLjA1N2MuMDA0LS4wNS4wMDMtLjEwMi4wMDYtLjE1My4wMTItLjE5Mi4wMjMtLjM4NS4wMjMtLjU4di0uMDA0em0tMTguMTYzLTMuOThhOC4zOCA4LjM4IDAgMCAxIDE0LjY4NiAwbC4wMDYuMDE0Yy4wMjUuMDQ2LjA0OC4wOTQuMDcxLjE0LjAyOS4wNTguMDU5LjExNC4wODYuMTcybC4wMy4wNzFjLjA4OC4xOTkuMjA3LjQ5NC4wNDkuNjgxYS45NTMuOTUzIDAgMCAxLS42ODQuMjkySDExLjA5OWEuOTUyLjk1MiAwIDAgMS0uNjg0LS4yOTJjLS4xNTgtLjE4Ny0uMDQtLjQ4MS4wNDgtLjY4bC4wMy0uMDcyYy4wMjktLjA1OS4wNi0uMTE2LjA4OC0uMTc0LjAyMy0uMDQ2LjA0Ni0uMDkzLjA3LS4xMzhsLjAwNi0uMDEzem05LjA1NiA0LjI5OGMwIC43MTItLjc2NyAxLjI5LTEuNzEzIDEuMjlzLTEuNzEzLS41NzgtMS43MTMtMS4yOS43NjctMS4yOTEgMS43MTMtMS4yOTEgMS43MTMuNTc4IDEuNzEzIDEuMjl6bS04LjY2IDQuMzYzYTguMjggOC4yOCAwIDAgMS0uMzY0LS41ODFsLjAwNC0uMDA0Yy0uMDM0LS4wNjItLjA2NC0uMTI3LS4wOTctLjE5LS4wMy0uMDYtLjA1OC0uMTIxLS4wODctLjE4MmwtLjA2Ny0uMTRhNy4yNCA3LjI0IDAgMCAxLS4zMzYtMS4wMzIuNDg1LjQ4NSAwIDAgMSAuMzYtLjU3NmMxLjA4Ni0uMjY3IDMuOTUyLS4zNTMgNC42OSAxLjAyYTE4LjA5MyAxOC4wOTMgMCAwIDEgMS4xNTggNC40NDYuNDkzLjQ5MyAwIDAgMS0uMjYyLjU2NiAyLjIzNiAyLjIzNiAwIDAgMS0uMjAzLjEwNCA4LjM3MSA4LjM3MSAwIDAgMS00Ljc5Ni0zLjQzMXpNMTggMjYuMzY3aC0uMDEuMDJ6bTcuMzEtNC4zMDFhOC40NjQgOC40NjQgMCAwIDEtNS4xNiA0LjAxMiAyLjIzNiAyLjIzNiAwIDAgMS0uMjAyLS4xMDQuNDkzLjQ5MyAwIDAgMS0uMjYyLS41NjUgMTguMDkgMTguMDkgMCAwIDEgMS4xNTktNC40NDdjLjczNy0xLjM3MyAzLjYwMy0xLjI4NyA0LjY4OC0xLjAyYS40ODUuNDg1IDAgMCAxIC4zNi41NzYgNy4yNCA3LjI0IDAgMCAxLS4zMzUgMS4wMzJjLS4wNTEuMTA4LS4xLjIxNy0uMTU0LjMyMmwtLjAxNy4wMzNjLS4wMjcuMDUyLS4wNTIuMTA2LS4wOC4xNTd6IiBmaWxsPSJ1cmwoI3NoZWxsLWF1dG8tYSkiLz48L3N2Zz4='); -} -.shell-icon--auto:hover { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIiB2aWV3Qm94PSIwIDAgMzYgMzYiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0ic2hlbGwtYXV0b19ob3Zlci1hIiB4MT0iMTgiIHkxPSI5LjU2NSIgeDI9IjE4IiB5Mj0iMjYuNzYxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjM2Y1ZTdlIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMTUzMzRjIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGNpcmNsZSBjeD0iMTgiIGN5PSIxOCIgcj0iMTgiIGZpbGw9IiNjMmQxZTEiLz48cGF0aCBmaWxsPSJub25lIiBkPSJNMTguMDEgMjYuMzY3aC0uMDJsLjAxLjAwMS4wMS0uMDAxek0xMS41ODEgMjIuMmwtLjUyOC40NDdhOC4zNzEgOC4zNzEgMCAwIDAgNC43OTYgMy40MzEgMi4yMzYgMi4yMzYgMCAwIDAgLjIwMy0uMTAzLjQ5My40OTMgMCAwIDAgLjI2Mi0uNTY2IDE4LjA5MyAxOC4wOTMgMCAwIDAtMS4xNTktNC40NDdjLS43MzctMS4zNzMtMy42MDItMS4yODctNC42ODgtMS4wMmEuNDg1LjQ4NSAwIDAgMC0uMzYuNTc3IDcuMjQgNy4yNCAwIDAgMCAuMzM1IDEuMDMxbC4wNjcuMTQuMzc1LS4zMTZ6TTI0LjgxNyAyMi44NGwtLjc1Ny0uNjM5LjY5Ny0uODI3LjYzLjUzMS4wMTctLjAzM2MuMDU1LS4xMDUuMTAzLS4yMTQuMTU0LS4zMjJhNy4yNCA3LjI0IDAgMCAwIC4zMzYtMS4wMzEuNDg1LjQ4NSAwIDAgMC0uMzYtLjU3NmMtMS4wODctLjI2OC0zLjk1Mi0uMzUzLTQuNjkgMS4wMmExOC4wOSAxOC4wOSAwIDAgMC0xLjE1OCA0LjQ0Ni40OTMuNDkzIDAgMCAwIC4yNjIuNTY2IDIuMjM2IDIuMjM2IDAgMCAwIC4yMDMuMTA0IDguMzc0IDguMzc0IDAgMCAwIDQuNjY2LTMuMjM5ek0yNC4yNCAxMy41MjFsLjUyNC0uNDQzYTguMzYxIDguMzYxIDAgMCAwLTEzLjUyOCAwbC41MjUuNDQzLS42OTcuODI4TDEwLjY1IDE0Yy0uMDI0LjA0NS0uMDQ2LjA5Mi0uMDcuMTM4LS4wNDIuMDgtLjA3OS4xNjQtLjExOC4yNDYtLjA4Ny4xOTktLjIwNi40OTQtLjA0OC42OGEuOTUyLjk1MiAwIDAgMCAuNjg0LjI5M2gxMy44MDJhLjk1My45NTMgMCAwIDAgLjY4NC0uMjkyYy4xNTgtLjE4OC4wNC0uNDgzLS4wNDgtLjY4Mi0uMDQtLjA4LS4wNzYtLjE2My0uMTE3LS4yNDJsLS4wNy0uMTQtLjQxMy4zNDd6Ii8+PHBhdGggZD0iTTI4Ljc5OSAxOC41NzNjLjAxMi0uMTkuMDIzLS4zOC4wMjMtLjU3M3YtLjAwNmMwIC4xOTUtLjAxMS4zODctLjAyMy41OHpNMjUuNTA2IDE0LjMxMmwtLjA4Ni0uMTcxYy4wNDEuMDguMDc4LjE2MS4xMTcuMjQyek03LjE3OCAxOGE5LjAzMSA5LjAzMSAwIDAgMCAwLS4wMDZ6TTEwLjQ5NCAxNC4zMTJsLS4wMzEuMDcyYy4wNC0uMDgyLjA3Ni0uMTY2LjExOS0uMjQ2LS4wMy4wNTgtLjA2LjExNi0uMDg4LjE3NHoiIGZpbGw9IiNhYWI3ZWYiLz48cGF0aCBkPSJNMTggMTYuOTkzYy0uOTQ2IDAtMS43MTMuNTc4LTEuNzEzIDEuMjlzLjc2NyAxLjI5MSAxLjcxMyAxLjI5MSAxLjcxMy0uNTc4IDEuNzEzLTEuMjktLjc2Ny0xLjI5MS0xLjcxMy0xLjI5MXoiIGZpbGw9IiNjMmQxZTEiLz48cGF0aCBkPSJNMjguODIgMTcuOTY2YTEwLjgxIDEwLjgxIDAgMCAwLS4wOTgtMS4zNjQgMTEuNTE0IDExLjUxNCAwIDAgMC0uMDYxLS4zOTkgMTAuNzU4IDEwLjc1OCAwIDAgMC0uMjM3LTEuMDhjLS4wMjUtLjA4OS0uMDQzLS4xOC0uMDctLjI2OGExMC43MjggMTAuNzI4IDAgMCAwLS40Ni0xLjIzYy0uMDUtLjExLS4xMDUtLjIxOC0uMTU4LS4zMjdxLS4yMjMtLjQ2LS40ODctLjg5NmwtLjAwMi0uMDA0Yy0uMDQtLjA2Ni0uMDctLjE0LS4xMTEtLjIwNWwtLjAwOC4wMDljLS4xNTQtLjI0Mi0uMzMyLS40NjUtLjUwNC0uNjkzYTEwLjc1MiAxMC43NTIgMCAwIDAtMTcuMjQ4IDBjLS4xNzIuMjI4LS4zNS40NTEtLjUwMy42OTNsLS4wMDktLjAwOWMtLjA0MS4wNjYtLjA3MS4xMzktLjExMS4yMDVsLS4wMDMuMDA1cS0uMjYzLjQzNS0uNDg2Ljg5NGMtLjA1My4xMS0uMTA5LjIxOC0uMTU4LjMzYTEwLjcxOCAxMC43MTggMCAwIDAtLjQ2IDEuMjI5Yy0uMDI3LjA4Ny0uMDQ1LjE3OS0uMDcuMjY3YTEwLjczIDEwLjczIDAgMCAwLS4yMzcgMS4wOCAxMC44MyAxMC44MyAwIDAgMC0uMDYuMzk5IDEwLjgxIDEwLjgxIDAgMCAwLS4wOTkgMS4zNjRsLS4wMDIuMDI0di4wMDRjMCAuMjE1LjAxMi40MjcuMDI2LjYzNy4wMDIuMDMyLjAwMS4wNjQuMDA0LjA5NS4wMTguMjQuMDQ1LjQ4LjA3Ny43MTYuMDEzLjA5Ny4wMjkuMTkyLjA0NC4yODguMDU5LjM1OC4xMzcuNzA4LjIyOSAxLjA1My4wMi4wNzUuMDQ1LjE0OC4wNjcuMjIyLjA3Ny4yNjYuMTYuNTMuMjU4Ljc4OC4wMzQuMDkuMDcyLjE4LjEwOC4yN2ExMC42MjkgMTAuNjI5IDAgMCAwIC40NDUuOTYxYy4wNS4wOTYuMTA4LjE4Ni4xNjEuMjguMDguMTQzLjE1OC4yODguMjQ1LjQyNy4wMjQuMDM3LjA0My4wNzguMDY3LjExNmwuMDA0LS4wMDRjLjA4NC4xMzIuMTg2LjI1LjI3Ni4zNzdhMTAuNzMzIDEwLjczMyAwIDAgMCAxNy40ODYuMTg3Yy4xMzgtLjE4Ny4yODYtLjM2Ny40MTMtLjU2NGwuMDAzLjAwNGMuMDI0LS4wMzguMDQzLS4wNzkuMDY3LS4xMTcuMDQ2LS4wNzIuMDg0LS4xNDkuMTI4LS4yMjIuMDk1LS4xNi4xOTItLjMyLjI3OS0uNDg0YTEwLjQxOCAxMC40MTggMCAwIDAgLjQ0NC0uOTYxYy4wMzctLjA5LjA3NS0uMTguMTEtLjI3LjA5Ni0uMjU4LjE4LS41MjEuMjU3LS43ODguMDIxLS4wNzQuMDQ3LS4xNDYuMDY3LS4yMjFhMTAuOTIgMTAuOTIgMCAwIDAgLjM1LTIuMDU3Yy4wMDQtLjA1LjAwMy0uMTAyLjAwNi0uMTUzLjAxMi0uMTkyLjAyMy0uMzg1LjAyMy0uNTh2LS4wMDR6bS0xOC4xNjMtMy45OGE4LjM4IDguMzggMCAwIDEgMTQuNjg2IDBsLjAwNi4wMTRjLjAyNS4wNDYuMDQ4LjA5NC4wNzEuMTQuMDI5LjA1OC4wNTkuMTE0LjA4Ni4xNzJsLjAzLjA3MWMuMDg4LjE5OS4yMDcuNDk0LjA0OS42ODFhLjk1My45NTMgMCAwIDEtLjY4NC4yOTJIMTEuMDk5YS45NTIuOTUyIDAgMCAxLS42ODQtLjI5MmMtLjE1OC0uMTg3LS4wNC0uNDgxLjA0OC0uNjhsLjAzLS4wNzJjLjAyOS0uMDU5LjA2LS4xMTYuMDg4LS4xNzQuMDIzLS4wNDYuMDQ2LS4wOTMuMDctLjEzOGwuMDA2LS4wMTN6bTkuMDU2IDQuMjk4YzAgLjcxMi0uNzY3IDEuMjktMS43MTMgMS4yOXMtMS43MTMtLjU3OC0xLjcxMy0xLjI5Ljc2Ny0xLjI5MSAxLjcxMy0xLjI5MSAxLjcxMy41NzggMS43MTMgMS4yOXptLTguNjYgNC4zNjNhOC4yOCA4LjI4IDAgMCAxLS4zNjQtLjU4MWwuMDA0LS4wMDRjLS4wMzQtLjA2Mi0uMDY0LS4xMjctLjA5Ny0uMTktLjAzLS4wNi0uMDU4LS4xMjEtLjA4Ny0uMTgybC0uMDY3LS4xNGE3LjI0IDcuMjQgMCAwIDEtLjMzNi0xLjAzMi40ODUuNDg1IDAgMCAxIC4zNi0uNTc2YzEuMDg2LS4yNjcgMy45NTItLjM1MyA0LjY5IDEuMDJhMTguMDkzIDE4LjA5MyAwIDAgMSAxLjE1OCA0LjQ0Ni40OTMuNDkzIDAgMCAxLS4yNjIuNTY2IDIuMjM2IDIuMjM2IDAgMCAxLS4yMDMuMTA0IDguMzcxIDguMzcxIDAgMCAxLTQuNzk2LTMuNDMxek0xOCAyNi4zNjdoLS4wMS4wMnptNy4zMS00LjMwMWE4LjQ2NCA4LjQ2NCAwIDAgMS01LjE2IDQuMDEyIDIuMjM2IDIuMjM2IDAgMCAxLS4yMDItLjEwNC40OTMuNDkzIDAgMCAxLS4yNjItLjU2NSAxOC4wOSAxOC4wOSAwIDAgMSAxLjE1OS00LjQ0N2MuNzM3LTEuMzczIDMuNjAzLTEuMjg3IDQuNjg4LTEuMDJhLjQ4NS40ODUgMCAwIDEgLjM2LjU3NiA3LjI0IDcuMjQgMCAwIDEtLjMzNSAxLjAzMmMtLjA1MS4xMDgtLjEuMjE3LS4xNTQuMzIybC0uMDE3LjAzM2MtLjAyNy4wNTItLjA1Mi4xMDYtLjA4LjE1N3oiIGZpbGw9InVybCgjc2hlbGwtYXV0b19ob3Zlci1hKSIvPjwvc3ZnPg=='); -} -.shell-icon--maps { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDM2IDM2Ij48ZGVmcz48Y2xpcFBhdGggaWQ9InNoZWxsLW1hcHMtYSI+PHBhdGggZD0iTTguMyAyNS41OTh2LTE0LjU1YTEuNDE0IDEuNDE0IDAgMCAxIC45Ny0xLjQ1NUwxMy4xNSA4LjN2MTYuOTc1bC0zLjM5NSAxLjEzMmMtLjY0Ny4xNjEtMS40NTUtLjE2Mi0xLjQ1NS0uODA5ek0yNi4yNDUgOS41OTNsLTMuMzk1IDEuMTMyVjI3LjdsMy44OC0xLjI5M2ExLjQxNCAxLjQxNCAwIDAgMCAuOTctMS40NTV2LTE0LjU1YS45NzMuOTczIDAgMCAwLTEuNDU1LS44MDl6TTIxLjIzMyAyNy43VjEwLjcyNUwxNC43NjcgOC4zdjE2Ljk3NXoiIGZpbGw9Im5vbmUiLz48L2NsaXBQYXRoPjwvZGVmcz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIxOCIgZmlsbD0iI2U1ZWVmNyIvPjxnIGNsaXAtcGF0aD0idXJsKCNzaGVsbC1tYXBzLWEpIj48aW1hZ2Ugd2lkdGg9IjgiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0IDgpIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQVVDQVlBQUFDd0czeHJBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQXQwbEVRVlFvVTQyUVdRNENJUkJFSDBOZnpMTjQvMThkWmFqeUF3WWN0OWdKSWFGckpaM094ZnlZNWRmeUwwQzA2N3RMN0VzRCtCMFlraVpnak1kRDJNWVlHMnhqbTVUU1VJeGJLWVAxNm1CTTJLSldVVldKSEV6RmR1SmVObVN4cEVUWk5td2pId0Rsd01oTFJoYVNrRTFjMXBYbkRxOTFXd2FKV2l1UjgxdWpadEdySFRLd0E3YlMwWTJWODRMa25rSEVkVjFSVjVoUjV2ZUhlaUNyeVdKam1oclFNbUJEU2lQNXMxS01TcDA1UVQ1YWZCeWJCM2xXenBPTHJtWTNBQUFBQUVsRlRrU3VRbUNDIi8+PGltYWdlIHdpZHRoPSI2IiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMiA5KSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBWUFBQUFUQ0FZQUFBQ3oxM3hnQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUFvMGxFUVZRWVYyMlJXNjdESUF4RVQ4QWJ1MnU1Ky85dDB4aG0rZ0ZFaVJvTGdXVG1aZGorL3RNOFZIbHFBc1E0ZmtteG12YjlNaVRkOFJNUXR2SEpHa3pieENjVE1GY2xZMElXNnFLclUwdEZOcmFJekVReXNqaXlVY3FHSk9MSWhxMkpOR3JUL0xYdm5KRXhjeEgyME85ZDFGcVFacW9qRTFsSTVtaEoyY3IwYUlubE00M1dnTzk5dnc2OG5JaUZXQk1QOCtseEs0OHRsc1pGYVQzSnd3ZmFmQUVya3FhVDFyU1ZYZ0FBQUFCSlJVNUVya0pnZ2c9PSIvPjxpbWFnZSB3aWR0aD0iNiIgaGVpZ2h0PSIyMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA4KSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBWUFBQUFVQ0FZQUFBQ3Uwa3pZQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUFxRWxFUVZRWVYzMlFRYkxDTUF4RFgxTmZqTE53Ly9VbmlTdjlSZHdDQTRNM25qeEZsc2ZiN1Q3TmwycmY0RThoVnZ1YzFzRFlUOEdBYmVLRVY2OFA0VVhmSUVCSTRyME1oc0FtSmRxMkxXeGpJTElja2pER3J2RGpPT0FGdUpKaVpsN0NtV0VnWkRGbnN1OXRPYzVSY3lZQW1RZTJrVlZDemdJdVIyWDg5WDZ0K2RwREVuME1JdmJsMUhKRkh3T0FNU2ZTeXBCRVBNYkE5WkROZWFMb28xK250czNlR3BuSlB6dkNzb1U3OGg3QkFBQUFBRWxGVGtTdVFtQ0MiLz48L2c+PC9zdmc+'); -} -.shell-icon--maps:hover { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjM2IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMzYgMzYiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0ic2hlbGwtbWFwc19ob3Zlci1hIiB4MT0iMTcuOTkyIiB5MT0iMTEuOTg4IiB4Mj0iMTguMDEzIiB5Mj0iMjguMzM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjM2Y1ZTdlIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMTUzMzRjIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGNpcmNsZSBjeD0iMTgiIGN5PSIxOCIgcj0iMTgiIGZpbGw9IiNjMmQxZTEiLz48cGF0aCBkPSJNOC4zIDI1LjU5OHYtMTQuNTVhMS40MTQgMS40MTQgMCAwIDEgLjk3LTEuNDU1TDEzLjE1IDguM3YxNi45NzVsLTMuMzk1IDEuMTMyYy0uNjQ3LjE2MS0xLjQ1NS0uMTYyLTEuNDU1LS44MDl6TTI2LjI0NSA5LjU5M2wtMy4zOTUgMS4xMzJWMjcuN2wzLjg4LTEuMjkzYTEuNDE0IDEuNDE0IDAgMCAwIC45Ny0xLjQ1NXYtMTQuNTVhLjk3My45NzMgMCAwIDAtMS40NTUtLjgwOXpNMjEuMjMzIDI3LjdWMTAuNzI1TDE0Ljc2NyA4LjN2MTYuOTc1eiIgZmlsbD0idXJsKCNzaGVsbC1tYXBzX2hvdmVyLWEpIi8+PC9zdmc+'); -} -.shell-icon--mobile { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIiB2aWV3Qm94PSIwIDAgMzYgMzYiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0ic2hlbGwtbW9iaWxlLWEiIHgxPSIxNy41NDciIHkxPSIxMC40NDIiIHgyPSIxOS4xNzIiIHkyPSIzNy41NjciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNhYWI3ZWYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0MjY0ZmIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIxOCIgZmlsbD0iI2U1ZWVmNyIvPjxwYXRoIGQ9Ik0yMy4xMiA4SDEyLjg3QTEuODY3IDEuODY3IDAgMCAwIDExIDkuODd2MTYuMjZBMS44NjcgMS44NjcgMCAwIDAgMTIuODcgMjhoMTAuMjVBMS44NzYgMS44NzYgMCAwIDAgMjUgMjYuMTNWOS44N0ExLjg3NiAxLjg3NiAwIDAgMCAyMy4xMiA4em0tNS4xMyAxOC40NGExLjQzIDEuNDMgMCAxIDEgMS40My0xLjQzIDEuNDI4IDEuNDI4IDAgMCAxLTEuNDMgMS40M3ptNC4yOS00LjI5aC04LjU3VjEwLjcyaDguNTd6IiBmaWxsPSJ1cmwoI3NoZWxsLW1vYmlsZS1hKSIvPjwvc3ZnPg=='); -} -.shell-icon--mobile:hover { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIiB2aWV3Qm94PSIwIDAgMzYgMzYiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0ic2hlbGwtbW9iaWxlX2hvdmVyLWEiIHgxPSIxNy41NDciIHkxPSIxMC40NDIiIHgyPSIxOS4xNzIiIHkyPSIzNy41NjciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMzZjVlN2UiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMxNTMzNGMiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIxOCIgZmlsbD0iI2MyZDFlMSIvPjxwYXRoIGQ9Ik0yMy4xMiA4SDEyLjg3QTEuODY3IDEuODY3IDAgMCAwIDExIDkuODd2MTYuMjZBMS44NjcgMS44NjcgMCAwIDAgMTIuODcgMjhoMTAuMjVBMS44NzYgMS44NzYgMCAwIDAgMjUgMjYuMTNWOS44N0ExLjg3NiAxLjg3NiAwIDAgMCAyMy4xMiA4em0tNS4xMyAxOC40NGExLjQzIDEuNDMgMCAxIDEgMS40My0xLjQzIDEuNDI4IDEuNDI4IDAgMCAxLTEuNDMgMS40M3ptNC4yOS00LjI5aC04LjU3VjEwLjcyaDguNTd6IiBmaWxsPSJ1cmwoI3NoZWxsLW1vYmlsZV9ob3Zlci1hKSIvPjwvc3ZnPg=='); -} -.shell-icon--navigation { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDM2IDM2Ij48ZGVmcz48Y2xpcFBhdGggaWQ9InNoZWxsLW5hdmlnYXRpb24tYSI+PHBhdGggZD0iTTE5LjQ2NSA5LjUwN2MtLjI5NS0uNjMtLjg4NC0xLjI1OS0xLjQ3NC0xLjI1OXMtMS4xNzkuNjMtMS40NzMgMS4yNTlsLTUuODk1IDE0LjE1OGExLjg4OCAxLjg4OCAwIDAgMC0uMTEuODI4IDEuMjgyIDEuMjgyIDAgMCAwIDIuMzIuNzQ1bDIuNjctMi40NDMgMi40NjUtMi4yNTUuMDIzLS4wMjEgNS4xNTggNC43MmMxLjMyNiAxLjI1OCAyLjggMCAyLjIxLTEuNTczeiIgZmlsbD0ibm9uZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjE4IiBmaWxsPSIjZTVlZWY3Ii8+PGcgY2xpcC1wYXRoPSJ1cmwoI3NoZWxsLW5hdmlnYXRpb24tYSkiPjxpbWFnZSB3aWR0aD0iMTciIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkgNykiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkVBQUFBVUNBWUFBQUJyb05aSkFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFBdlVsRVFWUTRUOTFUUVJLRElCQ0xIWjdWUy91VjlzVjlpeTZXVnRKREJSWkU3YWluWnBRSnNpWmhCMEFTVzkvTDdVV1NNTmY3bTlpSjAxckJMemhFcENHSnZWczZKTW1maVpoRTEzc2JLNWpYR2dEd2ZsQVNERThDV1ZndzA0bEpuczRWaTRrekV3NThuSEVVNloyYjNBc2ZPT3IzeGl0dUFLQ3pGcTBJa2xmTk9VK251UUdBVm1UV3NlWmNKalFBSUwyQUJEb3JjWi9STGRIWnVVb1NtcXZBT09TZkNzVEdCdmpCVjhxVzhUMG5HMzdVVUNkMkhueWNtNlgxRDZYNTlVbVhNSk95QUFBQUFFbEZUa1N1UW1DQyIvPjwvZz48L3N2Zz4='); -} -.shell-icon--navigation:hover { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjM2IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMzYgMzYiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0ic2hlbGwtbmF2aWdhdGlvbl9ob3Zlci1hIiB4MT0iMTguMTg4IiB5MT0iMTEuNzQiIHgyPSIxNy44MzIiIHkyPSIyNi43MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzNmNWU3ZSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzE1MzM0YyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjE4IiBmaWxsPSIjYzJkMWUxIi8+PHBhdGggZD0iTTE5LjYxNCA5LjUzNGMtLjI4NC0uNjM1LS44NjItMS4yNzQtMS40NTItMS4yODVzLTEuMTkuNjA5LTEuNDk1IDEuMjMzbC02LjE0MiAxNC4wNTNhMS44ODcgMS44ODcgMCAwIDAtLjEyNC44MjYgMS4yODIgMS4yODIgMCAwIDAgMi4zMDcuNzg2bDIuNzEyLTIuMzk2IDIuNTA0LTIuMjEyLjAyMy0uMDIgNS4wNzQgNC44MDljMS4zMDQgMS4yODEgMi44LjA0OSAyLjIzOC0xLjUzNXoiIGZpbGw9InVybCgjc2hlbGwtbmF2aWdhdGlvbl9ob3Zlci1hKSIvPjwvc3ZnPg=='); -} -.shell-icon--search { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDM2IDM2Ij48ZGVmcz48Y2xpcFBhdGggaWQ9InNoZWxsLXNlYXJjaC1hIj48cGF0aCBkPSJNMTggOGE3LjY1MyA3LjY1MyAwIDAgMC03LjIzIDcuMjNjMCAxLjk2MiAxLjQ0IDQuNjgyIDMuMDc2IDcuMTYzQzE1LjQxOCAyNC43OCAxNy4xNzEgMjYuOTQ0IDE4IDI4YTY4LjcwNSA2OC43MDUgMCAwIDAgNS4wNzctNy4wOGMxLjIxNy0yLjA0MiAyLjE1NC00LjExMSAyLjE1NC01LjY5QTcuNjUzIDcuNjUzIDAgMCAwIDE4IDh6IiBmaWxsPSJub25lIi8+PC9jbGlwUGF0aD48L2RlZnM+PGNpcmNsZSBjeD0iMTgiIGN5PSIxOCIgcj0iMTgiIGZpbGw9IiNlNWVlZjciLz48ZyBjbGlwLXBhdGg9InVybCgjc2hlbGwtc2VhcmNoLWEpIj48aW1hZ2Ugd2lkdGg9IjE2IiBoZWlnaHQ9IjIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMCA3KSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFXQ0FZQUFBREpxaHg4QUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUE1VWxFUVZRNFQrMVRXdzdDSUJBY1lJL2xqMTVGVCt4UlRKcTJsakorOEdoNVZJengwMGxhWUptZGZRQ0tKSTV3dWRuanpRQjF2aTVkMGp2b0hxR0h2OEFQQktSSGFHTTdlU2tOVFZyanNrV0xPTGY2QlptUElKVFNBRmo1RTB3S01qMmZ5Uno4RzRqaXRWMUlnaVJjR0VrSHJYVVE4dEg5ZXduekVKM3dmSm5tT1MweUo5Q1hROEFZWFFUWlBua01ROG90OWlETE52V2ttTU5uSnF0Yk04Vm1GR05BRktXUUlBaVo1cWxaV3l4SGpHQ3hGbzZFdFRiakFZQU00NGl0dy90Uy9JK1k2L1QzQXRzeEZ0Z0pWdVlkSkNyVDFlUlBJTzVMeDRqdVkrTDlwTjd0dndEV25lY3M3RjFPc3dBQUFBQkpSVTVFcmtKZ2dnPT0iLz48L2c+PGNpcmNsZSBjeD0iMTgiIGN5PSIxNS4yMjIiIHI9IjIuMzQ5IiBmaWxsPSIjZTVlZWY3Ii8+PC9zdmc+'); -} -.shell-icon--search:hover { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjM2IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMzYgMzYiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0ic2hlbGwtc2VhcmNoX2hvdmVyLWEiIHgxPSIxNy45MTkiIHkxPSIxMy42MzMiIHgyPSIxOC42NiIgeTI9IjI4LjA3NiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzNmNWU3ZSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzE1MzM0YyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjE4IiBmaWxsPSIjYzJkMWUxIi8+PHBhdGggZD0iTTE4IDhhNy42NTMgNy42NTMgMCAwIDAtNy4yMyA3LjIzYzAgMS45NjIgMS40NCA0LjY4MiAzLjA3NiA3LjE2M0MxNS40MTggMjQuNzggMTcuMTcxIDI2Ljk0NCAxOCAyOGE2OC43MDUgNjguNzA1IDAgMCAwIDUuMDc3LTcuMDhjMS4yMTctMi4wNDIgMi4xNTQtNC4xMTEgMi4xNTQtNS42OUE3LjY1MyA3LjY1MyAwIDAgMCAxOCA4eiIgZmlsbD0idXJsKCNzaGVsbC1zZWFyY2hfaG92ZXItYSkiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE1LjIyMiIgcj0iMi4zNDkiIGZpbGw9IiNjMmQxZTEiLz48L3N2Zz4='); -} -.shell-icon--studio { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDM2IDM2Ij48ZGVmcz48Y2xpcFBhdGggaWQ9InNoZWxsLXN0dWRpby1hIj48cGF0aCBkPSJNMTggNy44NDZBMTAuMTMgMTAuMTMgMCAwIDAgNy44NDYgMThjMCA1LjMxMSA0LjY4NiAxMC4xNTQgOS44NDIgMTAuMTU0YTEuOTIgMS45MiAwIDAgMCAyLjAzLTEuNzE4IDIuNTA5IDIuNTA5IDAgMCAwLS43OC0xLjcxOUEyLjQzIDIuNDMgMCAwIDEgMTggMjNjMC0xLjI1LjYyNS0xLjg3NSAxLjU2Mi0xLjg3NWgzLjEyNGMyLjM0NCAwIDUuNDY4LjYyNSA1LjQ2OC0zLjI4IDAtNC4wNjItMy40MzctOS45OTgtMTAuMTU0LTkuOTk4em0wIDIuMzQzYTEuNDc2IDEuNDc2IDAgMCAxIDEuNTYyIDEuNTYyIDEuNTYyIDEuNTYyIDAgMSAxLTMuMTI0IDBBMS40NzYgMS40NzYgMCAwIDEgMTggMTAuMTl6bS00LjY4NiAzLjEyNWExLjQ3NiAxLjQ3NiAwIDAgMSAxLjU2MiAxLjU2MiAxLjQ3NiAxLjQ3NiAwIDAgMS0xLjU2MiAxLjU2MiAxLjQ3NiAxLjQ3NiAwIDAgMS0xLjU2Mi0xLjU2MiAxLjQ3NiAxLjQ3NiAwIDAgMSAxLjU2Mi0xLjU2MnptOS41MjkgMGExLjQ3NiAxLjQ3NiAwIDAgMSAxLjU2MiAxLjU2MiAxLjU2MiAxLjU2MiAwIDEgMS0zLjEyNCAwIDEuNDc2IDEuNDc2IDAgMCAxIDEuNTYyLTEuNTYyeiIgZmlsbD0ibm9uZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjE4IiBmaWxsPSIjZTVlZWY3Ii8+PGcgY2xpcC1wYXRoPSJ1cmwoI3NoZWxsLXN0dWRpby1hKSI+PGltYWdlIHdpZHRoPSI1IiBoZWlnaHQ9IjE2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMCAxMykiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQVVBQUFBUUNBWUFBQURlZExYTkFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFBazBsRVFWUVlWMjJQUVE3Q01Bd0V4elJwMUZmd0Z5NThoRy96Q2xSYXAzWE1JVWtwRW50WmEyVHZ5dUx1M0I2N2M5S0ZQd3JWZmhZckxLVWdJcFZJZzQ3ajdvMUpnNmRyZC8rZVd6R0dZVUJvN2JwbEFEUm5kck82YVZZd0svUTU5SnhlRHExOVh0NEFqREVDSU5mNzB6dkkyOFlZSThGS3pWcFVEdyt2ZVQ2eXBwVHFSNnNxdEpJMUsxTktCTTNLV2FyS0J6RnFUa1pqSURKNkFBQUFBRWxGVGtTdVFtQ0MiLz48aW1hZ2Ugd2lkdGg9IjQiIGhlaWdodD0iMTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExIDEzKSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBUUFBQUFRQ0FZQUFBQXh0dDd6QUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUFna2xFUVZRWVYxMk9RUTZETUF3RXgrQVE4YXkrcGY4L3RLQ1daQ0h1SVFWVjNaTTEyckZ0dDd1Q253ejh4U01hQUdiV0d4SGRpQWdpQWo4SE0vdUNyM3MydmFvQ01JNk9BYjRmQndENzBaZDdhNWQwZ3NZVkExL2ZMNmFVTHVaVm9rcE1LU0dwL3dGUWFyL21qMlVCZ3pubkRyWmFBTmhLWWM2WlFSS1NBSGl1S3g5VkRVN3h3Um5iVkFBQUFBQkpSVTVFcmtKZ2dnPT0iLz48aW1hZ2Ugd2lkdGg9IjUiIGhlaWdodD0iMTkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1IDEwKSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBVUFBQUFUQ0FZQUFBQlk0TWRqQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUFrVWxFUVZRWVY2V1BVUTZDUUF4RVh3V1djQjV2NEZrOHJOY3hHc0l1Yk1jUFNuQVQvK3hQbTVkcFoycVN1TjAzOFZVWGZ0U2ZzTjliNDdORGQ4Zk1XaWdKU1pnWmtnS0dRbEs3dnRWSzMzVkF1T2RTT0hxdGRWZFdkNm83eHh4R0hsZnR2UG1lWjlJd3RMQ3NLMlZiQVNNTlE3aExrVXNzT1ovS3BXU21OSUtCcGV1amVYd2FSL29TR1FGU1NqeGZMejZDZmxBbkcveEtWQUFBQUFCSlJVNUVya0pnZ2c9PSIvPjxpbWFnZSB3aWR0aD0iMjIiIGhlaWdodD0iMjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcgNykiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQllBQUFBWENBWUFBQUFQNkwrZUFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFCTlVsRVFWUTRUOVZTd1ZIRFFBeGN4WElNUFZBREZmQ0JWa0pacVNJRjhLSUNmblRCd0NNK254WHhpSDIrMDUxdG1KQUgrL0ZJdDE1Sks1R3E0dW01VjF5QWx6MlR6WEdKK0Z1VUd0dVVpSCtCL3lkTWp6dC8wZUxtY0xXT3J5Yk1xcWMxRG9peU03V01MTU9xNnhhWE9Fa3hVbGh4UHBtZjFub2JvZEE0QUVCSk1RWUFFVGxIa1dxMXFiQ0liQWhOSm1QWGRRQUFhNk5JN2oxWGhXSTA5bU9zRUpHWitTbExseWFiaXBVOEx1NXZmYW5BL0dSOGRDMkF1QjRsSHdEWTFyWHB4MFRHeDE0RTNIbWYwaWlYOE41UDBmQzhWSXdJUnBnTUFRWTByY2w3ajIxZHg0K2hwL2ZESFRFUXVhbEpWTGlvTkhOMHpqSUMrT1ByTXdUaERvYlBiZE9FSUIybW5Jc241RGF1U3VsajY5eVpQaVJ2bWlhV2pDMFB1ZEVPN3Z1NU84N1JoU1d1Zy9YdDRZZXl5NkQ3MTJRQjM4R09aN2lRYXl4MkFBQUFBRWxGVGtTdVFtQ0MiLz48L2c+PC9zdmc+'); -} -.shell-icon--studio:hover { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjM2IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMzYgMzYiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0ic2hlbGwtc3R1ZGlvX2hvdmVyLWEiIHgxPSIxOC4wOSIgeTE9IjEzLjAwOCIgeDI9IjE3Ljc4MSIgeTI9IjI5LjgzMiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzNmNWU3ZSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzE1MzM0YyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjE4IiBmaWxsPSIjYzJkMWUxIi8+PHBhdGggZD0iTTE4IDcuODQ2QTEwLjEzIDEwLjEzIDAgMCAwIDcuODQ2IDE4YzAgNS4zMTEgNC42ODYgMTAuMTU0IDkuODQyIDEwLjE1NGExLjkyIDEuOTIgMCAwIDAgMi4wMy0xLjcxOCAyLjUwOSAyLjUwOSAwIDAgMC0uNzgtMS43MTlBMi40MyAyLjQzIDAgMCAxIDE4IDIzYzAtMS4yNS42MjUtMS44NzUgMS41NjItMS44NzVoMy4xMjRjMi4zNDQgMCA1LjQ2OC42MjUgNS40NjgtMy4yOCAwLTQuMDYyLTMuNDM3LTkuOTk4LTEwLjE1NC05Ljk5OHptMCAyLjM0M2ExLjQ3NiAxLjQ3NiAwIDAgMSAxLjU2MiAxLjU2MiAxLjU2MiAxLjU2MiAwIDEgMS0zLjEyNCAwQTEuNDc2IDEuNDc2IDAgMCAxIDE4IDEwLjE5em0tNC42ODYgMy4xMjVhMS40NzYgMS40NzYgMCAwIDEgMS41NjIgMS41NjIgMS40NzYgMS40NzYgMCAwIDEtMS41NjIgMS41NjIgMS40NzYgMS40NzYgMCAwIDEtMS41NjItMS41NjIgMS40NzYgMS40NzYgMCAwIDEgMS41NjItMS41NjJ6bTkuNTI5IDBhMS40NzYgMS40NzYgMCAwIDEgMS41NjIgMS41NjIgMS41NjIgMS41NjIgMCAxIDEtMy4xMjQgMCAxLjQ3NiAxLjQ3NiAwIDAgMSAxLjU2Mi0xLjU2MnoiIGZpbGw9InVybCgjc2hlbGwtc3R1ZGlvX2hvdmVyLWEpIi8+PC9zdmc+'); -} -.shell-icon--web { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgdmlld0JveD0iMCAwIDM2IDM2Ij48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9InNoZWxsLXdlYi1hIiB4MT0iMTguMDIiIHkxPSI5LjQ3MSIgeDI9IjE4LjE4MSIgeTI9IjI1Ljc5OSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2FhYjdlZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzUzNzJmYiIgc3RvcC1vcGFjaXR5PSIuOSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJzaGVsbC13ZWItYiIgeDE9IjE3LjkzNiIgeTE9IjEzLjAyNiIgeDI9IjE3Ljk1NyIgeTI9IjE1LjE5NSIgeGxpbms6aHJlZj0iI3NoZWxsLXdlYi1hIi8+PC9kZWZzPjxjaXJjbGUgY3g9IjE4LjA0MSIgY3k9IjE4IiByPSIxOCIgZmlsbD0iI2U1ZWVmNyIvPjxwYXRoIGQ9Ik0xMC4yIDguNTEzaDE1Ljc2NGExLjMyMyAxLjMyMyAwIDAgMSAxLjMyMiAxLjMyMnYxMS45MzJIOC44NzhWOS44MzVhMS4zMjMgMS4zMjMgMCAwIDEgMS4zMjMtMS4zMjJ6IiBmaWxsPSJ1cmwoI3NoZWxsLXdlYi1hKSIvPjxwYXRoIGQ9Ik02LjIxNSAyMi45MjJoMjMuNjUydjEuNDk5YTEuMDY2IDEuMDY2IDAgMCAxLTEuMDY2IDEuMDY2SDcuMjhhMS4wNjYgMS4wNjYgMCAwIDEtMS4wNjYtMS4wNjZ2LTEuNDk5eiIgZmlsbD0idXJsKCNzaGVsbC13ZWItYikiLz48cGF0aCBmaWxsPSIjZTVlZWY3IiBkPSJNMTEuMzY0IDEwLjg5OUgyNC44djguNDgxSDExLjM2NHoiLz48L3N2Zz4='); -} -.shell-icon--web:hover { - background-image: url('data:image/svg+xml;charset=utf8;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgdmlld0JveD0iMCAwIDM2IDM2Ij48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9InNoZWxsLXdlYl9ob3Zlci1hIiB4MT0iMTguMDIiIHkxPSI5LjQ3MSIgeDI9IjE4LjEyMyIgeTI9IjE5LjkxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjM2Y1ZTdlIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMTUzMzRjIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9InNoZWxsLXdlYl9ob3Zlci1iIiB4MT0iMTguMDM1IiB5MT0iMjMuMDIiIHgyPSIxOC4wNTYiIHkyPSIyNS4xODkiIHhsaW5rOmhyZWY9IiNzaGVsbC13ZWJfaG92ZXItYSIvPjwvZGVmcz48Y2lyY2xlIGN4PSIxOC4wNDEiIGN5PSIxOCIgcj0iMTgiIGZpbGw9IiNjMmQxZTEiLz48cGF0aCBkPSJNMTAuMiA4LjUxM2gxNS43NjRhMS4zMjMgMS4zMjMgMCAwIDEgMS4zMjIgMS4zMjJ2MTEuOTMySDguODc4VjkuODM1YTEuMzIzIDEuMzIzIDAgMCAxIDEuMzIzLTEuMzIyeiIgZmlsbD0idXJsKCNzaGVsbC13ZWJfaG92ZXItYSkiLz48cGF0aCBkPSJNNi4yMTUgMjIuOTIyaDIzLjY1MnYxLjQ5OWExLjA2NiAxLjA2NiAwIDAgMS0xLjA2NiAxLjA2Nkg3LjI4YTEuMDY2IDEuMDY2IDAgMCAxLTEuMDY2LTEuMDY2di0xLjQ5OXoiIGZpbGw9InVybCgjc2hlbGwtd2ViX2hvdmVyLWIpIi8+PHBhdGggZmlsbD0iI2MyZDFlMSIgZD0iTTExLjM2NCAxMC44OTlIMjQuOHY4LjQ4MUgxMS4zNjR6Ii8+PC9zdmc+'); -} \ No newline at end of file diff --git a/vendor/dotcom-page-shell/react-page-shell.js b/vendor/dotcom-page-shell/react-page-shell.js deleted file mode 100644 index 666a19e557a..00000000000 --- a/vendor/dotcom-page-shell/react-page-shell.js +++ /dev/null @@ -1,2905 +0,0 @@ -/* eslint-disable */ -'use strict'; - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var React = require('react'); -var React__default = _interopDefault(React); -var PropTypes = _interopDefault(require('prop-types')); -var Helmet = require('react-helmet'); -var Helmet__default = _interopDefault(Helmet); - -var classCallCheck = function (instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -}; - -var createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; -}(); - - - - - - - -var _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; -}; - - - -var inherits = function (subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); - } - - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - enumerable: false, - writable: true, - configurable: true - } - }); - if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; -}; - - - - - - - - - - - -var possibleConstructorReturn = function (self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return call && (typeof call === "object" || typeof call === "function") ? call : self; -}; - -var BrowserCompatibilityWarning = function (_React$Component) { - inherits(BrowserCompatibilityWarning, _React$Component); - - function BrowserCompatibilityWarning() { - classCallCheck(this, BrowserCompatibilityWarning); - return possibleConstructorReturn(this, (BrowserCompatibilityWarning.__proto__ || Object.getPrototypeOf(BrowserCompatibilityWarning)).apply(this, arguments)); - } - - createClass(BrowserCompatibilityWarning, [{ - key: "shouldComponentUpdate", - value: function shouldComponentUpdate() { - return false; - } - }, { - key: "render", - value: function render() { - return React__default.createElement( - "div", - { - className: "shell-wrapper", - id: "page-shell-compatibility-warning", - style: { display: 'none' } - }, - React__default.createElement( - "div", - { className: "shell-py12 shell-px24 shell-bg-pink shell-color-white shell-align-left" }, - React__default.createElement( - "button", - { - className: "shell-absolute shell-top shell-right shell-p12", - id: "page-shell-compatibility-dismiss" - }, - React__default.createElement( - "svg", - { className: "shell-icon", viewBox: "0 0 18 18" }, - React__default.createElement("path", { d: "M5.8,5C5.4,5,5,5.4,5,5.8C5,6,5.1,6.2,5.3,6.3l0,0L7.9,9l-2.6,2.6C5.1,11.8,5,12,5,12.2C5,12.6,5.4,13,5.8,13 c0.2,0,0.4-0.1,0.6-0.3L9,10.1l2.6,2.6c0.1,0.2,0.4,0.3,0.6,0.3c0.4,0,0.8-0.4,0.8-0.8c0-0.2-0.1-0.4-0.2-0.6L10.1,9l2.6-2.7 C12.9,6.2,13,6,13,5.8C13,5.4,12.6,5,12.2,5c-0.2,0-0.4,0.1-0.6,0.2L9,7.8L6.4,5.2C6.2,5.1,6,5,5.8,5L5.8,5z" }) - ) - ), - React__default.createElement( - "div", - { className: "limiter shell-block shell-relative" }, - React__default.createElement( - "div", - { className: "compatibility-warning-copy shell-mb6 shell-mb0-mm shell-align-center shell-align-left-mm shell-txt-bold" }, - "You are using an outdated browser and will encounter some problems with our website. Please consider upgrading." - ), - React__default.createElement( - "div", - { className: "compatibility-warning-action shell-align-center" }, - React__default.createElement( - "a", - { - className: "shell-btn shell-btn--white shell-color-pink shell-txt-nowrap", - href: "http://outdatedbrowser.com" - }, - "Upgrade Now" - ) - ) - ) - ) - ); - } - }]); - return BrowserCompatibilityWarning; -}(React__default.Component); - -var PageHelmet = function (_React$Component) { - inherits(PageHelmet, _React$Component); - - function PageHelmet() { - classCallCheck(this, PageHelmet); - return possibleConstructorReturn(this, (PageHelmet.__proto__ || Object.getPrototypeOf(PageHelmet)).apply(this, arguments)); - } - - createClass(PageHelmet, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - return React__default.createElement( - Helmet.Helmet, - null, - React__default.createElement('meta', { charSet: 'utf-8' }), - React__default.createElement('meta', { name: 'viewport', content: 'width=device-width, initial-scale=1' }), - React__default.createElement('link', { rel: 'shortcut icon', href: '/favicon.ico', type: 'image/x-icon' }), - React__default.createElement('meta', { - name: 'p:domain_verify', - content: '57838af58c8045c2c024bc2f9d1577f9' - }), - React__default.createElement('meta', { - name: 'google-site-verification', - content: 'umPiCFUc_EX8CJ7xWQDPgQwApDxNi59w6riFZPNZj4w' - }), - React__default.createElement('meta', { name: 'twitter:site', content: '@Mapbox' }), - React__default.createElement('meta', { property: 'og:site_name', content: 'Mapbox' }) - ); - } - }]); - return PageHelmet; -}(React__default.Component); - -var shellStyles = { - // Header names - headerMenuName: 'shell-txt-s shell-txt-s-mxl shell-txt-bold shell-txt-nowrap shell-py6', - - // Mobile navigation popover - mobilePopoverContainer: 'shell-absolute shell-z5', - - // Medium to X-large navigation - navigationItem: 'shell-mx6 shell-mx9-ml shell-mx18-mxl', - - // Medium to X-large navigation popup menu - popupMenuContainer: 'shell-absolute shell-z2 shell-disable-text-size-adjust', - popupMenuBody: 'shell-shadow-darken10-bold shell-bg-white shell-absolute shell-inline-block shell-round shell-txt-s', - popupMenuNavHeading: 'shell-txt-uppercase shell-txt-s shell-txt-spacing1 shell-txt-fancy shell-color-light-blue', - popupMenuLink: 'shell-txt-bold shell-color-blue-on-hover shell-color-gray-dark', - popupTriangle: 'shell-triangle-wide shell-triangle-wide--u shell-color-white shell-z5', - - // Right navigation, user menu, footer links section - popoverNavLink: 'shell-inline-block shell-color-gray-dark shell-color-blue-on-hover', - - // User menu popup - userNavLink: 'shell-color-gray-dark shell-color-blue-on-hover shell-txt-s shell-txt-bold shell-my12 shell-block', - userAvatar: 'shell-border shell-border--2 shell-border--white shell-h30 shell-w30 shell-bg-darken25 shell-clip shell-round-full' -}; - -var UserMenu = function (_React$Component) { - inherits(UserMenu, _React$Component); - - function UserMenu() { - classCallCheck(this, UserMenu); - return possibleConstructorReturn(this, (UserMenu.__proto__ || Object.getPrototypeOf(UserMenu)).apply(this, arguments)); - } - - createClass(UserMenu, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - var signInButtonColorClasses = this.props.darkText ? 'shell-btn--stroke shell-color-gray-dark shell-color-blue-on-hover' : 'shell-btn--lighten25'; - var userButtonColorClasses = this.props.darkText ? 'shell-color-gray-dark shell-color-blue-on-hover' : 'shell-link shell-link--white'; - - // Very special case: If we are on the sign-up page with a route-to query param, - // we need that param to persist when the user clicks the sign-in button in - // the page header. - var signInQuery = ''; - if (typeof window !== 'undefined' && window.location.search) { - var match = window.location.search.match(/^\?.*?(?:.&)?(route-to=[^&]*).*$/); - if (match) { - signInQuery = '?' + match[1]; - } - } - return ( - // Hard-coded width matches the width of the sign-in button, which is slightly - // wider than the user-menu trigger. By hard-coding this value we can prevent - // horizontal bounce when the session API response comes back. - // **Be careful changing this value!** The width varies based on browser, - // so you need to accommodate the browser with the fattest fonts. - React__default.createElement( - 'div', - null, - React__default.createElement( - 'div', - { className: 'shell-relative', style: { width: 66 } }, - React__default.createElement( - 'div', - { 'data-show-unauthenticated': true, style: { visibility: 'hidden' } }, - React__default.createElement( - 'a', - { - className: 'shell-btn shell-w-full shell-py6 shell-round-full shell-txt-s ' + signInButtonColorClasses, - href: '/signin/' + signInQuery, - id: 'signin-button', - 'data-test': 'signin-button' - }, - 'Sign in' - ) - ), - React__default.createElement( - 'div', - { - 'data-show-authenticated': true, - style: { visibility: 'hidden' }, - className: 'clearfix shell-absolute shell-top shell-right' - }, - React__default.createElement( - 'div', - { - id: 'user-menu', - className: 'shell-flex-parent shell-flex-parent--center-cross', - style: { paddingRight: 16 } - }, - React__default.createElement( - 'button', - { - id: 'user-menu-trigger', - 'data-test': 'user-menu-trigger', - 'aria-haspopup': 'true', - 'aria-controls': 'user-menu-container', - 'aria-expanded': 'false', - 'aria-label': 'User menu', - className: userButtonColorClasses + ' shell-relative' - }, - React__default.createElement( - 'svg', - { - viewBox: '0 0 18 18', - className: 'shell-icon shell-absolute shell-mt-neg12 shell-h24 shell-w24', - style: { left: '100%', top: '50%' } - }, - React__default.createElement('path', { d: 'M12,7L6,7l3,4L12,7z' }) - ), - React__default.createElement('span', { - 'data-user-avatar': true, - className: 'shell-flex-child shell-flex-child--no-shrink ' + shellStyles.userAvatar - }) - ) - ) - ) - ), - React__default.createElement( - 'div', - { - id: 'user-menu-container', - 'data-test': 'user-menu', - role: 'group', - 'aria-labelledby': 'user-menu-trigger', - className: shellStyles.popupMenuContainer + ' shell-w-full shell-animated-menu', - style: { - right: 0, - top: '100%', - marginTop: '14px' - } - }, - React__default.createElement('div', { - id: 'user-menu-pointer', - className: shellStyles.popupTriangle + ' shell-animated-menu__pointer', - style: { - position: 'absolute', - top: 0 - } - }), - React__default.createElement( - 'div', - { - className: 'shell-shadow-darken10-bold shell-bg-white shell-absolute shell-py30 shell-px24 shell-round shell-w-full shell-w210-mm', - id: 'user-menu-body', - style: { - right: 10 - } - }, - React__default.createElement( - 'div', - { className: 'shell-mt-neg12', 'data-generic-user-menu': true }, - React__default.createElement( - 'a', - { href: '/studio/', className: shellStyles.userNavLink }, - 'Studio' - ), - React__default.createElement( - 'a', - { href: '/account/', className: shellStyles.userNavLink }, - 'Account' - ), - React__default.createElement( - 'a', - { - 'data-user-staff-generic': true, - href: '/admin/', - className: 'shell-color-gray-dark shell-color-blue-on-hover shell-txt-s shell-txt-bold shell-my12', - style: { display: 'none' } - }, - 'Admin' - ), - React__default.createElement( - 'a', - { href: '/account/settings', className: shellStyles.userNavLink }, - 'Settings' - ), - React__default.createElement( - 'a', - { href: '/help/', className: shellStyles.userNavLink }, - 'Help' - ) - ), - React__default.createElement( - 'div', - { className: 'shell-mt-neg12', 'data-app-specific-user-menu': true }, - React__default.createElement( - 'a', - { - 'data-user-staff-specific': true, - href: '/admin/', - className: 'shell-color-gray-dark shell-color-blue-on-hover shell-txt-s shell-txt-bold shell-my12', - style: { display: 'none' } - }, - 'Admin' - ), - React__default.createElement( - 'a', - { href: '/account/settings/', className: shellStyles.userNavLink }, - 'Settings' - ), - React__default.createElement( - 'a', - { href: '/help/', className: shellStyles.userNavLink }, - 'Help' - ) - ), - React__default.createElement( - 'div', - { className: 'shell-pt24 shell-mt24 shell-border-t shell-border--gray-light' }, - React__default.createElement('div', { 'data-user-name': true, className: 'shell-txt-s shell-color-gray' }), - React__default.createElement( - 'button', - { - 'data-sign-out': true, - 'data-test': 'signout-button', - className: 'shell-color-gray-dark shell-color-blue-on-hover shell-txt-s shell-txt-bold shell-mt6 shell-block shell-w-full' - }, - React__default.createElement( - 'div', - { className: 'shell-flex-parent shell-flex-parent--center-cross shell-txt-bold' }, - React__default.createElement( - 'svg', - { className: 'shell-icon shell-mr3', viewBox: '0 0 18 18' }, - React__default.createElement('path', { d: 'M4,4c0,0-1,0-1,1v8c0,1,1,1,1,1h4c0.6,0,1-0.4,1-1s-0.4-1-1-1H5V6h3c0.6,0,1-0.4,1-1S8.6,4,8,4H4z M11,5 c-0.3,0-0.5,0.1-0.7,0.3c-0.4,0.4-0.4,1,0,1.4L11.6,8H7C6.5,8,6,8.5,6,9s0.5,1,1,1h4.6l-1.3,1.3c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0 l2.8-2.9c0.2-0.2,0.4-0.5,0.4-0.9c0-0.3-0.2-0.6-0.4-0.9l-2.8-2.9C11.5,5.1,11.3,5,11,5L11,5z' }) - ), - React__default.createElement( - 'span', - { className: 'shell-flex-child' }, - 'Sign out' - ) - ) - ) - ) - ) - ) - ) - ); - } - }]); - return UserMenu; -}(React__default.Component); - -UserMenu.propTypes = { - darkText: PropTypes.bool -}; - -var PopupMenu = function (_React$Component) { - inherits(PopupMenu, _React$Component); - - function PopupMenu() { - classCallCheck(this, PopupMenu); - return possibleConstructorReturn(this, (PopupMenu.__proto__ || Object.getPrototypeOf(PopupMenu)).apply(this, arguments)); - } - - createClass(PopupMenu, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'renderName', - value: function renderName() { - var _props = this.props, - name = _props.name, - shortName = _props.shortName; - - if (shortName) { - return React__default.createElement( - 'span', - null, - React__default.createElement( - 'span', - { className: 'shell-none-ml' }, - shortName - ), - React__default.createElement( - 'span', - { className: 'shell-none shell-block-ml' }, - name - ) - ); - } - - return name; - } - }, { - key: 'render', - value: function render() { - var menuNameClasses = shellStyles.headerMenuName; - menuNameClasses += this.props.darkText ? ' shell-navigation-menu-button shell-transition shell-color-gray-dark shell-color-blue-on-hover' : ' shell-navigation-menu-button shell-link shell-link--white'; - - var _props2 = this.props, - name = _props2.name, - children = _props2.children; - - - return React__default.createElement( - 'div', - { style: { lineHeight: 1 } }, - React__default.createElement( - 'div', - { - id: name + '-menu', - className: 'shell-relative ' + shellStyles.navigationItem - }, - React__default.createElement( - 'button', - { - id: name + '-menu-trigger', - 'data-nav-trigger': name, - 'data-test': 'nav-menu-trigger-' + name, - 'aria-haspopup': 'true', - 'aria-controls': name + '-menu-container', - 'aria-expanded': 'false', - 'aria-label': name + ' menu', - className: menuNameClasses - }, - this.renderName() - ) - ), - React__default.createElement( - 'div', - { - id: name + '-menu-container', - 'data-nav-menu': name, - 'data-test': 'nav-menu-' + name, - role: 'group', - 'aria-labelledby': name + '-menu-trigger', - className: shellStyles.popupMenuContainer + ' shell-w-full shell-animated-menu', - style: { - right: 0, - top: '100%', - marginTop: '14px' - } - }, - React__default.createElement('div', { - 'data-nav-pointer': name, - className: shellStyles.popupTriangle + ' shell-animated-menu__pointer', - style: { - position: 'absolute', - top: 0 - } - }), - React__default.createElement( - 'div', - { className: shellStyles.popupMenuBody, 'data-nav-menu-body': name }, - children - ) - ) - ); - } - }]); - return PopupMenu; -}(React__default.Component); - -PopupMenu.propTypes = { - darkText: PropTypes.bool, - name: PropTypes.string.isRequired, - shortName: PropTypes.string, - children: PropTypes.node.isRequired -}; - -PopupMenu.defaultProps = { - darkText: true, - shortName: null -}; - -var SmallMapsIcon = function (_React$Component) { - inherits(SmallMapsIcon, _React$Component); - - function SmallMapsIcon() { - classCallCheck(this, SmallMapsIcon); - return possibleConstructorReturn(this, (SmallMapsIcon.__proto__ || Object.getPrototypeOf(SmallMapsIcon)).apply(this, arguments)); - } - - createClass(SmallMapsIcon, [{ - key: "shouldComponentUpdate", - value: function shouldComponentUpdate() { - return false; - } - }, { - key: "render", - value: function render() { - return React__default.createElement( - "svg", - _extends({}, this.props, { - width: "12", - height: "12", - xmlns: "http://www.w3.org/2000/svg" - }), - React__default.createElement("path", { - d: "M4 10.5V0l4 1.5V12l-4-1.5zM3 0L.6.8c-.4.1-.6.5-.6.9v9c0 .4.5.6.9.5l2.1-.7V0zm8.4 11.2c.4-.1.6-.5.6-.9v-9c0-.4-.4-.7-.9-.5L9 1.5V12l2.4-.8z", - fill: "#4264FB", - fillRule: "nonzero" - }) - ); - } - }]); - return SmallMapsIcon; -}(React__default.Component); - -var SmallNavigationIcon = function (_React$Component) { - inherits(SmallNavigationIcon, _React$Component); - - function SmallNavigationIcon() { - classCallCheck(this, SmallNavigationIcon); - return possibleConstructorReturn(this, (SmallNavigationIcon.__proto__ || Object.getPrototypeOf(SmallNavigationIcon)).apply(this, arguments)); - } - - createClass(SmallNavigationIcon, [{ - key: "shouldComponentUpdate", - value: function shouldComponentUpdate() { - return false; - } - }, { - key: "render", - value: function render() { - return React__default.createElement( - "svg", - _extends({}, this.props, { - width: "12", - height: "12", - xmlns: "http://www.w3.org/2000/svg" - }), - React__default.createElement("path", { - d: "M2.5 11.2c-.9.8-1.9 0-1.5-1l4-9c.2-.4.6-.8 1-.8s.8.4 1 .8l4 9c.4 1-.6 1.8-1.5 1L6 8.2l-3.5 3z", - fill: "#4264FB", - fillRule: "nonzero" - }) - ); - } - }]); - return SmallNavigationIcon; -}(React__default.Component); - -var SmallStudioIcon = function (_React$Component) { - inherits(SmallStudioIcon, _React$Component); - - function SmallStudioIcon() { - classCallCheck(this, SmallStudioIcon); - return possibleConstructorReturn(this, (SmallStudioIcon.__proto__ || Object.getPrototypeOf(SmallStudioIcon)).apply(this, arguments)); - } - - createClass(SmallStudioIcon, [{ - key: "shouldComponentUpdate", - value: function shouldComponentUpdate() { - return false; - } - }, { - key: "render", - value: function render() { - return React__default.createElement( - "svg", - _extends({}, this.props, { - width: "14", - height: "14", - xmlns: "http://www.w3.org/2000/svg" - }), - React__default.createElement("path", { - d: "M6.99.5C3.595.5.5 3.2.5 7c0 3.4 2.995 6.5 6.29 6.5.7 0 1.298-.5 1.298-1.1 0-.4-.2-.8-.499-1.1-.6-.5-.6-1.1-.6-1.1 0-.8.4-1.2 1-1.2h1.997c1.497 0 3.494.4 3.494-2.1 0-2.6-2.196-6.4-6.49-6.4zm0 1.5c.599 0 .998.4.998 1S7.59 4 6.99 4c-.6 0-.999-.4-.999-1s.4-1 .999-1zM3.994 4c.6 0 .999.4.999 1s-.4 1-.999 1-.998-.4-.998-1 .4-1 .998-1zm6.091 0c.6 0 .999.4.999 1s-.4 1-.999 1-.998-.4-.998-1 .4-1 .998-1z", - fill: "#4264FB", - fillRule: "nonzero" - }) - ); - } - }]); - return SmallStudioIcon; -}(React__default.Component); - -var SmallServicesIcon = function (_React$Component) { - inherits(SmallServicesIcon, _React$Component); - - function SmallServicesIcon() { - classCallCheck(this, SmallServicesIcon); - return possibleConstructorReturn(this, (SmallServicesIcon.__proto__ || Object.getPrototypeOf(SmallServicesIcon)).apply(this, arguments)); - } - - createClass(SmallServicesIcon, [{ - key: "shouldComponentUpdate", - value: function shouldComponentUpdate() { - return false; - } - }, { - key: "render", - value: function render() { - return React__default.createElement( - "svg", - _extends({}, this.props, { - width: "14", - height: "14", - xmlns: "http://www.w3.org/2000/svg" - }), - React__default.createElement("path", { - d: "M4.4.4l-1.8 1 .5 2.4c-.3.5-.6.9-.8 1.4L0 6v2l2.3.8c.2.5.5.9.8 1.3l-.5 2.4 1.8 1 1.8-1.6c.3.1.5.1.8.1.3 0 .5 0 .8-.1l1.8 1.6 1.8-1-.5-2.4c.3-.4.6-.8.8-1.3L14 8V6l-2.3-.8c-.2-.5-.5-.9-.8-1.3l.5-2.4-1.8-1-1.8 1.6C7.5 2 7.3 2 7 2c-.3 0-.5 0-.8.1L4.4.4zM7 5c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2z", - fill: "#4264FB", - fillRule: "nonzero" - }) - ); - } - }]); - return SmallServicesIcon; -}(React__default.Component); - -var navigationMenuData = { - headerMainMenus: { - products: { - products: { - title: 'Products', - links: [{ - name: 'Maps', - description: 'Smooth, fast, real-time maps', - to: '/maps/' - }, { - name: 'Search', - description: 'Turn addresses into coordinates', - to: '/geocoding/' - }, { - name: 'Navigation', - description: 'Turn-by-turn routing', - to: '/navigation/' - }, { - name: 'Studio', - description: 'Design custom maps', - to: '/mapbox-studio/' - }, { - name: 'Atlas', - description: 'Maps and location on-premise', - to: '/atlas/' - }], - more: { - title: 'View all products', - to: '/products/' - } - }, - platforms: { - title: 'Platforms', - links: [{ - name: 'Web', - to: '/help/how-web-apps-work/', - hideInMobile: true - }, { - name: 'Mobile', - to: '/mobile/' - }, { - name: 'AR', - to: '/augmented-reality/' - }, { - name: 'Auto', - to: '/automotive/', - hideInMobile: true - }] - } - }, - solutions: { - industries: { - title: 'Industries', - links: [{ - name: 'Consumer apps (B2C)', - to: '/industries/consumer/' - }, { - name: 'Logistics', - to: '/industries/logistics/' - }, { - name: 'Business intelligence', - to: '/industries/business-intelligence/' - }, { - name: 'Government', - to: '/industries/government/' - }] - }, - useCases: { - title: 'Use Cases', - links: [{ - name: 'Store locator', - to: '/use-cases/store-locator/' - }, { - name: 'Turn-by-turn navigation', - to: '/use-cases/turn-by-turn-navigation/' - }, { - name: 'On-demand logistics', - to: '/use-cases/on-demand-logistics/' - }, { - name: 'Asset tracking', - to: '/use-cases/asset-tracking/' - }, { - name: 'Data visualization', - to: '/use-cases/data-visualization/' - }], - more: { - title: 'Built with Mapbox blog', - to: 'https://blog.mapbox.com/tagged/built-with-mapbox/' - } - } - }, - documentation: { - documentation: { - title: 'Documentation', - sections: { - maps: { - title: 'Maps', - icon: SmallMapsIcon, - links: [{ - name: 'Mapbox GL JS', - to: '/mapbox-gl-js/api/' - }], - subsections: { - mapsSdks: { - title: 'Maps SDKs', - links: [{ - name: 'iOS', - showFor: true, - to: '/ios-sdk/' - }, { - name: 'Android', - showFor: true, - to: '/android-docs/map-sdk/overview/' - }, { - name: 'Unity', - showFor: true, - to: '/unity-sdk/' - }, { - name: 'React Native', - showFor: true, - to: '/help/first-steps-react-native-sdk/' - }, { - name: 'Qt', - showFor: true, - to: '/qt/' - }] - } - } - }, - navigation: { - title: 'Navigation', - icon: SmallNavigationIcon, - subsections: { - sdks: { - title: 'Navigation SDKs', - links: [{ - name: 'iOS', - showFor: true, - to: '/ios-sdk/navigation/' - }, { - name: 'Android', - showFor: true, - to: '/android-docs/navigation/' - }] - } - } - }, - studio: { - title: 'Studio', - icon: SmallStudioIcon, - links: [{ - name: 'Mapbox Studio manual', - to: '/help/studio-manual/' - }] - }, - services: { - title: 'Mapbox services', - icon: SmallServicesIcon, - links: [{ - name: 'Maps APIs', - to: '/api-documentation/#maps' - }, { - name: 'Directions APIs', - to: '/api-documentation/#directions' - }, { - name: 'Geocoding API', - to: '/api-documentation/#geocoding' - }] - } - }, - more: { - title: 'More documentation', - to: '/documentation/' - } - }, - help: { - title: 'Help', - links: [{ - name: 'How Mapbox works', - subTitle: 'Learn how the Mapbox platform works', - to: '/help/how-mapbox-works/' - }, { - name: 'Tutorials', - subTitle: 'Start with a guide or explore project ideas', - to: '/help/tutorials/' - }], - more: { - title: 'More help', - to: '/help/' - } - } - }, - company: { - name: 'Company', - links: [{ - name: 'About', - to: '/about/' - }, { - name: 'Customers', - to: '/showcase/' - }, { - name: 'Careers', - to: '/jobs/' - }, { - name: 'Diversity & Inclusion', - to: '/diversity-inclusion/' - }] - } - }, - productsMenu: { - name: 'Products', - links: [{ - name: 'Maps', - to: '/maps/' - }, { - name: 'Search', - to: '/geocoding/' - }, { - name: 'Navigation', - to: '/navigation/' - }, { - name: 'Studio', - to: '/mapbox-studio/' - }, { - name: 'Atlas', - to: '/atlas/' - }], - highlightedLinks: [{ - name: 'Pricing', - to: '/pricing/' - }] - }, - useCaseMenu: { - name: 'Use cases', - links: [{ - name: 'Store locator', - to: '/use-cases/store-locator/' - }, { - name: 'Turn-by-turn navigation', - to: '/use-cases/turn-by-turn-navigation/' - }, { - name: 'On-demand logistics', - to: '/use-cases/on-demand-logistics/' - }, { - name: 'Data visualization', - to: '/use-cases/data-visualization/' - }, { - name: 'Asset tracking', - to: '/use-cases/asset-tracking/' - }], - highlightedLinks: [] - }, - resourcesMenu: { - name: 'Resources', - links: [{ - name: 'Documentation', - to: '/documentation/' - }, { - name: 'Help', - to: '/help/' - }, { - name: 'Events', - to: '/events/' - }, { - name: 'Live sessions', - to: '/live/' - }, { - name: 'Open source', - to: '/about/open/' - }], - highlightedLinks: [] - }, - companyMenu: { - name: 'Company', - links: [{ - name: 'About', - to: '/about/' - }, { - name: 'Customers', - to: '/showcase/' - }, { - name: 'Community', - to: '/community/' - }, { - name: 'Careers', - to: '/careers/' - }, { - name: 'Diversity & Inclusion', - to: '/diversity-inclusion/' - }, { - name: 'Team', - to: '/about/team/' - }, { - name: 'Blog', - to: '/blog/' - }, { - name: 'Press', - to: '/about/press/' - }, { - name: 'Contact', - to: '/contact/' - }], - highlightedLinks: [] - }, - mobileCombinationMenu: { - links: [{ - name: 'Customers', - to: '/showcase/' - }, { - name: 'Documentation', - to: '/documentation/' - }, { - name: 'Pricing', - to: '/pricing/' - }, { - name: 'Contact', - to: '/contact/' - }, { - name: 'About', - to: '/about/' - }, { - name: 'Careers', - to: '/careers/' - }, { - name: 'Team', - to: '/about/team/' - }, { - name: 'Blog', - to: '/blog/' - }] - } -}; - -var CompanyMenu = function (_React$Component) { - inherits(CompanyMenu, _React$Component); - - function CompanyMenu() { - classCallCheck(this, CompanyMenu); - return possibleConstructorReturn(this, (CompanyMenu.__proto__ || Object.getPrototypeOf(CompanyMenu)).apply(this, arguments)); - } - - createClass(CompanyMenu, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - var navItems = navigationMenuData.headerMainMenus.company.links; - - return React__default.createElement( - PopupMenu, - _extends({}, this.props, { name: 'Company' }), - React__default.createElement( - 'div', - { className: 'shell-py30 shell-px30' }, - React__default.createElement( - 'ul', - null, - navItems.map(function (navItem, i) { - return React__default.createElement( - 'li', - { key: navItem.name, className: i === 0 ? '' : 'shell-mt18' }, - React__default.createElement( - 'a', - { - href: navItem.to, - className: shellStyles.popupMenuLink, - 'data-nav-link': true, - 'data-test': 'nav-link-' + navItem.name - }, - navItem.name - ) - ); - }) - ) - ) - ); - } - }]); - return CompanyMenu; -}(React__default.Component); - -var NavigationHighlightLink = function (_React$Component) { - inherits(NavigationHighlightLink, _React$Component); - - function NavigationHighlightLink() { - classCallCheck(this, NavigationHighlightLink); - return possibleConstructorReturn(this, (NavigationHighlightLink.__proto__ || Object.getPrototypeOf(NavigationHighlightLink)).apply(this, arguments)); - } - - createClass(NavigationHighlightLink, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - var splitText = this.props.label.split(' '); - var lastWord = splitText.pop(); - var textWithoutLastWord = splitText.join(' '); - - return React__default.createElement( - 'span', - { className: 'shell-color-blue shell-txt-bold shell-color-gray-dark-on-hover' }, - textWithoutLastWord, - ' ', - React__default.createElement( - 'span', - { className: 'shell-txt-nowrap' }, - lastWord, - React__default.createElement( - 'span', - { className: 'shell-icon-inliner' }, - React__default.createElement( - 'svg', - { className: 'shell-icon' }, - React__default.createElement('use', { xlinkHref: '#shell-icon-chevron-right' }) - ) - ) - ) - ); - } - }]); - return NavigationHighlightLink; -}(React__default.Component); - -NavigationHighlightLink.propTypes = { - label: PropTypes.string.isRequired -}; - -var DocumentationMenu = function (_React$Component) { - inherits(DocumentationMenu, _React$Component); - - function DocumentationMenu() { - classCallCheck(this, DocumentationMenu); - return possibleConstructorReturn(this, (DocumentationMenu.__proto__ || Object.getPrototypeOf(DocumentationMenu)).apply(this, arguments)); - } - - createClass(DocumentationMenu, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'renderAnchorLi', - value: function renderAnchorLi(linkItem) { - return React__default.createElement( - 'li', - { key: linkItem.name, className: 'shell-mb12' }, - React__default.createElement( - 'a', - { - href: linkItem.to, - className: shellStyles.popupMenuLink, - 'data-nav-link': true, - 'data-test': 'nav-link-' + linkItem.name - }, - linkItem.showFor && React__default.createElement( - 'span', - { className: 'shell-txt-normal' }, - 'for ' - ), - linkItem.name, - linkItem.subTitle && React__default.createElement( - 'p', - { className: 'shell-txt-xs shell-txt-normal shell-color-light-blue' }, - linkItem.subTitle - ) - ) - ); - } - }, { - key: 'renderSubsectionNav', - value: function renderSubsectionNav(subKey, subsection) { - return React__default.createElement( - 'div', - { key: subKey }, - React__default.createElement( - 'div', - { className: 'shell-color-light-blue shell-txt-bold shell-pb12' }, - subsection.title - ), - React__default.createElement( - 'div', - { className: 'shell-ml6' }, - React__default.createElement( - 'ul', - null, - subsection.links.map(this.renderAnchorLi) - ) - ) - ); - } - }, { - key: 'renderSectionNav', - value: function renderSectionNav(section) { - var _this2 = this; - - var subKeys = section.subsections ? Object.keys(section.subsections) : null; - - return React__default.createElement( - 'div', - null, - React__default.createElement( - 'div', - { className: 'shell-border-b shell-border--gray-light shell-pb6 shell-mb12' }, - React__default.createElement(section.icon, { className: 'shell-align-middle shell-mb3' }), - React__default.createElement( - 'span', - { className: 'shell-txt-bold shell-ml6 shell-color-light-blue' }, - section.title - ) - ), - section.links && React__default.createElement( - 'ul', - null, - section.links.map(this.renderAnchorLi) - ), - subKeys && React__default.createElement( - 'div', - null, - subKeys.map(function (subKey) { - return _this2.renderSubsectionNav(subKey, section.subsections[subKey]); - }) - ) - ); - } - }, { - key: 'render', - value: function render() { - var navSections = navigationMenuData.headerMainMenus.documentation; - var docNavSection = navSections.documentation; - var helpNavSection = navSections.help; - - return React__default.createElement( - PopupMenu, - _extends({}, this.props, { name: 'Documentation', shortName: 'Docs' }), - React__default.createElement( - 'div', - { style: { width: 540 } }, - React__default.createElement( - 'div', - { className: 'shell-grid' }, - React__default.createElement( - 'div', - { className: 'shell-col shell-col--8 shell-pt30 shell-px30' }, - React__default.createElement( - 'div', - { className: shellStyles.popupMenuNavHeading + ' shell-pb12' }, - docNavSection.title - ), - React__default.createElement( - 'div', - { className: 'shell-grid' }, - React__default.createElement( - 'div', - { className: 'shell-col shell-col--6 shell-pr24' }, - this.renderSectionNav(docNavSection.sections.maps) - ), - React__default.createElement( - 'div', - { className: 'shell-col shell-col--6' }, - React__default.createElement( - 'div', - { className: 'shell-mb24' }, - this.renderSectionNav(docNavSection.sections.navigation) - ), - React__default.createElement( - 'div', - { className: 'shell-mb24' }, - this.renderSectionNav(docNavSection.sections.studio) - ), - React__default.createElement( - 'div', - { className: 'shell-mb24' }, - this.renderSectionNav(docNavSection.sections.services) - ) - ) - ) - ), - React__default.createElement( - 'div', - { className: 'shell-col shell-col--4 shell-bg-gray-faint shell-round shell-pt30 shell-px30' }, - React__default.createElement( - 'div', - { className: shellStyles.popupMenuNavHeading + ' shell-pb12' }, - helpNavSection.title - ), - React__default.createElement( - 'ul', - null, - helpNavSection.links.map(this.renderAnchorLi) - ) - ) - ), - React__default.createElement( - 'div', - { className: 'shell-grid' }, - React__default.createElement( - 'div', - { className: 'shell-col shell-col--8 shell-px30 shell-pb30' }, - React__default.createElement( - 'a', - { - href: docNavSection.more.to, - className: shellStyles.popoverNavLinkHighlight, - 'data-nav-link': true, - 'data-test': 'nav-link-' + docNavSection.more.title - }, - React__default.createElement(NavigationHighlightLink, { label: docNavSection.more.title }) - ) - ), - React__default.createElement( - 'div', - { className: 'shell-col shell-col--4 shell-bg-gray-faint shell-round shell-px30 shell-pb30' }, - React__default.createElement( - 'a', - { - href: helpNavSection.more.to, - className: shellStyles.popoverNavLinkHighlight, - 'data-nav-link': true, - 'data-test': 'nav-link-' + helpNavSection.more.title - }, - React__default.createElement(NavigationHighlightLink, { label: helpNavSection.more.title }) - ) - ) - ) - ) - ); - } - }]); - return DocumentationMenu; -}(React__default.Component); - -var ProductsNavItem = function (_React$Component) { - inherits(ProductsNavItem, _React$Component); - - function ProductsNavItem() { - classCallCheck(this, ProductsNavItem); - return possibleConstructorReturn(this, (ProductsNavItem.__proto__ || Object.getPrototypeOf(ProductsNavItem)).apply(this, arguments)); - } - - createClass(ProductsNavItem, [{ - key: 'render', - value: function render() { - var link = this.props.link; - - var lowerName = link.name.toLowerCase(); - - return React__default.createElement( - 'a', - { - href: link.to, - className: 'shell-products-nav-item shell-icon--' + lowerName + ' shell-block shell-mr6 shell-color-blue-on-hover', - 'data-nav-link': true, - 'data-test': 'nav-link-' + link.name - }, - React__default.createElement( - 'div', - { className: 'shell-mb0 shell-pt3' }, - React__default.createElement( - 'span', - { className: 'shell-txt-bold' }, - link.name - ), - React__default.createElement( - 'p', - { className: 'shell-txt-xs shell-color-light-blue' }, - link.description - ) - ) - ); - } - }]); - return ProductsNavItem; -}(React__default.Component); - -ProductsNavItem.propTypes = { - link: PropTypes.shape({ - name: PropTypes.string.isRequired, - description: PropTypes.string.isRequired, - to: PropTypes.string.isRequired - }).isRequired -}; - -var PlatformsNavItem = function (_React$Component) { - inherits(PlatformsNavItem, _React$Component); - - function PlatformsNavItem() { - classCallCheck(this, PlatformsNavItem); - return possibleConstructorReturn(this, (PlatformsNavItem.__proto__ || Object.getPrototypeOf(PlatformsNavItem)).apply(this, arguments)); - } - - createClass(PlatformsNavItem, [{ - key: 'render', - value: function render() { - var link = this.props.link; - - var lowerName = link.name.toLowerCase(); - - return React__default.createElement( - 'a', - { - href: link.to, - 'data-nav-link': true, - 'data-test': 'nav-link-' + link.name, - className: 'shell-platforms-nav-item shell-h30 shell-py6 shell-icon--' + lowerName + ' shell-block shell-color-blue-on-hover shell-txt-bold' - }, - link.name - ); - } - }]); - return PlatformsNavItem; -}(React__default.Component); - -PlatformsNavItem.propTypes = { - link: PropTypes.shape({ - name: PropTypes.string.isRequired, - to: PropTypes.string.isRequired - }).isRequired -}; - -var ProductsMenu = function (_React$Component) { - inherits(ProductsMenu, _React$Component); - - function ProductsMenu() { - classCallCheck(this, ProductsMenu); - return possibleConstructorReturn(this, (ProductsMenu.__proto__ || Object.getPrototypeOf(ProductsMenu)).apply(this, arguments)); - } - - createClass(ProductsMenu, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - var navSections = navigationMenuData.headerMainMenus.products; - var productsNavSection = navSections.products; - var platformsNavSection = navSections.platforms; - - return React__default.createElement( - PopupMenu, - _extends({}, this.props, { name: 'Products' }), - React__default.createElement( - 'div', - { style: { width: 500 }, className: 'shell-px30 shell-py30' }, - React__default.createElement( - 'div', - { className: 'shell-border-b shell-border--gray-light shell-pb12' }, - React__default.createElement( - 'div', - { className: shellStyles.popupMenuNavHeading }, - productsNavSection.title - ), - React__default.createElement( - 'div', - { className: 'shell-grid' }, - productsNavSection.links.map(function (link) { - return React__default.createElement( - 'div', - { - key: link.name, - className: 'shell-col shell-col--6 shell-my12' - }, - React__default.createElement(ProductsNavItem, { link: link }) - ); - }) - ) - ), - React__default.createElement( - 'div', - { className: 'shell-py24' }, - React__default.createElement( - 'div', - { className: shellStyles.popupMenuNavHeading + ' shell-pb12' }, - platformsNavSection.title - ), - React__default.createElement( - 'div', - { className: 'shell-flex-parent shell-flex-parent--space-between-main' }, - platformsNavSection.links.map(function (link) { - return React__default.createElement( - 'div', - { key: link.name, className: 'shell-flex-child' }, - React__default.createElement(PlatformsNavItem, { link: link }) - ); - }) - ) - ), - React__default.createElement( - 'div', - null, - React__default.createElement( - 'a', - { - href: productsNavSection.more.to, - className: shellStyles.popoverNavLinkHighlight, - 'data-nav-link': true, - 'data-test': 'nav-link-' + productsNavSection.more.title - }, - React__default.createElement(NavigationHighlightLink, { label: productsNavSection.more.title }) - ) - ) - ) - ); - } - }]); - return ProductsMenu; -}(React__default.Component); - -var SolutionsMenu = function (_React$Component) { - inherits(SolutionsMenu, _React$Component); - - function SolutionsMenu() { - classCallCheck(this, SolutionsMenu); - return possibleConstructorReturn(this, (SolutionsMenu.__proto__ || Object.getPrototypeOf(SolutionsMenu)).apply(this, arguments)); - } - - createClass(SolutionsMenu, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'renderMenuSideNavSection', - value: function renderMenuSideNavSection(navSection) { - return React__default.createElement( - 'div', - { className: 'shell-pb12' }, - React__default.createElement( - 'div', - { className: shellStyles.popupMenuNavHeading + ' shell-pb12' }, - navSection.title - ), - React__default.createElement( - 'ul', - null, - navSection.links.map(function (link) { - return React__default.createElement( - 'li', - { key: link.name, className: 'shell-mb12' }, - React__default.createElement( - 'a', - { - href: link.to, - className: shellStyles.popupMenuLink, - 'data-nav-link': true, - 'data-test': 'nav-link-' + link.name - }, - link.name - ) - ); - }) - ) - ); - } - }, { - key: 'render', - value: function render() { - var navSections = navigationMenuData.headerMainMenus.solutions; - var useCasesNavSection = navSections.useCases; - var industriesNavSection = navSections.industries; - - return React__default.createElement( - PopupMenu, - _extends({}, this.props, { name: 'Solutions' }), - React__default.createElement( - 'div', - { style: { width: 380 }, className: 'shell-py30 shell-px30' }, - React__default.createElement( - 'div', - { className: 'shell-flex-parent shell-flex-parent--space-between-main' }, - React__default.createElement( - 'div', - { className: 'shell-flex-child' }, - this.renderMenuSideNavSection(industriesNavSection) - ), - React__default.createElement( - 'div', - { className: 'shell-flex-child' }, - this.renderMenuSideNavSection(useCasesNavSection) - ) - ), - React__default.createElement( - 'div', - null, - React__default.createElement( - 'a', - { - href: useCasesNavSection.more.to, - className: shellStyles.popoverNavLinkHighlight, - 'data-nav-link': true, - 'data-test': 'nav-link-' + useCasesNavSection.more.title - }, - React__default.createElement(NavigationHighlightLink, { label: useCasesNavSection.more.title }) - ) - ) - ) - ); - } - }]); - return SolutionsMenu; -}(React__default.Component); - -var NavigationItem = function (_React$Component) { - inherits(NavigationItem, _React$Component); - - function NavigationItem() { - classCallCheck(this, NavigationItem); - return possibleConstructorReturn(this, (NavigationItem.__proto__ || Object.getPrototypeOf(NavigationItem)).apply(this, arguments)); - } - - createClass(NavigationItem, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - var colorBasedClasses = this.props.darkText ? 'shell-navigation-menu-button shell-color-gray-dark shell-color-blue-on-hover' : 'shell-navigation-menu-button shell-link shell-link--white'; - - return React__default.createElement( - 'div', - { - className: 'shell-flex-child ' + shellStyles.navigationItem, - style: { lineHeight: 1 } - }, - React__default.createElement( - 'a', - { - className: 'shell-py6 shell-txt-s shell-txt-bold ' + colorBasedClasses, - 'data-test': 'nav-menu-item-' + this.props.name, - href: this.props.href - }, - this.props.children - ) - ); - } - }]); - return NavigationItem; -}(React__default.Component); - -var MobileMenuButton = function (_React$Component) { - inherits(MobileMenuButton, _React$Component); - - function MobileMenuButton() { - classCallCheck(this, MobileMenuButton); - return possibleConstructorReturn(this, (MobileMenuButton.__proto__ || Object.getPrototypeOf(MobileMenuButton)).apply(this, arguments)); - } - - createClass(MobileMenuButton, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - var extraMenuButtonClasses = void 0; - if (!this.props.darkText) { - extraMenuButtonClasses = 'shell-link shell-link--white'; - } else { - extraMenuButtonClasses = 'shell-color-blue'; - } - return React__default.createElement( - 'button', - { - id: 'mobile-nav-trigger-toggle', - 'aria-label': 'Toggle navigation', - className: extraMenuButtonClasses + ' shell-mr-neg6', - 'data-test': 'mobile-nav-trigger-toggle' - }, - React__default.createElement( - 'svg', - { - id: 'mobile-nav-trigger-menu', - viewBox: '0 0 18 18', - className: 'shell-mobile-nav__trigger shell-icon shell-transition shell-icon--l' - }, - React__default.createElement( - 'g', - null, - React__default.createElement('path', { - className: 'shell-mobile-nav__trigger__bar--top', - d: 'M4.2,6h9.6C14.5,6,15,5.6,15,5s-0.5-1-1.2-1H4.2C3.5,4,3,4.4,3,5S3.5,6,4.2,6z' - }), - React__default.createElement('path', { - className: 'shell-mobile-nav__trigger__bar--middle', - d: 'M13.8,8H4.2C3.5,8,3,8.4,3,9s0.5,1,1.2,1h9.6c0.7,0,1.2-0.4,1.2-1S14.5,8,13.8,8z' - }), - React__default.createElement('path', { - className: 'shell-mobile-nav__trigger__bar--bottom', - d: 'M13.8,12H4.2C3.5,12,3,12.4,3,13s0.5,1,1.2,1h9.6c0.7,0,1.2-0.4,1.2-1S14.5,12,13.8,12z' - }) - ) - ) - ); - } - }]); - return MobileMenuButton; -}(React__default.Component); - -MobileMenuButton.propTypes = { - darkText: PropTypes.bool -}; - -// This is currently used in the bottom half of the mobile navigation - -var NavigationDividedLinkList = function (_React$Component) { - inherits(NavigationDividedLinkList, _React$Component); - - function NavigationDividedLinkList() { - classCallCheck(this, NavigationDividedLinkList); - return possibleConstructorReturn(this, (NavigationDividedLinkList.__proto__ || Object.getPrototypeOf(NavigationDividedLinkList)).apply(this, arguments)); - } - - createClass(NavigationDividedLinkList, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - // Font size is larger for items with a heading in mobile - var linkFontSize = this.props.navigationType === 'mobile-navigation' ? 'shell-txt-m' : 'shell-txt-s'; - - // Calculate even column breaks - var firstColumnLength = Math.ceil(this.props.links.length / 2); - var firstColumnItems = this.props.links.slice(0, firstColumnLength).map(function (link, i) { - return React__default.createElement( - 'div', - { key: i, className: 'shell-mb0 shell-mt12' }, - React__default.createElement( - 'a', - { - href: link.to, - className: shellStyles.popoverNavLink + ' ' + linkFontSize, - 'data-nav-link': link.name, - 'data-test': 'mobile-nav-link-' + link.name - }, - link.name - ) - ); - }); - var secondColumnItems = this.props.links.slice(firstColumnLength).map(function (link, i) { - return React__default.createElement( - 'div', - { key: i, className: 'shell-mb0 shell-mt12' }, - React__default.createElement( - 'a', - { - href: link.to, - className: shellStyles.popoverNavLink + ' ' + linkFontSize, - 'data-nav-link': link.name, - 'data-test': 'mobile-nav-link-' + link.name - }, - link.name - ) - ); - }); - var items = React__default.createElement( - 'div', - { className: 'shell-grid shell-grid--gut12' }, - React__default.createElement( - 'div', - { className: 'shell-col shell-col--6' }, - firstColumnItems - ), - React__default.createElement( - 'div', - { className: 'shell-col shell-col--6' }, - secondColumnItems - ) - ); - - // Special case: the custom combination menu doesn't need a heading - var showNavHeading = this.props.name ? React__default.createElement( - 'div', - { className: shellStyles.popoverNavHeading }, - this.props.name - ) : ''; - return React__default.createElement( - 'div', - null, - showNavHeading, - items - ); - } - }]); - return NavigationDividedLinkList; -}(React__default.Component); - -NavigationDividedLinkList.propTypes = { - name: PropTypes.string, - navigationType: PropTypes.string.isRequired, - links: PropTypes.arrayOf(PropTypes.shape({ - to: PropTypes.string.isRequired, - name: PropTypes.string.isRequired, - description: PropTypes.string, - hideInHeader: PropTypes.bool - })).isRequired -}; - -// This is currently used in the top half of the mobile navigation - -var NavigationLinkList = function (_React$Component) { - inherits(NavigationLinkList, _React$Component); - - function NavigationLinkList() { - classCallCheck(this, NavigationLinkList); - return possibleConstructorReturn(this, (NavigationLinkList.__proto__ || Object.getPrototypeOf(NavigationLinkList)).apply(this, arguments)); - } - - createClass(NavigationLinkList, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - var _this2 = this; - - // Font size is larger for items with a heading in mobile - var linkFontSize = this.props.title && this.props.navigationType === 'mobile-navigation' ? 'shell-txt-l' : 'shell-txt-m'; - - // Special case: the custom combination menu doesn't need a heading - var navigationHeading = this.props.title ? React__default.createElement( - 'div', - { className: shellStyles.popupMenuNavHeading }, - this.props.title - ) : ''; - - var linkListItems = React__default.createElement( - 'ul', - null, - this.props.links.map(function (link, i) { - if (link.hideInMobile) { - return; - } - return React__default.createElement( - 'li', - { key: i }, - React__default.createElement( - 'a', - { - href: link.to, - 'data-nav-link': true, - 'data-test': _this2.props.navigationType + '-link-' + link.name - }, - React__default.createElement( - 'p', - { - className: shellStyles.popoverNavLink + ' ' + linkFontSize + ' shell-mb0 shell-mt12' - }, - link.name - ) - ) - ); - }) - ); - - return React__default.createElement( - 'div', - { className: 'shell-pt24' }, - navigationHeading, - linkListItems - ); - } - }]); - return NavigationLinkList; -}(React__default.Component); - -NavigationLinkList.propTypes = { - title: PropTypes.string, - navigationType: PropTypes.string.isRequired, - links: PropTypes.arrayOf(PropTypes.shape({ - to: PropTypes.string.isRequired, - name: PropTypes.string.isRequired, - description: PropTypes.string, - hideInHeader: PropTypes.bool, - hideInMobile: PropTypes.bool - })).isRequired -}; - -var MobileUserMenu = function (_React$Component) { - inherits(MobileUserMenu, _React$Component); - - function MobileUserMenu() { - classCallCheck(this, MobileUserMenu); - return possibleConstructorReturn(this, (MobileUserMenu.__proto__ || Object.getPrototypeOf(MobileUserMenu)).apply(this, arguments)); - } - - createClass(MobileUserMenu, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - return React__default.createElement( - 'div', - null, - React__default.createElement( - 'div', - { - className: 'shell-border-t shell-border--gray-light shell-mb30 shell-pt30', - 'data-test': 'mobile-user-menu', - 'data-generic-navigation': true, - style: { display: 'none' } - }, - React__default.createElement( - 'div', - { className: 'shell-flex-child shell-flex-child--grow' }, - React__default.createElement( - 'div', - { className: 'shell-grid shell-grid--gut12' }, - React__default.createElement( - 'div', - { className: 'shell-col shell-col--6' }, - React__default.createElement( - 'a', - { - href: '/account/', - className: shellStyles.popoverNavLink + ' shell-txt-m shell-mb0' - }, - 'Account' - ) - ), - React__default.createElement( - 'div', - { className: 'shell-col shell-col--6' }, - React__default.createElement( - 'a', - { - href: '/studio/', - className: shellStyles.popoverNavLink + ' shell-txt-m shell-mb0' - }, - 'Studio' - ) - ) - ) - ) - ), - React__default.createElement( - 'div', - { className: 'shell-bg-gray-faint shell-py24 shell-px24 shell-ml-neg24 shell-mr-neg24 shell-mb-neg24' }, - React__default.createElement( - 'div', - { 'data-display-block-authenticated': true }, - React__default.createElement( - 'div', - { className: 'shell-flex-parent shell-flex-parent--space-center-main shell-flex-parent--space-between-main' }, - React__default.createElement('div', { - 'data-user-name': true, - className: 'shell-flex-child shell-txt-s shell-color-gray' - }), - React__default.createElement( - 'div', - { className: 'shell-flex-child' }, - React__default.createElement( - 'button', - { - 'data-sign-out': true, - 'data-test': 'mobile-signout-button', - className: shellStyles.popoverNavLink + ' shell-txt-s shell-mb0' - }, - React__default.createElement( - 'div', - { className: 'shell-flex-parent shell-flex-parent--center-cross shell-txt-bold' }, - React__default.createElement( - 'svg', - { className: 'shell-icon shell-mr3', viewBox: '0 0 18 18' }, - React__default.createElement('path', { d: 'M4,4c0,0-1,0-1,1v8c0,1,1,1,1,1h4c0.6,0,1-0.4,1-1s-0.4-1-1-1H5V6h3c0.6,0,1-0.4,1-1S8.6,4,8,4H4z M11,5 c-0.3,0-0.5,0.1-0.7,0.3c-0.4,0.4-0.4,1,0,1.4L11.6,8H7C6.5,8,6,8.5,6,9s0.5,1,1,1h4.6l-1.3,1.3c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0 l2.8-2.9c0.2-0.2,0.4-0.5,0.4-0.9c0-0.3-0.2-0.6-0.4-0.9l-2.8-2.9C11.5,5.1,11.3,5,11,5L11,5z' }) - ), - React__default.createElement( - 'span', - { className: 'shell-flex-child' }, - 'Sign out' - ) - ) - ) - ) - ) - ), - React__default.createElement( - 'div', - { 'data-display-block-unauthenticated': true, style: { display: 'none' } }, - React__default.createElement( - 'a', - { - href: '/signin/', - className: shellStyles.popoverNavLink + ' shell-txt-m shell-w-full', - 'data-test': 'mobile-signin-button' - }, - React__default.createElement(NavigationHighlightLink, { label: 'Sign in' }) - ) - ) - ) - ); - } - }]); - return MobileUserMenu; -}(React__default.Component); - -MobileUserMenu.propTypes = { - className: PropTypes.string -}; - -var MOBILE_HEADER_HEIGHT = 72; // This number should match the actual height of the mobile header! - -var MobileNavigation = function (_React$Component) { - inherits(MobileNavigation, _React$Component); - - function MobileNavigation() { - classCallCheck(this, MobileNavigation); - return possibleConstructorReturn(this, (MobileNavigation.__proto__ || Object.getPrototypeOf(MobileNavigation)).apply(this, arguments)); - } - - createClass(MobileNavigation, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - var menuItemClasses = shellStyles.popoverNavLink + ' txt-l'; - - return React__default.createElement( - 'div', - { className: 'shell-mr-neg6 shell-flex-child shell-flex-parent shell-flex-parent--end-main shell-z1 shell-absolute shell-top shell-left shell-w-full' }, - React__default.createElement('div', { - id: 'mobile-nav-backdrop', - 'data-test': 'mobile-nav-backdrop', - className: 'shell-absolute shell-bottom shell-left shell-right shell-mobile-nav__backdrop', - style: { - top: MOBILE_HEADER_HEIGHT, - backgroundImage: 'linear-gradient(to bottom, transparent, rgba(31, 51, 73, .5))' - } - }), - React__default.createElement( - 'div', - { - id: 'mobile-nav-menu', - 'data-test': 'mobile-nav-menu', - className: shellStyles.mobilePopoverContainer + ' shell-w-full shell-animated-menu', - style: { - top: 0, - right: 0 - } - }, - React__default.createElement( - 'div', - { - className: 'shell-shadow-darken10-bold shell-bg-white shell-clip shell-px24', - style: { paddingTop: MOBILE_HEADER_HEIGHT } - }, - React__default.createElement( - 'div', - { className: 'shell-flex-parent--column', 'data-generic-navigation': true }, - React__default.createElement( - 'div', - { className: 'shell-grid shell-grid--gut12' }, - React__default.createElement( - 'div', - { className: 'shell-col shell-col--6' }, - React__default.createElement(NavigationLinkList, _extends({}, navigationMenuData.headerMainMenus.products.products, { - navigationType: 'mobile-navigation' - })), - React__default.createElement(NavigationLinkList, _extends({}, navigationMenuData.headerMainMenus.products.platforms, { - navigationType: 'mobile-navigation' - })) - ), - React__default.createElement( - 'div', - { className: 'shell-col shell-col--6' }, - React__default.createElement(NavigationLinkList, _extends({}, navigationMenuData.headerMainMenus.solutions.industries, { - navigationType: 'mobile-navigation' - })) - ) - ), - React__default.createElement( - 'div', - { className: 'shell-relative shell-mt30 shell-pt18 shell-pb30' }, - React__default.createElement('div', { className: 'shell-border-t shell-border--gray-light shell-absolute shell-top shell-left shell-right' }), - React__default.createElement(NavigationDividedLinkList, _extends({}, navigationMenuData.mobileCombinationMenu, { - navigationType: 'mobile-navigation' - })) - ) - ), - React__default.createElement( - 'div', - { - className: 'shell-flex-parent--column shell-mb24', - 'data-app-specific-navigation': true - }, - React__default.createElement( - 'a', - { href: '/studio/', className: menuItemClasses + ' shell-mb12' }, - 'Studio' - ), - React__default.createElement( - 'a', - { href: '/account/', className: menuItemClasses + ' shell-mb12' }, - 'Account' - ), - React__default.createElement( - 'a', - { - 'data-user-staff-mobile': true, - href: '/admin/', - className: 'shell-color-gray-dark shell-color-blue-on-hover txt-l shell-mb12', - style: { display: 'none' } - }, - 'Admin' - ), - React__default.createElement( - 'a', - { - href: '/account/settings/', - className: menuItemClasses + ' shell-mb12' - }, - 'Settings' - ), - React__default.createElement( - 'a', - { href: '/help/', className: menuItemClasses }, - 'Help' - ) - ), - React__default.createElement(MobileUserMenu, null) - ) - ) - ); - } - }]); - return MobileNavigation; -}(React__default.Component); - -var PageHeader = function (_React$Component) { - inherits(PageHeader, _React$Component); - - function PageHeader() { - classCallCheck(this, PageHeader); - return possibleConstructorReturn(this, (PageHeader.__proto__ || Object.getPrototypeOf(PageHeader)).apply(this, arguments)); - } - - createClass(PageHeader, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'getMenuID', - value: function getMenuID(menuName) { - return menuName.replace(/\s+/g, '').toLowerCase() + '-menu'; - } - }, { - key: 'getTriggerID', - value: function getTriggerID(menuID) { - return menuID + '-trigger'; - } - }, { - key: 'getPointerID', - value: function getPointerID(menuID) { - return menuID + '-pointer'; - } - }, { - key: 'renderIconReference', - value: function renderIconReference() { - // Reference shell specific icon for chevron-right - return React__default.createElement( - 'svg', - { - xmlns: 'http://www.w3.org/2000/svg', - xmlnsXlink: 'http://www.w3.org/1999/xlink', - className: 'shell-none' - }, - React__default.createElement( - 'symbol', - { id: 'shell-icon-chevron-right', viewBox: '0 0 18 18' }, - React__default.createElement('path', { d: 'M7.5 13.105a.806.806 0 0 1-.537-1.407l3.055-2.724-3.08-2.997a.806.806 0 1 1 1.124-1.155l3.7 3.6a.805.805 0 0 1-.025 1.18l-3.7 3.3a.803.803 0 0 1-.537.204z' }) - ) - ); - } - }, { - key: 'render', - value: function render() { - var logoClasses = 'shell-mb-logo'; - var logoOverlay = null; - if (!this.props.darkText) { - logoClasses += ' shell-mb-logo--white'; - // When we're rendering the white logo, we also need to render a blue logo to display - // when the mobile navigation opens. - logoOverlay = React__default.createElement('a', { - className: 'shell-mb-logo shell-mobile-nav__logo--overlay shell-absolute shell-top shell-left', - href: '/', - 'aria-label': 'Mapbox' - }); - } - - var headerClasses = 'relative'; - if (this.props.position === 'absolute') { - headerClasses = 'shell-absolute shell-w-full shell-z1'; - } - - return React__default.createElement( - 'header', - { className: headerClasses, 'data-swiftype-index': 'false' }, - React__default.createElement( - 'div', - { className: 'shell-none limiter shell-mt24 shell-flex-parent-mm shell-flex-parent--center-cross' }, - React__default.createElement('a', { - className: 'shell-flex-child shell-flex-child--no-shrink ' + logoClasses, - href: '/', - 'aria-label': 'Mapbox', - 'data-test': 'logo-link' - }), - React__default.createElement( - 'div', - { className: 'shell-flex-child shell-flex-child--grow shell-flex-parent shell-flex-parent--center-cross shell-flex-parent--end-main' }, - React__default.createElement( - 'div', - { - className: 'shell-flex-parent shell-flex-parent--center-cross shell-flex-parent--end-main', - 'data-app-specific-navigation': true, - 'data-test': 'app-specific-navigation', - style: { display: 'none' } - }, - React__default.createElement( - NavigationItem, - { - darkText: this.props.darkText, - href: '/studio/', - name: 'Studio' - }, - 'Studio' - ), - React__default.createElement( - NavigationItem, - { - darkText: this.props.darkText, - href: '/account/', - name: 'Account' - }, - 'Account' - ) - ), - React__default.createElement( - 'div', - { - className: 'shell-flex-parent shell-flex-parent--center-cross shell-flex-parent--end-main', - 'data-generic-navigation': true, - 'data-test': 'generic-navigation', - style: { display: 'none' } - }, - React__default.createElement(ProductsMenu, { darkText: this.props.darkText }), - React__default.createElement(SolutionsMenu, { darkText: this.props.darkText }), - React__default.createElement(DocumentationMenu, { darkText: this.props.darkText }), - React__default.createElement(CompanyMenu, { darkText: this.props.darkText }), - React__default.createElement( - NavigationItem, - { - darkText: this.props.darkText, - href: '/pricing/', - name: 'Pricing' - }, - 'Pricing' - ), - React__default.createElement( - NavigationItem, - { - darkText: this.props.darkText, - href: '/blog/', - name: 'Blog' - }, - 'Blog' - ) - ) - ), - React__default.createElement( - 'div', - { className: 'shell-flex-child shell-ml6 shell-ml12-ml shell-ml18-mxl' }, - React__default.createElement(UserMenu, { darkText: this.props.darkText }) - ) - ), - React__default.createElement( - 'div', - { - id: 'page-header-content', - className: 'shell-none-mm limiter shell-py12 shell-flex-parent shell-flex-parent--center-cross shell-flex-parent--space-between-main shell-relative shell-z2' - }, - React__default.createElement( - 'div', - { className: 'shell-mb-logo__wrapper shell-flex-child shell-relative' }, - React__default.createElement('a', { - className: logoClasses, - href: '/', - 'aria-label': 'Mapbox', - 'data-test': 'mobile-logo-link' - }), - logoOverlay - ), - React__default.createElement(MobileMenuButton, { darkText: this.props.darkText }) - ), - React__default.createElement(MobileNavigation, null), - this.renderIconReference() - ); - } - }]); - return PageHeader; -}(React__default.Component); - -PageHeader.propTypes = { - darkText: PropTypes.bool, - position: PropTypes.oneOf(['absolute', 'static']) -}; - -PageHeader.defaultProps = { - darkText: false, - position: 'absolute' -}; - -var FooterLegalStrip = function (_React$Component) { - inherits(FooterLegalStrip, _React$Component); - - function FooterLegalStrip() { - classCallCheck(this, FooterLegalStrip); - return possibleConstructorReturn(this, (FooterLegalStrip.__proto__ || Object.getPrototypeOf(FooterLegalStrip)).apply(this, arguments)); - } - - createClass(FooterLegalStrip, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - return React__default.createElement( - 'div', - { className: this.props.className }, - React__default.createElement( - 'span', - { className: 'shell-mr18' }, - '\xA9 Mapbox' - ), - React__default.createElement( - 'a', - { - className: 'shell-link shell-color-darken50 shell-color-blue-on-hover shell-mr18', - href: '/tos/' - }, - 'Terms' - ), - React__default.createElement( - 'a', - { - className: 'shell-link shell-color-darken50 shell-color-blue-on-hover shell-mr18', - href: '/privacy/' - }, - 'Privacy' - ), - React__default.createElement( - 'a', - { - className: 'shell-link shell-color-darken50 shell-color-blue-on-hover', - href: '/platform/security/' - }, - 'Security' - ) - ); - } - }]); - return FooterLegalStrip; -}(React__default.Component); - -FooterLegalStrip.propTypes = { - className: PropTypes.string -}; - -var FooterSocialMediaStrip = function (_React$Component) { - inherits(FooterSocialMediaStrip, _React$Component); - - function FooterSocialMediaStrip() { - classCallCheck(this, FooterSocialMediaStrip); - return possibleConstructorReturn(this, (FooterSocialMediaStrip.__proto__ || Object.getPrototypeOf(FooterSocialMediaStrip)).apply(this, arguments)); - } - - createClass(FooterSocialMediaStrip, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'render', - value: function render() { - return React__default.createElement( - 'div', - { className: this.props.className }, - React__default.createElement( - 'a', - { - 'aria-label': 'Github', - className: 'shell-color-blue shell-color-gray-dark-on-hover', - href: 'https://github.com/mapbox' - }, - React__default.createElement( - 'svg', - { - viewBox: '0 0 1790 1790', - className: 'shell-mr18 shell-icon shell-icon--s shell-inline' - }, - React__default.createElement('path', { d: 'M704 1216q0 40-12.5 82t-43 76-72.5 34-72.5-34-43-76-12.5-82 12.5-82 43-76 72.5-34 72.5 34 43 76 12.5 82zm640 0q0 40-12.5 82t-43 76-72.5 34-72.5-34-43-76-12.5-82 12.5-82 43-76 72.5-34 72.5 34 43 76 12.5 82zm160 0q0-120-69-204t-187-84q-41 0-195 21-71 11-157 11t-157-11q-152-21-195-21-118 0-187 84t-69 204q0 88 32 153.5t81 103 122 60 140 29.5 149 7h168q82 0 149-7t140-29.5 122-60 81-103 32-153.5zm224-176q0 207-61 331-38 77-105.5 133t-141 86-170 47.5-171.5 22-167 4.5q-78 0-142-3t-147.5-12.5-152.5-30-137-51.5-121-81-86-115q-62-123-62-331 0-237 136-396-27-82-27-170 0-116 51-218 108 0 190 39.5t189 123.5q147-35 309-35 148 0 280 32 105-82 187-121t189-39q51 102 51 218 0 87-27 168 136 160 136 398z' }) - ) - ), - React__default.createElement( - 'a', - { - 'aria-label': 'Twitter', - className: 'shell-color-blue shell-color-gray-dark-on-hover ', - href: 'https://twitter.com/mapbox/' - }, - React__default.createElement( - 'svg', - { - viewBox: '0 0 50 50', - className: 'shell-mr18 shell-icon shell-icon--s shell-inline' - }, - React__default.createElement( - 'g', - { id: '77744030-a5d8-4d71-88ad-2c70d4dcad7b', 'data-name': 'svg' }, - React__default.createElement('path', { d: 'M15.72,45.31c18.87,0,29.19-15.63,29.19-29.19,0-.44,0-.89,0-1.33A20.87,20.87,0,0,0,50,9.49a20.48,20.48,0,0,1-5.89,1.61,10.29,10.29,0,0,0,4.51-5.67A20.56,20.56,0,0,1,42.1,7.92a10.27,10.27,0,0,0-17.48,9.36A29.12,29.12,0,0,1,3.48,6.56,10.27,10.27,0,0,0,6.66,20.25,10.18,10.18,0,0,1,2,19v.13a10.26,10.26,0,0,0,8.23,10.06,10.24,10.24,0,0,1-4.63.18,10.27,10.27,0,0,0,9.58,7.12,20.58,20.58,0,0,1-12.74,4.4A20.88,20.88,0,0,1,0,40.71a29,29,0,0,0,15.72,4.6' }) - ) - ) - ), - React__default.createElement( - 'a', - { - 'aria-label': 'LinkedIn', - className: 'shell-color-blue shell-color-gray-dark-on-hover', - href: 'https://www.linkedin.com/company/mapbox' - }, - React__default.createElement( - 'svg', - { - viewBox: '0 0 50 50', - className: 'shell-mr18 shell-icon shell-icon--s shell-inline' - }, - React__default.createElement( - 'g', - { id: '875e301f-501b-48d2-a663-a3a855ad9d70', 'data-name': 'svg' }, - React__default.createElement('rect', { x: '1.32', y: '13.16', width: '10.53', height: '36.84' }), - React__default.createElement('path', { d: 'M36.84,13.16c-7.34,0-8.61,2.68-9.21,5.26V13.16H17.11V50H27.63V28.95c0-3.41,1.85-5.26,5.26-5.26s5.26,1.81,5.26,5.26V50H48.68V31.58C48.68,21.05,47.31,13.16,36.84,13.16Z' }), - React__default.createElement('circle', { cx: '6.58', cy: '5.26', r: '5.26' }) - ) - ) - ), - React__default.createElement( - 'a', - { - 'aria-label': 'Facebook', - className: 'shell-color-blue shell-color-gray-dark-on-hover', - href: 'https://www.facebook.com/Mapbox' - }, - React__default.createElement( - 'svg', - { - viewBox: '0 0 50 50', - className: 'shell-mr18 shell-icon shell-icon--s shell-inline' - }, - React__default.createElement( - 'g', - { id: '38f48a9c-03c5-4a1e-8aed-38100e1cd6a4', 'data-name': 'svg' }, - React__default.createElement('path', { - id: 'c5d5da0e-6004-406b-ad77-825ffd134c21', - 'data-name': 'f', - d: 'M28.87,50V27.19h7.65l1.15-8.89h-8.8V12.63c0-2.57.71-4.33,4.41-4.33H38v-8A63.78,63.78,0,0,0,31.13,0C24.34,0,19.69,4.14,19.69,11.75V18.3H12v8.89h7.68V50Z' - }) - ) - ) - ), - React__default.createElement( - 'a', - { - 'aria-label': 'Dribbble', - className: 'shell-color-blue shell-color-gray-dark-on-hover', - href: 'https://dribbble.com/mapbox' - }, - React__default.createElement( - 'svg', - { - viewBox: '0 0 216 216', - className: 'shell-mr18 shell-icon shell-icon--s shell-inline' - }, - React__default.createElement( - 'g', - { id: 'bce6e84c-15aa-4744-93d1-a9e4a673398a', 'data-name': 'ball' }, - React__default.createElement( - 'g', - { id: '99079e24-a239-40f3-bf61-84ebc8f0b2ce', 'data-name': 'ball' }, - React__default.createElement('path', { d: 'M108,15.78a92.16,92.16,0,1,0,92.16,92.16A92.27,92.27,0,0,0,108,15.78ZM169,58.28a78.31,78.31,0,0,1,17.78,49c-2.6-.55-28.62-5.83-54.81-2.54-.55-1.35-1.12-2.7-1.7-4.06-1.63-3.84-3.39-7.65-5.22-11.4C154.1,77.44,167.29,60.53,169,58.28ZM108,29.34A78.41,78.41,0,0,1,160.2,49.18c-1.41,2-13.26,17.94-41.25,28.43A421.91,421.91,0,0,0,89.58,31.53,79,79,0,0,1,108,29.34ZM74.56,36.82a503.63,503.63,0,0,1,29.18,45.53A293.82,293.82,0,0,1,31,91.94,79,79,0,0,1,74.56,36.82ZM29.31,108.06c0-.8,0-1.61,0-2.41,3.44.08,41.59.57,80.9-11.2,2.25,4.41,4.4,8.89,6.38,13.36-1,.29-2.08.61-3.1.94-40.6,13.12-62.2,48.89-64,51.94A78.39,78.39,0,0,1,29.31,108.06ZM108,186.78a78.29,78.29,0,0,1-48.31-16.62c1.41-2.9,17.35-33.69,61.75-49.16l.52-.17a326.92,326.92,0,0,1,16.79,59.69A78.19,78.19,0,0,1,108,186.78Zm44-13.47a338.31,338.31,0,0,0-15.29-56.12c24.67-4,46.34,2.51,49,3.36A78.84,78.84,0,0,1,152,173.31Z' }) - ) - ) - ) - ), - React__default.createElement( - 'a', - { - 'aria-label': 'Instagram', - className: 'shell-color-blue shell-color-gray-dark-on-hover', - href: 'https://www.instagram.com/Mapbox' - }, - React__default.createElement( - 'svg', - { - viewBox: '0 0 50 50', - className: 'shell-icon shell-icon--s shell-inline' - }, - React__default.createElement( - 'g', - { id: 'fb2f6c01-da64-4dee-86ea-29fec95d4f45', 'data-name': 'svg' }, - React__default.createElement('path', { d: 'M25,0c-6.79,0-7.64,0-10.31.15A18.35,18.35,0,0,0,8.62,1.31,12.25,12.25,0,0,0,4.2,4.2,12.25,12.25,0,0,0,1.31,8.62,18.35,18.35,0,0,0,.15,14.69C0,17.36,0,18.21,0,25s0,7.64.15,10.31a18.35,18.35,0,0,0,1.16,6.07A12.26,12.26,0,0,0,4.2,45.8a12.25,12.25,0,0,0,4.43,2.88,18.35,18.35,0,0,0,6.07,1.16C17.36,50,18.21,50,25,50s7.64,0,10.31-.15a18.35,18.35,0,0,0,6.07-1.16,12.78,12.78,0,0,0,7.31-7.31,18.35,18.35,0,0,0,1.16-6.07C50,32.64,50,31.79,50,25s0-7.64-.15-10.31a18.35,18.35,0,0,0-1.16-6.07A12.25,12.25,0,0,0,45.8,4.2a12.26,12.26,0,0,0-4.43-2.88A18.35,18.35,0,0,0,35.31.15C32.64,0,31.79,0,25,0Zm0,4.5c6.68,0,7.47,0,10.1.15a13.83,13.83,0,0,1,4.64.86,7.75,7.75,0,0,1,2.87,1.87,7.75,7.75,0,0,1,1.87,2.87,13.83,13.83,0,0,1,.86,4.64c.12,2.64.15,3.43.15,10.1s0,7.47-.15,10.1a13.83,13.83,0,0,1-.86,4.64,8.28,8.28,0,0,1-4.74,4.74,13.83,13.83,0,0,1-4.64.86c-2.64.12-3.43.15-10.1.15s-7.47,0-10.1-.15a13.83,13.83,0,0,1-4.64-.86,7.74,7.74,0,0,1-2.87-1.87,7.75,7.75,0,0,1-1.87-2.87,13.83,13.83,0,0,1-.86-4.64C4.53,32.47,4.5,31.68,4.5,25s0-7.47.15-10.1a13.83,13.83,0,0,1,.86-4.64A7.75,7.75,0,0,1,7.38,7.38a7.75,7.75,0,0,1,2.87-1.87,13.83,13.83,0,0,1,4.64-.86c2.64-.12,3.43-.15,10.1-.15' }), - React__default.createElement('path', { d: 'M25,33.33A8.33,8.33,0,1,1,33.33,25,8.33,8.33,0,0,1,25,33.33Zm0-21.17A12.84,12.84,0,1,0,37.84,25,12.84,12.84,0,0,0,25,12.16Z' }), - React__default.createElement('path', { d: 'M41.35,11.65a3,3,0,1,1-3-3,3,3,0,0,1,3,3Z' }) - ) - ) - ) - ); - } - }]); - return FooterSocialMediaStrip; -}(React__default.Component); - -FooterSocialMediaStrip.propTypes = { - className: PropTypes.string -}; - -var PageFooter = function (_Component) { - inherits(PageFooter, _Component); - - function PageFooter() { - classCallCheck(this, PageFooter); - return possibleConstructorReturn(this, (PageFooter.__proto__ || Object.getPrototypeOf(PageFooter)).apply(this, arguments)); - } - - createClass(PageFooter, [{ - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate() { - return false; - } - }, { - key: 'renderLogo', - value: function renderLogo() { - return React__default.createElement( - 'div', - { className: 'shell-footer-column shell-col shell-col--6 shell-flex-child shell-mt24 shell-mt0-mm shell-none shell-block-ml' }, - React__default.createElement('a', { - className: 'shell-mb-logo-m', - href: '/', - 'aria-label': 'Mapbox', - 'data-test': 'logo-link' - }) - ); - } - }, { - key: 'renderMenuLinkList', - value: function renderMenuLinkList(menuData) { - if (!menuData.links || menuData.links.length === 0) return null; - return menuData.links.map(function (link, index) { - if (link.hideInFooter) return; - return React__default.createElement( - 'div', - { className: 'shell-block', key: index }, - React__default.createElement( - 'a', - { - href: link.to, - className: 'shell-txt-s shell-color-gray-dark shell-color-blue-on-hover' - }, - link.name - ) - ); - }); - } - }, { - key: 'renderMenuHighlightedLinkList', - value: function renderMenuHighlightedLinkList(menuData) { - if (!menuData.highlightedLinks || menuData.highlightedLinks.length === 0) return null; - var firstVisibleHighlightedLink = false; - return menuData.highlightedLinks.map(function (link, index) { - if (link.hideInFooter) return; - if (!firstVisibleHighlightedLink) { - firstVisibleHighlightedLink = true; - return React__default.createElement( - 'div', - { className: 'shell-block shell-mt24', key: index }, - React__default.createElement( - 'div', - { className: 'shell-inline shell-pt12 shell-border-t shell-border--gray-light' }, - React__default.createElement( - 'a', - { - className: 'shell-txt-s shell-color-gray-dark shell-color-blue-on-hover', - href: link.to - }, - link.name - ) - ) - ); - } - return React__default.createElement( - 'div', - { className: 'shell-inline-block shell-mt6', key: index }, - React__default.createElement( - 'a', - { - className: 'shell-txt-s shell-color-gray-dark shell-color-blue-on-hover', - href: link.to - }, - link.name - ) - ); - }); - } - }, { - key: 'renderMenus', - value: function renderMenus() { - var _this2 = this; - - var footerColumnItemsIds = ['productsMenu', 'useCaseMenu', 'resourcesMenu', 'companyMenu']; - return footerColumnItemsIds.map(function (columnId, index) { - var columnClasses = 'shell-footer-column shell-col shell-col--6 shell-flex-child shell-mt24 shell-mt0-mm'; - if (index === footerColumnItemsIds.length - 1) columnClasses += ' mb0-mm mb24'; - var columnData = columnId in navigationMenuData.headerMainMenus ? navigationMenuData.headerMainMenus[columnId] : navigationMenuData[columnId]; - return React__default.createElement( - 'div', - { key: index, className: columnClasses }, - React__default.createElement( - 'div', - { className: shellStyles.popupMenuNavHeading + ' shell-mb3' }, - columnData.name - ), - _this2.renderMenuLinkList(columnData), - _this2.renderMenuHighlightedLinkList(columnData) - ); - }); - } - }, { - key: 'renderLegalAndSocialMedia', - value: function renderLegalAndSocialMedia() { - return React__default.createElement( - 'div', - { - id: 'page-footer-legal-social', - className: 'shell-grid shell-txt-s shell-color-darken50 shell-py12 shell-py0-ml shell-mt42-ml' - }, - React__default.createElement(FooterLegalStrip, { className: 'shell-col shell-col--12 shell-col--6-mm shell-my12' }), - React__default.createElement(FooterSocialMediaStrip, { className: 'shell-col shell-col--12 shell-col--6-mm shell-my12 shell-footer-fr' }) - ); - } - }, { - key: 'render', - value: function render() { - return React__default.createElement( - 'footer', - { - id: 'page-footer', - className: 'shell-py12 shell-py48-ml', - 'data-swiftype-index': 'false' - }, - React__default.createElement( - 'div', - { className: 'limiter' }, - React__default.createElement( - 'div', - { - id: 'page-footer-nav', - className: 'shell-grid shell-mt24 shell-flex-parent-mm shell-flex-parent--space-between-main-mm' - }, - this.renderLogo(), - this.renderMenus() - ), - this.renderLegalAndSocialMedia() - ) - ); - } - }]); - return PageFooter; -}(React.Component); - -var DEFAULT_SOCIAL_IMAGE_URL = 'https://www.mapbox.com/static/social-media/social-1200x630.png'; -var DEFAULT_SOCIAL_IMAGE_THUMBNAIL_URL = 'https://www.mapbox.com/static/social-media/social-120x120.png'; - -var MetaTagger = function (_React$PureComponent) { - inherits(MetaTagger, _React$PureComponent); - - function MetaTagger() { - classCallCheck(this, MetaTagger); - return possibleConstructorReturn(this, (MetaTagger.__proto__ || Object.getPrototypeOf(MetaTagger)).apply(this, arguments)); - } - - createClass(MetaTagger, [{ - key: 'render', - value: function render() { - var props = this.props; - - var suffixedTitle = /^Mapbox/.test(props.title) ? props.title : props.title + ' | Mapbox'; - var preppedDescription = props.description.replace(/\s+/g, ' '); - var prodUrl = 'https://www.mapbox.com'; - if (props.pathname[0] !== '/') prodUrl += '/'; - prodUrl += props.pathname; - - var metaItems = [{ name: 'description', content: preppedDescription }]; - - metaItems.push({ name: 'twitter:title', content: props.title }, { property: 'og:title', content: props.title }, { name: 'twitter:description', content: preppedDescription }, { property: 'og:description', content: preppedDescription }, { property: 'og:url', content: prodUrl }, { property: 'og:type', content: 'website' }, { - class: 'swiftype', - name: 'title', - 'data-type': 'string', - content: props.title - }, { - class: 'swiftype', - name: 'excerpt', - 'data-type': 'string', - content: props.description - }, { name: 'twitter:image:alt', content: props.imageAlt }, { property: 'og:image', content: props.imageUrl }, { - class: 'swiftype', - name: 'image', - 'data-type': 'enum', - content: props.imageUrl - }, - // https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android - { name: 'theme-color', content: '#4264fb' }); - - if (props.largeImage) { - metaItems.push({ name: 'twitter:card', content: 'summary_large_image' }, { name: 'twitter:image', content: props.imageUrl }); - } else { - metaItems.push({ name: 'twitter:card', content: 'summary' }, { name: 'twitter:image', content: props.imageUrlThumbnail }); - } - - return React__default.createElement(Helmet__default, { title: suffixedTitle, meta: metaItems }); - } - }]); - return MetaTagger; -}(React__default.PureComponent); - -MetaTagger.propTypes = { - title: PropTypes.string.isRequired, - description: PropTypes.string.isRequired, - pathname: PropTypes.string.isRequired, - imageUrl: PropTypes.string, - imageUrlThumbnail: PropTypes.string, - imageAlt: PropTypes.string, - largeImage: PropTypes.bool -}; - -MetaTagger.defaultProps = { - imageUrl: DEFAULT_SOCIAL_IMAGE_URL, - imageUrlThumbnail: DEFAULT_SOCIAL_IMAGE_THUMBNAIL_URL, - imageAlt: 'Mapbox', - largeImage: true -}; - -/* globals MapboxPageShell */ -var pageShellInitialized = false; -var lastUrl = void 0; - -var ReactPageShell = function (_React$Component) { - inherits(ReactPageShell, _React$Component); - - function ReactPageShell() { - classCallCheck(this, ReactPageShell); - return possibleConstructorReturn(this, (ReactPageShell.__proto__ || Object.getPrototypeOf(ReactPageShell)).apply(this, arguments)); - } - - createClass(ReactPageShell, [{ - key: 'componentDidMount', - value: function componentDidMount() { - if (!window.MapboxPageShell) throw new Error('MapboxPageShell not loaded'); - - if (!pageShellInitialized) { - this.initialize(); - } else { - MapboxPageShell.initialize(); - } - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate() { - // Avoid reinitializing if we're actually on the same page. - var currentUrl = window.location.href; - if (currentUrl === lastUrl) return; - lastUrl = currentUrl; - MapboxPageShell.initialize(); - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - MapboxPageShell.removeNavigation(); - } - }, { - key: 'initialize', - value: function initialize() { - var _this2 = this; - - // On the dev-server, navigation elements weren't mounted when - // MapboxPageShell first initialized the nav. - MapboxPageShell.initialize(); - MapboxPageShell.afterUserCheck(function () { - if (_this2.props.onUser) { - _this2.props.onUser(MapboxPageShell.getUser(), MapboxPageShell.getUserPublicAccessToken()); - } - }); - pageShellInitialized = true; - } - }, { - key: 'render', - value: function render() { - var footer = void 0; - if (this.props.includeFooter) { - footer = React__default.createElement(PageFooter, null); - } - - var nonFooterClasses = 'shell-flex-child shell-flex-child--grow'; - if (this.props.nonFooterBgClass) { - nonFooterClasses += ' ' + this.props.nonFooterBgClass; - } - - var header = void 0; - if (this.props.includeHeader) { - header = React__default.createElement(PageHeader, { darkText: this.props.darkHeaderText }); - } - - return React__default.createElement( - 'div', - null, - React__default.createElement(BrowserCompatibilityWarning, null), - React__default.createElement( - 'div', - { - id: 'page-shell', - className: 'shell-flex-parent shell-flex-parent--column', - style: { minHeight: '100vh', overflowX: 'hidden' } - }, - React__default.createElement(PageHelmet, null), - React__default.createElement(MetaTagger, this.props.meta), - React__default.createElement( - 'div', - { className: nonFooterClasses }, - React__default.createElement( - 'div', - { className: 'shell-wrapper' }, - header - ), - React__default.createElement( - 'main', - { style: { zIndex: 0, position: 'relative', display: 'block' } }, - this.props.children - ) - ), - React__default.createElement( - 'div', - { className: 'shell-flex-child shell-wrapper' }, - footer - ) - ) - ); - } - }]); - return ReactPageShell; -}(React__default.Component); - -ReactPageShell.propTypes = { - meta: PropTypes.shape({ - title: PropTypes.string.isRequired, - description: PropTypes.string.isRequired, - pathname: PropTypes.string - }).isRequired, - onUser: PropTypes.func, - darkHeaderText: PropTypes.bool, - includeHeader: PropTypes.bool, - includeFooter: PropTypes.bool, - children: PropTypes.node, - nonFooterBgClass: PropTypes.string -}; - -ReactPageShell.defaultProps = { - darkHeaderText: false, - includeHeader: true, - includeFooter: true -}; - -module.exports = ReactPageShell;