Commit c3c833fb authored by Simon's avatar Simon

In progress

parent 8a2f7f01
...@@ -68,6 +68,12 @@ ...@@ -68,6 +68,12 @@
height: 348px; height: 348px;
} }
} }
.l-section--landing-7 { display: flex; align-items: flex-end; padding: 0 !important; background-color: #172333; height: 240px;
@media (--min--medium) {
height: 348px;
}
}
/* critical:end */ /* critical:end */
...@@ -111,6 +117,8 @@ ...@@ -111,6 +117,8 @@
.l-section--landing-6 { background-position: 50% 20%; } .l-section--landing-6 { background-position: 50% 20%; }
.l-section--landing-7 { background-position: 50% 20%; }
.js { .js {
.l-section { background-image: none; } .l-section { background-image: none; }
} }
...@@ -127,6 +135,7 @@ ...@@ -127,6 +135,7 @@
.l-section--landing-4 { background-image: url(/wp-content/themes/biuro/i/sections/landing-4.jpg); } .l-section--landing-4 { background-image: url(/wp-content/themes/biuro/i/sections/landing-4.jpg); }
.l-section--landing-5 { background-image: url(/wp-content/themes/biuro/i/sections/landing-5.jpg); } .l-section--landing-5 { background-image: url(/wp-content/themes/biuro/i/sections/landing-5.jpg); }
.l-section--landing-6 { background-image: url(/wp-content/themes/biuro/i/sections/landing-6.jpg); } .l-section--landing-6 { background-image: url(/wp-content/themes/biuro/i/sections/landing-6.jpg); }
.l-section--landing-7 { background-image: url(/wp-content/themes/biuro/i/sections/landing-6.jpg); }
} }
.js.webp { .js.webp {
...@@ -140,4 +149,5 @@ ...@@ -140,4 +149,5 @@
.l-section--landing-4 { background-image: url(/wp-content/themes/biuro/i/sections/landing-4.webp); } .l-section--landing-4 { background-image: url(/wp-content/themes/biuro/i/sections/landing-4.webp); }
.l-section--landing-5 { background-image: url(/wp-content/themes/biuro/i/sections/landing-5.webp); } .l-section--landing-5 { background-image: url(/wp-content/themes/biuro/i/sections/landing-5.webp); }
.l-section--landing-6 { background-image: url(/wp-content/themes/biuro/i/sections/landing-6.webp); } .l-section--landing-6 { background-image: url(/wp-content/themes/biuro/i/sections/landing-6.webp); }
.l-section--landing-7 { background-image: url(/wp-content/themes/biuro/i/sections/landing-6.webp); }
} }
...@@ -25,6 +25,7 @@ c-: Signify that something is a Component. This is a concrete, implementation-sp ...@@ -25,6 +25,7 @@ c-: Signify that something is a Component. This is a concrete, implementation-sp
@import '_component--contact-landing-4.css'; @import '_component--contact-landing-4.css';
@import '_component--contact-landing-5.css'; @import '_component--contact-landing-5.css';
@import '_component--contact-landing-6.css'; @import '_component--contact-landing-6.css';
@import '_component--contact-landing-7.css';
@import '_component--copyright.css'; @import '_component--copyright.css';
@import '_component--data-controller.css'; @import '_component--data-controller.css';
@import '_component--divisions.css'; @import '_component--divisions.css';
...@@ -41,6 +42,7 @@ c-: Signify that something is a Component. This is a concrete, implementation-sp ...@@ -41,6 +42,7 @@ c-: Signify that something is a Component. This is a concrete, implementation-sp
@import '_component--jobs-manager.css'; @import '_component--jobs-manager.css';
@import '_component--jobs-pagination.css'; @import '_component--jobs-pagination.css';
@import '_component--jobs-section.css'; @import '_component--jobs-section.css';
@import '_component--legal.css';
@import '_component--logo.css'; @import '_component--logo.css';
@import '_component--members.css'; @import '_component--members.css';
@import '_component--membership.css'; @import '_component--membership.css';
......
/* ------------- Component: contact section ------------- */
/* critical:start */
.c-contact-landing-7 { padding: 10px 0;
@media (--max--medium) {
max-width: 440px; margin: 0 auto;
}
@media (--min--medium) {
padding: 20px 0;
}
}
.c-contact-landing-7--inner { max-width: 1000px; padding: 0 10px; margin: 0 auto;
@media (--min--medium) {
display: flex; justify-content: space-between;
}
}
.c-contact-landing-7--content { color: #2A3644; font-weight: 500; padding: 15px 0 20px 15px;
@media (--min--medium) {
flex: 1 1 40%; max-width: 500px; padding: 0 0 0 90px;
}
img { max-width: 100%; height: auto; }
span { display: block; overflow: hidden; line-height: 22px; padding: 2px 0 0 0; }
li { padding: 5px 0; }
}
.c-contact-landing-7--img { margin-top: 40px; }
.c-contact-landing-7--form { max-width: 420px;
@media (--min--medium) {
flex: 1 1 40%; margin-top: -180px;
}
}
/* critical:end */
.c-contact-landing-7--aside { padding: 10px 20px; margin: 0 -10px 0 -25px; background: linear-gradient(90deg, #C5F3EC 0%, #E4FAF7 100%);
@media (--min--medium) {
width: 549px; margin: 40px 0 0 40px; padding: 10px; border-radius: 33px; overflow: hidden;
}
svg { float: left; margin-right: 25px;
@media (--max--medium) {
display: none;
}
}
p { overflow: hidden; color: #149183; margin: 0; text-align: center;
@media (--min--medium) {
max-width: 300px; padding: 5px 0 0; text-align: left;
}
}
}
...@@ -118,6 +118,29 @@ ...@@ -118,6 +118,29 @@
} }
} }
.c-heading--landing-7 { color: #fff; padding: 0 20px;
h1 { /* max-width: 230px; */ color: #fff; font-size: 30px; line-height: 35px; margin-bottom: 13px;
@media (--min--medium) {
max-width: 500px; font-size: 36px; line-height: 45px; margin-bottom: 17px;
}
span { color: #19C5A7; }
}
@media (--max--medium) {
max-width: 440px; margin: 0 auto;
}
@media (--min--medium) {
padding-left: 110px;
}
h2 {
color: #fff; font-size: 19px; line-height: 22px;
@media (--min--medium) {
font-size: 25px; line-height: 30px;
}
}
}
.c-heading--recommend-friend { .c-heading--recommend-friend {
h1 { max-width: 420px; color: #fff; font-size: 26px; line-height: 37px; padding: 0 20px 20px; h1 { max-width: 420px; color: #fff; font-size: 26px; line-height: 37px; padding: 0 20px 20px;
@media (--max--medium) { @media (--max--medium) {
......
...@@ -4,10 +4,26 @@ ...@@ -4,10 +4,26 @@
.c-jobs { } .c-jobs { }
.c-jobs--ua {
margin-bottom: 38px;
}
.c-jobs--inner { .c-jobs--inner {
@extend .l-inner-small; @extend .l-inner-small;
} }
.c-jobs--info {
max-width: 626px;
margin: 0 auto;
padding: 40px 20px 0;
text-align: center;
color: #64696D;
a {
color: #0245CE;
}
}
.c-jobs--inner-custom { max-width: 990px; margin-right: auto; margin-left: auto; padding-right: 10px; padding-left: 10px; } .c-jobs--inner-custom { max-width: 990px; margin-right: auto; margin-left: auto; padding-right: 10px; padding-left: 10px; }
.c-jobs--table { .c-jobs--table {
......
/* ------------- Component: legal ------------- */
/* critical:start */
/* critical:end */
.c-legal { padding: 30px 0 30px; background: linear-gradient(134.06deg, #FFFFFF 0%, #CBE2EC 100%); overflow: hidden;
@media (--min--medium) {
padding: 48px 0 40px;
}
}
.c-legal--inner { position: relative; overflow: hidden; margin: 0 auto 24px; padding: 0 20px;
@media (--min--medium) {
max-width: 748px;
}
}
.c-legal--heading { color: #2A3644; margin: 0 0 20px; padding: 0 30px; font-size: 18px; line-height: 26px; font-weight: 500; text-align: center;
@media (--min--medium) {
font-size: 25px; line-height: 29px; margin: 0 0 40px;
}
}
.c-legal--box {
margin: 16px auto;
background: #fff;
box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.05);
border-radius: 4px;
min-height: 100px;
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
padding: 25px 20px;
}
.c-legal--box-icon {
flex: 0 0 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
svg {
display: block;
}
}
.c-legal--box-content {
max-width: 480px;
width: 100%;
margin-left: 16px;
}
.c-legal--footer {
padding: 0 20px;
text-align: center;
color: #64696D;
a {
display: inline-block;
color: #0245CE;
font-weight: 500;
padding: 12px 8px;
&:before {
float: left;
content: '';
background: url('/wp-content/themes/biuro/i/ico--external.svg') no-repeat 50%;
height: 18px;
width: 18px;
margin-right: 11px;
}
}
}
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
...@@ -152,7 +152,7 @@ ...@@ -152,7 +152,7 @@
?> ?>
<script src="/wp-content/themes/biuro/js/main-476e514c.min.js" async defer></script> <script src="/wp-content/themes/biuro/js/main.min.js" async defer></script>
<script src="/wp-content/themes/biuro/js/vendor/modernizr-custom.js" async defer></script> <script src="/wp-content/themes/biuro/js/vendor/modernizr-custom.js" async defer></script>
......
...@@ -351,6 +351,15 @@ function biuro_widger_areas() { ...@@ -351,6 +351,15 @@ function biuro_widger_areas() {
'after_title' => '', 'after_title' => '',
) ); ) );
register_sidebar( array(
'name' => 'Landing page: Employees 7',
'id' => 'landing_page_employees_7',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
) );
register_sidebar( array( register_sidebar( array(
'name' => 'Jobs: No job ads area', 'name' => 'Jobs: No job ads area',
'id' => 'no_job_ads', 'id' => 'no_job_ads',
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-500.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-500.woff2" crossorigin="anonymous" >
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-regular.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-regular.woff2" crossorigin="anonymous" >
<style><?php include 'css/core-0b7f9f1db2.min.css'; ?></style> <style><?php include 'css/core.min.css'; ?></style>
<script> <script>
document.documentElement.classList.replace('no-js', 'js'); document.documentElement.classList.replace('no-js', 'js');
...@@ -42,13 +42,13 @@ ...@@ -42,13 +42,13 @@
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-300.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-300.woff2" crossorigin="anonymous" >
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-700.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-700.woff2" crossorigin="anonymous" >
<link rel="preload" href="/wp-content/themes/biuro/css/main-d8844b4ac5.min.css" as="style" onload="this.rel='stylesheet'"> <link rel="preload" href="/wp-content/themes/biuro/css/main.min.css" as="style" onload="this.rel='stylesheet'">
<link rel="preconnect" href="https://www.gstatic.com"> <link rel="preconnect" href="https://www.gstatic.com">
<link rel="preconnect" href="https://fonts.gstatic.com"> <link rel="preconnect" href="https://fonts.gstatic.com">
<noscript> <noscript>
<link rel="stylesheet" href="/wp-content/themes/biuro/css/main-d8844b4ac5.min.css"> <link rel="stylesheet" href="/wp-content/themes/biuro/css/main.min.css">
</noscript> </noscript>
<?php wp_head(); ?> <?php wp_head(); ?>
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-500.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-500.woff2" crossorigin="anonymous" >
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-regular.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-regular.woff2" crossorigin="anonymous" >
<style><?php include 'css/core-0b7f9f1db2.min.css'; ?></style> <style><?php include 'css/core.min.css'; ?></style>
<script> <script>
document.documentElement.classList.replace('no-js', 'js'); document.documentElement.classList.replace('no-js', 'js');
...@@ -53,13 +53,13 @@ ...@@ -53,13 +53,13 @@
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-300.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-300.woff2" crossorigin="anonymous" >
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-700.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-700.woff2" crossorigin="anonymous" >
<link rel="preload" href="/wp-content/themes/biuro/css/main-d8844b4ac5.min.css" as="style" onload="this.rel='stylesheet'"> <link rel="preload" href="/wp-content/themes/biuro/css/main.min.css" as="style" onload="this.rel='stylesheet'">
<link rel="preconnect" href="https://www.gstatic.com"> <link rel="preconnect" href="https://www.gstatic.com">
<link rel="preconnect" href="https://fonts.gstatic.com"> <link rel="preconnect" href="https://fonts.gstatic.com">
<noscript> <noscript>
<link rel="stylesheet" href="/wp-content/themes/biuro/css/main-d8844b4ac5.min.css"> <link rel="stylesheet" href="/wp-content/themes/biuro/css/main.min.css">
</noscript> </noscript>
<?php <?php
......
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16 16H2V2H9V0H2C0.89 0 0 0.9 0 2V16C0 17.1 0.89 18 2 18H16C17.1 18 18 17.1 18 16V9H16V16ZM11 0V2H14.59L4.76 11.83L6.17 13.24L16 3.41V7H18V0H11Z" fill="#0245CE"/>
</svg>
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{7:function(e,t,n){"use strict";n.r(t);const o=e=>{if(!e)return;const t=e.parentNode.nextElementSibling;if(!t||!t.classList.contains("c-accordion--content"))return;const n=e.classList.contains("c-accordion--header--is-expanded");n?(e=>{const t=e.scrollHeight,n=e.style.transition;e.style.transition="",requestAnimationFrame(()=>{e.style.height=t+"px",e.style.transition=n,requestAnimationFrame(()=>{e.style.height="0px"})})})(t):(history.pushState({},"",e.hash),requestAnimationFrame(()=>{(e=>{const t=e.offsetTop-(Math.max(document.documentElement.clientWidth,window.innerWidth||0)<960?72:117);window.scrollTo({top:t,behavior:"smooth"}),e.blur()})(e),requestAnimationFrame(()=>{(e=>{const t=e.scrollHeight,n=t=>{e.removeEventListener("transitionend",n)};e.style.height=t+"px",e.addEventListener("transitionend",n)})(t)})})),e.classList.toggle("c-accordion--header--is-expanded",!n)};t.default=()=>{document.querySelectorAll(".c-accordion--content").forEach(e=>{e.classList.add("c-accordion--content--is-collapsed")}),window.location.hash&&o(document.querySelector(window.location.hash)),document.querySelectorAll(".js-accordion--header").forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),o(e)})})}}}]);
\ No newline at end of file
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["accordion"],{
/***/ "./wp-content/themes/biuro/js/components/accordion/accordion.js":
/*!**********************************************************************!*\
!*** ./wp-content/themes/biuro/js/components/accordion/accordion.js ***!
\**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nconst collapseContent = n => {\n const h = n.scrollHeight;\n const t = n.style.transition;\n n.style.transition = '';\n requestAnimationFrame(() => {\n n.style.height = h + 'px';\n n.style.transition = t;\n requestAnimationFrame(() => {\n n.style.height = 0 + 'px';\n });\n });\n};\n\nconst expandContent = n => {\n const h = n.scrollHeight;\n\n const done = e => {\n n.removeEventListener('transitionend', done);\n };\n\n n.style.height = h + 'px';\n n.addEventListener('transitionend', done);\n};\n\nconst scrollToSection = header => {\n const top = header.offsetTop - (Math.max(document.documentElement.clientWidth, window.innerWidth || 0) < 960 ? 72 : 117);\n window.scrollTo({\n top: top,\n behavior: 'smooth'\n });\n header.blur();\n};\n\nconst toggleSection = header => {\n if (!header) {\n return;\n }\n\n const node = header.parentNode.nextElementSibling;\n\n if (!node || !node.classList.contains('c-accordion--content')) {\n return;\n }\n\n const isOpen = header.classList.contains('c-accordion--header--is-expanded');\n\n if (isOpen) {\n collapseContent(node);\n } else {\n history.pushState({}, '', header.hash);\n requestAnimationFrame(() => {\n scrollToSection(header);\n requestAnimationFrame(() => {\n expandContent(node);\n });\n });\n }\n\n header.classList.toggle('c-accordion--header--is-expanded', !isOpen);\n};\n\nconst inititateAccordion = () => {\n document.querySelectorAll('.c-accordion--content').forEach(content => {\n content.classList.add('c-accordion--content--is-collapsed');\n });\n\n if (window.location.hash) {\n toggleSection(document.querySelector(window.location.hash));\n }\n\n document.querySelectorAll('.js-accordion--header').forEach(header => {\n header.addEventListener('click', e => {\n e.preventDefault();\n toggleSection(header);\n });\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (inititateAccordion);\n\n//# sourceURL=webpack:///./wp-content/themes/biuro/js/components/accordion/accordion.js?");
/***/ })
}]);
\ No newline at end of file
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{12:function(e,o,t){"use strict";t.r(o);var n=t(0);let c=!0;function a(){const e=document.querySelector("#copy-tooltip");e&&(e.style.opacity=1,setTimeout(()=>{e.style.opacity=0},3e3))}function i(e){if(!navigator.clipboard)return function(e){var o=document.createElement("textarea");o.className="u-hidden",o.value=e,document.querySelector(".c-share").appendChild(o),o.focus(),o.select();try{var t=document.execCommand("copy")?"successful":"unsuccessful";console.log("Fallback: Copying text command was "+t)}catch(e){console.error("Fallback: Oops, unable to copy",e)}document.body.removeChild(o)}(e),void a();navigator.clipboard.writeText(e).then((function(){a()}),(function(e){console.error("Async: Could not copy text: ",e)}))}window.onfocus=function(){c=!0},window.onblur=function(){c=!1};o.default=()=>{document.querySelector(".js-copy-to-clipboard")&&document.querySelector(".js-copy-to-clipboard").addEventListener("click",e=>{e.preventDefault(),i(window.location.origin+window.location.pathname+"?utm_source=copy_share_button_job_page ")});const e=document.querySelector(".js-share-messenger");e&&e.addEventListener("click",e=>{e.preventDefault();const o=e.currentTarget;window.location.href="fb-messenger://share/?link="+encodeURIComponent(window.location.origin+window.location.pathname+"?utm_source=messenger_share_button_job_page&app_id="+o.dataset.id),setTimeout(()=>{!document.hidden&&c&&(window.location.href=o.href)},100)});const o=document.querySelector(".js-share-whatsapp");o&&o.addEventListener("click",e=>{e.preventDefault();const o=e.currentTarget;window.location.href="whatsapp://send?text="+o.dataset.text,setTimeout(()=>{!document.hidden&&c&&window.open(o.href,"_blank")},100)});const t=document.querySelector(".js-biuro-facebook");t&&setTimeout(()=>{!async function(e){Object(n.a)("https://connect.facebook.net/en_US/sdk.js").then(()=>{window.FB&&window.FB.init({appId:e,version:"v3.3",status:!0,xfbml:!0})})}(t.dataset.id)},1500)}}}]);
\ No newline at end of file
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["job-share"],{
/***/ "./wp-content/themes/biuro/js/components/job-share/job-share.js":
/*!**********************************************************************!*\
!*** ./wp-content/themes/biuro/js/components/job-share/job-share.js ***!
\**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_load_js_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/load-js.js */ \"./wp-content/themes/biuro/js/utils/load-js.js\");\n\n\nasync function inititateFacebook(ID) {\n Object(_utils_load_js_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('https://connect.facebook.net/en_US/sdk.js').then(() => {\n if (!window.FB) {\n return;\n }\n\n window.FB.init({\n appId: ID,\n version: 'v3.3',\n status: true,\n xfbml: true\n });\n });\n}\n\nlet isPageActive = true;\n\nwindow.onfocus = function () {\n isPageActive = true;\n};\n\nwindow.onblur = function () {\n isPageActive = false;\n};\n\nfunction fallbackCopyTextToClipboard(text) {\n var textArea = document.createElement('textarea');\n textArea.className = 'u-hidden';\n textArea.value = text;\n document.querySelector('.c-share').appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n try {\n var successful = document.execCommand('copy');\n var msg = successful ? 'successful' : 'unsuccessful';\n console.log('Fallback: Copying text command was ' + msg);\n } catch (err) {\n console.error('Fallback: Oops, unable to copy', err);\n }\n\n document.body.removeChild(textArea);\n}\n\nfunction showCopyTooltip() {\n const tooltip = document.querySelector('#copy-tooltip');\n\n if (tooltip) {\n tooltip.style.opacity = 1;\n setTimeout(() => {\n tooltip.style.opacity = 0;\n }, 3000);\n }\n}\n\nfunction copyTextToClipboard(text) {\n if (!navigator.clipboard) {\n fallbackCopyTextToClipboard(text);\n showCopyTooltip();\n return;\n }\n\n navigator.clipboard.writeText(text).then(function () {\n showCopyTooltip();\n }, function (err) {\n console.error('Async: Could not copy text: ', err);\n });\n}\n\nconst inititateJobShare = () => {\n if (document.querySelector('.js-copy-to-clipboard')) {\n document.querySelector('.js-copy-to-clipboard').addEventListener('click', e => {\n e.preventDefault();\n copyTextToClipboard(window.location.origin + window.location.pathname + '?utm_source=copy_share_button_job_page ');\n });\n }\n\n const messenger = document.querySelector('.js-share-messenger');\n\n if (messenger) {\n messenger.addEventListener('click', e => {\n e.preventDefault();\n const target = e.currentTarget;\n window.location.href = 'fb-messenger://share/?link=' + encodeURIComponent(window.location.origin + window.location.pathname + '?utm_source=messenger_share_button_job_page&app_id=' + target.dataset.id);\n setTimeout(() => {\n if (document.hidden || !isPageActive) {\n return;\n }\n\n window.location.href = target.href;\n }, 100);\n });\n }\n\n const whatsapp = document.querySelector('.js-share-whatsapp');\n\n if (whatsapp) {\n whatsapp.addEventListener('click', e => {\n e.preventDefault();\n const target = e.currentTarget;\n window.location.href = 'whatsapp://send?text=' + target.dataset.text;\n setTimeout(() => {\n if (document.hidden || !isPageActive) {\n return;\n }\n\n window.open(target.href, '_blank');\n }, 100);\n });\n }\n\n const facebook = document.querySelector('.js-biuro-facebook');\n\n if (facebook) {\n setTimeout(() => {\n inititateFacebook(facebook.dataset.id);\n }, 1500);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (inititateJobShare);\n\n//# sourceURL=webpack:///./wp-content/themes/biuro/js/components/job-share/job-share.js?");
/***/ })
}]);
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{11:function(e,t,n){"use strict";n.r(t);var o,i=n(0);function s(e,t){const n=function(){function e(e,t,n="top"){this.position=e;var o=document.createElement("div");o.innerHTML=t||"",o.classList.add("popup-bubble"),o.classList.add("popup-bubble--"+n);var i=document.createElement("div");i.classList.add("popup-bubble-anchor"),i.appendChild(o),this.containerDiv=document.createElement("div"),this.containerDiv.classList.add("popup-container"),this.containerDiv.appendChild(i),window.google.maps.OverlayView.preventMapHitsAndGesturesFrom(this.containerDiv)}return e.prototype=Object.create(window.google.maps.OverlayView.prototype),e.prototype.onAdd=function(){this.getPanes().floatPane.appendChild(this.containerDiv)},e.prototype.onRemove=function(){this.containerDiv.parentElement&&this.containerDiv.parentElement.removeChild(this.containerDiv)},e.prototype.draw=function(){var e=this.getProjection().fromLatLngToDivPixel(this.position),t=Math.abs(e.x)<4e3&&Math.abs(e.y)<4e3?"block":"none";"block"===t&&(this.containerDiv.style.left=e.x+"px",this.containerDiv.style.top=e.y+"px"),this.containerDiv.style.display!==t&&(this.containerDiv.style.display=t)},e}(),o=new window.google.maps.LatLngBounds;let i;for(var s=0;s<t.length;s++){const a=t[s],l=new window.google.maps.LatLng(a.lat,a.lng);i=new n(l,a.title,a.pos),i.setMap(e),o.extend(l)}e.fitBounds(o)}function a(e,t,n){for(var i=new window.google.maps.LatLngBounds,s=0;s<t.length;s++){const l=t[s],d=new window.google.maps.LatLng(l.lat,l.lng);var a=new window.google.maps.Marker({position:d,map:e,icon:"/wp-content/themes/biuro/i/ico--map-pin.svg",title:l.title||""});o&&o.close(),i.extend(d),l.content&&(a.content=l.content,window.google.maps.event.addListener(a,"click",(function(){o&&o.close(),(o=new window.google.maps.InfoWindow({content:this.content})).open(e,this)}))),n&&(window.innerWidth<960&&window.scrollTo(0,0),new google.maps.event.trigger(a,"click"))}e.fitBounds(i),window.innerWidth>1020?e.panBy(250,0):window.innerWidth>959&&e.panBy(180,0)}function l(e){var t=new window.google.maps.Map(e,{}),n=new window.google.maps.StyledMapType([{featureType:"all",elementType:"all",stylers:[{saturation:-92},{lightness:-8},{hue:"#004ed4"}]},{featureType:"water",elementType:"all",stylers:[{saturation:-95},{lightness:-25},{hue:"#004ed4"}]}],{name:"Biuro"});return t.mapTypes.set("biuro",n),t.setMapTypeId("biuro"),window.google.maps.event.addListenerOnce(t,"bounds_changed",(function(){this.getZoom()>15&&this.setZoom(14)})),t}t.default=()=>{const e=document.getElementById("js-map--divisions");e&&fetch("/wp-json/api/v1/divisions?langID="+e.dataset.id).then(e=>e.json()).then(t=>{!function(e,t){Object(i.a)("https://maps.googleapis.com/maps/api/js?key=AIzaSyBQjPQnLGLeICbpTTu8kLjVRrLUYYCTS2M").then(()=>{window.google&&setTimeout(()=>{var n=l(e);let o=[];Object.keys(t).forEach(e=>{const n=t[e];"city"===e.substr(0,4)&&(o=o.concat(n))}),document.querySelectorAll(".js-division").forEach(e=>{e.addEventListener("click",()=>{const i=e&&e.dataset.id?e.dataset.id:"";t[i]?a(n,t[i].filter(e=>e.lat&&e.lng),!0):a(n,o.filter(e=>e.lat&&e.lng))})}),a(n,o.filter(e=>e.lat&&e.lng))},50)})}(e,t)});const t=document.getElementById("js-map--cities");t&&fetch("/wp-content/themes/biuro/json/"+t.dataset.source+".json").then(e=>e.json()).then(e=>{!function e(t,n){if(window.google){var o=l(t);s(o,n),window.innerWidth>1020?o.panBy(-230,0):window.innerWidth>959&&o.panBy(-150,0)}else setTimeout(()=>{e(t,n)},250)}(t,e)});const n=document.getElementById("js-map--regions");n&&function e(t){if(!window.google)return void setTimeout(()=>{e(t)},250);a(l(t),[{title:"Vilnius",lat:54.687157,lng:25.279652},{title:"Rīga",lat:56.946285,lng:24.105078},{title:"Tallinn",lat:59.436962,lng:24.753574}])}(n)}}}]);
\ No newline at end of file
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["map"],{
/***/ "./wp-content/themes/biuro/js/components/map/map.js":
/*!**********************************************************!*\
!*** ./wp-content/themes/biuro/js/components/map/map.js ***!
\**********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_load_js_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/load-js.js */ \"./wp-content/themes/biuro/js/utils/load-js.js\");\n // https://developers-dot-devsite-v2-prod.appspot.com/maps/documentation/javascript/examples/overlay-popup\n\nfunction createPopupClass() {\n function Popup(position, city, pos = 'top') {\n this.position = position;\n var content = document.createElement('div');\n content.innerHTML = city || '';\n content.classList.add('popup-bubble');\n content.classList.add('popup-bubble--' + pos); // This zero-height div is positioned at the bottom of the bubble.\n\n var bubbleAnchor = document.createElement('div');\n bubbleAnchor.classList.add('popup-bubble-anchor');\n bubbleAnchor.appendChild(content); // This zero-height div is positioned at the bottom of the tip.\n\n this.containerDiv = document.createElement('div');\n this.containerDiv.classList.add('popup-container');\n this.containerDiv.appendChild(bubbleAnchor); // Optionally stop clicks, etc., from bubbling up to the map.\n\n window.google.maps.OverlayView.preventMapHitsAndGesturesFrom(this.containerDiv);\n } // ES5 magic to extend google.maps.OverlayView.\n\n\n Popup.prototype = Object.create(window.google.maps.OverlayView.prototype);\n /** Called when the popup is added to the map. */\n\n Popup.prototype.onAdd = function () {\n this.getPanes().floatPane.appendChild(this.containerDiv);\n };\n /** Called when the popup is removed from the map. */\n\n\n Popup.prototype.onRemove = function () {\n if (this.containerDiv.parentElement) {\n this.containerDiv.parentElement.removeChild(this.containerDiv);\n }\n };\n /** Called each frame when the popup needs to draw itself. */\n\n\n Popup.prototype.draw = function () {\n var divPosition = this.getProjection().fromLatLngToDivPixel(this.position); // Hide the popup when it is far out of view.\n\n var display = Math.abs(divPosition.x) < 4000 && Math.abs(divPosition.y) < 4000 ? 'block' : 'none';\n\n if (display === 'block') {\n this.containerDiv.style.left = divPosition.x + 'px';\n this.containerDiv.style.top = divPosition.y + 'px';\n }\n\n if (this.containerDiv.style.display !== display) {\n this.containerDiv.style.display = display;\n }\n };\n\n return Popup;\n}\n\nvar info;\n\nfunction setCitiesMarkers(map, positions) {\n const Popup = createPopupClass();\n const bounds = new window.google.maps.LatLngBounds();\n let popup;\n\n for (var i = 0; i < positions.length; i++) {\n const position = positions[i];\n const pos = new window.google.maps.LatLng(position.lat, position.lng);\n popup = new Popup(pos, position.title, position.pos);\n popup.setMap(map);\n bounds.extend(pos);\n }\n\n map.fitBounds(bounds);\n}\n\nfunction setMarkers(map, positions, focus) {\n var bounds = new window.google.maps.LatLngBounds();\n\n for (var i = 0; i < positions.length; i++) {\n const position = positions[i];\n const pos = new window.google.maps.LatLng(position.lat, position.lng);\n var marker = new window.google.maps.Marker({\n position: pos,\n map: map,\n icon: '/wp-content/themes/biuro/i/ico--map-pin.svg',\n title: position.title || ''\n });\n\n if (info) {\n info.close();\n }\n\n bounds.extend(pos);\n\n if (position.content) {\n marker.content = position.content;\n window.google.maps.event.addListener(marker, 'click', function () {\n if (info) {\n info.close();\n }\n\n info = new window.google.maps.InfoWindow({\n content: this.content\n });\n info.open(map, this);\n });\n }\n\n if (focus) {\n if (window.innerWidth < 960) {\n window.scrollTo(0, 0);\n }\n\n new google.maps.event.trigger(marker, 'click');\n }\n }\n\n map.fitBounds(bounds);\n\n if (window.innerWidth > 1020) {\n map.panBy(250, 0);\n } else if (window.innerWidth > 959) {\n map.panBy(180, 0);\n }\n}\n\nfunction setGoogleMap(node) {\n const mapStyles = [{\n featureType: 'all',\n elementType: 'all',\n stylers: [{\n saturation: -92\n }, {\n lightness: -8\n }, {\n hue: '#004ed4'\n }]\n }, {\n featureType: 'water',\n elementType: 'all',\n stylers: [{\n saturation: -95\n }, {\n lightness: -25\n }, {\n hue: '#004ed4'\n }]\n }];\n var map = new window.google.maps.Map(node, {});\n var biuroMap = new window.google.maps.StyledMapType(mapStyles, {\n name: 'Biuro'\n });\n map.mapTypes.set('biuro', biuroMap);\n map.setMapTypeId('biuro');\n window.google.maps.event.addListenerOnce(map, 'bounds_changed', function () {\n if (this.getZoom() > 15) {\n this.setZoom(14);\n }\n });\n return map;\n}\n\nfunction initCitiesMap(node, cities) {\n if (!window.google) {\n setTimeout(() => {\n initCitiesMap(node, cities);\n }, 250);\n return;\n }\n\n var map = setGoogleMap(node);\n setCitiesMarkers(map, cities);\n\n if (window.innerWidth > 1020) {\n map.panBy(-230, 0);\n } else if (window.innerWidth > 959) {\n map.panBy(-150, 0);\n }\n}\n\nfunction initRegionsMap(node) {\n if (!window.google) {\n setTimeout(() => {\n initRegionsMap(node);\n }, 250);\n return;\n }\n\n var map = setGoogleMap(node);\n const regions = [{\n title: 'Vilnius',\n lat: 54.687157,\n lng: 25.279652\n }, {\n title: 'Rīga',\n lat: 56.946285,\n lng: 24.105078\n }, {\n title: 'Tallinn',\n lat: 59.436962,\n lng: 24.753574\n }];\n setMarkers(map, regions);\n}\n\nfunction initDivisionsMap(node, data) {\n Object(_utils_load_js_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('https://maps.googleapis.com/maps/api/js?key=AIzaSyBQjPQnLGLeICbpTTu8kLjVRrLUYYCTS2M').then(() => {\n if (!window.google) {\n return;\n }\n\n setTimeout(() => {\n var map = setGoogleMap(node);\n let divisions = [];\n Object.keys(data).forEach(key => {\n const division = data[key];\n\n if (key.substr(0, 4) === 'city') {\n divisions = divisions.concat(division);\n }\n });\n document.querySelectorAll('.js-division').forEach(node => {\n node.addEventListener('click', () => {\n const ID = node && node.dataset.id ? node.dataset.id : '';\n\n if (data[ID]) {\n setMarkers(map, data[ID].filter(d => {\n return d.lat && d.lng;\n }), true);\n } else {\n setMarkers(map, divisions.filter(d => {\n return d.lat && d.lng;\n }));\n }\n });\n });\n setMarkers(map, divisions.filter(d => {\n return d.lat && d.lng;\n }));\n }, 50);\n });\n}\n\nconst inititateMap = () => {\n // <script src=\"https://maps.googleapis.com/maps/api/js?key=AIzaSyBQjPQnLGLeICbpTTu8kLjVRrLUYYCTS2M\" async defer></script>\n const division = document.getElementById('js-map--divisions');\n\n if (division) {\n fetch('/wp-json/api/v1/divisions?langID=' + division.dataset.id).then(t => t.json()).then(data => {\n initDivisionsMap(division, data);\n });\n }\n\n const city = document.getElementById('js-map--cities');\n\n if (city) {\n fetch('/wp-content/themes/biuro/json/' + city.dataset.source + '.json').then(t => t.json()).then(data => {\n initCitiesMap(city, data);\n });\n }\n\n const region = document.getElementById('js-map--regions');\n\n if (region) {\n initRegionsMap(region);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (inititateMap);\n\n//# sourceURL=webpack:///./wp-content/themes/biuro/js/components/map/map.js?");
/***/ })
}]);
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{13:function(e,p,t){"use strict";t.r(p);const o=(e,p,t)=>{const o={value:p,expiry:(new Date).getTime()+t};localStorage.setItem(e,JSON.stringify(o))},n=e=>{const p=localStorage.getItem(e);if(!p)return null;const t=JSON.parse(p);return(new Date).getTime()>t.expiry?(localStorage.removeItem(e),null):t.value},l=()=>{const e=document.getElementById("employer-popup");e&&!n("employer-popup")&&(o("employer-popup","expires",12096e5),window.dataLayer=window.dataLayer||[],e.style.display="block",window.dataLayer.push({event:"b2b_popup_show"}),e.querySelector(".js-popup--btn")&&e.querySelector(".js-popup--btn").addEventListener("click",e=>{window.dataLayer.push({event:"b2b_popup_navigate",label:"Recommend page"})}),e.querySelector(".js-popup--close")&&e.querySelector(".js-popup--close").addEventListener("click",p=>{p.preventDefault(),e.style.display="none"}))},a=e=>{const p=document.getElementById("employee-popup");p&&!n("employee-popup")&&e.clientY<50&&null==e.relatedTarget&&"select"!==e.target.nodeName.toLowerCase()&&(document.removeEventListener("mouseout",a),o("employee-popup","expires",12096e5),window.dataLayer=window.dataLayer||[],p.style.display="block",window.dataLayer.push({event:"b2c_popup_show"}),p.querySelector(".js-popup--btn")&&p.querySelector(".js-popup--btn").addEventListener("click",e=>{window.dataLayer.push({event:"b2c_popup_navigate",label:"Recommend page"})}),p.querySelector(".js-popup--close")&&p.querySelector(".js-popup--close").addEventListener("click",e=>{e.preventDefault(),p.style.display="none"}))};p.default=()=>{document.getElementById("employee-popup")&&!n("employee-popup")&&setTimeout(()=>{document.addEventListener("mouseout",a)},3e3),document.getElementById("employer-popup")&&!n("employer-popup")&&setTimeout(l,45e3)}}}]);
\ No newline at end of file
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["popup"],{
/***/ "./wp-content/themes/biuro/js/components/popup/popup.js":
/*!**************************************************************!*\
!*** ./wp-content/themes/biuro/js/components/popup/popup.js ***!
\**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nconst EMPLOYEE_DELAY = 3000; // 3 seconds\n\nconst EMPLOYEE_EXPIRY = 14 * 86400 * 1000; // 14 days\n\nconst EMPLOYER_DELAY = 45000; // 45 seconds\n\nconst EMPLOYER_EXPIRY = 14 * 86400 * 1000; // 14 days\n\nconst setExpirableItem = (key, value, ttl) => {\n const now = new Date(); // `item` is an object which contains the original value\n // as well as the time when it's supposed to expire\n\n const item = {\n value: value,\n expiry: now.getTime() + ttl\n };\n localStorage.setItem(key, JSON.stringify(item));\n};\n\nconst getExpirableItem = key => {\n const itemStr = localStorage.getItem(key); // if the item doesn't exist, return null\n\n if (!itemStr) {\n return null;\n }\n\n const item = JSON.parse(itemStr);\n const now = new Date(); // compare the expiry time of the item with the current time\n\n if (now.getTime() > item.expiry) {\n // If the item is expired, delete the item from storage\n // and return null\n localStorage.removeItem(key);\n return null;\n }\n\n return item.value;\n};\n\nconst showEmployerPopup = () => {\n const container = document.getElementById('employer-popup');\n\n if (!container || getExpirableItem('employer-popup')) {\n return;\n }\n\n setExpirableItem('employer-popup', 'expires', EMPLOYER_EXPIRY);\n window.dataLayer = window.dataLayer || [];\n container.style.display = 'block';\n window.dataLayer.push({\n event: 'b2b_popup_show'\n });\n\n if (container.querySelector('.js-popup--btn')) {\n container.querySelector('.js-popup--btn').addEventListener('click', e => {\n window.dataLayer.push({\n event: 'b2b_popup_navigate',\n label: 'Recommend page'\n });\n });\n }\n\n if (container.querySelector('.js-popup--close')) {\n container.querySelector('.js-popup--close').addEventListener('click', e => {\n e.preventDefault();\n container.style.display = 'none';\n });\n }\n};\n\nconst showEmployeePopup = e => {\n const container = document.getElementById('employee-popup');\n\n if (!container || getExpirableItem('employee-popup')) {\n return;\n }\n\n if (e.clientY < 50 && e.relatedTarget == null && e.target.nodeName.toLowerCase() !== 'select') {\n document.removeEventListener('mouseout', showEmployeePopup);\n setExpirableItem('employee-popup', 'expires', EMPLOYEE_EXPIRY);\n window.dataLayer = window.dataLayer || [];\n container.style.display = 'block';\n window.dataLayer.push({\n event: 'b2c_popup_show'\n });\n\n if (container.querySelector('.js-popup--btn')) {\n container.querySelector('.js-popup--btn').addEventListener('click', e => {\n window.dataLayer.push({\n event: 'b2c_popup_navigate',\n label: 'Recommend page'\n });\n });\n }\n\n if (container.querySelector('.js-popup--close')) {\n container.querySelector('.js-popup--close').addEventListener('click', e => {\n e.preventDefault();\n container.style.display = 'none';\n });\n }\n }\n};\n\nconst inititatePopup = () => {\n if (document.getElementById('employee-popup') && !getExpirableItem('employee-popup')) {\n setTimeout(() => {\n document.addEventListener('mouseout', showEmployeePopup);\n }, EMPLOYEE_DELAY);\n }\n\n if (document.getElementById('employer-popup') && !getExpirableItem('employer-popup')) {\n setTimeout(showEmployerPopup, EMPLOYER_DELAY);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (inititatePopup);\n\n//# sourceURL=webpack:///./wp-content/themes/biuro/js/components/popup/popup.js?");
/***/ })
}]);
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{8:function(t,e,r){"use strict";r.r(e);e.default=()=>{const t=document.querySelector(".js-tabs"),e=t.querySelectorAll(".js-tab"),r=document.querySelectorAll(".js-tabs-content"),a=t=>{t&&(window.location.hash=t,history.pushState?history.pushState(null,t):location.hash=t)},o=(t,a)=>{a.focus(),a.removeAttribute("tabindex"),a.setAttribute("aria-selected","true"),t.removeAttribute("aria-selected"),t.setAttribute("tabindex","-1");const o=Array.prototype.indexOf.call(e,a),i=Array.prototype.indexOf.call(e,t);r[i].hidden=!0,r[o].hidden=!1};t.setAttribute("role","tablist"),Array.prototype.forEach.call(e,(i,n)=>{i.setAttribute("role","tab"),i.setAttribute("id","tab"+(n+1)),i.setAttribute("tabindex","-1"),i.parentNode.setAttribute("role","presentation"),i.addEventListener("click",e=>{e.preventDefault();const r=t.querySelector("[aria-selected]");e.currentTarget!==r&&(a(e.currentTarget.dataset.hash),o(r,e.currentTarget))}),i.addEventListener("keydown",t=>{const i=Array.prototype.indexOf.call(e,t.currentTarget),s=37===t.which?i-1:39===t.which?i+1:40===t.which?"down":null;null!==s&&(t.preventDefault(),"down"===s?r[n].focus():e[s]&&(a(t.currentTarget.dataset.hash),o(t.currentTarget,e[s])))})}),Array.prototype.forEach.call(r,(t,r)=>{t.setAttribute("role","tabpanel"),t.setAttribute("tabindex","-1"),t.setAttribute("aria-labelledby",e[r].id),t.hidden=!0});let i=0;if(location.hash){const t=location.hash.replace("#","");r.forEach((e,r)=>{e.id===t&&(i=r)})}e[i].removeAttribute("tabindex"),e[i].setAttribute("aria-selected","true"),r[i].hidden=!1}}}]);
\ No newline at end of file
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["tabs"],{
/***/ "./wp-content/themes/biuro/js/components/tabs/tabs.js":
/*!************************************************************!*\
!*** ./wp-content/themes/biuro/js/components/tabs/tabs.js ***!
\************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nconst inititateTabs = () => {\n // Get relevant elements and collections\n const tablist = document.querySelector('.js-tabs');\n const tabs = tablist.querySelectorAll('.js-tab');\n const panels = document.querySelectorAll('.js-tabs-content');\n\n const updateHash = hash => {\n if (!hash) {\n return;\n }\n\n window.location.hash = hash;\n\n if (history.pushState) {\n history.pushState(null, hash);\n } else {\n location.hash = hash;\n }\n }; // The tab switching function\n\n\n const switchTab = (oldTab, newTab) => {\n newTab.focus(); // Make the active tab focusable by the user (Tab key)\n\n newTab.removeAttribute('tabindex'); // Set the selected state\n\n newTab.setAttribute('aria-selected', 'true');\n oldTab.removeAttribute('aria-selected');\n oldTab.setAttribute('tabindex', '-1'); // Get the indices of the new and old tabs to find the correct\n // tab panels to show and hide\n\n const index = Array.prototype.indexOf.call(tabs, newTab);\n const oldIndex = Array.prototype.indexOf.call(tabs, oldTab);\n panels[oldIndex].hidden = true;\n panels[index].hidden = false;\n }; // Add the tablist role to the first <ul> in the .tabbed container\n\n\n tablist.setAttribute('role', 'tablist'); // Add semantics are remove user focusability for each tab\n\n Array.prototype.forEach.call(tabs, (tab, i) => {\n tab.setAttribute('role', 'tab');\n tab.setAttribute('id', 'tab' + (i + 1));\n tab.setAttribute('tabindex', '-1');\n tab.parentNode.setAttribute('role', 'presentation'); // Handle clicking of tabs for mouse users\n\n tab.addEventListener('click', e => {\n e.preventDefault();\n const currentTab = tablist.querySelector('[aria-selected]');\n\n if (e.currentTarget !== currentTab) {\n updateHash(e.currentTarget.dataset.hash);\n switchTab(currentTab, e.currentTarget);\n }\n }); // Handle keydown events for keyboard users\n\n tab.addEventListener('keydown', e => {\n // Get the index of the current tab in the tabs node list\n const index = Array.prototype.indexOf.call(tabs, e.currentTarget); // Work out which key the user is pressing and\n // Calculate the new tab's index where appropriate\n\n const dir = e.which === 37 ? index - 1 : e.which === 39 ? index + 1 : e.which === 40 ? 'down' : null;\n\n if (dir !== null) {\n e.preventDefault(); // If the down key is pressed, move focus to the open panel,\n // otherwise switch to the adjacent tab\n\n if (dir === 'down') {\n panels[i].focus();\n } else if (tabs[dir]) {\n updateHash(e.currentTarget.dataset.hash);\n switchTab(e.currentTarget, tabs[dir]);\n }\n }\n });\n }); // Add tab panel semantics and hide them all\n\n Array.prototype.forEach.call(panels, (panel, i) => {\n panel.setAttribute('role', 'tabpanel');\n panel.setAttribute('tabindex', '-1');\n panel.setAttribute('aria-labelledby', tabs[i].id);\n panel.hidden = true;\n });\n let indx = 0;\n\n if (location.hash) {\n const ID = location.hash.replace('#', '');\n panels.forEach((panel, i) => {\n if (panel.id === ID) {\n indx = i;\n }\n });\n } // Initially activate the first tab and reveal the first tab panel\n\n\n tabs[indx].removeAttribute('tabindex');\n tabs[indx].setAttribute('aria-selected', 'true');\n panels[indx].hidden = false;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (inititateTabs);\n\n//# sourceURL=webpack:///./wp-content/themes/biuro/js/components/tabs/tabs.js?");
/***/ })
}]);
\ No newline at end of file
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment