From cafa83a2a473a733a902f11665a4ce388ab05183 Mon Sep 17 00:00:00 2001 From: a-bochilo <103776395+a-bochilo@users.noreply.github.com> Date: Tue, 16 Jul 2024 12:24:30 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20master=20from=20@=20CodeCavePr?= =?UTF-8?q?o/codecave.pro-new@921ba90afc01d2dc0185f29a8cd82af1c1b58917=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 4 ++-- 404/index.html | 6 +++--- ...9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js | 6 +++--- ...211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js.map | 1 + ...211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js.map | 1 - _gatsby/slices/_gatsby-scripts-1.html | 4 ++-- blog/10582553-73a2-569f-8bdd-980e1f77c10a/index.html | 4 ++-- blog/azure-devops/index.html | 4 ++-- blog/azure-devops/page/1/index.html | 4 ++-- blog/azure/index.html | 4 ++-- blog/azure/page/1/index.html | 4 ++-- blog/c924c93c-fac0-517e-92e7-c5b5aaa083c2/index.html | 4 ++-- blog/changelog/index.html | 4 ++-- blog/changelog/page/1/index.html | 4 ++-- blog/cloud-init/index.html | 4 ++-- blog/cloud-init/page/1/index.html | 4 ++-- blog/confluence/index.html | 4 ++-- blog/confluence/page/1/index.html | 4 ++-- blog/devops/index.html | 4 ++-- blog/devops/page/1/index.html | 4 ++-- blog/e173a2ae-ebb5-5219-9479-035dde5fe8c8/index.html | 4 ++-- blog/index.html | 4 ++-- blog/page/1/index.html | 4 ++-- blog/podryabinkina/index.html | 4 ++-- blog/podryabinkina/page/1/index.html | 4 ++-- blog/proxmox/index.html | 4 ++-- blog/proxmox/page/1/index.html | 4 ++-- blog/self-hosted-build-agent/index.html | 4 ++-- blog/self-hosted-build-agent/page/1/index.html | 4 ++-- blog/virtualization/index.html | 4 ++-- blog/virtualization/page/1/index.html | 4 ++-- blog/vm/index.html | 4 ++-- blog/vm/page/1/index.html | 4 ++-- chunk-map.json | 2 +- ...---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js | 4 ++-- ...rc-pages-templates-index-tsx-0b0b64495eef863fe7d6.js.map | 2 +- ...src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js | 4 ++-- ...pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js.map | 2 +- ...src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js | 4 ++-- ...pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js.map | 2 +- cookie-policy/index.html | 4 ++-- index.html | 4 ++-- page-data/app-data.json | 2 +- privacy-policy/index.html | 4 ++-- projects/08716ab8-fc5f-5f90-9fc0-a8218ec51923/index.html | 4 ++-- projects/4010b091-889b-5be1-ab5a-bde195aa7729/index.html | 4 ++-- projects/4057e0b3-692b-5512-a1fc-cb93bd81fe0e/index.html | 4 ++-- projects/45987eea-191f-531c-b854-25e3d60decff/index.html | 4 ++-- projects/9f63d17d-6164-509e-b2c7-4c655ab9ad7a/index.html | 4 ++-- projects/f17de1e3-0a73-5f92-bf66-1e12d5fdc0fb/index.html | 4 ++-- projects/ff9598a3-3fad-5a4e-a8a8-a8858b3a27e7/index.html | 4 ++-- projects/index.html | 4 ++-- projects/page/1/index.html | 4 ++-- services/index.html | 4 ++-- ...6c08a31ae8.js => webpack-runtime-85b1460a06372c31e1c7.js | 4 ++-- ...e8.js.map => webpack-runtime-85b1460a06372c31e1c7.js.map | 2 +- webpack.stats.json | 2 +- workflow/index.html | 4 ++-- 58 files changed, 108 insertions(+), 108 deletions(-) rename 71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js => 71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js (61%) create mode 100644 71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js.map delete mode 100644 71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js.map rename component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js => component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js (98%) rename component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js.map => component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js.map (99%) rename component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js => component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js (98%) rename component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js.map => component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js.map (99%) rename component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js => component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js (98%) rename component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js.map => component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js.map (99%) rename webpack-runtime-f2b9d64d366c08a31ae8.js => webpack-runtime-85b1460a06372c31e1c7.js (93%) rename webpack-runtime-f2b9d64d366c08a31ae8.js.map => webpack-runtime-85b1460a06372c31e1c7.js.map (98%) diff --git a/404.html b/404.html index b2a0fa35..ea835d93 100644 --- a/404.html +++ b/404.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/404/index.html b/404/index.html index 48b33e25..460474e3 100644 --- a/404/index.html +++ b/404/index.html @@ -19,10 +19,10 @@ function gtag(){dataLayer.push(arguments)}; gtag('js', new Date()); gtag('config', G-HPEX5BHBSJ) -

404

Nothing to see here, page is under construction

But our blog is always there for you

+

404

Nothing to see here, page is under construction

But our blog is always there for you

- \ No newline at end of file + \ No newline at end of file diff --git a/71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js b/71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js similarity index 61% rename from 71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js rename to 71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js index 31b108a7..c0f403ec 100644 --- a/71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js +++ b/71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js @@ -1,4 +1,4 @@ -(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[577],{1929:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var o=n(7294),r=n(8032),a=n(4471),i=n.n(a),l=n(1164),s=n(917);var c=e=>{let{className:t}=e;return(0,s.tZ)("div",{className:`flex justify-center items-center h-full w-full ${t}`},(0,s.tZ)("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,s.tZ)("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),(0,s.tZ)("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var u=()=>{const{0:e,1:t}=(0,o.useState)(!1),r=(0,o.useRef)(!0),a=(0,o.useRef)(null);return(0,o.useEffect)((()=>{if(!r.current||!a.current||"undefined"==typeof window)return;r.current=!1;const e=new Worker(new URL(n.p+n.u(475),n.b),{type:void 0});e.onmessage=e=>{let{data:n}=e;"ready"===n&&t(!0)};const o=a.current;o.width=o.clientWidth,o.height=o.clientHeight;const i=o.transferControlToOffscreen();e.postMessage({canvas:i},[i]);const l=()=>{e.postMessage({width:o.clientWidth,height:o.clientHeight})};window.addEventListener("resize",l,{passive:!0});const s=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};o.addEventListener("wheel",s);const c=t=>{e.postMessage({x:t.movementX,y:t.movementY})};o.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",c,{passive:!0}),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",c)),{once:!0,passive:!0})}));let u;return o.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const n=t.touches[0];t.preventDefault();const o={x:n.screenX,y:n.screenY};u=t=>{const{newX:n,newY:r}=((t,n)=>{const o=t.touches[0];return e.postMessage({x:o.screenX-n.x,y:o.screenY-n.y}),{newX:o.screenX,newY:o.screenY}})(t,o);o.x=n,o.y=r},window.addEventListener("touchmove",u,{passive:!0}),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",u)}),{passive:!0})}),{passive:!0}),()=>{window&&(window.removeEventListener("resize",l),window.removeEventListener("mousemove",c),window.removeEventListener("touchmove",u),o&&o.removeEventListener("wheel",s),e.terminate())}}),[]),(0,s.tZ)("div",{className:"h-full w-full relative"},(0,s.tZ)("canvas",{ref:a,className:"bg-main-100 h-91 w-full flex items-center justify-center cursor-pointer"}),e?null:(0,s.tZ)(c,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var d=e=>{let{heightClass:t="min-h-91",title:n,className:a,borderBottom:c,borderTop:d,babylon:p,image:m,titleBlockClassName:h,children:f}=e;const{0:v,1:b}=(0,o.useState)("translate-y-full");return(0,o.useEffect)((()=>{b("translate-y-0")}),[]),(0,s.tZ)("div",{className:`w-full flex items-center bg-main-100 relative overflow-hidden ${t} ${a}`},d?(0,s.tZ)(i(),{className:"absolute top-0 left-0 right-0 w-full"}):null,(0,s.tZ)(l.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center justify-between text-secondary-100 flex-grow gap-y-8"},(0,s.tZ)("div",{className:`flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full ${h||"lg:w-1/2"} bg-main-100`},(0,s.tZ)("h1",{className:"overflow-hidden w-full"},(0,s.tZ)("span",{className:`banner-title inline-block text-3xl lg:text-4xl w-full text-center lg:text-start transition-all duration-1000 font-light ${v}`},n))),p?(0,s.tZ)("div",{className:"w-[85%] lg:w-1/2 lg:h-full hidden md:flex -order-1 lg:order-none"},(0,s.tZ)(u,null)):null,m?(0,s.tZ)("div",{className:"w-[220px] lg:w-1/2 lg:h-full flex justify-center lg:justify-end items-center -order-1 lg:order-none"},(0,s.tZ)(r.G,{image:m,alt:"cover",className:"object-contain aspect-square"})):null,f?(0,s.tZ)("div",{className:"w-full lg:h-full flex justify-center lg:justify-start items-center"},f):null),c?(0,s.tZ)(i(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},4532:function(e,t,n){"use strict";n.d(t,{Z:function(){return He}});var o=n(7294),r=n(4160),a=n(7462),i=n(7536),l=n(2305),s=n(2518),c=n(1213),u=n(7356),d=n(2359),p=n(3072),m=n(2531),h=n(1178),f=n(3366),v=n(512),b=n(8510),g=n(2101),x=n(948),Z=n(4136),y=n(1657),w=n(9773),k=n(1705),C=n(2010).Z,R=n(8849);let M=!0,E=!1;const N=new R.V,L={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function $(e){e.metaKey||e.altKey||e.ctrlKey||(M=!0)}function P(){M=!1}function S(){"hidden"===this.visibilityState&&E&&(M=!0)}function T(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch(n){}return M||function(e){const{type:t,tagName:n}=e;return!("INPUT"!==n||!L[t]||e.readOnly)||"TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable}(t)}var F=function(){const e=o.useCallback((e=>{var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",$,!0),t.addEventListener("mousedown",P,!0),t.addEventListener("pointerdown",P,!0),t.addEventListener("touchstart",P,!0),t.addEventListener("visibilitychange",S,!0))}),[]),t=o.useRef(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!T(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(E=!0,N.start(100,(()=>{E=!1})),t.current=!1,!0)},ref:e}};var j=n(1721),V=n(220);function I(e,t){var n=Object.create(null);return e&&o.Children.map(e,(function(e){return e})).forEach((function(e){n[e.key]=function(e){return t&&(0,o.isValidElement)(e)?t(e):e}(e)})),n}function z(e,t,n){return null!=n[t]?n[t]:e.props[t]}function O(e,t,n){var r=I(e.children),a=function(e,t){function n(n){return n in t?t[n]:e[n]}e=e||{},t=t||{};var o,r=Object.create(null),a=[];for(var i in e)i in t?a.length&&(r[i]=a,a=[]):a.push(i);var l={};for(var s in t){if(r[s])for(o=0;o{if(!s&&null!=c){const e=setTimeout(c,u);return()=>{clearTimeout(e)}}}),[c,s,u]),(0,H.jsx)("span",{className:m,style:h,children:(0,H.jsx)("span",{className:f})})},Y=n(1977);var q=(0,Y.Z)("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]);const K=["center","classes","className"];let A,G,_,J,Q=e=>e;const ee=(0,X.F4)(A||(A=Q` +(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[577],{1929:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var o=n(7294),r=n(8032),i=n(4471),a=n.n(i),l=n(1164),s=n(917);var c=e=>{let{className:t}=e;return(0,s.tZ)("div",{className:`flex justify-center items-center h-full w-full ${t}`},(0,s.tZ)("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,s.tZ)("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),(0,s.tZ)("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var u=()=>{const{0:e,1:t}=(0,o.useState)(!1),r=(0,o.useRef)(!0),i=(0,o.useRef)(null);return(0,o.useEffect)((()=>{if(!r.current||!i.current||"undefined"==typeof window)return;r.current=!1;const e=new Worker(new URL(n.p+n.u(475),n.b),{type:void 0});e.onmessage=e=>{let{data:n}=e;"ready"===n&&t(!0)};const o=i.current;o.width=o.clientWidth,o.height=o.clientHeight;const a=o.transferControlToOffscreen();e.postMessage({canvas:a},[a]);const l=()=>{e.postMessage({width:o.clientWidth,height:o.clientHeight})};window.addEventListener("resize",l,{passive:!0});const s=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};o.addEventListener("wheel",s);const c=t=>{e.postMessage({x:t.movementX,y:t.movementY})};o.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",c,{passive:!0}),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",c)),{once:!0,passive:!0})}));let u;return o.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const n=t.touches[0];t.preventDefault();const o={x:n.screenX,y:n.screenY};u=t=>{const{newX:n,newY:r}=((t,n)=>{const o=t.touches[0];return e.postMessage({x:o.screenX-n.x,y:o.screenY-n.y}),{newX:o.screenX,newY:o.screenY}})(t,o);o.x=n,o.y=r},window.addEventListener("touchmove",u,{passive:!0}),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",u)}),{passive:!0})}),{passive:!0}),()=>{window&&(window.removeEventListener("resize",l),window.removeEventListener("mousemove",c),window.removeEventListener("touchmove",u),o&&o.removeEventListener("wheel",s),e.terminate())}}),[]),(0,s.tZ)("div",{className:"h-full w-full relative"},(0,s.tZ)("canvas",{ref:i,className:"bg-main-100 h-91 w-full flex items-center justify-center cursor-pointer"}),e?null:(0,s.tZ)(c,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var d=e=>{let{heightClass:t="min-h-91",title:n,className:i,borderBottom:c,borderTop:d,babylon:p,image:m,titleBlockClassName:h,children:f}=e;const{0:v,1:b}=(0,o.useState)("translate-y-full");return(0,o.useEffect)((()=>{b("translate-y-0")}),[]),(0,s.tZ)("div",{className:`w-full flex items-center bg-main-100 relative overflow-hidden ${t} ${i}`},d?(0,s.tZ)(a(),{className:"absolute top-0 left-0 right-0 w-full"}):null,(0,s.tZ)(l.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center justify-between text-secondary-100 flex-grow gap-y-8"},(0,s.tZ)("div",{className:`flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full ${h||"lg:w-1/2"} bg-main-100`},(0,s.tZ)("h1",{className:"overflow-hidden w-full"},(0,s.tZ)("span",{className:`banner-title inline-block text-3xl lg:text-4xl w-full text-center lg:text-start transition-all duration-1000 font-light ${v}`},n))),p?(0,s.tZ)("div",{className:"w-[85%] lg:w-1/2 lg:h-full hidden md:flex -order-1 lg:order-none"},(0,s.tZ)(u,null)):null,m?(0,s.tZ)("div",{className:"w-[220px] lg:w-1/2 lg:h-full flex justify-center lg:justify-end items-center -order-1 lg:order-none"},(0,s.tZ)(r.G,{image:m,alt:"cover",className:"object-contain aspect-square"})):null,f?(0,s.tZ)("div",{className:"w-full lg:h-full flex justify-center lg:justify-start items-center"},f):null),c?(0,s.tZ)(a(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},5081:function(e,t,n){"use strict";n.d(t,{Z:function(){return Ue}});var o=n(7294),r=n(4160),i=n(7462),a=n(7536),l=n(2305),s=n(2518),c=n(1213),u=n(7356),d=n(2359),p=n(3072),m=n(2531),h=n(1178),f=n(3366),v=n(512),b=n(8510),g=n(2101),x=n(948),y=n(4136),Z=n(1657),w=n(9773),k=n(1705),C=n(2010).Z,M=n(8849);let R=!0,E=!1;const N=new M.V,L={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function $(e){e.metaKey||e.altKey||e.ctrlKey||(R=!0)}function P(){R=!1}function T(){"hidden"===this.visibilityState&&E&&(R=!0)}function S(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch(n){}return R||function(e){const{type:t,tagName:n}=e;return!("INPUT"!==n||!L[t]||e.readOnly)||"TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable}(t)}var F=function(){const e=o.useCallback((e=>{var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",$,!0),t.addEventListener("mousedown",P,!0),t.addEventListener("pointerdown",P,!0),t.addEventListener("touchstart",P,!0),t.addEventListener("visibilitychange",T,!0))}),[]),t=o.useRef(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!S(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(E=!0,N.start(100,(()=>{E=!1})),t.current=!1,!0)},ref:e}};var j=n(1721),V=n(220);function I(e,t){var n=Object.create(null);return e&&o.Children.map(e,(function(e){return e})).forEach((function(e){n[e.key]=function(e){return t&&(0,o.isValidElement)(e)?t(e):e}(e)})),n}function z(e,t,n){return null!=n[t]?n[t]:e.props[t]}function O(e,t,n){var r=I(e.children),i=function(e,t){function n(n){return n in t?t[n]:e[n]}e=e||{},t=t||{};var o,r=Object.create(null),i=[];for(var a in e)a in t?i.length&&(r[a]=i,i=[]):i.push(a);var l={};for(var s in t){if(r[s])for(o=0;o{if(!s&&null!=c){const e=setTimeout(c,u);return()=>{clearTimeout(e)}}}),[c,s,u]),(0,H.jsx)("span",{className:m,style:h,children:(0,H.jsx)("span",{className:f})})},Y=n(1977);var q=(0,Y.Z)("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]);const A=["center","classes","className"];let K,G,_,J,Q=e=>e;const ee=(0,X.F4)(K||(K=Q` 0% { transform: scale(0); opacity: 0.1; @@ -71,5 +71,5 @@ animation-iteration-count: infinite; animation-delay: 200ms; } -`),q.rippleVisible,ee,550,(({theme:e})=>e.transitions.easing.easeInOut),q.ripplePulsate,(({theme:e})=>e.transitions.duration.shorter),q.child,q.childLeaving,te,550,(({theme:e})=>e.transitions.easing.easeInOut),q.childPulsate,ne,(({theme:e})=>e.transitions.easing.easeInOut));var ae=o.forwardRef((function(e,t){const n=(0,y.Z)({props:e,name:"MuiTouchRipple"}),{center:r=!1,classes:i={},className:l}=n,s=(0,f.Z)(n,K),[c,u]=o.useState([]),d=o.useRef(0),p=o.useRef(null);o.useEffect((()=>{p.current&&(p.current(),p.current=null)}),[c]);const m=o.useRef(!1),h=(0,R.Z)(),b=o.useRef(null),g=o.useRef(null),x=o.useCallback((e=>{const{pulsate:t,rippleX:n,rippleY:o,rippleSize:r,cb:a}=e;u((e=>[...e,(0,H.jsx)(re,{classes:{ripple:(0,v.Z)(i.ripple,q.ripple),rippleVisible:(0,v.Z)(i.rippleVisible,q.rippleVisible),ripplePulsate:(0,v.Z)(i.ripplePulsate,q.ripplePulsate),child:(0,v.Z)(i.child,q.child),childLeaving:(0,v.Z)(i.childLeaving,q.childLeaving),childPulsate:(0,v.Z)(i.childPulsate,q.childPulsate)},timeout:550,pulsate:t,rippleX:n,rippleY:o,rippleSize:r},d.current)])),d.current+=1,p.current=a}),[i]),Z=o.useCallback(((e={},t={},n=(()=>{}))=>{const{pulsate:o=!1,center:a=r||t.pulsate,fakeElement:i=!1}=t;if("mousedown"===(null==e?void 0:e.type)&&m.current)return void(m.current=!1);"touchstart"===(null==e?void 0:e.type)&&(m.current=!0);const l=i?null:g.current,s=l?l.getBoundingClientRect():{width:0,height:0,left:0,top:0};let c,u,d;if(a||void 0===e||0===e.clientX&&0===e.clientY||!e.clientX&&!e.touches)c=Math.round(s.width/2),u=Math.round(s.height/2);else{const{clientX:t,clientY:n}=e.touches&&e.touches.length>0?e.touches[0]:e;c=Math.round(t-s.left),u=Math.round(n-s.top)}if(a)d=Math.sqrt((2*s.width**2+s.height**2)/3),d%2==0&&(d+=1);else{const e=2*Math.max(Math.abs((l?l.clientWidth:0)-c),c)+2,t=2*Math.max(Math.abs((l?l.clientHeight:0)-u),u)+2;d=Math.sqrt(e**2+t**2)}null!=e&&e.touches?null===b.current&&(b.current=()=>{x({pulsate:o,rippleX:c,rippleY:u,rippleSize:d,cb:n})},h.start(80,(()=>{b.current&&(b.current(),b.current=null)}))):x({pulsate:o,rippleX:c,rippleY:u,rippleSize:d,cb:n})}),[r,x,h]),w=o.useCallback((()=>{Z({},{pulsate:!0})}),[Z]),k=o.useCallback(((e,t)=>{if(h.clear(),"touchend"===(null==e?void 0:e.type)&&b.current)return b.current(),b.current=null,void h.start(0,(()=>{k(e,t)}));b.current=null,u((e=>e.length>0?e.slice(1):e)),p.current=t}),[h]);return o.useImperativeHandle(t,(()=>({pulsate:w,start:Z,stop:k})),[w,Z,k]),(0,H.jsx)(oe,(0,a.Z)({className:(0,v.Z)(q.root,i.root,l),ref:g},s,{children:(0,H.jsx)(W,{component:null,exit:!0,children:c})}))})),ie=n(3559);function le(e){return(0,ie.ZP)("MuiButtonBase",e)}var se=(0,Y.Z)("MuiButtonBase",["root","disabled","focusVisible"]);const ce=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],ue=(0,x.ZP)("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${se.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),de=o.forwardRef((function(e,t){const n=(0,y.Z)({props:e,name:"MuiButtonBase"}),{action:r,centerRipple:i=!1,children:l,className:s,component:c="button",disabled:u=!1,disableRipple:d=!1,disableTouchRipple:p=!1,focusRipple:m=!1,LinkComponent:h="a",onBlur:g,onClick:x,onContextMenu:Z,onDragLeave:w,onFocus:R,onFocusVisible:M,onKeyDown:E,onKeyUp:N,onMouseDown:L,onMouseLeave:$,onMouseUp:P,onTouchEnd:S,onTouchMove:T,onTouchStart:j,tabIndex:V=0,TouchRippleProps:I,touchRippleRef:z,type:O}=n,B=(0,f.Z)(n,ce),D=o.useRef(null),W=o.useRef(null),X=(0,k.Z)(W,z),{isFocusVisibleRef:U,onFocus:Y,onBlur:q,ref:K}=F(),[A,G]=o.useState(!1);u&&A&&G(!1),o.useImperativeHandle(r,(()=>({focusVisible:()=>{G(!0),D.current.focus()}})),[]);const[_,J]=o.useState(!1);o.useEffect((()=>{J(!0)}),[]);const Q=_&&!d&&!u;function ee(e,t,n=p){return C((o=>{t&&t(o);return!n&&W.current&&W.current[e](o),!0}))}o.useEffect((()=>{A&&m&&!d&&_&&W.current.pulsate()}),[d,m,A,_]);const te=ee("start",L),ne=ee("stop",Z),oe=ee("stop",w),re=ee("stop",P),ie=ee("stop",(e=>{A&&e.preventDefault(),$&&$(e)})),se=ee("start",j),de=ee("stop",S),pe=ee("stop",T),me=ee("stop",(e=>{q(e),!1===U.current&&G(!1),g&&g(e)}),!1),he=C((e=>{D.current||(D.current=e.currentTarget),Y(e),!0===U.current&&(G(!0),M&&M(e)),R&&R(e)})),fe=()=>{const e=D.current;return c&&"button"!==c&&!("A"===e.tagName&&e.href)},ve=o.useRef(!1),be=C((e=>{m&&!ve.current&&A&&W.current&&" "===e.key&&(ve.current=!0,W.current.stop(e,(()=>{W.current.start(e)}))),e.target===e.currentTarget&&fe()&&" "===e.key&&e.preventDefault(),E&&E(e),e.target===e.currentTarget&&fe()&&"Enter"===e.key&&!u&&(e.preventDefault(),x&&x(e))})),ge=C((e=>{m&&" "===e.key&&W.current&&A&&!e.defaultPrevented&&(ve.current=!1,W.current.stop(e,(()=>{W.current.pulsate(e)}))),N&&N(e),x&&e.target===e.currentTarget&&fe()&&" "===e.key&&!e.defaultPrevented&&x(e)}));let xe=c;"button"===xe&&(B.href||B.to)&&(xe=h);const Ze={};"button"===xe?(Ze.type=void 0===O?"button":O,Ze.disabled=u):(B.href||B.to||(Ze.role="button"),u&&(Ze["aria-disabled"]=u));const ye=(0,k.Z)(t,K,D);const we=(0,a.Z)({},n,{centerRipple:i,component:c,disabled:u,disableRipple:d,disableTouchRipple:p,focusRipple:m,tabIndex:V,focusVisible:A}),ke=(e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:o,classes:r}=e,a={root:["root",t&&"disabled",n&&"focusVisible"]},i=(0,b.Z)(a,le,r);return n&&o&&(i.root+=` ${o}`),i})(we);return(0,H.jsxs)(ue,(0,a.Z)({as:xe,className:(0,v.Z)(ke.root,s),ownerState:we,onBlur:me,onClick:x,onContextMenu:ne,onFocus:he,onKeyDown:be,onKeyUp:ge,onMouseDown:te,onMouseLeave:ie,onMouseUp:re,onDragLeave:oe,onTouchEnd:de,onTouchMove:pe,onTouchStart:se,ref:ye,tabIndex:u?-1:V,type:O},Ze,B,{children:[l,Q?(0,H.jsx)(ae,(0,a.Z)({ref:X,center:i},I)):null]}))}));var pe=de,me=n(8974);var he=(0,Y.Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);var fe=(0,Y.Z)("MuiListItemIcon",["root","alignItemsFlexStart"]);var ve=(0,Y.Z)("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]);function be(e){return(0,ie.ZP)("MuiMenuItem",e)}var ge=(0,Y.Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]);const xe=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex","className"],Ze=(0,x.ZP)(pe,{shouldForwardProp:e=>(0,Z.Z)(e)||"classes"===e,name:"MuiMenuItem",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((({theme:e,ownerState:t})=>(0,a.Z)({},e.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},{"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ge.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,g.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${ge.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:(0,g.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${ge.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:(0,g.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,g.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${ge.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${ge.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${he.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${he.inset}`]:{marginLeft:52},[`& .${ve.root}`]:{marginTop:0,marginBottom:0},[`& .${ve.inset}`]:{paddingLeft:36},[`& .${fe.root}`]:{minWidth:36}},!t.dense&&{[e.breakpoints.up("sm")]:{minHeight:"auto"}},t.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},e.typography.body2,{[`& .${fe.root} svg`]:{fontSize:"1.25rem"}}))));var ye=o.forwardRef((function(e,t){const n=(0,y.Z)({props:e,name:"MuiMenuItem"}),{autoFocus:r=!1,component:i="li",dense:l=!1,divider:s=!1,disableGutters:c=!1,focusVisibleClassName:u,role:d="menuitem",tabIndex:p,className:m}=n,h=(0,f.Z)(n,xe),g=o.useContext(w.Z),x=o.useMemo((()=>({dense:l||g.dense||!1,disableGutters:c})),[g.dense,l,c]),Z=o.useRef(null);(0,me.Z)((()=>{r&&Z.current&&Z.current.focus()}),[r]);const C=(0,a.Z)({},n,{dense:x.dense,divider:s,disableGutters:c}),R=(e=>{const{disabled:t,dense:n,divider:o,disableGutters:r,selected:i,classes:l}=e,s={root:["root",n&&"dense",t&&"disabled",!r&&"gutters",o&&"divider",i&&"selected"]},c=(0,b.Z)(s,be,l);return(0,a.Z)({},l,c)})(n),M=(0,k.Z)(Z,t);let E;return n.disabled||(E=void 0!==p?p:-1),(0,H.jsx)(w.Z.Provider,{value:x,children:(0,H.jsx)(Ze,(0,a.Z)({ref:M,role:d,tabIndex:E,component:i,focusVisibleClassName:(0,v.Z)(R.focusVisible,u),className:(0,v.Z)(R.root,m)},h,{ownerState:C,classes:R}))})})),we=n(8216),ke=n(1529),Ce=n(4423);function Re(e){return(0,ie.ZP)("PrivateSwitchBase",e)}(0,Y.Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const Me=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],Ee=(0,x.ZP)(pe)((({ownerState:e})=>(0,a.Z)({padding:9,borderRadius:"50%"},"start"===e.edge&&{marginLeft:"small"===e.size?-3:-12},"end"===e.edge&&{marginRight:"small"===e.size?-3:-12}))),Ne=(0,x.ZP)("input",{shouldForwardProp:Z.Z})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1});var Le=o.forwardRef((function(e,t){const{autoFocus:n,checked:o,checkedIcon:r,className:i,defaultChecked:l,disabled:s,disableFocusRipple:c=!1,edge:u=!1,icon:d,id:p,inputProps:m,inputRef:h,name:g,onBlur:x,onChange:Z,onFocus:y,readOnly:w,required:k=!1,tabIndex:C,type:R,value:M}=e,E=(0,f.Z)(e,Me),[N,L]=(0,ke.Z)({controlled:o,default:Boolean(l),name:"SwitchBase",state:"checked"}),$=(0,Ce.Z)();let P=s;$&&void 0===P&&(P=$.disabled);const S="checkbox"===R||"radio"===R,T=(0,a.Z)({},e,{checked:N,disabled:P,disableFocusRipple:c,edge:u}),F=(e=>{const{classes:t,checked:n,disabled:o,edge:r}=e,a={root:["root",n&&"checked",o&&"disabled",r&&`edge${(0,we.Z)(r)}`],input:["input"]};return(0,b.Z)(a,Re,t)})(T);return(0,H.jsxs)(Ee,(0,a.Z)({component:"span",className:(0,v.Z)(F.root,i),centerRipple:!0,focusRipple:!c,disabled:P,tabIndex:null,role:void 0,onFocus:e=>{y&&y(e),$&&$.onFocus&&$.onFocus(e)},onBlur:e=>{x&&x(e),$&&$.onBlur&&$.onBlur(e)},ownerState:T,ref:t},E,{children:[(0,H.jsx)(Ne,(0,a.Z)({autoFocus:n,checked:o,defaultChecked:l,className:F.input,disabled:P,id:S?p:void 0,name:g,onChange:e=>{if(e.nativeEvent.defaultPrevented)return;const t=e.target.checked;L(t),Z&&Z(e,t)},readOnly:w,ref:h,required:k,ownerState:T,tabIndex:C,type:R},"checkbox"===R&&void 0===M?{}:{value:M},m)),N?r:d]}))})),$e=n(5949),Pe=(0,$e.Z)((0,H.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),Se=(0,$e.Z)((0,H.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),Te=(0,$e.Z)((0,H.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function Fe(e){return(0,ie.ZP)("MuiCheckbox",e)}var je=(0,Y.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]);const Ve=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],Ie=(0,x.ZP)(Le,{shouldForwardProp:e=>(0,Z.Z)(e)||"classes"===e,name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${(0,we.Z)(n.size)}`],"default"!==n.color&&t[`color${(0,we.Z)(n.color)}`]]}})((({theme:e,ownerState:t})=>(0,a.Z)({color:(e.vars||e).palette.text.secondary},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${"default"===t.color?e.vars.palette.action.activeChannel:e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:(0,g.Fq)("default"===t.color?e.palette.action.active:e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==t.color&&{[`&.${je.checked}, &.${je.indeterminate}`]:{color:(e.vars||e).palette[t.color].main},[`&.${je.disabled}`]:{color:(e.vars||e).palette.action.disabled}}))),ze=(0,H.jsx)(Se,{}),Oe=(0,H.jsx)(Pe,{}),Be=(0,H.jsx)(Te,{});var De=o.forwardRef((function(e,t){var n,r;const i=(0,y.Z)({props:e,name:"MuiCheckbox"}),{checkedIcon:l=ze,color:s="primary",icon:c=Oe,indeterminate:u=!1,indeterminateIcon:d=Be,inputProps:p,size:m="medium",className:h}=i,g=(0,f.Z)(i,Ve),x=u?d:c,Z=u?d:l,w=(0,a.Z)({},i,{color:s,indeterminate:u,size:m}),k=(e=>{const{classes:t,indeterminate:n,color:o,size:r}=e,i={root:["root",n&&"indeterminate",`color${(0,we.Z)(o)}`,`size${(0,we.Z)(r)}`]},l=(0,b.Z)(i,Fe,t);return(0,a.Z)({},t,l)})(w);return(0,H.jsx)(Ie,(0,a.Z)({type:"checkbox",inputProps:(0,a.Z)({"data-indeterminate":u},p),icon:o.cloneElement(x,{fontSize:null!=(n=x.props.fontSize)?n:m}),checkedIcon:o.cloneElement(Z,{fontSize:null!=(r=Z.props.fontSize)?r:m}),ownerState:w,ref:t,className:(0,v.Z)(k.root,h)},g,{classes:k}))}));var We=e=>{var t,n,r;let{markup:f,validationMarkup:v}=e;const{0:b,1:g}=(0,o.useState)(!1),{0:x,1:Z}=(0,o.useState)(!0),{register:y,handleSubmit:w,control:k,reset:C,formState:{errors:R,isValid:M}}=(0,i.cI)({mode:"onBlur",resolver:(0,l.X)(c.h),defaultValues:{consentToProcess:!0}}),E=(e,t,n,o)=>{var r;return(0,X.tZ)(h.sc,(0,a.Z)({id:e,label:t,variant:"outlined",error:!(null===(r=R[e])||void 0===r||!r.message),helperText:(0,p.OZ)(e,R,v),"aria-label":e,fullWidth:!0,multiline:n,rows:o,size:"small"},y(e)))};return(0,X.tZ)("form",{onSubmit:w((async e=>{if(!M)return;g(!0);const t=(0,u.e)("hubspotutk"),n=(0,p.WU)(e,t);try{200===(await d.l.post("/3eae609c-bcf2-47f4-ad93-11a65c4b4f9d",n)).status&&C()}catch(a){var o,r;console.log("request err>>",null===(o=a.response)||void 0===o||null===(r=o.data)||void 0===r?void 0:r.message)}g(!1)})),className:"flex-1 flex flex-col gap-2.5"},(0,X.tZ)("div",{className:"flex flex-col gap-4"},E("email",f.emailLabel),E("company",f.companyNameLabel),E("firstname",f.nameLabel),(0,X.tZ)(h.sc,(0,a.Z)({id:"services",label:f.servicesLabel,variant:"outlined",select:!0,defaultValue:"",error:!(null===(t=R.services)||void 0===t||!t.message),helperText:(0,p.OZ)("services",R,v),"aria-label":"services",fullWidth:!0,size:"small"},y("services")),Object.values(s.U5).map((e=>(0,X.tZ)(ye,{key:e,value:e},f.servicesOptions[e])))),(0,X.tZ)(h.sc,(0,a.Z)({id:"budget",label:f.budgetLabel,variant:"outlined",select:!0,defaultValue:"",error:!(null===(n=R.budget)||void 0===n||!n.message),helperText:(0,p.OZ)("budget",R,v),"aria-label":"budget",fullWidth:!0,size:"small"},y("budget")),Object.values(s.D9).map((e=>(0,X.tZ)(ye,{key:e,value:e},f.budgetOptions[e])))),E("describe_your_project",f.descriptionLabel,!0,5)),(0,X.tZ)(i.Qr,{control:k,name:"consentToProcess",render:e=>{let{field:{onChange:t,ref:n,value:o}}=e;return(0,X.tZ)(h.J$,{control:(0,X.tZ)(De,{id:"consentToProcess",checked:o,onChange:e=>{t(e),Z(!!e.target.checked)},sx:{color:x?"#111":"#D32F2F","&.Mui-checked":{color:"#111"}},inputRef:n}),label:f.privacyPolicyCheckboxLabel,"aria-label":"consentToProcess",sx:{marginTop:"10px"}})}}),null!==(r=R.consentToProcess)&&void 0!==r&&r.message||!x?(0,X.tZ)("p",{className:"text-[10.5px] text-[#D32F2F] ml-3"},null==v?void 0:v.consent):null,(0,X.tZ)(h.J$,{control:(0,X.tZ)(De,{defaultChecked:!0,sx:{color:"#111","&.Mui-checked":{color:"#111"}}}),label:f.adsCheckboxLabel,"aria-label":"adsCheckboxLabel"}),(0,X.tZ)("div",{className:"flex items-center justify-center pt-5 text-main-100"},(0,X.tZ)("button",{type:"submit",disabled:b||!x,className:"px-0 sm:px-5 md:px-6 font-bold whitespace-nowrap rounded-lg mx-0 text-secondary-100 h-12 flex items-center justify-center disabled:bg-main-70 hover:bg-main-70 px-6 relative "+(b?"bg-main-70":"bg-main-100")},b?(0,X.tZ)(m.Z,null):null,(0,X.tZ)("span",{className:"z-20"},f.buttonLabel.toUpperCase()))))},Xe=n(1164);var He=e=>{var t,n,a,i,l,s,c,u,d,p;let{lang:m}=e;const h=(0,r.K2)(Ue),f=null==h||null===(t=h.markupData)||void 0===t||null===(n=t.nodes)||void 0===n||null===(a=n.find((e=>e.fields.language===m)))||void 0===a?void 0:a.frontmatter,v=null==f?void 0:f.contactForm,b=null!==(i=null==h||null===(l=h[m])||void 0===l||null===(s=l.nodes)||void 0===s||null===(c=s[0])||void 0===c?void 0:c.html)&&void 0!==i?i:null==h||null===(u=h.en)||void 0===u||null===(d=u.nodes)||void 0===d||null===(p=d[0])||void 0===p?void 0:p.html,g=null==f?void 0:f.validation;return(0,X.tZ)(o.Fragment,null,v?(0,X.tZ)(o.Fragment,null,(0,X.tZ)("section",{className:"relative w-full bg-secondary-100 py-16"},(0,X.tZ)("div",{id:"contact-form",className:"absolute -top-16 opacity-0 pointer-events-none"},"anchor"),(0,X.tZ)(Xe.Z,{maxWidthClass:"max-w-[1280px]",className:"flex-col items-center text-main-100"},(0,X.tZ)("div",{className:"flex justify-between w-full items-center pb-8 sm:pb-14 flex-col sm:flex-row gap-5"},(0,X.tZ)("h2",{className:"text-4xl font-bold w-full text-main-100"},null==v?void 0:v.sectionTitle.toUpperCase()),(0,X.tZ)("div",{className:"w-full sm:w-max text-start sm:text-end text-xl font-normal grow shrink-0 text-main-100"},null==v?void 0:v.sectionLinkTitle.toUpperCase())),(0,X.tZ)("div",{className:"flex flex-col md:flex-row gap-10 lg:gap-28 justify-center max-w-4.5xl items-stretch"},b?(0,X.tZ)("div",{className:"contact-form-description flex-1 text-xl font-light w-full",dangerouslySetInnerHTML:{__html:b}}):null,(0,X.tZ)(We,{markup:v,validationMarkup:g}))))):null)};const Ue="772577693"},4471:function(e,t,n){var o=n(7294);function r(e){return o.createElement("svg",e,[o.createElement("line",{width:"800",height:"8",stroke:"#f9f9f9",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),o.createElement("line",{width:"800",height:"8",stroke:"#111111",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}r.defaultProps={height:"8"},e.exports=r,r.default=r}}]); -//# sourceMappingURL=71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js.map \ No newline at end of file +`),q.rippleVisible,ee,550,(({theme:e})=>e.transitions.easing.easeInOut),q.ripplePulsate,(({theme:e})=>e.transitions.duration.shorter),q.child,q.childLeaving,te,550,(({theme:e})=>e.transitions.easing.easeInOut),q.childPulsate,ne,(({theme:e})=>e.transitions.easing.easeInOut));var ie=o.forwardRef((function(e,t){const n=(0,Z.Z)({props:e,name:"MuiTouchRipple"}),{center:r=!1,classes:a={},className:l}=n,s=(0,f.Z)(n,A),[c,u]=o.useState([]),d=o.useRef(0),p=o.useRef(null);o.useEffect((()=>{p.current&&(p.current(),p.current=null)}),[c]);const m=o.useRef(!1),h=(0,M.Z)(),b=o.useRef(null),g=o.useRef(null),x=o.useCallback((e=>{const{pulsate:t,rippleX:n,rippleY:o,rippleSize:r,cb:i}=e;u((e=>[...e,(0,H.jsx)(re,{classes:{ripple:(0,v.Z)(a.ripple,q.ripple),rippleVisible:(0,v.Z)(a.rippleVisible,q.rippleVisible),ripplePulsate:(0,v.Z)(a.ripplePulsate,q.ripplePulsate),child:(0,v.Z)(a.child,q.child),childLeaving:(0,v.Z)(a.childLeaving,q.childLeaving),childPulsate:(0,v.Z)(a.childPulsate,q.childPulsate)},timeout:550,pulsate:t,rippleX:n,rippleY:o,rippleSize:r},d.current)])),d.current+=1,p.current=i}),[a]),y=o.useCallback(((e={},t={},n=(()=>{}))=>{const{pulsate:o=!1,center:i=r||t.pulsate,fakeElement:a=!1}=t;if("mousedown"===(null==e?void 0:e.type)&&m.current)return void(m.current=!1);"touchstart"===(null==e?void 0:e.type)&&(m.current=!0);const l=a?null:g.current,s=l?l.getBoundingClientRect():{width:0,height:0,left:0,top:0};let c,u,d;if(i||void 0===e||0===e.clientX&&0===e.clientY||!e.clientX&&!e.touches)c=Math.round(s.width/2),u=Math.round(s.height/2);else{const{clientX:t,clientY:n}=e.touches&&e.touches.length>0?e.touches[0]:e;c=Math.round(t-s.left),u=Math.round(n-s.top)}if(i)d=Math.sqrt((2*s.width**2+s.height**2)/3),d%2==0&&(d+=1);else{const e=2*Math.max(Math.abs((l?l.clientWidth:0)-c),c)+2,t=2*Math.max(Math.abs((l?l.clientHeight:0)-u),u)+2;d=Math.sqrt(e**2+t**2)}null!=e&&e.touches?null===b.current&&(b.current=()=>{x({pulsate:o,rippleX:c,rippleY:u,rippleSize:d,cb:n})},h.start(80,(()=>{b.current&&(b.current(),b.current=null)}))):x({pulsate:o,rippleX:c,rippleY:u,rippleSize:d,cb:n})}),[r,x,h]),w=o.useCallback((()=>{y({},{pulsate:!0})}),[y]),k=o.useCallback(((e,t)=>{if(h.clear(),"touchend"===(null==e?void 0:e.type)&&b.current)return b.current(),b.current=null,void h.start(0,(()=>{k(e,t)}));b.current=null,u((e=>e.length>0?e.slice(1):e)),p.current=t}),[h]);return o.useImperativeHandle(t,(()=>({pulsate:w,start:y,stop:k})),[w,y,k]),(0,H.jsx)(oe,(0,i.Z)({className:(0,v.Z)(q.root,a.root,l),ref:g},s,{children:(0,H.jsx)(W,{component:null,exit:!0,children:c})}))})),ae=n(3559);function le(e){return(0,ae.ZP)("MuiButtonBase",e)}var se=(0,Y.Z)("MuiButtonBase",["root","disabled","focusVisible"]);const ce=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],ue=(0,x.ZP)("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${se.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),de=o.forwardRef((function(e,t){const n=(0,Z.Z)({props:e,name:"MuiButtonBase"}),{action:r,centerRipple:a=!1,children:l,className:s,component:c="button",disabled:u=!1,disableRipple:d=!1,disableTouchRipple:p=!1,focusRipple:m=!1,LinkComponent:h="a",onBlur:g,onClick:x,onContextMenu:y,onDragLeave:w,onFocus:M,onFocusVisible:R,onKeyDown:E,onKeyUp:N,onMouseDown:L,onMouseLeave:$,onMouseUp:P,onTouchEnd:T,onTouchMove:S,onTouchStart:j,tabIndex:V=0,TouchRippleProps:I,touchRippleRef:z,type:O}=n,B=(0,f.Z)(n,ce),D=o.useRef(null),W=o.useRef(null),X=(0,k.Z)(W,z),{isFocusVisibleRef:U,onFocus:Y,onBlur:q,ref:A}=F(),[K,G]=o.useState(!1);u&&K&&G(!1),o.useImperativeHandle(r,(()=>({focusVisible:()=>{G(!0),D.current.focus()}})),[]);const[_,J]=o.useState(!1);o.useEffect((()=>{J(!0)}),[]);const Q=_&&!d&&!u;function ee(e,t,n=p){return C((o=>{t&&t(o);return!n&&W.current&&W.current[e](o),!0}))}o.useEffect((()=>{K&&m&&!d&&_&&W.current.pulsate()}),[d,m,K,_]);const te=ee("start",L),ne=ee("stop",y),oe=ee("stop",w),re=ee("stop",P),ae=ee("stop",(e=>{K&&e.preventDefault(),$&&$(e)})),se=ee("start",j),de=ee("stop",T),pe=ee("stop",S),me=ee("stop",(e=>{q(e),!1===U.current&&G(!1),g&&g(e)}),!1),he=C((e=>{D.current||(D.current=e.currentTarget),Y(e),!0===U.current&&(G(!0),R&&R(e)),M&&M(e)})),fe=()=>{const e=D.current;return c&&"button"!==c&&!("A"===e.tagName&&e.href)},ve=o.useRef(!1),be=C((e=>{m&&!ve.current&&K&&W.current&&" "===e.key&&(ve.current=!0,W.current.stop(e,(()=>{W.current.start(e)}))),e.target===e.currentTarget&&fe()&&" "===e.key&&e.preventDefault(),E&&E(e),e.target===e.currentTarget&&fe()&&"Enter"===e.key&&!u&&(e.preventDefault(),x&&x(e))})),ge=C((e=>{m&&" "===e.key&&W.current&&K&&!e.defaultPrevented&&(ve.current=!1,W.current.stop(e,(()=>{W.current.pulsate(e)}))),N&&N(e),x&&e.target===e.currentTarget&&fe()&&" "===e.key&&!e.defaultPrevented&&x(e)}));let xe=c;"button"===xe&&(B.href||B.to)&&(xe=h);const ye={};"button"===xe?(ye.type=void 0===O?"button":O,ye.disabled=u):(B.href||B.to||(ye.role="button"),u&&(ye["aria-disabled"]=u));const Ze=(0,k.Z)(t,A,D);const we=(0,i.Z)({},n,{centerRipple:a,component:c,disabled:u,disableRipple:d,disableTouchRipple:p,focusRipple:m,tabIndex:V,focusVisible:K}),ke=(e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:o,classes:r}=e,i={root:["root",t&&"disabled",n&&"focusVisible"]},a=(0,b.Z)(i,le,r);return n&&o&&(a.root+=` ${o}`),a})(we);return(0,H.jsxs)(ue,(0,i.Z)({as:xe,className:(0,v.Z)(ke.root,s),ownerState:we,onBlur:me,onClick:x,onContextMenu:ne,onFocus:he,onKeyDown:be,onKeyUp:ge,onMouseDown:te,onMouseLeave:ae,onMouseUp:re,onDragLeave:oe,onTouchEnd:de,onTouchMove:pe,onTouchStart:se,ref:Ze,tabIndex:u?-1:V,type:O},ye,B,{children:[l,Q?(0,H.jsx)(ie,(0,i.Z)({ref:X,center:a},I)):null]}))}));var pe=de,me=n(8974);var he=(0,Y.Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);var fe=(0,Y.Z)("MuiListItemIcon",["root","alignItemsFlexStart"]);var ve=(0,Y.Z)("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]);function be(e){return(0,ae.ZP)("MuiMenuItem",e)}var ge=(0,Y.Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]);const xe=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex","className"],ye=(0,x.ZP)(pe,{shouldForwardProp:e=>(0,y.Z)(e)||"classes"===e,name:"MuiMenuItem",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((({theme:e,ownerState:t})=>(0,i.Z)({},e.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},{"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ge.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,g.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${ge.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:(0,g.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${ge.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:(0,g.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,g.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${ge.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${ge.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${he.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${he.inset}`]:{marginLeft:52},[`& .${ve.root}`]:{marginTop:0,marginBottom:0},[`& .${ve.inset}`]:{paddingLeft:36},[`& .${fe.root}`]:{minWidth:36}},!t.dense&&{[e.breakpoints.up("sm")]:{minHeight:"auto"}},t.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},e.typography.body2,{[`& .${fe.root} svg`]:{fontSize:"1.25rem"}}))));var Ze=o.forwardRef((function(e,t){const n=(0,Z.Z)({props:e,name:"MuiMenuItem"}),{autoFocus:r=!1,component:a="li",dense:l=!1,divider:s=!1,disableGutters:c=!1,focusVisibleClassName:u,role:d="menuitem",tabIndex:p,className:m}=n,h=(0,f.Z)(n,xe),g=o.useContext(w.Z),x=o.useMemo((()=>({dense:l||g.dense||!1,disableGutters:c})),[g.dense,l,c]),y=o.useRef(null);(0,me.Z)((()=>{r&&y.current&&y.current.focus()}),[r]);const C=(0,i.Z)({},n,{dense:x.dense,divider:s,disableGutters:c}),M=(e=>{const{disabled:t,dense:n,divider:o,disableGutters:r,selected:a,classes:l}=e,s={root:["root",n&&"dense",t&&"disabled",!r&&"gutters",o&&"divider",a&&"selected"]},c=(0,b.Z)(s,be,l);return(0,i.Z)({},l,c)})(n),R=(0,k.Z)(y,t);let E;return n.disabled||(E=void 0!==p?p:-1),(0,H.jsx)(w.Z.Provider,{value:x,children:(0,H.jsx)(ye,(0,i.Z)({ref:R,role:d,tabIndex:E,component:a,focusVisibleClassName:(0,v.Z)(M.focusVisible,u),className:(0,v.Z)(M.root,m)},h,{ownerState:C,classes:M}))})})),we=n(8216),ke=n(1529),Ce=n(4423);function Me(e){return(0,ae.ZP)("PrivateSwitchBase",e)}(0,Y.Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const Re=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],Ee=(0,x.ZP)(pe)((({ownerState:e})=>(0,i.Z)({padding:9,borderRadius:"50%"},"start"===e.edge&&{marginLeft:"small"===e.size?-3:-12},"end"===e.edge&&{marginRight:"small"===e.size?-3:-12}))),Ne=(0,x.ZP)("input",{shouldForwardProp:y.Z})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1});var Le=o.forwardRef((function(e,t){const{autoFocus:n,checked:o,checkedIcon:r,className:a,defaultChecked:l,disabled:s,disableFocusRipple:c=!1,edge:u=!1,icon:d,id:p,inputProps:m,inputRef:h,name:g,onBlur:x,onChange:y,onFocus:Z,readOnly:w,required:k=!1,tabIndex:C,type:M,value:R}=e,E=(0,f.Z)(e,Re),[N,L]=(0,ke.Z)({controlled:o,default:Boolean(l),name:"SwitchBase",state:"checked"}),$=(0,Ce.Z)();let P=s;$&&void 0===P&&(P=$.disabled);const T="checkbox"===M||"radio"===M,S=(0,i.Z)({},e,{checked:N,disabled:P,disableFocusRipple:c,edge:u}),F=(e=>{const{classes:t,checked:n,disabled:o,edge:r}=e,i={root:["root",n&&"checked",o&&"disabled",r&&`edge${(0,we.Z)(r)}`],input:["input"]};return(0,b.Z)(i,Me,t)})(S);return(0,H.jsxs)(Ee,(0,i.Z)({component:"span",className:(0,v.Z)(F.root,a),centerRipple:!0,focusRipple:!c,disabled:P,tabIndex:null,role:void 0,onFocus:e=>{Z&&Z(e),$&&$.onFocus&&$.onFocus(e)},onBlur:e=>{x&&x(e),$&&$.onBlur&&$.onBlur(e)},ownerState:S,ref:t},E,{children:[(0,H.jsx)(Ne,(0,i.Z)({autoFocus:n,checked:o,defaultChecked:l,className:F.input,disabled:P,id:T?p:void 0,name:g,onChange:e=>{if(e.nativeEvent.defaultPrevented)return;const t=e.target.checked;L(t),y&&y(e,t)},readOnly:w,ref:h,required:k,ownerState:S,tabIndex:C,type:M},"checkbox"===M&&void 0===R?{}:{value:R},m)),N?r:d]}))})),$e=n(5949),Pe=(0,$e.Z)((0,H.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),Te=(0,$e.Z)((0,H.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),Se=(0,$e.Z)((0,H.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function Fe(e){return(0,ae.ZP)("MuiCheckbox",e)}var je=(0,Y.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]);const Ve=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],Ie=(0,x.ZP)(Le,{shouldForwardProp:e=>(0,y.Z)(e)||"classes"===e,name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${(0,we.Z)(n.size)}`],"default"!==n.color&&t[`color${(0,we.Z)(n.color)}`]]}})((({theme:e,ownerState:t})=>(0,i.Z)({color:(e.vars||e).palette.text.secondary},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${"default"===t.color?e.vars.palette.action.activeChannel:e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:(0,g.Fq)("default"===t.color?e.palette.action.active:e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==t.color&&{[`&.${je.checked}, &.${je.indeterminate}`]:{color:(e.vars||e).palette[t.color].main},[`&.${je.disabled}`]:{color:(e.vars||e).palette.action.disabled}}))),ze=(0,H.jsx)(Te,{}),Oe=(0,H.jsx)(Pe,{}),Be=(0,H.jsx)(Se,{});var De=o.forwardRef((function(e,t){var n,r;const a=(0,Z.Z)({props:e,name:"MuiCheckbox"}),{checkedIcon:l=ze,color:s="primary",icon:c=Oe,indeterminate:u=!1,indeterminateIcon:d=Be,inputProps:p,size:m="medium",className:h}=a,g=(0,f.Z)(a,Ve),x=u?d:c,y=u?d:l,w=(0,i.Z)({},a,{color:s,indeterminate:u,size:m}),k=(e=>{const{classes:t,indeterminate:n,color:o,size:r}=e,a={root:["root",n&&"indeterminate",`color${(0,we.Z)(o)}`,`size${(0,we.Z)(r)}`]},l=(0,b.Z)(a,Fe,t);return(0,i.Z)({},t,l)})(w);return(0,H.jsx)(Ie,(0,i.Z)({type:"checkbox",inputProps:(0,i.Z)({"data-indeterminate":u},p),icon:o.cloneElement(x,{fontSize:null!=(n=x.props.fontSize)?n:m}),checkedIcon:o.cloneElement(y,{fontSize:null!=(r=y.props.fontSize)?r:m}),ownerState:w,ref:t,className:(0,v.Z)(k.root,h)},g,{classes:k}))}));var We=e=>{var t,n,r;let{markup:f,validationMarkup:v}=e;const{0:b,1:g}=(0,o.useState)(!1),{0:x,1:y}=(0,o.useState)(!0),{register:Z,handleSubmit:w,control:k,reset:C,formState:{errors:M,isValid:R}}=(0,a.cI)({mode:"onBlur",resolver:(0,l.X)(c.h),defaultValues:{consentToProcess:!0}}),E=(e,t,n,o)=>{var r;return(0,X.tZ)(h.sc,(0,i.Z)({id:e,label:t,variant:"outlined",error:!(null===(r=M[e])||void 0===r||!r.message),helperText:(0,p.OZ)(e,M,v),"aria-label":e,fullWidth:!0,multiline:n,rows:o,size:"small"},Z(e)))};return(0,X.tZ)("form",{onSubmit:w((async e=>{if(!R)return;g(!0);const t=(0,u.e)("hubspotutk"),n=(0,p.WU)(e,t);try{200===(await d.l.post("/3eae609c-bcf2-47f4-ad93-11a65c4b4f9d",n)).status&&C()}catch(i){var o,r;console.log("request err>>",null===(o=i.response)||void 0===o||null===(r=o.data)||void 0===r?void 0:r.message)}g(!1)})),className:"flex-1 flex flex-col gap-2.5"},(0,X.tZ)("div",{className:"flex flex-col gap-4"},E("email",f.emailLabel),E("company",f.companyNameLabel),E("firstname",f.nameLabel),(0,X.tZ)(h.sc,(0,i.Z)({id:"services",label:f.servicesLabel,variant:"outlined",select:!0,defaultValue:"",error:!(null===(t=M.services)||void 0===t||!t.message),helperText:(0,p.OZ)("services",M,v),"aria-label":"services",fullWidth:!0,size:"small"},Z("services")),Object.values(s.U5).map((e=>(0,X.tZ)(Ze,{key:e,value:e},f.servicesOptions[e])))),(0,X.tZ)(h.sc,(0,i.Z)({id:"budget",label:f.budgetLabel,variant:"outlined",select:!0,defaultValue:"",error:!(null===(n=M.budget)||void 0===n||!n.message),helperText:(0,p.OZ)("budget",M,v),"aria-label":"budget",fullWidth:!0,size:"small"},Z("budget")),Object.values(s.D9).map((e=>(0,X.tZ)(Ze,{key:e,value:e},f.budgetOptions[e])))),E("describe_your_project",f.descriptionLabel,!0,5)),(0,X.tZ)(a.Qr,{control:k,name:"consentToProcess",render:e=>{let{field:{onChange:t,ref:n,value:o}}=e;return(0,X.tZ)(h.J$,{control:(0,X.tZ)(De,{id:"consentToProcess",checked:o,onChange:e=>{t(e),y(!!e.target.checked)},sx:{color:x?"#111":"#D32F2F","&.Mui-checked":{color:"#111"}},inputRef:n}),label:f.privacyPolicyCheckboxLabel,"aria-label":"consentToProcess",sx:{marginTop:"10px"}})}}),null!==(r=M.consentToProcess)&&void 0!==r&&r.message||!x?(0,X.tZ)("p",{className:"text-[10.5px] text-[#D32F2F] ml-3"},null==v?void 0:v.consent):null,(0,X.tZ)(h.J$,{control:(0,X.tZ)(De,{defaultChecked:!0,sx:{color:"#111","&.Mui-checked":{color:"#111"}}}),label:f.adsCheckboxLabel,"aria-label":"adsCheckboxLabel"}),(0,X.tZ)("div",{className:"flex items-center justify-center pt-5 text-main-100"},(0,X.tZ)("button",{type:"submit",disabled:b||!x,className:"px-0 sm:px-5 md:px-6 font-bold whitespace-nowrap rounded-lg mx-0 text-secondary-100 h-12 flex items-center justify-center disabled:bg-main-70 hover:bg-main-70 px-6 relative "+(b?"bg-main-70":"bg-main-100")},b?(0,X.tZ)(m.Z,null):null,(0,X.tZ)("span",{className:"z-20"},f.buttonLabel.toUpperCase()))))},Xe=n(1164);var He=()=>{(0,o.useEffect)((()=>{if(null!==globalThis&&void 0!==globalThis&&globalThis.document){const e=globalThis.document.body;new MutationObserver((()=>{e.style.touchAction="hidden"===e.style.overflow?"none":""})).observe(e,{attributes:!0,attributeFilter:["style"]})}}),[])};var Ue=e=>{var t,n,i,a,l,s,c,u,d,p;let{lang:m}=e;const h=(0,r.K2)(Ye);He();const f=null==h||null===(t=h.markupData)||void 0===t||null===(n=t.nodes)||void 0===n||null===(i=n.find((e=>e.fields.language===m)))||void 0===i?void 0:i.frontmatter,v=null==f?void 0:f.contactForm,b=null!==(a=null==h||null===(l=h[m])||void 0===l||null===(s=l.nodes)||void 0===s||null===(c=s[0])||void 0===c?void 0:c.html)&&void 0!==a?a:null==h||null===(u=h.en)||void 0===u||null===(d=u.nodes)||void 0===d||null===(p=d[0])||void 0===p?void 0:p.html,g=null==f?void 0:f.validation;return(0,X.tZ)(o.Fragment,null,v?(0,X.tZ)(o.Fragment,null,(0,X.tZ)("section",{className:"relative w-full bg-secondary-100 py-16"},(0,X.tZ)("div",{id:"contact-form",className:"absolute -top-16 opacity-0 pointer-events-none"},"anchor"),(0,X.tZ)(Xe.Z,{maxWidthClass:"max-w-[1280px]",className:"flex-col items-center text-main-100"},(0,X.tZ)("div",{className:"flex justify-between w-full items-center pb-8 sm:pb-14 flex-col sm:flex-row gap-5"},(0,X.tZ)("h2",{className:"text-4xl font-bold w-full text-main-100"},null==v?void 0:v.sectionTitle.toUpperCase()),(0,X.tZ)("div",{className:"w-full sm:w-max text-start sm:text-end text-xl font-normal grow shrink-0 text-main-100"},null==v?void 0:v.sectionLinkTitle.toUpperCase())),(0,X.tZ)("div",{className:"flex flex-col md:flex-row gap-10 lg:gap-28 justify-center max-w-4.5xl items-stretch"},b?(0,X.tZ)("div",{className:"contact-form-description flex-1 text-xl font-light w-full",dangerouslySetInnerHTML:{__html:b}}):null,(0,X.tZ)(We,{markup:v,validationMarkup:g}))))):null)};const Ye="772577693"},4471:function(e,t,n){var o=n(7294);function r(e){return o.createElement("svg",e,[o.createElement("line",{width:"800",height:"8",stroke:"#f9f9f9",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),o.createElement("line",{width:"800",height:"8",stroke:"#111111",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}r.defaultProps={height:"8"},e.exports=r,r.default=r}}]); +//# sourceMappingURL=71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js.map \ No newline at end of file diff --git a/71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js.map b/71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js.map new file mode 100644 index 00000000..a6776833 --- /dev/null +++ b/71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js.map @@ -0,0 +1 @@ +{"version":3,"file":"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js","mappings":"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","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./node_modules/@mui/material/utils/useEventCallback.js","webpack://code-cave/./node_modules/@mui/utils/useIsFocusVisible/useIsFocusVisible.js","webpack://code-cave/./node_modules/@mui/material/utils/useIsFocusVisible.js","webpack://code-cave/./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack://code-cave/./node_modules/react-transition-group/esm/TransitionGroup.js","webpack://code-cave/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://code-cave/./node_modules/@mui/material/ButtonBase/Ripple.js","webpack://code-cave/./node_modules/@mui/material/ButtonBase/touchRippleClasses.js","webpack://code-cave/./node_modules/@mui/material/ButtonBase/TouchRipple.js","webpack://code-cave/./node_modules/@mui/material/ButtonBase/buttonBaseClasses.js","webpack://code-cave/./node_modules/@mui/material/ButtonBase/ButtonBase.js","webpack://code-cave/./node_modules/@mui/material/Divider/dividerClasses.js","webpack://code-cave/./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js","webpack://code-cave/./node_modules/@mui/material/ListItemText/listItemTextClasses.js","webpack://code-cave/./node_modules/@mui/material/MenuItem/menuItemClasses.js","webpack://code-cave/./node_modules/@mui/material/MenuItem/MenuItem.js","webpack://code-cave/./node_modules/@mui/material/internal/switchBaseClasses.js","webpack://code-cave/./node_modules/@mui/material/internal/SwitchBase.js","webpack://code-cave/./node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","webpack://code-cave/./node_modules/@mui/material/internal/svg-icons/CheckBox.js","webpack://code-cave/./node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","webpack://code-cave/./node_modules/@mui/material/Checkbox/checkboxClasses.js","webpack://code-cave/./node_modules/@mui/material/Checkbox/Checkbox.js","webpack://code-cave/./src/components/forms/contactForm.tsx","webpack://code-cave/./src/tools/iosScrollBlocker.ts","webpack://code-cave/./src/components/forms/contactFormSection.tsx","webpack://code-cave/./src/assets/common/border.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler, { passive: true });\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler, {\n passive: true,\n });\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true, passive: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\n \"touchstart\",\n (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler, {\n passive: true,\n });\n window.addEventListener(\n \"touchend\",\n () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n },\n { passive: true }\n );\n },\n { passive: true }\n );\n\n // UNMOUNT handler\n return () => {\n if (!window) return;\n\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.terminate();\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\nimport { GatsbyImage, IGatsbyImageData } from \"gatsby-plugin-image\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\n// interface IBannerProps {\n// heightClass?: string;\n// title: string;\n// className?: string;\n// borderBottom?: boolean;\n// borderTop?: boolean;\n// babylon?: boolean;\n// image?: IGatsbyImageData;\n// }\ntype TBannerCommonProps = {\n heightClass?: string;\n title: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n};\ntype TBannerConditionalProps =\n | {\n babylon?: boolean;\n image?: never;\n children?: never;\n titleBlockClassName?: never;\n }\n | {\n babylon?: never;\n image?: IGatsbyImageData;\n children?: never;\n titleBlockClassName?: never;\n }\n | {\n babylon?: never;\n image?: never;\n children?: React.ReactNode;\n titleBlockClassName?: string;\n };\ntype TBannerProps = TBannerCommonProps & TBannerConditionalProps;\n\nconst Banner = ({\n heightClass = \"min-h-91\",\n title,\n className,\n borderBottom,\n borderTop,\n babylon,\n image,\n titleBlockClassName,\n children,\n}: TBannerProps) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n \n

\n \n {title}\n \n

\n \n {babylon ? (\n \n ) : null}\n {image ? (\n
\n \n
\n ) : null}\n {children ? (\n
\n {children}\n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","'use client';\n\nimport useEventCallback from '@mui/utils/useEventCallback';\nexport default useEventCallback;","'use client';\n\n// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport { Timeout } from '../useTimeout/useTimeout';\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nconst hadFocusVisibleRecentlyTimeout = new Timeout();\nconst inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node) {\n const {\n type,\n tagName\n } = node;\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n if (node.isContentEditable) {\n return true;\n }\n return false;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\nfunction isFocusVisible(event) {\n const {\n target\n } = event;\n try {\n return target.matches(':focus-visible');\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focusable events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\nexport default function useIsFocusVisible() {\n const ref = React.useCallback(node => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n const isFocusVisibleRef = React.useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n hadFocusVisibleRecentlyTimeout.start(100, () => {\n hadFocusVisibleRecently = false;\n });\n isFocusVisibleRef.current = false;\n return true;\n }\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref\n };\n}","'use client';\n\nimport useIsFocusVisible from '@mui/utils/useIsFocusVisible';\nexport default useIsFocusVisible;","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Ripple(props) {\n const {\n className,\n classes,\n pulsate = false,\n rippleX,\n rippleY,\n rippleSize,\n in: inProp,\n onExited,\n timeout\n } = props;\n const [leaving, setLeaving] = React.useState(false);\n const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n const rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n if (!inProp && !leaving) {\n setLeaving(true);\n }\n React.useEffect(() => {\n if (!inProp && onExited != null) {\n // react-transition-group#onExited\n const timeoutId = setTimeout(onExited, timeout);\n return () => {\n clearTimeout(timeoutId);\n };\n }\n return undefined;\n }, [onExited, inProp, timeout]);\n return /*#__PURE__*/_jsx(\"span\", {\n className: rippleClassName,\n style: rippleStyles,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: childClassName\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n /**\n * @ignore - injected from TransitionGroup\n */\n in: PropTypes.bool,\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: PropTypes.func,\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: PropTypes.bool,\n /**\n * Diameter of the ripple.\n */\n rippleSize: PropTypes.number,\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: PropTypes.number,\n /**\n * Vertical position of the ripple center.\n */\n rippleY: PropTypes.number,\n /**\n * exit delay\n */\n timeout: PropTypes.number.isRequired\n} : void 0;\nexport default Ripple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTouchRippleUtilityClass(slot) {\n return generateUtilityClass('MuiTouchRipple', slot);\n}\nconst touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);\nexport default touchRippleClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"center\", \"classes\", \"className\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\nimport { keyframes } from '@mui/system';\nimport useTimeout from '@mui/utils/useTimeout';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Ripple from './Ripple';\nimport touchRippleClasses from './touchRippleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DURATION = 550;\nexport const DELAY_RIPPLE = 80;\nconst enterKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n`));\nconst exitKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n`));\nconst pulsateKeyframe = keyframes(_t3 || (_t3 = _`\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n`));\nexport const TouchRippleRoot = styled('span', {\n name: 'MuiTouchRipple',\n slot: 'Root'\n})({\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n});\n\n// This `styled()` function invokes keyframes. `styled-components` only supports keyframes\n// in string templates. Do not convert these styles in JS object as it will break.\nexport const TouchRippleRipple = styled(Ripple, {\n name: 'MuiTouchRipple',\n slot: 'Ripple'\n})(_t4 || (_t4 = _`\n opacity: 0;\n position: absolute;\n\n &.${0} {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n &.${0} {\n animation-duration: ${0}ms;\n }\n\n & .${0} {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & .${0} {\n opacity: 0;\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n & .${0} {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ${0};\n animation-duration: 2500ms;\n animation-timing-function: ${0};\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n`), touchRippleClasses.rippleVisible, enterKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.ripplePulsate, ({\n theme\n}) => theme.transitions.duration.shorter, touchRippleClasses.child, touchRippleClasses.childLeaving, exitKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.childPulsate, pulsateKeyframe, ({\n theme\n}) => theme.transitions.easing.easeInOut);\n\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\nconst TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTouchRipple'\n });\n const {\n center: centerProp = false,\n classes = {},\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [ripples, setRipples] = React.useState([]);\n const nextKey = React.useRef(0);\n const rippleCallback = React.useRef(null);\n React.useEffect(() => {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]);\n\n // Used to filter out mouse emulated events on mobile.\n const ignoringMouseDown = React.useRef(false);\n // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n const startTimer = useTimeout();\n\n // This is the hook called once the previous timeout is ready.\n const startTimerCommit = React.useRef(null);\n const container = React.useRef(null);\n const startCommit = React.useCallback(params => {\n const {\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n } = params;\n setRipples(oldRipples => [...oldRipples, /*#__PURE__*/_jsx(TouchRippleRipple, {\n classes: {\n ripple: clsx(classes.ripple, touchRippleClasses.ripple),\n rippleVisible: clsx(classes.rippleVisible, touchRippleClasses.rippleVisible),\n ripplePulsate: clsx(classes.ripplePulsate, touchRippleClasses.ripplePulsate),\n child: clsx(classes.child, touchRippleClasses.child),\n childLeaving: clsx(classes.childLeaving, touchRippleClasses.childLeaving),\n childPulsate: clsx(classes.childPulsate, touchRippleClasses.childPulsate)\n },\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n }, nextKey.current)]);\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n const start = React.useCallback((event = {}, options = {}, cb = () => {}) => {\n const {\n pulsate = false,\n center = centerProp || options.pulsate,\n fakeElement = false // For test purposes\n } = options;\n if ((event == null ? void 0 : event.type) === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n if ((event == null ? void 0 : event.type) === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n const element = fakeElement ? null : container.current;\n const rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n // Get the size of the ripple\n let rippleX;\n let rippleY;\n let rippleSize;\n if (center || event === undefined || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n const {\n clientX,\n clientY\n } = event.touches && event.touches.length > 0 ? event.touches[0] : event;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n if (center) {\n rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3);\n\n // For some reason the animation is broken on Mobile Chrome if the size is even.\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);\n }\n\n // Touche devices\n if (event != null && event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = () => {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n };\n // Delay the execution of the ripple effect.\n // We have to make a tradeoff with this delay value.\n startTimer.start(DELAY_RIPPLE, () => {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n });\n }\n } else {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n }\n }, [centerProp, startCommit, startTimer]);\n const pulsate = React.useCallback(() => {\n start({}, {\n pulsate: true\n });\n }, [start]);\n const stop = React.useCallback((event, cb) => {\n startTimer.clear();\n\n // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n if ((event == null ? void 0 : event.type) === 'touchend' && startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.start(0, () => {\n stop(event, cb);\n });\n return;\n }\n startTimerCommit.current = null;\n setRipples(oldRipples => {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, [startTimer]);\n React.useImperativeHandle(ref, () => ({\n pulsate,\n start,\n stop\n }), [pulsate, start, stop]);\n return /*#__PURE__*/_jsx(TouchRippleRoot, _extends({\n className: clsx(touchRippleClasses.root, classes.root, className),\n ref: container\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionGroup, {\n component: null,\n exit: true,\n children: ripples\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string\n} : void 0;\nexport default TouchRipple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonBaseUtilityClass(slot) {\n return generateUtilityClass('MuiButtonBase', slot);\n}\nconst buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);\nexport default buttonBaseClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"action\", \"centerRipple\", \"children\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"LinkComponent\", \"onBlur\", \"onClick\", \"onContextMenu\", \"onDragLeave\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"tabIndex\", \"TouchRippleProps\", \"touchRippleRef\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport TouchRipple from './TouchRipple';\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from './buttonBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const buttonRef = React.useRef(null);\n const rippleRef = React.useRef(null);\n const handleRippleRef = useForkRef(rippleRef, touchRippleRef);\n const {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const [mountedState, setMountedState] = React.useState(false);\n React.useEffect(() => {\n setMountedState(true);\n }, []);\n const enableTouchRipple = mountedState && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple && mountedState) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, mountedState]);\n function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {\n return useEventCallback(event => {\n if (eventCallback) {\n eventCallback(event);\n }\n const ignore = skipRippleAction;\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n return true;\n });\n }\n const handleMouseDown = useRippleHandler('start', onMouseDown);\n const handleContextMenu = useRippleHandler('stop', onContextMenu);\n const handleDragLeave = useRippleHandler('stop', onDragLeave);\n const handleMouseUp = useRippleHandler('stop', onMouseUp);\n const handleMouseLeave = useRippleHandler('stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n const handleTouchStart = useRippleHandler('start', onTouchStart);\n const handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n const handleTouchMove = useRippleHandler('stop', onTouchMove);\n const handleBlur = useRippleHandler('stop', event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n\n /**\n * IE11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n const keydownRef = React.useRef(false);\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n rippleRef.current.stop(event, () => {\n rippleRef.current.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a \n
\n \n );\n};\n\nexport default ContactForm;\n","import { useEffect } from \"react\";\n\nconst useScrollBlocker = () => {\n useEffect(() => {\n if (globalThis?.document) {\n const body = globalThis.document.body;\n\n const observer = new MutationObserver(() => {\n body.style.touchAction = body.style.overflow === \"hidden\" ? \"none\" : \"\";\n });\n\n observer.observe(body, {\n attributes: true,\n attributeFilter: [\"style\"],\n });\n }\n }, []);\n};\n\nexport default useScrollBlocker;\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { ILang } from \"../../types/common.type\";\nimport { IContactFromQueryResult } from \"../../types/form.type\";\n\nimport ContactForm from \"./contactForm\";\nimport ContentContainer from \"../common/contentContainer\";\nimport useScrollBlocker from \"../../tools/iosScrollBlocker\";\n\nconst ContactFormSection = ({ lang }: ILang) => {\n const formMdData = useStaticQuery(query) as IContactFromQueryResult;\n useScrollBlocker();\n\n const allMarkup = formMdData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter;\n const formMarkup = allMarkup?.contactForm;\n const formDescription =\n formMdData?.[lang]?.nodes?.[0]?.html ?? formMdData?.en?.nodes?.[0]?.html;\n const validationMarkup = allMarkup?.validation;\n\n return (\n <>\n {formMarkup ? (\n <>\n
\n \n anchor\n
\n \n
\n

\n {formMarkup?.sectionTitle.toUpperCase()}\n

\n \n {formMarkup?.sectionLinkTitle.toUpperCase()}\n
\n \n
\n {formDescription ? (\n \n ) : null}\n \n
\n \n \n \n ) : null}\n \n );\n};\n\nexport default ContactFormSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"contactForm\" }, language: { eq: \"en\" } }\n }\n ) {\n nodes {\n html\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"contactForm\" }, language: { eq: \"ru\" } }\n }\n ) {\n nodes {\n html\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n validation {\n invalidEmail\n required\n consent\n }\n contactForm {\n sectionTitle\n sectionLinkTitle\n emailLabel\n nameLabel\n companyNameLabel\n servicesLabel\n servicesOptions {\n web_dev\n mobile_dev\n qa\n devops\n ui_ux\n ba\n add_ins\n vr_ar\n support\n consulting\n }\n budgetLabel\n budgetOptions {\n _1500_2500\n _2500_5000\n _5000_10000\n _10000_\n not_decided\n }\n selectPlaceholder\n descriptionLabel\n descriptionPlaceholder\n privacyPolicyCheckboxLabel\n adsCheckboxLabel\n buttonLabel\n }\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"#f9f9f9\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"#111111\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n"],"names":["_ref","className","___EmotionJSX","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","passive","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","terminate","ref","Spinner","heightClass","title","borderBottom","borderTop","babylon","image","titleBlockClassName","children","textTranslate","setTextTranslate","Border","ContentContainer","GatsbyImage","alt","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","text","search","url","tel","email","password","number","date","month","week","time","datetime","handleKeyDown","event","metaKey","altKey","ctrlKey","handlePointerDown","handleVisibilityChange","this","visibilityState","isFocusVisible","target","matches","error","node","tagName","readOnly","isContentEditable","focusTriggersKeyboardModality","doc","ownerDocument","isFocusVisibleRef","onFocus","onBlur","start","getChildMapping","mapFn","result","Object","create","Children","map","c","forEach","child","key","isValidElement","mapper","getProp","prop","props","getNextChildMapping","nextProps","prevChildMapping","onExited","nextChildMapping","prev","next","getValueForKey","i","nextKeysPending","pendingKeys","prevKey","push","childMapping","nextKey","pendingNextKey","mergeChildMappings","keys","hasPrev","hasNext","prevChild","isLeaving","in","cloneElement","bind","exit","enter","values","obj","k","TransitionGroup","_React$Component","context","_this","handleExited","call","ReferenceError","_assertThisInitialized","state","contextValue","isMounting","firstRender","_proto","prototype","componentDidMount","mounted","setState","componentWillUnmount","getDerivedStateFromProps","appear","currentChildMapping","render","_this$props","Component","component","childFactory","TransitionGroupContext","Provider","value","propTypes","defaultProps","classes","pulsate","rippleX","rippleY","rippleSize","inProp","timeout","leaving","setLeaving","rippleClassName","clsx","ripple","rippleVisible","ripplePulsate","rippleStyles","top","left","childClassName","childLeaving","childPulsate","timeoutId","setTimeout","clearTimeout","style","generateUtilityClasses","_excluded","_t","_t2","_t3","_t4","_","t","enterKeyframe","exitKeyframe","pulsateKeyframe","TouchRippleRoot","styled","name","slot","overflow","pointerEvents","position","zIndex","right","bottom","borderRadius","TouchRippleRipple","theme","transitions","easing","easeInOut","duration","shorter","inProps","useThemeProps","center","centerProp","other","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","useTimeout","startTimerCommit","container","startCommit","params","cb","oldRipples","options","fakeElement","element","rect","getBoundingClientRect","undefined","clientX","clientY","Math","round","sqrt","sizeX","max","abs","sizeY","stop","clear","slice","root","getButtonBaseUtilityClass","ButtonBaseRoot","overridesResolver","styles","display","alignItems","justifyContent","boxSizing","WebkitTapHighlightColor","backgroundColor","outline","border","margin","padding","cursor","userSelect","verticalAlign","MozAppearance","WebkitAppearance","textDecoration","color","borderStyle","disabled","colorAdjust","ButtonBase","action","centerRipple","disableRipple","disableTouchRipple","focusRipple","LinkComponent","onClick","onContextMenu","onDragLeave","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","buttonRef","rippleRef","handleRippleRef","useForkRef","handleFocusVisible","handleBlurVisible","focusVisibleRef","focusVisible","setFocusVisible","focus","mountedState","setMountedState","enableTouchRipple","useRippleHandler","rippleAction","eventCallback","skipRippleAction","handleMouseDown","handleContextMenu","handleDragLeave","handleMouseUp","handleMouseLeave","handleTouchStart","handleTouchEnd","handleTouchMove","handleBlur","handleFocus","currentTarget","isNonNativeButton","button","href","keydownRef","handleKeyUp","defaultPrevented","ComponentProp","to","buttonProps","role","handleRef","ownerState","focusVisibleClassName","slots","composedClasses","composeClasses","useUtilityClasses","as","getMenuItemUtilityClass","MenuItemRoot","shouldForwardProp","rootShouldForwardProp","dense","divider","disableGutters","gutters","typography","body1","minHeight","paddingTop","paddingBottom","whiteSpace","paddingLeft","paddingRight","vars","palette","backgroundClip","hover","selected","primary","mainChannel","selectedOpacity","main","focusOpacity","hoverOpacity","opacity","disabledOpacity","marginTop","spacing","marginBottom","inset","marginLeft","minWidth","breakpoints","up","body2","fontSize","autoFocus","tabIndexProp","ListContext","childContext","menuItemRef","useEnhancedEffect","getSwitchBaseUtilityClass","SwitchBaseRoot","edge","size","marginRight","SwitchBaseInput","checked","checkedProp","checkedIcon","defaultChecked","disabledProp","disableFocusRipple","icon","id","inputProps","inputRef","onChange","required","setCheckedState","useControlled","controlled","default","Boolean","muiFormControl","useFormControl","hasLabelFor","capitalize","input","nativeEvent","newChecked","createSvgIcon","getCheckboxUtilityClass","CheckboxRoot","indeterminate","secondary","activeChannel","active","defaultCheckedIcon","CheckBox","defaultIcon","CheckBoxOutlineBlank","defaultIndeterminateIcon","IndeterminateCheckBox","_icon$props$fontSize","_indeterminateIcon$pr","iconProp","indeterminateIcon","indeterminateIconProp","_errors$services","_errors$budget","_errors$consentToProc","markup","validationMarkup","isPending","setIsPending","isGivenConsent","setIsGivenConsent","register","handleSubmit","control","reset","formState","errors","isValid","useForm","mode","resolver","yupResolver","contactFormSchema","defaultValues","consentToProcess","renderTextInput","label","multiline","rows","_errors$key","ContactFormInput","_extends","variant","message","helperText","getValidationMessage","fullWidth","onSubmit","async","hutk","getCookie","requestBody","mapContactFormData","hubspotApi","post","status","_e$response","_e$response$data","console","log","response","emailLabel","companyNameLabel","nameLabel","servicesLabel","select","defaultValue","ServicesOptions","service","MenuItem","servicesOptions","budgetLabel","BudgetOptions","budget","budgetOptions","descriptionLabel","Controller","_ref2","field","ControlLabel","Checkbox","sx","privacyPolicyCheckboxLabel","consent","adsCheckboxLabel","SkeletonStub","buttonLabel","toUpperCase","useScrollBlocker","globalThis","document","body","MutationObserver","touchAction","observe","attributes","attributeFilter","_formMdData$markupDat","_formMdData$markupDat2","_formMdData$markupDat3","_formMdData$lang$node","_formMdData$lang","_formMdData$lang$node2","_formMdData$lang$node3","_formMdData$en","_formMdData$en$nodes","_formMdData$en$nodes$","lang","formMdData","useStaticQuery","query","allMarkup","markupData","nodes","find","fields","language","frontmatter","formMarkup","contactForm","formDescription","html","en","validation","React","maxWidthClass","sectionTitle","sectionLinkTitle","dangerouslySetInnerHTML","__html","ContactForm","createElement","module","exports"],"sourceRoot":""} \ No newline at end of file diff --git a/71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js.map b/71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js.map deleted file mode 100644 index 2b558d24..00000000 --- a/71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js","mappings":"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","sources":["webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./node_modules/@mui/material/utils/useEventCallback.js","webpack://code-cave/./node_modules/@mui/utils/useIsFocusVisible/useIsFocusVisible.js","webpack://code-cave/./node_modules/@mui/material/utils/useIsFocusVisible.js","webpack://code-cave/./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack://code-cave/./node_modules/react-transition-group/esm/TransitionGroup.js","webpack://code-cave/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://code-cave/./node_modules/@mui/material/ButtonBase/Ripple.js","webpack://code-cave/./node_modules/@mui/material/ButtonBase/touchRippleClasses.js","webpack://code-cave/./node_modules/@mui/material/ButtonBase/TouchRipple.js","webpack://code-cave/./node_modules/@mui/material/ButtonBase/buttonBaseClasses.js","webpack://code-cave/./node_modules/@mui/material/ButtonBase/ButtonBase.js","webpack://code-cave/./node_modules/@mui/material/Divider/dividerClasses.js","webpack://code-cave/./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js","webpack://code-cave/./node_modules/@mui/material/ListItemText/listItemTextClasses.js","webpack://code-cave/./node_modules/@mui/material/MenuItem/menuItemClasses.js","webpack://code-cave/./node_modules/@mui/material/MenuItem/MenuItem.js","webpack://code-cave/./node_modules/@mui/material/internal/switchBaseClasses.js","webpack://code-cave/./node_modules/@mui/material/internal/SwitchBase.js","webpack://code-cave/./node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","webpack://code-cave/./node_modules/@mui/material/internal/svg-icons/CheckBox.js","webpack://code-cave/./node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","webpack://code-cave/./node_modules/@mui/material/Checkbox/checkboxClasses.js","webpack://code-cave/./node_modules/@mui/material/Checkbox/Checkbox.js","webpack://code-cave/./src/components/forms/contactForm.tsx","webpack://code-cave/./src/components/forms/contactFormSection.tsx","webpack://code-cave/./src/assets/common/border.svg"],"sourcesContent":["import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler, { passive: true });\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler, {\n passive: true,\n });\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true, passive: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\n \"touchstart\",\n (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler, {\n passive: true,\n });\n window.addEventListener(\n \"touchend\",\n () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n },\n { passive: true }\n );\n },\n { passive: true }\n );\n\n // UNMOUNT handler\n return () => {\n if (!window) return;\n\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.terminate();\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\nimport { GatsbyImage, IGatsbyImageData } from \"gatsby-plugin-image\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\n// interface IBannerProps {\n// heightClass?: string;\n// title: string;\n// className?: string;\n// borderBottom?: boolean;\n// borderTop?: boolean;\n// babylon?: boolean;\n// image?: IGatsbyImageData;\n// }\ntype TBannerCommonProps = {\n heightClass?: string;\n title: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n};\ntype TBannerConditionalProps =\n | {\n babylon?: boolean;\n image?: never;\n children?: never;\n titleBlockClassName?: never;\n }\n | {\n babylon?: never;\n image?: IGatsbyImageData;\n children?: never;\n titleBlockClassName?: never;\n }\n | {\n babylon?: never;\n image?: never;\n children?: React.ReactNode;\n titleBlockClassName?: string;\n };\ntype TBannerProps = TBannerCommonProps & TBannerConditionalProps;\n\nconst Banner = ({\n heightClass = \"min-h-91\",\n title,\n className,\n borderBottom,\n borderTop,\n babylon,\n image,\n titleBlockClassName,\n children,\n}: TBannerProps) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n \n

\n \n {title}\n \n

\n \n {babylon ? (\n \n ) : null}\n {image ? (\n
\n \n
\n ) : null}\n {children ? (\n
\n {children}\n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","'use client';\n\nimport useEventCallback from '@mui/utils/useEventCallback';\nexport default useEventCallback;","'use client';\n\n// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport { Timeout } from '../useTimeout/useTimeout';\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nconst hadFocusVisibleRecentlyTimeout = new Timeout();\nconst inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node) {\n const {\n type,\n tagName\n } = node;\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n if (node.isContentEditable) {\n return true;\n }\n return false;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\nfunction isFocusVisible(event) {\n const {\n target\n } = event;\n try {\n return target.matches(':focus-visible');\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focusable events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\nexport default function useIsFocusVisible() {\n const ref = React.useCallback(node => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n const isFocusVisibleRef = React.useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n hadFocusVisibleRecentlyTimeout.start(100, () => {\n hadFocusVisibleRecently = false;\n });\n isFocusVisibleRef.current = false;\n return true;\n }\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref\n };\n}","'use client';\n\nimport useIsFocusVisible from '@mui/utils/useIsFocusVisible';\nexport default useIsFocusVisible;","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Ripple(props) {\n const {\n className,\n classes,\n pulsate = false,\n rippleX,\n rippleY,\n rippleSize,\n in: inProp,\n onExited,\n timeout\n } = props;\n const [leaving, setLeaving] = React.useState(false);\n const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n const rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n if (!inProp && !leaving) {\n setLeaving(true);\n }\n React.useEffect(() => {\n if (!inProp && onExited != null) {\n // react-transition-group#onExited\n const timeoutId = setTimeout(onExited, timeout);\n return () => {\n clearTimeout(timeoutId);\n };\n }\n return undefined;\n }, [onExited, inProp, timeout]);\n return /*#__PURE__*/_jsx(\"span\", {\n className: rippleClassName,\n style: rippleStyles,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: childClassName\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n /**\n * @ignore - injected from TransitionGroup\n */\n in: PropTypes.bool,\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: PropTypes.func,\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: PropTypes.bool,\n /**\n * Diameter of the ripple.\n */\n rippleSize: PropTypes.number,\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: PropTypes.number,\n /**\n * Vertical position of the ripple center.\n */\n rippleY: PropTypes.number,\n /**\n * exit delay\n */\n timeout: PropTypes.number.isRequired\n} : void 0;\nexport default Ripple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTouchRippleUtilityClass(slot) {\n return generateUtilityClass('MuiTouchRipple', slot);\n}\nconst touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);\nexport default touchRippleClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"center\", \"classes\", \"className\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\nimport { keyframes } from '@mui/system';\nimport useTimeout from '@mui/utils/useTimeout';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Ripple from './Ripple';\nimport touchRippleClasses from './touchRippleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DURATION = 550;\nexport const DELAY_RIPPLE = 80;\nconst enterKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n`));\nconst exitKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n`));\nconst pulsateKeyframe = keyframes(_t3 || (_t3 = _`\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n`));\nexport const TouchRippleRoot = styled('span', {\n name: 'MuiTouchRipple',\n slot: 'Root'\n})({\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n});\n\n// This `styled()` function invokes keyframes. `styled-components` only supports keyframes\n// in string templates. Do not convert these styles in JS object as it will break.\nexport const TouchRippleRipple = styled(Ripple, {\n name: 'MuiTouchRipple',\n slot: 'Ripple'\n})(_t4 || (_t4 = _`\n opacity: 0;\n position: absolute;\n\n &.${0} {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n &.${0} {\n animation-duration: ${0}ms;\n }\n\n & .${0} {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & .${0} {\n opacity: 0;\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n & .${0} {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ${0};\n animation-duration: 2500ms;\n animation-timing-function: ${0};\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n`), touchRippleClasses.rippleVisible, enterKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.ripplePulsate, ({\n theme\n}) => theme.transitions.duration.shorter, touchRippleClasses.child, touchRippleClasses.childLeaving, exitKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.childPulsate, pulsateKeyframe, ({\n theme\n}) => theme.transitions.easing.easeInOut);\n\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\nconst TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTouchRipple'\n });\n const {\n center: centerProp = false,\n classes = {},\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [ripples, setRipples] = React.useState([]);\n const nextKey = React.useRef(0);\n const rippleCallback = React.useRef(null);\n React.useEffect(() => {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]);\n\n // Used to filter out mouse emulated events on mobile.\n const ignoringMouseDown = React.useRef(false);\n // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n const startTimer = useTimeout();\n\n // This is the hook called once the previous timeout is ready.\n const startTimerCommit = React.useRef(null);\n const container = React.useRef(null);\n const startCommit = React.useCallback(params => {\n const {\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n } = params;\n setRipples(oldRipples => [...oldRipples, /*#__PURE__*/_jsx(TouchRippleRipple, {\n classes: {\n ripple: clsx(classes.ripple, touchRippleClasses.ripple),\n rippleVisible: clsx(classes.rippleVisible, touchRippleClasses.rippleVisible),\n ripplePulsate: clsx(classes.ripplePulsate, touchRippleClasses.ripplePulsate),\n child: clsx(classes.child, touchRippleClasses.child),\n childLeaving: clsx(classes.childLeaving, touchRippleClasses.childLeaving),\n childPulsate: clsx(classes.childPulsate, touchRippleClasses.childPulsate)\n },\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n }, nextKey.current)]);\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n const start = React.useCallback((event = {}, options = {}, cb = () => {}) => {\n const {\n pulsate = false,\n center = centerProp || options.pulsate,\n fakeElement = false // For test purposes\n } = options;\n if ((event == null ? void 0 : event.type) === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n if ((event == null ? void 0 : event.type) === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n const element = fakeElement ? null : container.current;\n const rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n // Get the size of the ripple\n let rippleX;\n let rippleY;\n let rippleSize;\n if (center || event === undefined || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n const {\n clientX,\n clientY\n } = event.touches && event.touches.length > 0 ? event.touches[0] : event;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n if (center) {\n rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3);\n\n // For some reason the animation is broken on Mobile Chrome if the size is even.\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);\n }\n\n // Touche devices\n if (event != null && event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = () => {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n };\n // Delay the execution of the ripple effect.\n // We have to make a tradeoff with this delay value.\n startTimer.start(DELAY_RIPPLE, () => {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n });\n }\n } else {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n }\n }, [centerProp, startCommit, startTimer]);\n const pulsate = React.useCallback(() => {\n start({}, {\n pulsate: true\n });\n }, [start]);\n const stop = React.useCallback((event, cb) => {\n startTimer.clear();\n\n // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n if ((event == null ? void 0 : event.type) === 'touchend' && startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.start(0, () => {\n stop(event, cb);\n });\n return;\n }\n startTimerCommit.current = null;\n setRipples(oldRipples => {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, [startTimer]);\n React.useImperativeHandle(ref, () => ({\n pulsate,\n start,\n stop\n }), [pulsate, start, stop]);\n return /*#__PURE__*/_jsx(TouchRippleRoot, _extends({\n className: clsx(touchRippleClasses.root, classes.root, className),\n ref: container\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionGroup, {\n component: null,\n exit: true,\n children: ripples\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string\n} : void 0;\nexport default TouchRipple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonBaseUtilityClass(slot) {\n return generateUtilityClass('MuiButtonBase', slot);\n}\nconst buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);\nexport default buttonBaseClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"action\", \"centerRipple\", \"children\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"LinkComponent\", \"onBlur\", \"onClick\", \"onContextMenu\", \"onDragLeave\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"tabIndex\", \"TouchRippleProps\", \"touchRippleRef\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport TouchRipple from './TouchRipple';\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from './buttonBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const buttonRef = React.useRef(null);\n const rippleRef = React.useRef(null);\n const handleRippleRef = useForkRef(rippleRef, touchRippleRef);\n const {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const [mountedState, setMountedState] = React.useState(false);\n React.useEffect(() => {\n setMountedState(true);\n }, []);\n const enableTouchRipple = mountedState && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple && mountedState) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, mountedState]);\n function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {\n return useEventCallback(event => {\n if (eventCallback) {\n eventCallback(event);\n }\n const ignore = skipRippleAction;\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n return true;\n });\n }\n const handleMouseDown = useRippleHandler('start', onMouseDown);\n const handleContextMenu = useRippleHandler('stop', onContextMenu);\n const handleDragLeave = useRippleHandler('stop', onDragLeave);\n const handleMouseUp = useRippleHandler('stop', onMouseUp);\n const handleMouseLeave = useRippleHandler('stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n const handleTouchStart = useRippleHandler('start', onTouchStart);\n const handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n const handleTouchMove = useRippleHandler('stop', onTouchMove);\n const handleBlur = useRippleHandler('stop', event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n\n /**\n * IE11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n const keydownRef = React.useRef(false);\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n rippleRef.current.stop(event, () => {\n rippleRef.current.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a \n
\n \n );\n};\n\nexport default ContactForm;\n","import React, { useEffect, useState } from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { ILang } from \"../../types/common.type\";\nimport { IContactFromQueryResult } from \"../../types/form.type\";\n\nimport ContactForm from \"./contactForm\";\nimport ContentContainer from \"../common/contentContainer\";\n\nconst ContactFormSection = ({ lang }: ILang) => {\n const formMdData = useStaticQuery(query) as IContactFromQueryResult;\n\n const allMarkup = formMdData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter;\n const formMarkup = allMarkup?.contactForm;\n const formDescription =\n formMdData?.[lang]?.nodes?.[0]?.html ?? formMdData?.en?.nodes?.[0]?.html;\n const validationMarkup = allMarkup?.validation;\n\n return (\n <>\n {formMarkup ? (\n <>\n
\n \n anchor\n
\n \n
\n

\n {formMarkup?.sectionTitle.toUpperCase()}\n

\n \n {formMarkup?.sectionLinkTitle.toUpperCase()}\n
\n \n
\n {formDescription ? (\n \n ) : null}\n \n
\n \n \n \n ) : null}\n \n );\n};\n\nexport default ContactFormSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"contactForm\" }, language: { eq: \"en\" } }\n }\n ) {\n nodes {\n html\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"contactForm\" }, language: { eq: \"ru\" } }\n }\n ) {\n nodes {\n html\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n validation {\n invalidEmail\n required\n consent\n }\n contactForm {\n sectionTitle\n sectionLinkTitle\n emailLabel\n nameLabel\n companyNameLabel\n servicesLabel\n servicesOptions {\n web_dev\n mobile_dev\n qa\n devops\n ui_ux\n ba\n add_ins\n vr_ar\n support\n consulting\n }\n budgetLabel\n budgetOptions {\n _1500_2500\n _2500_5000\n _5000_10000\n _10000_\n not_decided\n }\n selectPlaceholder\n descriptionLabel\n descriptionPlaceholder\n privacyPolicyCheckboxLabel\n adsCheckboxLabel\n buttonLabel\n }\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"#f9f9f9\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"#111111\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n"],"names":["_ref","className","___EmotionJSX","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","passive","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","terminate","ref","Spinner","heightClass","title","borderBottom","borderTop","babylon","image","titleBlockClassName","children","textTranslate","setTextTranslate","Border","ContentContainer","GatsbyImage","alt","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","text","search","url","tel","email","password","number","date","month","week","time","datetime","handleKeyDown","event","metaKey","altKey","ctrlKey","handlePointerDown","handleVisibilityChange","this","visibilityState","isFocusVisible","target","matches","error","node","tagName","readOnly","isContentEditable","focusTriggersKeyboardModality","doc","ownerDocument","isFocusVisibleRef","onFocus","onBlur","start","getChildMapping","mapFn","result","Object","create","Children","map","c","forEach","child","key","isValidElement","mapper","getProp","prop","props","getNextChildMapping","nextProps","prevChildMapping","onExited","nextChildMapping","prev","next","getValueForKey","i","nextKeysPending","pendingKeys","prevKey","push","childMapping","nextKey","pendingNextKey","mergeChildMappings","keys","hasPrev","hasNext","prevChild","isLeaving","in","cloneElement","bind","exit","enter","values","obj","k","TransitionGroup","_React$Component","context","_this","handleExited","call","ReferenceError","_assertThisInitialized","state","contextValue","isMounting","firstRender","_proto","prototype","componentDidMount","mounted","setState","componentWillUnmount","getDerivedStateFromProps","appear","currentChildMapping","render","_this$props","Component","component","childFactory","TransitionGroupContext","Provider","value","propTypes","defaultProps","classes","pulsate","rippleX","rippleY","rippleSize","inProp","timeout","leaving","setLeaving","rippleClassName","clsx","ripple","rippleVisible","ripplePulsate","rippleStyles","top","left","childClassName","childLeaving","childPulsate","timeoutId","setTimeout","clearTimeout","style","generateUtilityClasses","_excluded","_t","_t2","_t3","_t4","_","t","enterKeyframe","exitKeyframe","pulsateKeyframe","TouchRippleRoot","styled","name","slot","overflow","pointerEvents","position","zIndex","right","bottom","borderRadius","TouchRippleRipple","theme","transitions","easing","easeInOut","duration","shorter","inProps","useThemeProps","center","centerProp","other","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","useTimeout","startTimerCommit","container","startCommit","params","cb","oldRipples","options","fakeElement","element","rect","getBoundingClientRect","undefined","clientX","clientY","Math","round","sqrt","sizeX","max","abs","sizeY","stop","clear","slice","root","getButtonBaseUtilityClass","ButtonBaseRoot","overridesResolver","styles","display","alignItems","justifyContent","boxSizing","WebkitTapHighlightColor","backgroundColor","outline","border","margin","padding","cursor","userSelect","verticalAlign","MozAppearance","WebkitAppearance","textDecoration","color","borderStyle","disabled","colorAdjust","ButtonBase","action","centerRipple","disableRipple","disableTouchRipple","focusRipple","LinkComponent","onClick","onContextMenu","onDragLeave","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","buttonRef","rippleRef","handleRippleRef","useForkRef","handleFocusVisible","handleBlurVisible","focusVisibleRef","focusVisible","setFocusVisible","focus","mountedState","setMountedState","enableTouchRipple","useRippleHandler","rippleAction","eventCallback","skipRippleAction","handleMouseDown","handleContextMenu","handleDragLeave","handleMouseUp","handleMouseLeave","handleTouchStart","handleTouchEnd","handleTouchMove","handleBlur","handleFocus","currentTarget","isNonNativeButton","button","href","keydownRef","handleKeyUp","defaultPrevented","ComponentProp","to","buttonProps","role","handleRef","ownerState","focusVisibleClassName","slots","composedClasses","composeClasses","useUtilityClasses","as","getMenuItemUtilityClass","MenuItemRoot","shouldForwardProp","rootShouldForwardProp","dense","divider","disableGutters","gutters","typography","body1","minHeight","paddingTop","paddingBottom","whiteSpace","paddingLeft","paddingRight","vars","palette","backgroundClip","hover","selected","primary","mainChannel","selectedOpacity","main","focusOpacity","hoverOpacity","opacity","disabledOpacity","marginTop","spacing","marginBottom","inset","marginLeft","minWidth","breakpoints","up","body2","fontSize","autoFocus","tabIndexProp","ListContext","childContext","menuItemRef","useEnhancedEffect","getSwitchBaseUtilityClass","SwitchBaseRoot","edge","size","marginRight","SwitchBaseInput","checked","checkedProp","checkedIcon","defaultChecked","disabledProp","disableFocusRipple","icon","id","inputProps","inputRef","onChange","required","setCheckedState","useControlled","controlled","default","Boolean","muiFormControl","useFormControl","hasLabelFor","capitalize","input","nativeEvent","newChecked","createSvgIcon","getCheckboxUtilityClass","CheckboxRoot","indeterminate","secondary","activeChannel","active","defaultCheckedIcon","CheckBox","defaultIcon","CheckBoxOutlineBlank","defaultIndeterminateIcon","IndeterminateCheckBox","_icon$props$fontSize","_indeterminateIcon$pr","iconProp","indeterminateIcon","indeterminateIconProp","_errors$services","_errors$budget","_errors$consentToProc","markup","validationMarkup","isPending","setIsPending","isGivenConsent","setIsGivenConsent","register","handleSubmit","control","reset","formState","errors","isValid","useForm","mode","resolver","yupResolver","contactFormSchema","defaultValues","consentToProcess","renderTextInput","label","multiline","rows","_errors$key","ContactFormInput","_extends","variant","message","helperText","getValidationMessage","fullWidth","onSubmit","async","hutk","getCookie","requestBody","mapContactFormData","hubspotApi","post","status","_e$response","_e$response$data","console","log","response","emailLabel","companyNameLabel","nameLabel","servicesLabel","select","defaultValue","ServicesOptions","service","MenuItem","servicesOptions","budgetLabel","BudgetOptions","budget","budgetOptions","descriptionLabel","Controller","_ref2","field","ControlLabel","Checkbox","sx","privacyPolicyCheckboxLabel","consent","adsCheckboxLabel","SkeletonStub","buttonLabel","toUpperCase","_formMdData$markupDat","_formMdData$markupDat2","_formMdData$markupDat3","_formMdData$lang$node","_formMdData$lang","_formMdData$lang$node2","_formMdData$lang$node3","_formMdData$en","_formMdData$en$nodes","_formMdData$en$nodes$","lang","formMdData","useStaticQuery","query","allMarkup","markupData","nodes","find","fields","language","frontmatter","formMarkup","contactForm","formDescription","html","en","validation","React","maxWidthClass","sectionTitle","sectionLinkTitle","dangerouslySetInnerHTML","__html","ContactForm","createElement","module","exports"],"sourceRoot":""} \ No newline at end of file diff --git a/_gatsby/slices/_gatsby-scripts-1.html b/_gatsby/slices/_gatsby-scripts-1.html index 993cc566..c3441161 100644 --- a/_gatsby/slices/_gatsby-scripts-1.html +++ b/_gatsby/slices/_gatsby-scripts-1.html @@ -2,6 +2,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/10582553-73a2-569f-8bdd-980e1f77c10a/index.html b/blog/10582553-73a2-569f-8bdd-980e1f77c10a/index.html index d0d42599..d479995f 100644 --- a/blog/10582553-73a2-569f-8bdd-980e1f77c10a/index.html +++ b/blog/10582553-73a2-569f-8bdd-980e1f77c10a/index.html @@ -167,6 +167,6 @@

Conclusion

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/azure-devops/index.html b/blog/azure-devops/index.html index 5b8d62bd..3ad7838f 100644 --- a/blog/azure-devops/index.html +++ b/blog/azure-devops/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/azure-devops/page/1/index.html b/blog/azure-devops/page/1/index.html index 0d9949f8..f17dbbb4 100644 --- a/blog/azure-devops/page/1/index.html +++ b/blog/azure-devops/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/azure/index.html b/blog/azure/index.html index 4a507c3f..ca93567f 100644 --- a/blog/azure/index.html +++ b/blog/azure/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/azure/page/1/index.html b/blog/azure/page/1/index.html index 4403a7c0..a8457f77 100644 --- a/blog/azure/page/1/index.html +++ b/blog/azure/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/c924c93c-fac0-517e-92e7-c5b5aaa083c2/index.html b/blog/c924c93c-fac0-517e-92e7-c5b5aaa083c2/index.html index 497f848f..4a0d608f 100644 --- a/blog/c924c93c-fac0-517e-92e7-c5b5aaa083c2/index.html +++ b/blog/c924c93c-fac0-517e-92e7-c5b5aaa083c2/index.html @@ -145,6 +145,6 @@

Conclusion

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/changelog/index.html b/blog/changelog/index.html index 01ad092e..a572394c 100644 --- a/blog/changelog/index.html +++ b/blog/changelog/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/changelog/page/1/index.html b/blog/changelog/page/1/index.html index daeae18b..c7586e0d 100644 --- a/blog/changelog/page/1/index.html +++ b/blog/changelog/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/cloud-init/index.html b/blog/cloud-init/index.html index 77e253d4..897eb93b 100644 --- a/blog/cloud-init/index.html +++ b/blog/cloud-init/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/cloud-init/page/1/index.html b/blog/cloud-init/page/1/index.html index 5b580b35..27174041 100644 --- a/blog/cloud-init/page/1/index.html +++ b/blog/cloud-init/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/confluence/index.html b/blog/confluence/index.html index 0578dc99..19b30426 100644 --- a/blog/confluence/index.html +++ b/blog/confluence/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/confluence/page/1/index.html b/blog/confluence/page/1/index.html index f13d8c46..3409f14a 100644 --- a/blog/confluence/page/1/index.html +++ b/blog/confluence/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/devops/index.html b/blog/devops/index.html index 8733fda5..36a0c80c 100644 --- a/blog/devops/index.html +++ b/blog/devops/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/devops/page/1/index.html b/blog/devops/page/1/index.html index f7f1943c..ae9f9d80 100644 --- a/blog/devops/page/1/index.html +++ b/blog/devops/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/e173a2ae-ebb5-5219-9479-035dde5fe8c8/index.html b/blog/e173a2ae-ebb5-5219-9479-035dde5fe8c8/index.html index 21f989e0..c8943728 100644 --- a/blog/e173a2ae-ebb5-5219-9479-035dde5fe8c8/index.html +++ b/blog/e173a2ae-ebb5-5219-9479-035dde5fe8c8/index.html @@ -419,6 +419,6 @@

Final Thoughts

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index 0631f9bd..9137c913 100644 --- a/blog/index.html +++ b/blog/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/page/1/index.html b/blog/page/1/index.html index 86d344b1..db1b643b 100644 --- a/blog/page/1/index.html +++ b/blog/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/podryabinkina/index.html b/blog/podryabinkina/index.html index 7dd21dad..86635923 100644 --- a/blog/podryabinkina/index.html +++ b/blog/podryabinkina/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/podryabinkina/page/1/index.html b/blog/podryabinkina/page/1/index.html index 28de1756..ffb601fb 100644 --- a/blog/podryabinkina/page/1/index.html +++ b/blog/podryabinkina/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/proxmox/index.html b/blog/proxmox/index.html index 9c7a1038..bc82d92e 100644 --- a/blog/proxmox/index.html +++ b/blog/proxmox/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/proxmox/page/1/index.html b/blog/proxmox/page/1/index.html index c7fb9066..ba4f5d46 100644 --- a/blog/proxmox/page/1/index.html +++ b/blog/proxmox/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/self-hosted-build-agent/index.html b/blog/self-hosted-build-agent/index.html index c2d384e1..1c950fdf 100644 --- a/blog/self-hosted-build-agent/index.html +++ b/blog/self-hosted-build-agent/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/self-hosted-build-agent/page/1/index.html b/blog/self-hosted-build-agent/page/1/index.html index 1fd9a563..c215a6ca 100644 --- a/blog/self-hosted-build-agent/page/1/index.html +++ b/blog/self-hosted-build-agent/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/virtualization/index.html b/blog/virtualization/index.html index 375a90ad..1de87dc0 100644 --- a/blog/virtualization/index.html +++ b/blog/virtualization/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/virtualization/page/1/index.html b/blog/virtualization/page/1/index.html index 6624a4e6..e221987d 100644 --- a/blog/virtualization/page/1/index.html +++ b/blog/virtualization/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/vm/index.html b/blog/vm/index.html index 3d1f3e5e..962adab7 100644 --- a/blog/vm/index.html +++ b/blog/vm/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/vm/page/1/index.html b/blog/vm/page/1/index.html index 33435893..b00dccd5 100644 --- a/blog/vm/page/1/index.html +++ b/blog/vm/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/chunk-map.json b/chunk-map.json index b0f37cb2..f3518cd6 100644 --- a/chunk-map.json +++ b/chunk-map.json @@ -1 +1 @@ -{"app":["/app-a9a6bae6d362c36a6504.js"],"component---src-pages-templates-404-tsx":["/component---src-pages-templates-404-tsx-1ec7dcfded6e73efef91.js"],"component---src-pages-templates-blog-by-author-tsx":["/component---src-pages-templates-blog-by-author-tsx-81ce4ebe76fd86584042.js"],"component---src-pages-templates-blog-by-hashtag-tsx":["/component---src-pages-templates-blog-by-hashtag-tsx-135c2ed0b3b21b743c64.js"],"component---src-pages-templates-blog-tsx":["/component---src-pages-templates-blog-tsx-1a587e5e21db03ac0f47.js"],"component---src-pages-templates-index-tsx":["/component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js"],"component---src-pages-templates-policies-tsx":["/component---src-pages-templates-policies-tsx-359925d45492160d5e8b.js"],"component---src-pages-templates-post-tsx":["/component---src-pages-templates-post-tsx-4f0b1db8f77b105dfb25.js"],"component---src-pages-templates-project-tsx":["/component---src-pages-templates-project-tsx-64eed449e2c049361b4e.js"],"component---src-pages-templates-projects-tsx":["/component---src-pages-templates-projects-tsx-05e1354e259380d8d7ed.js"],"component---src-pages-templates-services-tsx":["/component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js"],"component---src-pages-templates-workflow-tsx":["/component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js"]} \ No newline at end of file +{"app":["/app-a9a6bae6d362c36a6504.js"],"component---src-pages-templates-404-tsx":["/component---src-pages-templates-404-tsx-1ec7dcfded6e73efef91.js"],"component---src-pages-templates-blog-by-author-tsx":["/component---src-pages-templates-blog-by-author-tsx-81ce4ebe76fd86584042.js"],"component---src-pages-templates-blog-by-hashtag-tsx":["/component---src-pages-templates-blog-by-hashtag-tsx-135c2ed0b3b21b743c64.js"],"component---src-pages-templates-blog-tsx":["/component---src-pages-templates-blog-tsx-1a587e5e21db03ac0f47.js"],"component---src-pages-templates-index-tsx":["/component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js"],"component---src-pages-templates-policies-tsx":["/component---src-pages-templates-policies-tsx-359925d45492160d5e8b.js"],"component---src-pages-templates-post-tsx":["/component---src-pages-templates-post-tsx-4f0b1db8f77b105dfb25.js"],"component---src-pages-templates-project-tsx":["/component---src-pages-templates-project-tsx-64eed449e2c049361b4e.js"],"component---src-pages-templates-projects-tsx":["/component---src-pages-templates-projects-tsx-05e1354e259380d8d7ed.js"],"component---src-pages-templates-services-tsx":["/component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js"],"component---src-pages-templates-workflow-tsx":["/component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js"]} \ No newline at end of file diff --git a/component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js b/component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js similarity index 98% rename from component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js rename to component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js index e434e5b4..bbe876d2 100644 --- a/component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js +++ b/component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js @@ -1,2 +1,2 @@ -(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[832],{6838:function(t,e,n){var l=n(9720).w_;t.exports.z=function(t){return l({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1-17.2-31.5-42.5-56.8-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9-31.5 17.2-56.8 42.5-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z"}},{tag:"path",attr:{d:"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 34.8-28.2 63-63 63H232c-34.8 0-63-28.2-63-63 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7 6 17.2 13.6 33.6 22.7 49 24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5 41.5-24.3 76.2-59 100.5-100.5 9.1-15.5 16.7-31.9 22.7-49C812.1 793.1 836 831.8 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"}}]})(t)}},6488:function(t,e,n){var l=n(9720).w_;t.exports.p=function(t){return l({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z",clipRule:"evenodd"}},{tag:"path",attr:{fillRule:"evenodd",d:"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z",clipRule:"evenodd"}}]})(t)}},4032:function(t,e,n){var l=n(9720).w_;t.exports.t=function(t){return l({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"}}]})(t)}},216:function(t,e,n){"use strict";var l=n(7462),a=n(7294),o=n(4160),r=n(8322),i=n(4471),s=n.n(i),c=n(1164),d=n(917);e.Z=t=>{let{section:e,theme:n,title:i,linkTitle:u,subTitle:m,className:p,children:f,borderT:v,borderB:x,isArrowLink:g=!0,...h}=t;const Z=n===r.Q.dark?"text-secondary-100":"text-main-100",w=n===r.Q.dark?"text-secondary-100 hover:text-secondary-70":"text-main-100 hover:text-main-10",b=n===r.Q.dark?"bg-main-100":"bg-secondary-100";return(0,d.tZ)(a.Fragment,null,v?(0,d.tZ)(s(),{className:"w-full"}):null,(0,d.tZ)("section",(0,l.Z)({className:`w-full py-16 ${b} ${p}`},h),(0,d.tZ)(c.Z,{maxWidthClass:"max-w-[1280px]",className:`flex-col items-center ${Z}`},(0,d.tZ)("div",{className:"flex justify-between w-full sm:items-center pb-8 sm:pb-14 flex-col sm:flex-row gap-5"},(0,d.tZ)("h2",{className:`text-4xl font-bold flex-1 ${Z}`},i.toUpperCase()),e?(0,d.tZ)(o.rU,{to:`/${e}`,className:`w-full sm:w-auto text-start sm:text-end text-xl font-normal cursor-pointer whitespace-nowrap ${w}`},u?u.toUpperCase():"DISCOVER MORE"," ",g?(0,d.tZ)(a.Fragment,null,"→"):null):null,m?(0,d.tZ)("p",{className:`w-full sm:w-auto flex-1 text-start sm:text-end text-xl font-normal ${Z}`},m.toUpperCase()):null),f)),x?(0,d.tZ)(s(),{className:"w-full"}):null)}},3793:function(t,e,n){"use strict";var l=n(4160),a=n(6488),o=n(9165),r=n(8322),i=n(917);e.Z=t=>{let{post:e,theme:n,className:s,markupData:c,lang:d}=t;const{date:u,title:m,text:p}=e.frontmatter,f=Math.floor(e.wordCount.words/200),v=f||1,x=n===r.Q.light?"text-main-100":"text-secondary-100",g=n===r.Q.light?"text-main-70":"text-secondary-70",h=n===r.Q.light?"hover:text-main-10":"hover:text-secondary-10";return(0,i.tZ)(l.rU,{to:`/blog/${e.id}`,className:`flex flex-col sm:flex-row w-full justify-center gap-5 md:gap-14 ${x} ${h} ${s}`,itemScope:!0,itemType:"https://schema.org/Article"},(0,i.tZ)("div",{className:"flex flex-col w-full max-w-[400px] gap-2.5"},(0,i.tZ)("p",{itemProp:"dateCreated",className:`text-lg ${g}`},u),(0,i.tZ)("h2",{itemProp:"headline",className:`text-3xl font-semibold ${x}`},m)),(0,i.tZ)("div",{className:"flex flex-col w-full max-w-[500px] gap-5"},(0,i.tZ)("p",{className:`font-normal text-base ${x}`,itemProp:"abstract"},p.split(" ").slice(0,70).join(" "),"..."),(0,i.tZ)("div",{className:"flex w-full items-center justify-between"},(0,i.tZ)("div",{className:"flex items-center gap-3 text-sm font-bold"},(0,i.tZ)("span",null,null==c?void 0:c.readPostLink),(0,i.tZ)(a.p,{size:14})),(0,i.tZ)("p",{className:`text-sm ${g}`},`${v} ${null==c?void 0:c.readingTimeUnits} ${null==c?void 0:c.readingTimeTitle}`))),(0,i.tZ)(o.Lx,{itemProp:"copyrightHolder",lang:d}))}},6745:function(t,e,n){"use strict";var l=n(4160),a=n(8032),o=n(8322),r=n(6488),i=n(9165),s=n(917);e.Z=t=>{let{project:e,className:n,theme:c,lang:d}=t;const u=(0,a.c)(e.frontmatter.cover),{title:m,teamSize:p,duration:f}=e.frontmatter,v=c===o.Q.light?"text-main-100":"text-secondary-100",x=c===o.Q.light?"bg-secondary-100 hover:bg-secondary-100":"bg-main-100 hover:bg-main-100";return(0,s.tZ)(l.rU,{to:`/projects/${e.id}`,className:`${x} ${v} flex flex-col justify-between rounded-2xl p-2.5 gap-2.5 ${n}`,itemScope:!0,itemType:"https://schema.org/CreativeWork"},(0,s.tZ)("div",{className:"group flex-1 relative"},u?(0,s.tZ)("div",{className:"w-full rounded-[10px] overflow-hidden"},(0,s.tZ)(a.G,{image:u,alt:"cover",itemProp:"image",className:"object-contain w-full rounded-[10px] grayscale transition-all group-hover:scale-[1.05]"})):null,(0,s.tZ)("div",{className:"absolute left-2 bottom-2 flex items-center gap-2.5 z-10"},(0,s.tZ)("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},f),(0,s.tZ)("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},p))),(0,s.tZ)("div",{className:"flex px-2.5 py-1 items-center grow"},(0,s.tZ)("h2",{className:"text-base grow font-medium h-full",itemProp:"description"},m),(0,s.tZ)(r.p,{size:20})),(0,s.tZ)(i.Lx,{itemProp:"author",lang:d}))}},171:function(t,e,n){"use strict";n.r(e),n.d(e,{Head:function(){return M},default:function(){return I}});var l=n(9720),a=n(1929),o=n(7294),r=n(4160),i=n(6838),s=n(1312),c=n(7451),d=n(917);var u=(0,o.forwardRef)(((t,e)=>{let{className:n,children:l}=t;const[a,o]=(0,s.Z)({loop:!0,dragFree:!0,duration:1e4,align:"start"},[(0,c.Z)({delay:0,stopOnInteraction:!1,stopOnMouseEnter:!0})]);return(0,d.tZ)("div",{className:`overflow-hidden ${n}`,ref:a},(0,d.tZ)("div",{ref:e,className:"h-full flex items-center",onMouseEnter:()=>{null==o||o.internalEngine().animation.stop()},onMouseLeave:()=>{null==o||o.internalEngine().animation.start()}},l))})),m=n(4471),p=n.n(m);var f=t=>{let{children:e}=t;return(0,d.tZ)("div",{className:"h-full shrink-0 min-w-0 cursor-pointer flex flex-col justify-between items-center content-center w-[192px] md:w-[256px] xl:w-[256px] 3xl:w-[400px]"},(0,d.tZ)(p(),{className:"min-w-0 shrink-0 w-full"}),(0,d.tZ)("p",{className:"text-lg font-semibold whitespace-nowrap"},e),(0,d.tZ)(p(),{className:"min-w-0 shrink-0 w-full"}))};var v=()=>{var t,e;const n=(0,r.K2)(x),l=null==n||null===(t=n.markdownRemark)||void 0===t||null===(e=t.frontmatter)||void 0===e?void 0:e.stack;return(0,d.tZ)(o.Fragment,null,l?(0,d.tZ)("section",{className:"h-16 flex flex-col relative"},(0,d.tZ)(u,{className:"grow"},l.map((t=>(0,d.tZ)(f,{key:t},t))),(0,d.tZ)(f,null,(0,d.tZ)(i.z,{size:32,className:"-rotate-90"})))):null)};const x="3518807326";var g=n(3793),h=n(216),Z=n(8322);var w=t=>{var e,n,l,a,i,s,c,u,m,p;let{lang:f}=t;const v=(0,r.K2)(b),x=null==v||null===(e=v.markupData)||void 0===e||null===(n=e.nodes)||void 0===n||null===(l=n.find((t=>t.fields.language===f)))||void 0===l||null===(a=l.frontmatter)||void 0===a?void 0:a.blog;let w;return w=f in v?null==v||null===(i=v[f])||void 0===i||null===(s=i.nodes)||void 0===s?void 0:s[0]:null==v||null===(c=v.en)||void 0===c||null===(u=c.nodes)||void 0===u?void 0:u[0],(0,d.tZ)(o.Fragment,null,w?(0,d.tZ)(h.Z,{theme:Z.Q.dark,title:null!==(m=null==x?void 0:x.blogSectionTitle)&&void 0!==m?m:"new in our blog",linkTitle:null!==(p=null==x?void 0:x.blogSectionLinkTitle)&&void 0!==p?p:"all posts",section:"blog",borderB:!0,className:"min-h-[400px]"},(0,d.tZ)(g.Z,{lang:f,post:w,theme:Z.Q.dark,markupData:x})):null)};const b="641077248";var N=n(6745);var y=t=>{var e,n,l,a,i,s,c,u;let{excludeId:m,lang:p}=t;const f=(0,r.K2)(k),v=null==f||null===(e=f.markupData)||void 0===e||null===(n=e.nodes)||void 0===n||null===(l=n.find((t=>t.fields.language===p)))||void 0===l||null===(a=l.frontmatter)||void 0===a?void 0:a.projects;let x;return x=p in f?null==f||null===(i=f[p])||void 0===i?void 0:i.nodes:null===(s=f.en)||void 0===s?void 0:s.nodes,x?(m&&(x=x.filter((t=>t.id!==m))),(0,d.tZ)(h.Z,{theme:Z.Q.dark,section:"projects",title:null!==(c=null==v?void 0:v.moreProjectsSectionTitle)&&void 0!==c?c:"OUR PROJECTS",linkTitle:null!==(u=null==v?void 0:v.moreProjectsSectionLinkTitle)&&void 0!==u?u:"Discover MORE",borderB:!0},(0,d.tZ)("div",{className:"flex justify-between items-center gap-5 lg:gap-10 flex-col sm:flex-row items-stretch"},x.map(((t,e)=>{if(3!==e)return(0,d.tZ)(N.Z,{key:t.id,project:t,lang:p,theme:Z.Q.light,className:"flex-1 sm:last:hidden lg:last:flex"})}))))):(0,d.tZ)(o.Fragment,null)};const k="2469162486";var $=n(9165),O=n(8032),T=n(4032);var j=t=>{let{review:{frontmatter:{company:e,person:n,position:l,location:a,image:o},html:r},className:i}=t;const s=(0,O.c)(o);return(0,d.tZ)("div",{className:`flex flex-col p-6 gap-3.5 bg-secondary-100 hover:shadow-[0px_2px_14px_rgba(68,68,68,0.25)] shadow-[0px_2px_8px_rgba(68,68,68,0.1)] rounded-2.5xl text-main-100 ${i}`},(0,d.tZ)("div",{className:"flex w-full items-start"},s?(0,d.tZ)(O.G,{image:s,alt:e,className:"h-[72px] w-[72px] object-cover rounded-full mr-3.5 grayscale"}):null,(0,d.tZ)("div",{className:"flex-1 font-normal text-base text-main-70 leading-5"},(0,d.tZ)("h3",{className:"font-bold text-xl text-main-100"},n),(0,d.tZ)("h4",null,(0,d.tZ)("span",null,l),", ",(0,d.tZ)("span",null,e)),(0,d.tZ)("h4",null,a)),(0,d.tZ)(T.t,{size:25,color:"#E4E4E4"})),(0,d.tZ)("div",{className:"review-body text-sm",dangerouslySetInnerHTML:{__html:r}}))};var C=t=>{var e,n,l,a,i,s,c,u,m;let{lang:p}=t;const f=(0,r.K2)(E),v=null==f||null===(e=f.markupData)||void 0===e||null===(n=e.nodes)||void 0===n||null===(l=n.find((t=>t.fields.language===p)))||void 0===l||null===(a=l.frontmatter)||void 0===a?void 0:a.reviews;let x;return x=p in f?null==f||null===(i=f[p])||void 0===i||null===(s=i.nodes)||void 0===s?void 0:s.sort(((t,e)=>t.frontmatter.person>e.frontmatter.person?1:-1)):null==f||null===(c=f.en)||void 0===c||null===(u=c.nodes)||void 0===u?void 0:u.sort(((t,e)=>t.frontmatter.person>e.frontmatter.person?1:-1)),(0,d.tZ)(o.Fragment,null,x?(0,d.tZ)(h.Z,{id:"reviews",theme:Z.Q.light,title:null!==(m=null==v?void 0:v.title)&&void 0!==m?m:"our clients' testimonials",subTitle:null==v?void 0:v.linkTitle,borderB:!0},(0,d.tZ)("div",{className:"flex justify-between items-start gap-5 lg:gap-10 flex-col md:flex-row"},x.map((t=>(0,d.tZ)(j,{review:t,key:t.id,className:"flex-1"}))))):null)};const E="1287994371";var S=n(4532);var I=t=>{let{pageContext:{markupData:e,lang:n}}=t;return(0,d.tZ)(l.Pd.Provider,{value:{style:{verticalAlign:"middle"}}},(0,d.tZ)(a.Z,{title:e.bannerTitle,babylon:!0}),(0,d.tZ)(v,null),(0,d.tZ)(y,{lang:n}),(0,d.tZ)(C,{lang:n}),(0,d.tZ)(w,{lang:n}),(0,d.tZ)(S.Z,{lang:n}))};const M=t=>{let{pageContext:{markupData:e,site:n,lang:l},location:a}=t;return(0,d.tZ)($.Ag,{title:e.head,description:e.metaDescription,siteUrl:n.siteUrl,path:a.pathname,lang:l})}},8322:function(t,e,n){"use strict";n.d(e,{Q:function(){return l}});let l=function(t){return t.dark="dark",t.light="light",t}({})},7451:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});const l={active:!0,breakpoints:{},delay:4e3,jump:!1,playOnInit:!0,stopOnFocusIn:!0,stopOnInteraction:!0,stopOnMouseEnter:!1,stopOnLastSnap:!1,rootNode:null};function a(t={}){let e,n,o,r=!1,i=!0,s=!1,c=0;function d(){if(o)return;if(!i)return;r||n.emit("autoplay:play");const{ownerWindow:t}=n.internalEngine();t.clearInterval(c),c=t.setInterval(v,e.delay),r=!0}function u(){if(o)return;r&&n.emit("autoplay:stop");const{ownerWindow:t}=n.internalEngine();t.clearInterval(c),c=0,r=!1}function m(){if(p())return i=r,u();i&&d()}function p(){const{ownerDocument:t}=n.internalEngine();return"hidden"===t.visibilityState}function f(t){void 0!==t&&(s=t),i=!0,d()}function v(){const{index:t}=n.internalEngine(),l=t.clone().add(1).get(),a=n.scrollSnapList().length-1;e.stopOnLastSnap&&l===a&&u(),n.canScrollNext()?n.scrollNext(s):n.scrollTo(0,s)}return{name:"autoplay",options:t,init:function(r,c){n=r;const{mergeOptions:f,optionsAtMedia:v}=c,x=f(l,a.globalOptions),g=f(x,t);if(e=v(g),n.scrollSnapList().length<=1)return;s=e.jump,o=!1;const{eventStore:h,ownerDocument:Z}=n.internalEngine(),w=n.rootNode(),b=e.rootNode&&e.rootNode(w)||w,N=n.containerNode();n.on("pointerDown",u),e.stopOnInteraction||n.on("pointerUp",d),e.stopOnMouseEnter&&(h.add(b,"mouseenter",(()=>{i=!1,u()})),e.stopOnInteraction||h.add(b,"mouseleave",(()=>{i=!0,d()}))),e.stopOnFocusIn&&(h.add(N,"focusin",u),e.stopOnInteraction||h.add(N,"focusout",d)),h.add(Z,"visibilitychange",m),e.playOnInit&&!p()&&d()},destroy:function(){n.off("pointerDown",u).off("pointerUp",d),u(),o=!0,r=!1},play:f,stop:function(){r&&u()},reset:function(){r&&f()},isPlaying:function(){return r}}}a.globalOptions=void 0}}]); -//# sourceMappingURL=component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js.map \ No newline at end of file +(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[832],{6838:function(t,e,n){var l=n(9720).w_;t.exports.z=function(t){return l({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1-17.2-31.5-42.5-56.8-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9-31.5 17.2-56.8 42.5-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z"}},{tag:"path",attr:{d:"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 34.8-28.2 63-63 63H232c-34.8 0-63-28.2-63-63 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7 6 17.2 13.6 33.6 22.7 49 24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5 41.5-24.3 76.2-59 100.5-100.5 9.1-15.5 16.7-31.9 22.7-49C812.1 793.1 836 831.8 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"}}]})(t)}},6488:function(t,e,n){var l=n(9720).w_;t.exports.p=function(t){return l({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z",clipRule:"evenodd"}},{tag:"path",attr:{fillRule:"evenodd",d:"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z",clipRule:"evenodd"}}]})(t)}},4032:function(t,e,n){var l=n(9720).w_;t.exports.t=function(t){return l({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"}}]})(t)}},216:function(t,e,n){"use strict";var l=n(7462),a=n(7294),o=n(4160),r=n(8322),i=n(4471),s=n.n(i),c=n(1164),d=n(917);e.Z=t=>{let{section:e,theme:n,title:i,linkTitle:u,subTitle:m,className:p,children:f,borderT:v,borderB:x,isArrowLink:g=!0,...h}=t;const Z=n===r.Q.dark?"text-secondary-100":"text-main-100",w=n===r.Q.dark?"text-secondary-100 hover:text-secondary-70":"text-main-100 hover:text-main-10",b=n===r.Q.dark?"bg-main-100":"bg-secondary-100";return(0,d.tZ)(a.Fragment,null,v?(0,d.tZ)(s(),{className:"w-full"}):null,(0,d.tZ)("section",(0,l.Z)({className:`w-full py-16 ${b} ${p}`},h),(0,d.tZ)(c.Z,{maxWidthClass:"max-w-[1280px]",className:`flex-col items-center ${Z}`},(0,d.tZ)("div",{className:"flex justify-between w-full sm:items-center pb-8 sm:pb-14 flex-col sm:flex-row gap-5"},(0,d.tZ)("h2",{className:`text-4xl font-bold flex-1 ${Z}`},i.toUpperCase()),e?(0,d.tZ)(o.rU,{to:`/${e}`,className:`w-full sm:w-auto text-start sm:text-end text-xl font-normal cursor-pointer whitespace-nowrap ${w}`},u?u.toUpperCase():"DISCOVER MORE"," ",g?(0,d.tZ)(a.Fragment,null,"→"):null):null,m?(0,d.tZ)("p",{className:`w-full sm:w-auto flex-1 text-start sm:text-end text-xl font-normal ${Z}`},m.toUpperCase()):null),f)),x?(0,d.tZ)(s(),{className:"w-full"}):null)}},3793:function(t,e,n){"use strict";var l=n(4160),a=n(6488),o=n(9165),r=n(8322),i=n(917);e.Z=t=>{let{post:e,theme:n,className:s,markupData:c,lang:d}=t;const{date:u,title:m,text:p}=e.frontmatter,f=Math.floor(e.wordCount.words/200),v=f||1,x=n===r.Q.light?"text-main-100":"text-secondary-100",g=n===r.Q.light?"text-main-70":"text-secondary-70",h=n===r.Q.light?"hover:text-main-10":"hover:text-secondary-10";return(0,i.tZ)(l.rU,{to:`/blog/${e.id}`,className:`flex flex-col sm:flex-row w-full justify-center gap-5 md:gap-14 ${x} ${h} ${s}`,itemScope:!0,itemType:"https://schema.org/Article"},(0,i.tZ)("div",{className:"flex flex-col w-full max-w-[400px] gap-2.5"},(0,i.tZ)("p",{itemProp:"dateCreated",className:`text-lg ${g}`},u),(0,i.tZ)("h2",{itemProp:"headline",className:`text-3xl font-semibold ${x}`},m)),(0,i.tZ)("div",{className:"flex flex-col w-full max-w-[500px] gap-5"},(0,i.tZ)("p",{className:`font-normal text-base ${x}`,itemProp:"abstract"},p.split(" ").slice(0,70).join(" "),"..."),(0,i.tZ)("div",{className:"flex w-full items-center justify-between"},(0,i.tZ)("div",{className:"flex items-center gap-3 text-sm font-bold"},(0,i.tZ)("span",null,null==c?void 0:c.readPostLink),(0,i.tZ)(a.p,{size:14})),(0,i.tZ)("p",{className:`text-sm ${g}`},`${v} ${null==c?void 0:c.readingTimeUnits} ${null==c?void 0:c.readingTimeTitle}`))),(0,i.tZ)(o.Lx,{itemProp:"copyrightHolder",lang:d}))}},6745:function(t,e,n){"use strict";var l=n(4160),a=n(8032),o=n(8322),r=n(6488),i=n(9165),s=n(917);e.Z=t=>{let{project:e,className:n,theme:c,lang:d}=t;const u=(0,a.c)(e.frontmatter.cover),{title:m,teamSize:p,duration:f}=e.frontmatter,v=c===o.Q.light?"text-main-100":"text-secondary-100",x=c===o.Q.light?"bg-secondary-100 hover:bg-secondary-100":"bg-main-100 hover:bg-main-100";return(0,s.tZ)(l.rU,{to:`/projects/${e.id}`,className:`${x} ${v} flex flex-col justify-between rounded-2xl p-2.5 gap-2.5 ${n}`,itemScope:!0,itemType:"https://schema.org/CreativeWork"},(0,s.tZ)("div",{className:"group flex-1 relative"},u?(0,s.tZ)("div",{className:"w-full rounded-[10px] overflow-hidden"},(0,s.tZ)(a.G,{image:u,alt:"cover",itemProp:"image",className:"object-contain w-full rounded-[10px] grayscale transition-all group-hover:scale-[1.05]"})):null,(0,s.tZ)("div",{className:"absolute left-2 bottom-2 flex items-center gap-2.5 z-10"},(0,s.tZ)("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},f),(0,s.tZ)("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},p))),(0,s.tZ)("div",{className:"flex px-2.5 py-1 items-center grow"},(0,s.tZ)("h2",{className:"text-base grow font-medium h-full",itemProp:"description"},m),(0,s.tZ)(r.p,{size:20})),(0,s.tZ)(i.Lx,{itemProp:"author",lang:d}))}},171:function(t,e,n){"use strict";n.r(e),n.d(e,{Head:function(){return M},default:function(){return I}});var l=n(9720),a=n(1929),o=n(7294),r=n(4160),i=n(6838),s=n(1312),c=n(7451),d=n(917);var u=(0,o.forwardRef)(((t,e)=>{let{className:n,children:l}=t;const[a,o]=(0,s.Z)({loop:!0,dragFree:!0,duration:1e4,align:"start"},[(0,c.Z)({delay:0,stopOnInteraction:!1,stopOnMouseEnter:!0})]);return(0,d.tZ)("div",{className:`overflow-hidden ${n}`,ref:a},(0,d.tZ)("div",{ref:e,className:"h-full flex items-center",onMouseEnter:()=>{null==o||o.internalEngine().animation.stop()},onMouseLeave:()=>{null==o||o.internalEngine().animation.start()}},l))})),m=n(4471),p=n.n(m);var f=t=>{let{children:e}=t;return(0,d.tZ)("div",{className:"h-full shrink-0 min-w-0 cursor-pointer flex flex-col justify-between items-center content-center w-[192px] md:w-[256px] xl:w-[256px] 3xl:w-[400px]"},(0,d.tZ)(p(),{className:"min-w-0 shrink-0 w-full"}),(0,d.tZ)("p",{className:"text-lg font-semibold whitespace-nowrap"},e),(0,d.tZ)(p(),{className:"min-w-0 shrink-0 w-full"}))};var v=()=>{var t,e;const n=(0,r.K2)(x),l=null==n||null===(t=n.markdownRemark)||void 0===t||null===(e=t.frontmatter)||void 0===e?void 0:e.stack;return(0,d.tZ)(o.Fragment,null,l?(0,d.tZ)("section",{className:"h-16 flex flex-col relative"},(0,d.tZ)(u,{className:"grow"},l.map((t=>(0,d.tZ)(f,{key:t},t))),(0,d.tZ)(f,null,(0,d.tZ)(i.z,{size:32,className:"-rotate-90"})))):null)};const x="3518807326";var g=n(3793),h=n(216),Z=n(8322);var w=t=>{var e,n,l,a,i,s,c,u,m,p;let{lang:f}=t;const v=(0,r.K2)(b),x=null==v||null===(e=v.markupData)||void 0===e||null===(n=e.nodes)||void 0===n||null===(l=n.find((t=>t.fields.language===f)))||void 0===l||null===(a=l.frontmatter)||void 0===a?void 0:a.blog;let w;return w=f in v?null==v||null===(i=v[f])||void 0===i||null===(s=i.nodes)||void 0===s?void 0:s[0]:null==v||null===(c=v.en)||void 0===c||null===(u=c.nodes)||void 0===u?void 0:u[0],(0,d.tZ)(o.Fragment,null,w?(0,d.tZ)(h.Z,{theme:Z.Q.dark,title:null!==(m=null==x?void 0:x.blogSectionTitle)&&void 0!==m?m:"new in our blog",linkTitle:null!==(p=null==x?void 0:x.blogSectionLinkTitle)&&void 0!==p?p:"all posts",section:"blog",borderB:!0,className:"min-h-[400px]"},(0,d.tZ)(g.Z,{lang:f,post:w,theme:Z.Q.dark,markupData:x})):null)};const b="641077248";var N=n(6745);var y=t=>{var e,n,l,a,i,s,c,u;let{excludeId:m,lang:p}=t;const f=(0,r.K2)(k),v=null==f||null===(e=f.markupData)||void 0===e||null===(n=e.nodes)||void 0===n||null===(l=n.find((t=>t.fields.language===p)))||void 0===l||null===(a=l.frontmatter)||void 0===a?void 0:a.projects;let x;return x=p in f?null==f||null===(i=f[p])||void 0===i?void 0:i.nodes:null===(s=f.en)||void 0===s?void 0:s.nodes,x?(m&&(x=x.filter((t=>t.id!==m))),(0,d.tZ)(h.Z,{theme:Z.Q.dark,section:"projects",title:null!==(c=null==v?void 0:v.moreProjectsSectionTitle)&&void 0!==c?c:"OUR PROJECTS",linkTitle:null!==(u=null==v?void 0:v.moreProjectsSectionLinkTitle)&&void 0!==u?u:"Discover MORE",borderB:!0},(0,d.tZ)("div",{className:"flex justify-between items-center gap-5 lg:gap-10 flex-col sm:flex-row items-stretch"},x.map(((t,e)=>{if(3!==e)return(0,d.tZ)(N.Z,{key:t.id,project:t,lang:p,theme:Z.Q.light,className:"flex-1 sm:last:hidden lg:last:flex"})}))))):(0,d.tZ)(o.Fragment,null)};const k="2469162486";var $=n(9165),O=n(8032),T=n(4032);var j=t=>{let{review:{frontmatter:{company:e,person:n,position:l,location:a,image:o},html:r},className:i}=t;const s=(0,O.c)(o);return(0,d.tZ)("div",{className:`flex flex-col p-6 gap-3.5 bg-secondary-100 hover:shadow-[0px_2px_14px_rgba(68,68,68,0.25)] shadow-[0px_2px_8px_rgba(68,68,68,0.1)] rounded-2.5xl text-main-100 ${i}`},(0,d.tZ)("div",{className:"flex w-full items-start"},s?(0,d.tZ)(O.G,{image:s,alt:e,className:"h-[72px] w-[72px] object-cover rounded-full mr-3.5 grayscale"}):null,(0,d.tZ)("div",{className:"flex-1 font-normal text-base text-main-70 leading-5"},(0,d.tZ)("h3",{className:"font-bold text-xl text-main-100"},n),(0,d.tZ)("h4",null,(0,d.tZ)("span",null,l),", ",(0,d.tZ)("span",null,e)),(0,d.tZ)("h4",null,a)),(0,d.tZ)(T.t,{size:25,color:"#E4E4E4"})),(0,d.tZ)("div",{className:"review-body text-sm",dangerouslySetInnerHTML:{__html:r}}))};var C=t=>{var e,n,l,a,i,s,c,u,m;let{lang:p}=t;const f=(0,r.K2)(E),v=null==f||null===(e=f.markupData)||void 0===e||null===(n=e.nodes)||void 0===n||null===(l=n.find((t=>t.fields.language===p)))||void 0===l||null===(a=l.frontmatter)||void 0===a?void 0:a.reviews;let x;return x=p in f?null==f||null===(i=f[p])||void 0===i||null===(s=i.nodes)||void 0===s?void 0:s.sort(((t,e)=>t.frontmatter.person>e.frontmatter.person?1:-1)):null==f||null===(c=f.en)||void 0===c||null===(u=c.nodes)||void 0===u?void 0:u.sort(((t,e)=>t.frontmatter.person>e.frontmatter.person?1:-1)),(0,d.tZ)(o.Fragment,null,x?(0,d.tZ)(h.Z,{id:"reviews",theme:Z.Q.light,title:null!==(m=null==v?void 0:v.title)&&void 0!==m?m:"our clients' testimonials",subTitle:null==v?void 0:v.linkTitle,borderB:!0},(0,d.tZ)("div",{className:"flex justify-between items-start gap-5 lg:gap-10 flex-col md:flex-row"},x.map((t=>(0,d.tZ)(j,{review:t,key:t.id,className:"flex-1"}))))):null)};const E="1287994371";var S=n(5081);var I=t=>{let{pageContext:{markupData:e,lang:n}}=t;return(0,d.tZ)(l.Pd.Provider,{value:{style:{verticalAlign:"middle"}}},(0,d.tZ)(a.Z,{title:e.bannerTitle,babylon:!0}),(0,d.tZ)(v,null),(0,d.tZ)(y,{lang:n}),(0,d.tZ)(C,{lang:n}),(0,d.tZ)(w,{lang:n}),(0,d.tZ)(S.Z,{lang:n}))};const M=t=>{let{pageContext:{markupData:e,site:n,lang:l},location:a}=t;return(0,d.tZ)($.Ag,{title:e.head,description:e.metaDescription,siteUrl:n.siteUrl,path:a.pathname,lang:l})}},8322:function(t,e,n){"use strict";n.d(e,{Q:function(){return l}});let l=function(t){return t.dark="dark",t.light="light",t}({})},7451:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});const l={active:!0,breakpoints:{},delay:4e3,jump:!1,playOnInit:!0,stopOnFocusIn:!0,stopOnInteraction:!0,stopOnMouseEnter:!1,stopOnLastSnap:!1,rootNode:null};function a(t={}){let e,n,o,r=!1,i=!0,s=!1,c=0;function d(){if(o)return;if(!i)return;r||n.emit("autoplay:play");const{ownerWindow:t}=n.internalEngine();t.clearInterval(c),c=t.setInterval(v,e.delay),r=!0}function u(){if(o)return;r&&n.emit("autoplay:stop");const{ownerWindow:t}=n.internalEngine();t.clearInterval(c),c=0,r=!1}function m(){if(p())return i=r,u();i&&d()}function p(){const{ownerDocument:t}=n.internalEngine();return"hidden"===t.visibilityState}function f(t){void 0!==t&&(s=t),i=!0,d()}function v(){const{index:t}=n.internalEngine(),l=t.clone().add(1).get(),a=n.scrollSnapList().length-1;e.stopOnLastSnap&&l===a&&u(),n.canScrollNext()?n.scrollNext(s):n.scrollTo(0,s)}return{name:"autoplay",options:t,init:function(r,c){n=r;const{mergeOptions:f,optionsAtMedia:v}=c,x=f(l,a.globalOptions),g=f(x,t);if(e=v(g),n.scrollSnapList().length<=1)return;s=e.jump,o=!1;const{eventStore:h,ownerDocument:Z}=n.internalEngine(),w=n.rootNode(),b=e.rootNode&&e.rootNode(w)||w,N=n.containerNode();n.on("pointerDown",u),e.stopOnInteraction||n.on("pointerUp",d),e.stopOnMouseEnter&&(h.add(b,"mouseenter",(()=>{i=!1,u()})),e.stopOnInteraction||h.add(b,"mouseleave",(()=>{i=!0,d()}))),e.stopOnFocusIn&&(h.add(N,"focusin",u),e.stopOnInteraction||h.add(N,"focusout",d)),h.add(Z,"visibilitychange",m),e.playOnInit&&!p()&&d()},destroy:function(){n.off("pointerDown",u).off("pointerUp",d),u(),o=!0,r=!1},play:f,stop:function(){r&&u()},reset:function(){r&&f()},isPlaying:function(){return r}}}a.globalOptions=void 0}}]); +//# sourceMappingURL=component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js.map \ No newline at end of file diff --git a/component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js.map b/component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js.map similarity index 99% rename from component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js.map rename to component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js.map index bfd81cb2..4711663e 100644 --- a/component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js.map +++ b/component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js.map @@ -1 +1 @@ -{"version":3,"file":"component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js","mappings":"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","sources":["webpack://code-cave/./node_modules/@react-icons/all-files/ai/AiFillBug.js","webpack://code-cave/./node_modules/@react-icons/all-files/bs/BsArrowUpRight.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaQuoteRight.js","webpack://code-cave/./src/components/common/templateSection.tsx","webpack://code-cave/./src/components/posts/postPreview.tsx","webpack://code-cave/./src/components/projects/projectPreview.tsx","webpack://code-cave/./src/components/stack/stackCarousel.tsx","webpack://code-cave/./src/components/stack/stakUnit.tsx","webpack://code-cave/./src/components/stack/stackSection.tsx","webpack://code-cave/./src/components/posts/postSection.tsx","webpack://code-cave/./src/components/projects/projectsSection.tsx","webpack://code-cave/./src/components/reviews/review.tsx","webpack://code-cave/./src/components/reviews/staticReviewsSection.tsx","webpack://code-cave/./src/pagesTemplates/index.tsx","webpack://code-cave/./src/types/common.type.ts","webpack://code-cave/./node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js"],"sourcesContent":["// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.AiFillBug = function AiFillBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1-17.2-31.5-42.5-56.8-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9-31.5 17.2-56.8 42.5-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 34.8-28.2 63-63 63H232c-34.8 0-63-28.2-63-63 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7 6 17.2 13.6 33.6 22.7 49 24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5 41.5-24.3 76.2-59 100.5-100.5 9.1-15.5 16.7-31.9 22.7-49C812.1 793.1 836 831.8 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.BsArrowUpRight = function BsArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 16 16\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaQuoteRight = function FaQuoteRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"}}]})(props);\n};\n","import React, { PropsWithChildren } from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { Theme } from \"../../types/common.type\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\n\ninterface ITemplateSectionProps extends React.HTMLAttributes {\n title: string;\n theme: Theme;\n isArrowLink?: boolean;\n linkTitle?: string;\n subTitle?: string;\n section?: string;\n className?: string;\n borderT?: boolean;\n borderB?: boolean;\n}\n\nconst TemplateSection = ({\n section,\n theme,\n title,\n linkTitle,\n subTitle,\n className,\n children,\n borderT,\n borderB,\n isArrowLink = true,\n ...attr\n}: PropsWithChildren) => {\n const mainColorClass =\n theme === Theme.dark ? \"text-secondary-100\" : \"text-main-100\";\n const linkColorClass =\n theme === Theme.dark\n ? \"text-secondary-100 hover:text-secondary-70\"\n : \"text-main-100 hover:text-main-10\";\n const bgColorClass =\n theme === Theme.dark ? \"bg-main-100\" : \"bg-secondary-100\";\n\n return (\n <>\n {borderT ? : null}\n \n \n
\n

\n {title.toUpperCase()}\n

\n {section ? (\n \n {linkTitle ? linkTitle.toUpperCase() : \"DISCOVER MORE\"}{\" \"}\n {isArrowLink ? <>→ : null}\n \n ) : null}\n {subTitle ? (\n \n {subTitle.toUpperCase()}\n

\n ) : null}\n
\n {children}\n \n \n {borderB ? : null}\n \n );\n};\n\nexport default TemplateSection;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { IPostPreviewQueryResult } from \"../../types/post.type\";\nimport { LocalBusinessMetadata } from \"../common/metadata\";\nimport { IBlogMarkupData } from \"../../types/commonMarkup.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\n\nconst PostPreview = ({\n post,\n theme,\n className,\n markupData,\n lang,\n}: {\n post: IPostPreviewQueryResult;\n className?: string;\n theme: Theme;\n markupData?: IBlogMarkupData;\n lang: TLang;\n}) => {\n const { date, title, text } = post.frontmatter;\n\n const minutes = Math.floor(post.wordCount.words / 200);\n const readingTime = minutes ? minutes : 1;\n\n const fontColorClass100 =\n theme === Theme.light ? \"text-main-100\" : \"text-secondary-100\";\n const fontColorClass70 =\n theme === Theme.light ? \"text-main-70\" : \"text-secondary-70\";\n const fontColorHover =\n theme === Theme.light ? \"hover:text-main-10\" : \"hover:text-secondary-10\";\n\n return (\n \n
\n

\n {date}\n

\n \n {title}\n \n
\n
\n \n {text.split(\" \").slice(0, 70).join(\" \")}...\n

\n
\n
\n {markupData?.readPostLink}\n \n
\n

\n {`${readingTime} ${markupData?.readingTimeUnits} ${markupData?.readingTimeTitle}`}\n

\n
\n
\n \n \n );\n};\n\nexport default PostPreview;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IProjectPreviewQueryResult } from \"../../types/project.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { LocalBusinessMetadata } from \"../common/metadata\";\n\nconst ProjectPreview = ({\n project,\n className,\n theme,\n lang,\n}: {\n project: IProjectPreviewQueryResult;\n className?: string;\n theme: Theme;\n lang: TLang;\n}) => {\n const cover = getImage(project.frontmatter.cover);\n const { title, teamSize, duration } = project.frontmatter;\n\n const fontColorClass10 =\n theme === Theme.light ? \"text-main-100\" : \"text-secondary-100\";\n const bgColors =\n theme === Theme.light\n ? \"bg-secondary-100 hover:bg-secondary-100\"\n : \"bg-main-100 hover:bg-main-100\";\n\n return (\n \n
\n {cover ? (\n
\n \n
\n ) : null}\n
\n

\n {duration}\n

\n

\n {teamSize}\n

\n
\n
\n
\n \n {title}\n \n \n
\n \n \n );\n};\n\nexport default ProjectPreview;\n","import React, { forwardRef } from \"react\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport Autoplay from \"embla-carousel-autoplay\";\n\nconst StackCarousel = forwardRef<\n HTMLDivElement,\n React.PropsWithChildren<{ className?: string }>\n>(({ className, children }, ref) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true, dragFree: true, duration: 10000, align: \"start\" },\n [\n Autoplay({\n delay: 0,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n }),\n ]\n );\n\n return (\n
\n {\n emblaApi?.internalEngine().animation.stop();\n }}\n onMouseLeave={() => {\n emblaApi?.internalEngine().animation.start();\n }}\n >\n {children}\n
\n \n );\n});\n\nexport default StackCarousel;\n","import React, { PropsWithChildren } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\n\nconst StackUnit = ({ children }: PropsWithChildren) => {\n return (\n
\n \n

{children}

\n \n
\n );\n};\n\nexport default StackUnit;\n","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nimport { AiFillBug } from \"@react-icons/all-files/ai/AiFillBug\";\n\nimport StackCarousel from \"./stackCarousel\";\nimport StackUnit from \"./stakUnit\";\n\nconst StackSection = () => {\n const techData = useStaticQuery(query);\n const techArr = techData?.markdownRemark?.frontmatter?.stack as\n | string[]\n | null;\n\n return (\n <>\n {techArr ? (\n
\n \n {techArr.map((tech) => (\n {tech}\n ))}\n \n \n \n \n
\n ) : null}\n \n );\n};\n\nexport default StackSection;\n\nexport const query = graphql`\n query {\n markdownRemark(fields: { sourceName: { eq: \"stack\" } }) {\n frontmatter {\n stack\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport {\n IBlogSectionQueryResult,\n IPostPreviewQueryResult,\n} from \"../../types/post.type\";\n\nimport PostPreview from \"./postPreview\";\nimport TemplateSection from \"../common/templateSection\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\nconst PostSection = ({ lang }: ILang) => {\n const postData = useStaticQuery(query) as IBlogSectionQueryResult;\n\n const sectionMarkup = postData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.blog;\n\n let post: IPostPreviewQueryResult | null | undefined;\n\n if (lang in postData)\n post = postData?.[lang]?.nodes?.[0] as IPostPreviewQueryResult | null;\n else post = postData?.en?.nodes?.[0];\n\n return (\n <>\n {post ? (\n \n \n \n ) : null}\n \n );\n};\n\nexport default PostSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"posts\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 1\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"DD MMM YYYY\", locale: \"en\")\n title\n text\n }\n wordCount {\n words\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"posts\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 1\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"DD MMM YYYY\", locale: \"ru\")\n title\n text\n }\n wordCount {\n words\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n blog {\n bannerTitle\n head\n readPostLink\n readingTimeTitle\n readingTimeUnits\n postFooterTitle\n postFooterText\n blogSectionTitle\n blogSectionLinkTitle\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport {\n IProjectPreviewQueryResult,\n IProjectSectionQueryResult,\n} from \"../../types/project.type\";\n\nimport ProjectPreview from \"./projectPreview\";\nimport TemplateSection from \"../common/templateSection\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\ninterface IProjectsSectionProps extends ILang {\n excludeId?: string;\n}\n\nconst ProjectsSection = ({ excludeId, lang }: IProjectsSectionProps) => {\n const projectsPreviewData = useStaticQuery(\n query\n ) as IProjectSectionQueryResult;\n\n const sectionMarkup = projectsPreviewData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.projects;\n\n let projects: IProjectPreviewQueryResult[] | null | undefined;\n if (lang in projectsPreviewData)\n projects = projectsPreviewData?.[lang]?.nodes as\n | IProjectPreviewQueryResult[]\n | null\n | undefined;\n else projects = projectsPreviewData.en?.nodes;\n\n if (!projects) return <>;\n\n if (excludeId) {\n projects = projects.filter((project) => project.id !== excludeId);\n }\n\n return (\n \n
\n {projects.map((project, i) => {\n if (i === 3) return;\n return (\n \n );\n })}\n
\n \n );\n};\n\nexport default ProjectsSection;\n\nexport const query = graphql`\n {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n teamSize\n duration\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 400\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n teamSize\n duration\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 400\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n projects {\n moreProjectsSectionTitle\n moreProjectsSectionLinkTitle\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IReviewQueryResult } from \"../../types/review.type\";\n\nimport { FaQuoteRight } from \"@react-icons/all-files/fa/FaQuoteRight\";\n\nconst Review = ({\n review: {\n frontmatter: { company, person, position, location, image },\n html,\n },\n className,\n}: {\n review: IReviewQueryResult;\n className?: string;\n}) => {\n const avatar = getImage(image);\n\n return (\n \n
\n {avatar ? (\n \n ) : null}\n
\n

{person}

\n

\n {position}, {company}\n

\n

{location}

\n
\n \n
\n \n \n\n //
\n //
\n // \n // {avatar ? (\n // \n // ) : null}\n //
\n //
\n //

{person}

\n // {person}\n //

\n // {position}, {company}\n //

\n //

\n // {location}\n //

\n //
\n //
\n // \n // \n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { ILang, Theme } from \"../../types/common.type\";\nimport {\n IReviewQueryResult,\n IReviewSectionQueryResult,\n} from \"../../types/review.type\";\n\nimport TemplateSection from \"../common/templateSection\";\nimport Review from \"./review\";\n\nconst StaticReviewsSection = ({ lang }: ILang) => {\n const reviewsData = useStaticQuery(query) as IReviewSectionQueryResult;\n\n const sectionMarkup = reviewsData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.reviews;\n\n let reviews: IReviewQueryResult[] | null | undefined;\n\n if (lang in reviewsData)\n reviews = reviewsData?.[lang]?.nodes?.sort((a, b) =>\n a.frontmatter.person > b.frontmatter.person ? 1 : -1\n ) as IReviewQueryResult[] | null | undefined;\n else\n reviews = reviewsData?.en?.nodes?.sort((a, b) =>\n a.frontmatter.person > b.frontmatter.person ? 1 : -1\n );\n\n return (\n <>\n {reviews ? (\n \n
\n {reviews.map((review) => (\n \n ))}\n
\n \n ) : null}\n \n );\n};\n\nexport default StaticReviewsSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"reviews\" }, language: { eq: \"en\" } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"reviews\" }, language: { eq: \"ru\" } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n reviews {\n title\n linkTitle\n }\n }\n }\n }\n }\n`;\n","import * as React from \"react\";\nimport type { HeadFC, HeadProps, PageProps } from \"gatsby\";\n\nimport { IconContext } from \"@react-icons/all-files\";\nimport \"../styles/styles.css\";\n\nimport { IIndexPageContext } from \"../types/index.type\";\n\nimport Banner from \"../components/common/banner\";\nimport StackSection from \"../components/stack/stackSection\";\nimport PostSection from \"../components/posts/postSection\";\nimport ProjectsSection from \"../components/projects/projectsSection\";\nimport { HeadSeo } from \"../components/common/metadata\";\nimport StaticReviewsSection from \"../components/reviews/staticReviewsSection\";\nimport ContactFormSection from \"../components/forms/contactFormSection\";\n\nconst IndexPage = ({\n pageContext: { markupData, lang },\n}: PageProps) => {\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport default IndexPage;\n\nexport const Head: HeadFC = ({\n pageContext: { markupData, site, lang },\n location,\n}: HeadProps) => {\n return (\n \n );\n};\n","export interface ILang {\n lang: TLang;\n}\n\nexport type TLang = \"en\" | \"ru\";\n\nexport type TLinks = \"services\" | \"workflow\" | \"projects\" | \"blog\";\n\nexport interface IBasePageContext extends ILang {\n site: ISiteMetadata;\n}\n\nexport interface IMdQueryResult {\n allMarkdownRemark: {\n nodes: T[];\n };\n}\n\nexport interface ISiteMetadata {\n title: string;\n description: string;\n siteUrl: string;\n image: string;\n analyticsId: string;\n commentsSetup: ICommentsSetup;\n}\n\nexport interface ICommentsSetup {\n repo: `${string}/${string}`;\n repoId: string;\n categoryId: string;\n}\n\nexport enum Theme {\n dark = \"dark\",\n light = \"light\",\n}\n","const defaultOptions = {\n active: true,\n breakpoints: {},\n delay: 4000,\n jump: false,\n playOnInit: true,\n stopOnFocusIn: true,\n stopOnInteraction: true,\n stopOnMouseEnter: false,\n stopOnLastSnap: false,\n rootNode: null\n};\n\nfunction Autoplay(userOptions = {}) {\n let options;\n let emblaApi;\n let destroyed;\n let playing = false;\n let resume = true;\n let jump = false;\n let timer = 0;\n function init(emblaApiInstance, optionsHandler) {\n emblaApi = emblaApiInstance;\n const {\n mergeOptions,\n optionsAtMedia\n } = optionsHandler;\n const optionsBase = mergeOptions(defaultOptions, Autoplay.globalOptions);\n const allOptions = mergeOptions(optionsBase, userOptions);\n options = optionsAtMedia(allOptions);\n if (emblaApi.scrollSnapList().length <= 1) return;\n jump = options.jump;\n destroyed = false;\n const {\n eventStore,\n ownerDocument\n } = emblaApi.internalEngine();\n const emblaRoot = emblaApi.rootNode();\n const root = options.rootNode && options.rootNode(emblaRoot) || emblaRoot;\n const container = emblaApi.containerNode();\n emblaApi.on('pointerDown', stopTimer);\n if (!options.stopOnInteraction) {\n emblaApi.on('pointerUp', startTimer);\n }\n if (options.stopOnMouseEnter) {\n eventStore.add(root, 'mouseenter', () => {\n resume = false;\n stopTimer();\n });\n if (!options.stopOnInteraction) {\n eventStore.add(root, 'mouseleave', () => {\n resume = true;\n startTimer();\n });\n }\n }\n if (options.stopOnFocusIn) {\n eventStore.add(container, 'focusin', stopTimer);\n if (!options.stopOnInteraction) {\n eventStore.add(container, 'focusout', startTimer);\n }\n }\n eventStore.add(ownerDocument, 'visibilitychange', visibilityChange);\n if (options.playOnInit && !documentIsHidden()) startTimer();\n }\n function destroy() {\n emblaApi.off('pointerDown', stopTimer).off('pointerUp', startTimer);\n stopTimer();\n destroyed = true;\n playing = false;\n }\n function startTimer() {\n if (destroyed) return;\n if (!resume) return;\n if (!playing) emblaApi.emit('autoplay:play');\n const {\n ownerWindow\n } = emblaApi.internalEngine();\n ownerWindow.clearInterval(timer);\n timer = ownerWindow.setInterval(next, options.delay);\n playing = true;\n }\n function stopTimer() {\n if (destroyed) return;\n if (playing) emblaApi.emit('autoplay:stop');\n const {\n ownerWindow\n } = emblaApi.internalEngine();\n ownerWindow.clearInterval(timer);\n timer = 0;\n playing = false;\n }\n function visibilityChange() {\n if (documentIsHidden()) {\n resume = playing;\n return stopTimer();\n }\n if (resume) startTimer();\n }\n function documentIsHidden() {\n const {\n ownerDocument\n } = emblaApi.internalEngine();\n return ownerDocument.visibilityState === 'hidden';\n }\n function play(jumpOverride) {\n if (typeof jumpOverride !== 'undefined') jump = jumpOverride;\n resume = true;\n startTimer();\n }\n function stop() {\n if (playing) stopTimer();\n }\n function reset() {\n if (playing) play();\n }\n function isPlaying() {\n return playing;\n }\n function next() {\n const {\n index\n } = emblaApi.internalEngine();\n const nextIndex = index.clone().add(1).get();\n const lastIndex = emblaApi.scrollSnapList().length - 1;\n const kill = options.stopOnLastSnap && nextIndex === lastIndex;\n if (kill) stopTimer();\n if (emblaApi.canScrollNext()) {\n emblaApi.scrollNext(jump);\n } else {\n emblaApi.scrollTo(0, jump);\n }\n }\n const self = {\n name: 'autoplay',\n options: userOptions,\n init,\n destroy,\n play,\n stop,\n reset,\n isPlaying\n };\n return self;\n}\nAutoplay.globalOptions = undefined;\n\nexport { Autoplay as default };\n//# sourceMappingURL=embla-carousel-autoplay.esm.js.map\n"],"names":["GenIcon","module","exports","props","_ref","section","theme","title","linkTitle","subTitle","className","children","borderT","borderB","isArrowLink","attr","mainColorClass","Theme","dark","linkColorClass","bgColorClass","___EmotionJSX","React","Border","_extends","ContentContainer","maxWidthClass","toUpperCase","Link","to","post","markupData","lang","date","text","frontmatter","minutes","Math","floor","wordCount","words","readingTime","fontColorClass100","light","fontColorClass70","fontColorHover","id","itemScope","itemType","itemProp","split","slice","join","readPostLink","BsArrowUpRight","size","readingTimeUnits","readingTimeTitle","LocalBusinessMetadata","project","cover","getImage","teamSize","duration","fontColorClass10","bgColors","GatsbyImage","image","alt","forwardRef","ref","emblaRef","emblaApi","useEmblaCarousel","loop","dragFree","align","Autoplay","delay","stopOnInteraction","stopOnMouseEnter","onMouseEnter","internalEngine","animation","stop","onMouseLeave","start","StackSection","_techData$markdownRem","_techData$markdownRem2","techData","useStaticQuery","query","techArr","markdownRemark","stack","StackCarousel","map","tech","StackUnit","key","AiFillBug","_postData$markupData","_postData$markupData$","_postData$markupData$2","_postData$markupData$3","_postData$lang","_postData$lang$nodes","_postData$en","_postData$en$nodes","_sectionMarkup$blogSe","_sectionMarkup$blogSe2","postData","sectionMarkup","nodes","find","node","fields","language","blog","en","TemplateSection","blogSectionTitle","blogSectionLinkTitle","PostPreview","_projectsPreviewData$","_projectsPreviewData$2","_projectsPreviewData$3","_projectsPreviewData$4","_projectsPreviewData$5","_projectsPreviewData$6","_sectionMarkup$morePr","_sectionMarkup$morePr2","excludeId","projectsPreviewData","projects","filter","moreProjectsSectionTitle","moreProjectsSectionLinkTitle","i","ProjectPreview","review","company","person","position","location","html","avatar","FaQuoteRight","color","dangerouslySetInnerHTML","__html","_reviewsData$markupDa","_reviewsData$markupDa2","_reviewsData$markupDa3","_reviewsData$markupDa4","_reviewsData$lang","_reviewsData$lang$nod","_reviewsData$en","_reviewsData$en$nodes","_sectionMarkup$title","reviewsData","reviews","sort","a","b","Review","pageContext","IconContext","Provider","value","style","verticalAlign","Banner","bannerTitle","babylon","ProjectsSection","StaticReviewsSection","PostSection","ContactFormSection","Head","_ref2","site","HeadSeo","head","description","metaDescription","siteUrl","path","pathname","defaultOptions","active","breakpoints","jump","playOnInit","stopOnFocusIn","stopOnLastSnap","rootNode","userOptions","options","destroyed","playing","resume","timer","startTimer","emit","ownerWindow","clearInterval","setInterval","next","stopTimer","visibilityChange","documentIsHidden","ownerDocument","visibilityState","play","jumpOverride","index","nextIndex","clone","add","get","lastIndex","scrollSnapList","length","canScrollNext","scrollNext","scrollTo","name","init","emblaApiInstance","optionsHandler","mergeOptions","optionsAtMedia","optionsBase","globalOptions","allOptions","eventStore","emblaRoot","root","container","containerNode","on","destroy","off","reset","isPlaying","undefined"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js","mappings":"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","sources":["webpack://code-cave/./node_modules/@react-icons/all-files/ai/AiFillBug.js","webpack://code-cave/./node_modules/@react-icons/all-files/bs/BsArrowUpRight.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaQuoteRight.js","webpack://code-cave/./src/components/common/templateSection.tsx","webpack://code-cave/./src/components/posts/postPreview.tsx","webpack://code-cave/./src/components/projects/projectPreview.tsx","webpack://code-cave/./src/components/stack/stackCarousel.tsx","webpack://code-cave/./src/components/stack/stakUnit.tsx","webpack://code-cave/./src/components/stack/stackSection.tsx","webpack://code-cave/./src/components/posts/postSection.tsx","webpack://code-cave/./src/components/projects/projectsSection.tsx","webpack://code-cave/./src/components/reviews/review.tsx","webpack://code-cave/./src/components/reviews/staticReviewsSection.tsx","webpack://code-cave/./src/pagesTemplates/index.tsx","webpack://code-cave/./src/types/common.type.ts","webpack://code-cave/./node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js"],"sourcesContent":["// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.AiFillBug = function AiFillBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1-17.2-31.5-42.5-56.8-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9-31.5 17.2-56.8 42.5-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 34.8-28.2 63-63 63H232c-34.8 0-63-28.2-63-63 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7 6 17.2 13.6 33.6 22.7 49 24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5 41.5-24.3 76.2-59 100.5-100.5 9.1-15.5 16.7-31.9 22.7-49C812.1 793.1 836 831.8 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.BsArrowUpRight = function BsArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 16 16\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaQuoteRight = function FaQuoteRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"}}]})(props);\n};\n","import React, { PropsWithChildren } from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { Theme } from \"../../types/common.type\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\n\ninterface ITemplateSectionProps extends React.HTMLAttributes {\n title: string;\n theme: Theme;\n isArrowLink?: boolean;\n linkTitle?: string;\n subTitle?: string;\n section?: string;\n className?: string;\n borderT?: boolean;\n borderB?: boolean;\n}\n\nconst TemplateSection = ({\n section,\n theme,\n title,\n linkTitle,\n subTitle,\n className,\n children,\n borderT,\n borderB,\n isArrowLink = true,\n ...attr\n}: PropsWithChildren) => {\n const mainColorClass =\n theme === Theme.dark ? \"text-secondary-100\" : \"text-main-100\";\n const linkColorClass =\n theme === Theme.dark\n ? \"text-secondary-100 hover:text-secondary-70\"\n : \"text-main-100 hover:text-main-10\";\n const bgColorClass =\n theme === Theme.dark ? \"bg-main-100\" : \"bg-secondary-100\";\n\n return (\n <>\n {borderT ? : null}\n \n \n
\n

\n {title.toUpperCase()}\n

\n {section ? (\n \n {linkTitle ? linkTitle.toUpperCase() : \"DISCOVER MORE\"}{\" \"}\n {isArrowLink ? <>→ : null}\n \n ) : null}\n {subTitle ? (\n \n {subTitle.toUpperCase()}\n

\n ) : null}\n
\n {children}\n \n \n {borderB ? : null}\n \n );\n};\n\nexport default TemplateSection;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { IPostPreviewQueryResult } from \"../../types/post.type\";\nimport { LocalBusinessMetadata } from \"../common/metadata\";\nimport { IBlogMarkupData } from \"../../types/commonMarkup.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\n\nconst PostPreview = ({\n post,\n theme,\n className,\n markupData,\n lang,\n}: {\n post: IPostPreviewQueryResult;\n className?: string;\n theme: Theme;\n markupData?: IBlogMarkupData;\n lang: TLang;\n}) => {\n const { date, title, text } = post.frontmatter;\n\n const minutes = Math.floor(post.wordCount.words / 200);\n const readingTime = minutes ? minutes : 1;\n\n const fontColorClass100 =\n theme === Theme.light ? \"text-main-100\" : \"text-secondary-100\";\n const fontColorClass70 =\n theme === Theme.light ? \"text-main-70\" : \"text-secondary-70\";\n const fontColorHover =\n theme === Theme.light ? \"hover:text-main-10\" : \"hover:text-secondary-10\";\n\n return (\n \n
\n

\n {date}\n

\n \n {title}\n \n
\n
\n \n {text.split(\" \").slice(0, 70).join(\" \")}...\n

\n
\n
\n {markupData?.readPostLink}\n \n
\n

\n {`${readingTime} ${markupData?.readingTimeUnits} ${markupData?.readingTimeTitle}`}\n

\n
\n
\n \n \n );\n};\n\nexport default PostPreview;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IProjectPreviewQueryResult } from \"../../types/project.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { LocalBusinessMetadata } from \"../common/metadata\";\n\nconst ProjectPreview = ({\n project,\n className,\n theme,\n lang,\n}: {\n project: IProjectPreviewQueryResult;\n className?: string;\n theme: Theme;\n lang: TLang;\n}) => {\n const cover = getImage(project.frontmatter.cover);\n const { title, teamSize, duration } = project.frontmatter;\n\n const fontColorClass10 =\n theme === Theme.light ? \"text-main-100\" : \"text-secondary-100\";\n const bgColors =\n theme === Theme.light\n ? \"bg-secondary-100 hover:bg-secondary-100\"\n : \"bg-main-100 hover:bg-main-100\";\n\n return (\n \n
\n {cover ? (\n
\n \n
\n ) : null}\n
\n

\n {duration}\n

\n

\n {teamSize}\n

\n
\n
\n
\n \n {title}\n \n \n
\n \n \n );\n};\n\nexport default ProjectPreview;\n","import React, { forwardRef } from \"react\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport Autoplay from \"embla-carousel-autoplay\";\n\nconst StackCarousel = forwardRef<\n HTMLDivElement,\n React.PropsWithChildren<{ className?: string }>\n>(({ className, children }, ref) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true, dragFree: true, duration: 10000, align: \"start\" },\n [\n Autoplay({\n delay: 0,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n }),\n ]\n );\n\n return (\n
\n {\n emblaApi?.internalEngine().animation.stop();\n }}\n onMouseLeave={() => {\n emblaApi?.internalEngine().animation.start();\n }}\n >\n {children}\n
\n \n );\n});\n\nexport default StackCarousel;\n","import React, { PropsWithChildren } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\n\nconst StackUnit = ({ children }: PropsWithChildren) => {\n return (\n
\n \n

{children}

\n \n
\n );\n};\n\nexport default StackUnit;\n","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nimport { AiFillBug } from \"@react-icons/all-files/ai/AiFillBug\";\n\nimport StackCarousel from \"./stackCarousel\";\nimport StackUnit from \"./stakUnit\";\n\nconst StackSection = () => {\n const techData = useStaticQuery(query);\n const techArr = techData?.markdownRemark?.frontmatter?.stack as\n | string[]\n | null;\n\n return (\n <>\n {techArr ? (\n
\n \n {techArr.map((tech) => (\n {tech}\n ))}\n \n \n \n \n
\n ) : null}\n \n );\n};\n\nexport default StackSection;\n\nexport const query = graphql`\n query {\n markdownRemark(fields: { sourceName: { eq: \"stack\" } }) {\n frontmatter {\n stack\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport {\n IBlogSectionQueryResult,\n IPostPreviewQueryResult,\n} from \"../../types/post.type\";\n\nimport PostPreview from \"./postPreview\";\nimport TemplateSection from \"../common/templateSection\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\nconst PostSection = ({ lang }: ILang) => {\n const postData = useStaticQuery(query) as IBlogSectionQueryResult;\n\n const sectionMarkup = postData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.blog;\n\n let post: IPostPreviewQueryResult | null | undefined;\n\n if (lang in postData)\n post = postData?.[lang]?.nodes?.[0] as IPostPreviewQueryResult | null;\n else post = postData?.en?.nodes?.[0];\n\n return (\n <>\n {post ? (\n \n \n \n ) : null}\n \n );\n};\n\nexport default PostSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"posts\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 1\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"DD MMM YYYY\", locale: \"en\")\n title\n text\n }\n wordCount {\n words\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"posts\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 1\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"DD MMM YYYY\", locale: \"ru\")\n title\n text\n }\n wordCount {\n words\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n blog {\n bannerTitle\n head\n readPostLink\n readingTimeTitle\n readingTimeUnits\n postFooterTitle\n postFooterText\n blogSectionTitle\n blogSectionLinkTitle\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport {\n IProjectPreviewQueryResult,\n IProjectSectionQueryResult,\n} from \"../../types/project.type\";\n\nimport ProjectPreview from \"./projectPreview\";\nimport TemplateSection from \"../common/templateSection\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\ninterface IProjectsSectionProps extends ILang {\n excludeId?: string;\n}\n\nconst ProjectsSection = ({ excludeId, lang }: IProjectsSectionProps) => {\n const projectsPreviewData = useStaticQuery(\n query\n ) as IProjectSectionQueryResult;\n\n const sectionMarkup = projectsPreviewData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.projects;\n\n let projects: IProjectPreviewQueryResult[] | null | undefined;\n if (lang in projectsPreviewData)\n projects = projectsPreviewData?.[lang]?.nodes as\n | IProjectPreviewQueryResult[]\n | null\n | undefined;\n else projects = projectsPreviewData.en?.nodes;\n\n if (!projects) return <>;\n\n if (excludeId) {\n projects = projects.filter((project) => project.id !== excludeId);\n }\n\n return (\n \n
\n {projects.map((project, i) => {\n if (i === 3) return;\n return (\n \n );\n })}\n
\n \n );\n};\n\nexport default ProjectsSection;\n\nexport const query = graphql`\n {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n teamSize\n duration\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 400\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n teamSize\n duration\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 400\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n projects {\n moreProjectsSectionTitle\n moreProjectsSectionLinkTitle\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IReviewQueryResult } from \"../../types/review.type\";\n\nimport { FaQuoteRight } from \"@react-icons/all-files/fa/FaQuoteRight\";\n\nconst Review = ({\n review: {\n frontmatter: { company, person, position, location, image },\n html,\n },\n className,\n}: {\n review: IReviewQueryResult;\n className?: string;\n}) => {\n const avatar = getImage(image);\n\n return (\n \n
\n {avatar ? (\n \n ) : null}\n
\n

{person}

\n

\n {position}, {company}\n

\n

{location}

\n
\n \n
\n \n \n\n //
\n //
\n // \n // {avatar ? (\n // \n // ) : null}\n //
\n //
\n //

{person}

\n // {person}\n //

\n // {position}, {company}\n //

\n //

\n // {location}\n //

\n //
\n //
\n // \n // \n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { ILang, Theme } from \"../../types/common.type\";\nimport {\n IReviewQueryResult,\n IReviewSectionQueryResult,\n} from \"../../types/review.type\";\n\nimport TemplateSection from \"../common/templateSection\";\nimport Review from \"./review\";\n\nconst StaticReviewsSection = ({ lang }: ILang) => {\n const reviewsData = useStaticQuery(query) as IReviewSectionQueryResult;\n\n const sectionMarkup = reviewsData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.reviews;\n\n let reviews: IReviewQueryResult[] | null | undefined;\n\n if (lang in reviewsData)\n reviews = reviewsData?.[lang]?.nodes?.sort((a, b) =>\n a.frontmatter.person > b.frontmatter.person ? 1 : -1\n ) as IReviewQueryResult[] | null | undefined;\n else\n reviews = reviewsData?.en?.nodes?.sort((a, b) =>\n a.frontmatter.person > b.frontmatter.person ? 1 : -1\n );\n\n return (\n <>\n {reviews ? (\n \n
\n {reviews.map((review) => (\n \n ))}\n
\n \n ) : null}\n \n );\n};\n\nexport default StaticReviewsSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"reviews\" }, language: { eq: \"en\" } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"reviews\" }, language: { eq: \"ru\" } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n reviews {\n title\n linkTitle\n }\n }\n }\n }\n }\n`;\n","import * as React from \"react\";\nimport type { HeadFC, HeadProps, PageProps } from \"gatsby\";\n\nimport { IconContext } from \"@react-icons/all-files\";\nimport \"../styles/styles.css\";\n\nimport { IIndexPageContext } from \"../types/index.type\";\n\nimport Banner from \"../components/common/banner\";\nimport StackSection from \"../components/stack/stackSection\";\nimport PostSection from \"../components/posts/postSection\";\nimport ProjectsSection from \"../components/projects/projectsSection\";\nimport { HeadSeo } from \"../components/common/metadata\";\nimport StaticReviewsSection from \"../components/reviews/staticReviewsSection\";\nimport ContactFormSection from \"../components/forms/contactFormSection\";\n\nconst IndexPage = ({\n pageContext: { markupData, lang },\n}: PageProps) => {\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport default IndexPage;\n\nexport const Head: HeadFC = ({\n pageContext: { markupData, site, lang },\n location,\n}: HeadProps) => {\n return (\n \n );\n};\n","export interface ILang {\n lang: TLang;\n}\n\nexport type TLang = \"en\" | \"ru\";\n\nexport type TLinks = \"services\" | \"workflow\" | \"projects\" | \"blog\";\n\nexport interface IBasePageContext extends ILang {\n site: ISiteMetadata;\n}\n\nexport interface IMdQueryResult {\n allMarkdownRemark: {\n nodes: T[];\n };\n}\n\nexport interface ISiteMetadata {\n title: string;\n description: string;\n siteUrl: string;\n image: string;\n analyticsId: string;\n commentsSetup: ICommentsSetup;\n}\n\nexport interface ICommentsSetup {\n repo: `${string}/${string}`;\n repoId: string;\n categoryId: string;\n}\n\nexport enum Theme {\n dark = \"dark\",\n light = \"light\",\n}\n","const defaultOptions = {\n active: true,\n breakpoints: {},\n delay: 4000,\n jump: false,\n playOnInit: true,\n stopOnFocusIn: true,\n stopOnInteraction: true,\n stopOnMouseEnter: false,\n stopOnLastSnap: false,\n rootNode: null\n};\n\nfunction Autoplay(userOptions = {}) {\n let options;\n let emblaApi;\n let destroyed;\n let playing = false;\n let resume = true;\n let jump = false;\n let timer = 0;\n function init(emblaApiInstance, optionsHandler) {\n emblaApi = emblaApiInstance;\n const {\n mergeOptions,\n optionsAtMedia\n } = optionsHandler;\n const optionsBase = mergeOptions(defaultOptions, Autoplay.globalOptions);\n const allOptions = mergeOptions(optionsBase, userOptions);\n options = optionsAtMedia(allOptions);\n if (emblaApi.scrollSnapList().length <= 1) return;\n jump = options.jump;\n destroyed = false;\n const {\n eventStore,\n ownerDocument\n } = emblaApi.internalEngine();\n const emblaRoot = emblaApi.rootNode();\n const root = options.rootNode && options.rootNode(emblaRoot) || emblaRoot;\n const container = emblaApi.containerNode();\n emblaApi.on('pointerDown', stopTimer);\n if (!options.stopOnInteraction) {\n emblaApi.on('pointerUp', startTimer);\n }\n if (options.stopOnMouseEnter) {\n eventStore.add(root, 'mouseenter', () => {\n resume = false;\n stopTimer();\n });\n if (!options.stopOnInteraction) {\n eventStore.add(root, 'mouseleave', () => {\n resume = true;\n startTimer();\n });\n }\n }\n if (options.stopOnFocusIn) {\n eventStore.add(container, 'focusin', stopTimer);\n if (!options.stopOnInteraction) {\n eventStore.add(container, 'focusout', startTimer);\n }\n }\n eventStore.add(ownerDocument, 'visibilitychange', visibilityChange);\n if (options.playOnInit && !documentIsHidden()) startTimer();\n }\n function destroy() {\n emblaApi.off('pointerDown', stopTimer).off('pointerUp', startTimer);\n stopTimer();\n destroyed = true;\n playing = false;\n }\n function startTimer() {\n if (destroyed) return;\n if (!resume) return;\n if (!playing) emblaApi.emit('autoplay:play');\n const {\n ownerWindow\n } = emblaApi.internalEngine();\n ownerWindow.clearInterval(timer);\n timer = ownerWindow.setInterval(next, options.delay);\n playing = true;\n }\n function stopTimer() {\n if (destroyed) return;\n if (playing) emblaApi.emit('autoplay:stop');\n const {\n ownerWindow\n } = emblaApi.internalEngine();\n ownerWindow.clearInterval(timer);\n timer = 0;\n playing = false;\n }\n function visibilityChange() {\n if (documentIsHidden()) {\n resume = playing;\n return stopTimer();\n }\n if (resume) startTimer();\n }\n function documentIsHidden() {\n const {\n ownerDocument\n } = emblaApi.internalEngine();\n return ownerDocument.visibilityState === 'hidden';\n }\n function play(jumpOverride) {\n if (typeof jumpOverride !== 'undefined') jump = jumpOverride;\n resume = true;\n startTimer();\n }\n function stop() {\n if (playing) stopTimer();\n }\n function reset() {\n if (playing) play();\n }\n function isPlaying() {\n return playing;\n }\n function next() {\n const {\n index\n } = emblaApi.internalEngine();\n const nextIndex = index.clone().add(1).get();\n const lastIndex = emblaApi.scrollSnapList().length - 1;\n const kill = options.stopOnLastSnap && nextIndex === lastIndex;\n if (kill) stopTimer();\n if (emblaApi.canScrollNext()) {\n emblaApi.scrollNext(jump);\n } else {\n emblaApi.scrollTo(0, jump);\n }\n }\n const self = {\n name: 'autoplay',\n options: userOptions,\n init,\n destroy,\n play,\n stop,\n reset,\n isPlaying\n };\n return self;\n}\nAutoplay.globalOptions = undefined;\n\nexport { Autoplay as default };\n//# sourceMappingURL=embla-carousel-autoplay.esm.js.map\n"],"names":["GenIcon","module","exports","props","_ref","section","theme","title","linkTitle","subTitle","className","children","borderT","borderB","isArrowLink","attr","mainColorClass","Theme","dark","linkColorClass","bgColorClass","___EmotionJSX","React","Border","_extends","ContentContainer","maxWidthClass","toUpperCase","Link","to","post","markupData","lang","date","text","frontmatter","minutes","Math","floor","wordCount","words","readingTime","fontColorClass100","light","fontColorClass70","fontColorHover","id","itemScope","itemType","itemProp","split","slice","join","readPostLink","BsArrowUpRight","size","readingTimeUnits","readingTimeTitle","LocalBusinessMetadata","project","cover","getImage","teamSize","duration","fontColorClass10","bgColors","GatsbyImage","image","alt","forwardRef","ref","emblaRef","emblaApi","useEmblaCarousel","loop","dragFree","align","Autoplay","delay","stopOnInteraction","stopOnMouseEnter","onMouseEnter","internalEngine","animation","stop","onMouseLeave","start","StackSection","_techData$markdownRem","_techData$markdownRem2","techData","useStaticQuery","query","techArr","markdownRemark","stack","StackCarousel","map","tech","StackUnit","key","AiFillBug","_postData$markupData","_postData$markupData$","_postData$markupData$2","_postData$markupData$3","_postData$lang","_postData$lang$nodes","_postData$en","_postData$en$nodes","_sectionMarkup$blogSe","_sectionMarkup$blogSe2","postData","sectionMarkup","nodes","find","node","fields","language","blog","en","TemplateSection","blogSectionTitle","blogSectionLinkTitle","PostPreview","_projectsPreviewData$","_projectsPreviewData$2","_projectsPreviewData$3","_projectsPreviewData$4","_projectsPreviewData$5","_projectsPreviewData$6","_sectionMarkup$morePr","_sectionMarkup$morePr2","excludeId","projectsPreviewData","projects","filter","moreProjectsSectionTitle","moreProjectsSectionLinkTitle","i","ProjectPreview","review","company","person","position","location","html","avatar","FaQuoteRight","color","dangerouslySetInnerHTML","__html","_reviewsData$markupDa","_reviewsData$markupDa2","_reviewsData$markupDa3","_reviewsData$markupDa4","_reviewsData$lang","_reviewsData$lang$nod","_reviewsData$en","_reviewsData$en$nodes","_sectionMarkup$title","reviewsData","reviews","sort","a","b","Review","pageContext","IconContext","Provider","value","style","verticalAlign","Banner","bannerTitle","babylon","ProjectsSection","StaticReviewsSection","PostSection","ContactFormSection","Head","_ref2","site","HeadSeo","head","description","metaDescription","siteUrl","path","pathname","defaultOptions","active","breakpoints","jump","playOnInit","stopOnFocusIn","stopOnLastSnap","rootNode","userOptions","options","destroyed","playing","resume","timer","startTimer","emit","ownerWindow","clearInterval","setInterval","next","stopTimer","visibilityChange","documentIsHidden","ownerDocument","visibilityState","play","jumpOverride","index","nextIndex","clone","add","get","lastIndex","scrollSnapList","length","canScrollNext","scrollNext","scrollTo","name","init","emblaApiInstance","optionsHandler","mergeOptions","optionsAtMedia","optionsBase","globalOptions","allOptions","eventStore","emblaRoot","root","container","containerNode","on","destroy","off","reset","isPlaying","undefined"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js b/component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js similarity index 98% rename from component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js rename to component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js index 73bac181..f6ae4c42 100644 --- a/component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js +++ b/component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[417],{9153:function(e,t,n){n.r(t),n.d(t,{Head:function(){return L},default:function(){return T}});var i=n(7294),a=n(8032),r=n(4471),s=n.n(r),o=n(1929),l=n(1164),c=n(9165),u=n(4532),m=n(1312),d=n(917);var f=e=>{let{service:t,className:n}=e;const{html:i,frontmatter:{title:a,keywords:r,image:{publicURL:s}}}=t;return(0,d.tZ)("div",{className:`service-preview origin-[5%_50%] break-inside-avoid flex flex-col gap-5 sm:px-8 py-8 text-secondary-100 cursor-pointer ${n}`,itemScope:!0,itemType:"https://schema.org/Service"},(0,d.tZ)("div",{className:"flex items-center gap-5"},(0,d.tZ)("img",{src:s,alt:`${a} logo`,className:"invert h-10 w-10"}),(0,d.tZ)("h2",{className:"font-bold text-2xl",itemProp:"serviceType"},a)),(0,d.tZ)("div",{className:"text-base text-secondary-70",dangerouslySetInnerHTML:{__html:i},itemProp:"description"}),r?(0,d.tZ)("div",{className:"flex gap-2 flex-wrap w-full"},r.map((e=>(0,d.tZ)("p",{key:e,className:"h-8 flex items-center whitespace-nowrap px-4 bg-main-70 text-secondary-70 rounded-lg"},e)))):null)},v=n(7462);const p=e=>{let{service:t,className:n,...i}=e;const{frontmatter:{title:a,image:{publicURL:r}}}=t;return(0,d.tZ)("button",(0,v.Z)({"aria-label":"view service",className:`flex gap-5 min-h-10 items-center ${n}`,type:"button"},i),(0,d.tZ)("div",{className:"py-1.5"},(0,d.tZ)("img",{src:r,alt:`${a} logo`,className:"invert h-7 w-7"})),(0,d.tZ)("h2",{className:"hidden lg:block font-semibold text-lg text-secondary-100 text-start"},a))};function h(){return h=Object.assign||function(e){for(var t=1;t=e;case"y":return Math.abs(a)>=e;case"z":return Math.abs(r)>=e;default:return!1}}(d,o)&&e.preventDefault(),c.isStarted?c.isMomentum&&d>Math.max(2,2*c.lastAbsDelta)&&(O(!0),T()):T(),0===d&&Object.is&&Object.is(e.deltaX,-0)?u=!0:(t=e,c.axisMovement=g(c.axisMovement,o),c.lastAbsDelta=d,c.scrollPointsToMerge.push({axisDelta:o,timeStamp:m}),p(),f({axisDelta:o,isStart:!c.isStartPublished}),c.isStartPublished=!0,L())},p=function(){var e;2===c.scrollPointsToMerge.length?(c.scrollPoints.unshift({axisDeltaSum:c.scrollPointsToMerge.map((function(e){return e.axisDelta})).reduce(g),timeStamp:(e=c.scrollPointsToMerge.map((function(e){return e.timeStamp})),e.reduce((function(e,t){return e+t}))/e.length)}),k(),c.scrollPointsToMerge.length=0,c.scrollPoints.length=1,c.isMomentum||C()):c.isStartPublished||S()},S=function(){var e;c.axisVelocity=(e=c.scrollPointsToMerge,e[e.length-1]).axisDelta.map((function(e){return e/c.willEndTimeout}))},k=function(){var e=c.scrollPoints,t=e[0],n=e[1];if(n&&t){var i=t.timeStamp-n.timeStamp;if(!(i<=0)){var a=t.axisDeltaSum.map((function(e){return e/i})),r=a.map((function(e,t){return e/(c.axisVelocity[t]||1)}));c.axisVelocity=a,c.accelerationFactors.push(r),D(i)}}},D=function(e){var t=10*Math.ceil(e/10)*1.2;c.isMomentum||(t=Math.max(100,2*t)),c.willEndTimeout=Math.min(1e3,Math.round(t))},N=function(e){return 0===e||e<=.96&&e>=.6},C=function(){if(c.accelerationFactors.length>=5){if(u&&(u=!1,x(c.axisVelocity)>=.2))return void P();var e=c.accelerationFactors.slice(-5);e.every((function(e){var t=!!e.reduce((function(e,t){return e&&e<1&&e===t?1:0})),n=e.filter(N).length===e.length;return t||n}))&&P(),c.accelerationFactors=e}},P=function(){c.isMomentum=!0},T=function(){(c=Z()).isStarted=!0,c.startTime=Date.now(),n=void 0,u=!1},L=function(){clearTimeout(i),i=setTimeout(O,c.willEndTimeout)},O=function(e){void 0===e&&(e=!1),c.isStarted&&(c.isMomentum&&e?f({isEnding:!0,isMomentumCancel:!0}):f({isEnding:!0}),c.isMomentum=!1,c.isStarted=!1)},A=function(e){var t=[],n=function(n){n.removeEventListener("wheel",e),t=t.filter((function(e){return e!==n}))};return b({observe:function(i){return i.addEventListener("wheel",e,{passive:!1}),t.push(i),function(){return n(i)}},unobserve:n,disconnect:function(){t.forEach(n)}})}(m),j=A.observe,F=A.unobserve,V=A.disconnect;return d(e),b({on:r,off:s,observe:j,unobserve:F,disconnect:V,feedWheel:m,updateOptions:d})},D={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};C.globalOptions=void 0;var N=!1;function C(e){var t;void 0===e&&(e={});var n=function(){};return{name:"wheelGestures",options:e,init:function(i,a){var r,s,o=a.mergeOptions,l=a.optionsAtMedia,c=o(D,C.globalOptions),u=o(c,e);t=l(u);var m,d=i.internalEngine(),f=null!=(r=t.target)?r:i.containerNode().parentNode,v=null!=(s=t.forceWheelAxis)?s:d.options.axis,p=k({preventWheelAction:v,reverseSign:[!0,!0,!1]}),h=p.observe(f),g=p.on("wheel",(function(e){var i=e.axisDelta,a=i[0],r=i[1],s="x"===v?a:r,o="x"===v?r:a,l=e.isMomentum&&e.previous&&!e.previous.isMomentum,c=e.isEnding&&!e.isMomentum||l;Math.abs(s)>Math.abs(o)&&!x&&!e.isMomentum&&function(e){try{y(m=new MouseEvent("mousedown",e.event))}catch(i){return N&&console.warn("Legacy browser requires events-polyfill (https://github.com/xiel/embla-carousel-wheel-gestures#legacy-browsers)"),n()}x=!0,document.documentElement.addEventListener("mousemove",M,!0),document.documentElement.addEventListener("mouseup",M,!0),void document.documentElement.addEventListener("mousedown",M,!0),t.wheelDraggingClass&&f.classList.add(t.wheelDraggingClass)}(e);if(!x)return;c?function(e){x=!1,y(w("mouseup",e)),b(),t.wheelDraggingClass&&f.classList.remove(t.wheelDraggingClass)}(e):y(w("mousemove",e))})),x=!1;function b(){document.documentElement.removeEventListener("mousemove",M,!0),document.documentElement.removeEventListener("mouseup",M,!0),document.documentElement.removeEventListener("mousedown",M,!0)}function M(e){x&&e.isTrusted&&e.stopImmediatePropagation()}function w(e,t){var n,i;if(v===d.options.axis){var a=t.axisMovement;n=a[0],i=a[1]}else{var r=t.axisMovement;i=r[0],n=r[1]}if(!d.options.skipSnaps&&!d.options.dragFree){var s=d.containerRect.width,o=d.containerRect.height;n=n<0?Math.max(n,-s):Math.min(n,s),i=i<0?Math.max(i,-o):Math.min(i,o)}return new MouseEvent(e,{clientX:m.clientX+n,clientY:m.clientY+i,screenX:m.screenX+n,screenY:m.screenY+i,movementX:n,movementY:i,button:0,bubbles:!0,cancelable:!0,composed:!0})}function y(e){i.containerNode().dispatchEvent(e)}n=function(){h(),g(),b()}},destroy:function(){return n()}}}var P=e=>{let{services:t}=e;const[n,a]=(0,m.Z)({axis:"y",loop:!0,align:"center"},[C()]),r=(0,i.useRef)(0),s=(0,i.useRef)([]),{selectedIndex:o,onServiceButtonClick:l}=((e,t)=>{const{0:n,1:a}=(0,i.useState)(0),r=(0,i.useCallback)((n=>{e&&(e.scrollTo(n),t&&t(e))}),[e,t]),s=(0,i.useCallback)((e=>{a(e.selectedScrollSnap())}),[]);return(0,i.useEffect)((()=>{e&&(s(e),e.on("reInit",s).on("select",s))}),[e,s]),{selectedIndex:n,onServiceButtonClick:r}})(a),c=(0,i.useCallback)((e=>{s.current=e.slideNodes().map((e=>e.querySelector(".service-preview")))}),[]),u=(0,i.useCallback)((e=>{r.current=.2*e.scrollSnapList().length}),[]),v=(0,i.useCallback)(((e,t)=>{const n=e.internalEngine(),i=e.scrollProgress(),a=e.slidesInView(),o="scroll"===t;e.scrollSnapList().forEach(((e,t)=>{let l=e-i;n.slideRegistry[t].forEach((t=>{if(o&&!a.includes(t))return;n.options.loop&&n.slideLooper.loopPoints.forEach((n=>{const a=n.target();if(t===n.index&&0!==a){const t=Math.sign(a);-1===t&&(l=e-(1+i)),1===t&&(l=e+(1-i))}}));const c=1-Math.abs(l*r.current),u=(m=c,d=0,f=1,Math.min(Math.max(m,d),f));var m,d,f;s.current[t].style.transform=`scale(${u})`}))}))}),[]);return(0,i.useEffect)((()=>{a&&(c(a),u(a),v(a),a.on("reInit",c).on("reInit",u).on("reInit",v).on("scroll",v).on("slideFocus",v))}),[a,v]),(0,d.tZ)(i.Fragment,null,(0,d.tZ)("div",{className:"hidden sm:flex flex-col gap-5 p-8 lg:basis-[410px] shrink-0"},t?t.map(((e,t)=>(0,d.tZ)(p,{key:`dot-${e.id}`,service:e,onClick:()=>l(t),className:""+(t===o?"":"brightness-[0.4] hover:brightness-100")}))):null),(0,d.tZ)("div",{ref:n,className:"hidden sm:block overflow-hidden basis-full"},(0,d.tZ)("div",{style:{backfaceVisibility:"hidden"},className:"flex flex-col touch-pan-x h-[1000px] sm:h-[900px] md:h-[750px]"},t?t.map(((e,t)=>(0,d.tZ)("div",{key:e.id,onClick:()=>l(t),className:"grow-0 shrink-0 basis-1/3 min-h-0 select-none flex items-center"},(0,d.tZ)(f,{service:e,className:"select-none "+(t===o?"":"brightness-[0.4]")})))):null)))};var T=e=>{var t;let{data:n,pageContext:{markupData:r,lang:c}}=e;const m=null===(t=n.allMarkdownRemark)||void 0===t?void 0:t.nodes,v=(0,a.c)(r.image);return(0,d.tZ)(i.Fragment,null,(0,d.tZ)(o.Z,{heightClass:"lg:h-99",title:r.bannerTitle,image:v}),(0,d.tZ)("div",{className:"bg-main-100"},(0,d.tZ)(l.Z,{maxWidthClass:"max-w-[1280px]",className:"flex flex-col sm:flex-row items-start sm:justify-end py-6 sm:py-10 lg:!px-20 gap-0 sm:gap-5 lg:gap-[48px]"},m?(0,d.tZ)(P,{services:m}):null,m?m.map(((e,t)=>(0,d.tZ)(f,{key:e.id,service:e,className:"sm:hidden select-none"}))):null)),(0,d.tZ)(s(),{className:"w-full"}),(0,d.tZ)(u.Z,{lang:c}))};const L=e=>{let{pageContext:{markupData:t,site:n,lang:a},location:r}=e;return(0,d.tZ)(i.Fragment,null,(0,d.tZ)(c.Ag,{title:`${t.head} | ${t.bannerTitle.toUpperCase()}`,description:n.description,siteUrl:n.siteUrl,path:r.pathname,lang:a}))}}}]); -//# sourceMappingURL=component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js.map \ No newline at end of file +"use strict";(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[417],{9153:function(e,t,n){n.r(t),n.d(t,{Head:function(){return L},default:function(){return T}});var i=n(7294),a=n(8032),r=n(4471),s=n.n(r),o=n(1929),l=n(1164),c=n(9165),u=n(5081),m=n(1312),d=n(917);var f=e=>{let{service:t,className:n}=e;const{html:i,frontmatter:{title:a,keywords:r,image:{publicURL:s}}}=t;return(0,d.tZ)("div",{className:`service-preview origin-[5%_50%] break-inside-avoid flex flex-col gap-5 sm:px-8 py-8 text-secondary-100 cursor-pointer ${n}`,itemScope:!0,itemType:"https://schema.org/Service"},(0,d.tZ)("div",{className:"flex items-center gap-5"},(0,d.tZ)("img",{src:s,alt:`${a} logo`,className:"invert h-10 w-10"}),(0,d.tZ)("h2",{className:"font-bold text-2xl",itemProp:"serviceType"},a)),(0,d.tZ)("div",{className:"text-base text-secondary-70",dangerouslySetInnerHTML:{__html:i},itemProp:"description"}),r?(0,d.tZ)("div",{className:"flex gap-2 flex-wrap w-full"},r.map((e=>(0,d.tZ)("p",{key:e,className:"h-8 flex items-center whitespace-nowrap px-4 bg-main-70 text-secondary-70 rounded-lg"},e)))):null)},v=n(7462);const p=e=>{let{service:t,className:n,...i}=e;const{frontmatter:{title:a,image:{publicURL:r}}}=t;return(0,d.tZ)("button",(0,v.Z)({"aria-label":"view service",className:`flex gap-5 min-h-10 items-center ${n}`,type:"button"},i),(0,d.tZ)("div",{className:"py-1.5"},(0,d.tZ)("img",{src:r,alt:`${a} logo`,className:"invert h-7 w-7"})),(0,d.tZ)("h2",{className:"hidden lg:block font-semibold text-lg text-secondary-100 text-start"},a))};function h(){return h=Object.assign||function(e){for(var t=1;t=e;case"y":return Math.abs(a)>=e;case"z":return Math.abs(r)>=e;default:return!1}}(d,o)&&e.preventDefault(),c.isStarted?c.isMomentum&&d>Math.max(2,2*c.lastAbsDelta)&&(O(!0),T()):T(),0===d&&Object.is&&Object.is(e.deltaX,-0)?u=!0:(t=e,c.axisMovement=g(c.axisMovement,o),c.lastAbsDelta=d,c.scrollPointsToMerge.push({axisDelta:o,timeStamp:m}),p(),f({axisDelta:o,isStart:!c.isStartPublished}),c.isStartPublished=!0,L())},p=function(){var e;2===c.scrollPointsToMerge.length?(c.scrollPoints.unshift({axisDeltaSum:c.scrollPointsToMerge.map((function(e){return e.axisDelta})).reduce(g),timeStamp:(e=c.scrollPointsToMerge.map((function(e){return e.timeStamp})),e.reduce((function(e,t){return e+t}))/e.length)}),k(),c.scrollPointsToMerge.length=0,c.scrollPoints.length=1,c.isMomentum||C()):c.isStartPublished||S()},S=function(){var e;c.axisVelocity=(e=c.scrollPointsToMerge,e[e.length-1]).axisDelta.map((function(e){return e/c.willEndTimeout}))},k=function(){var e=c.scrollPoints,t=e[0],n=e[1];if(n&&t){var i=t.timeStamp-n.timeStamp;if(!(i<=0)){var a=t.axisDeltaSum.map((function(e){return e/i})),r=a.map((function(e,t){return e/(c.axisVelocity[t]||1)}));c.axisVelocity=a,c.accelerationFactors.push(r),D(i)}}},D=function(e){var t=10*Math.ceil(e/10)*1.2;c.isMomentum||(t=Math.max(100,2*t)),c.willEndTimeout=Math.min(1e3,Math.round(t))},N=function(e){return 0===e||e<=.96&&e>=.6},C=function(){if(c.accelerationFactors.length>=5){if(u&&(u=!1,x(c.axisVelocity)>=.2))return void P();var e=c.accelerationFactors.slice(-5);e.every((function(e){var t=!!e.reduce((function(e,t){return e&&e<1&&e===t?1:0})),n=e.filter(N).length===e.length;return t||n}))&&P(),c.accelerationFactors=e}},P=function(){c.isMomentum=!0},T=function(){(c=Z()).isStarted=!0,c.startTime=Date.now(),n=void 0,u=!1},L=function(){clearTimeout(i),i=setTimeout(O,c.willEndTimeout)},O=function(e){void 0===e&&(e=!1),c.isStarted&&(c.isMomentum&&e?f({isEnding:!0,isMomentumCancel:!0}):f({isEnding:!0}),c.isMomentum=!1,c.isStarted=!1)},A=function(e){var t=[],n=function(n){n.removeEventListener("wheel",e),t=t.filter((function(e){return e!==n}))};return b({observe:function(i){return i.addEventListener("wheel",e,{passive:!1}),t.push(i),function(){return n(i)}},unobserve:n,disconnect:function(){t.forEach(n)}})}(m),j=A.observe,F=A.unobserve,V=A.disconnect;return d(e),b({on:r,off:s,observe:j,unobserve:F,disconnect:V,feedWheel:m,updateOptions:d})},D={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};C.globalOptions=void 0;var N=!1;function C(e){var t;void 0===e&&(e={});var n=function(){};return{name:"wheelGestures",options:e,init:function(i,a){var r,s,o=a.mergeOptions,l=a.optionsAtMedia,c=o(D,C.globalOptions),u=o(c,e);t=l(u);var m,d=i.internalEngine(),f=null!=(r=t.target)?r:i.containerNode().parentNode,v=null!=(s=t.forceWheelAxis)?s:d.options.axis,p=k({preventWheelAction:v,reverseSign:[!0,!0,!1]}),h=p.observe(f),g=p.on("wheel",(function(e){var i=e.axisDelta,a=i[0],r=i[1],s="x"===v?a:r,o="x"===v?r:a,l=e.isMomentum&&e.previous&&!e.previous.isMomentum,c=e.isEnding&&!e.isMomentum||l;Math.abs(s)>Math.abs(o)&&!x&&!e.isMomentum&&function(e){try{y(m=new MouseEvent("mousedown",e.event))}catch(i){return N&&console.warn("Legacy browser requires events-polyfill (https://github.com/xiel/embla-carousel-wheel-gestures#legacy-browsers)"),n()}x=!0,document.documentElement.addEventListener("mousemove",M,!0),document.documentElement.addEventListener("mouseup",M,!0),void document.documentElement.addEventListener("mousedown",M,!0),t.wheelDraggingClass&&f.classList.add(t.wheelDraggingClass)}(e);if(!x)return;c?function(e){x=!1,y(w("mouseup",e)),b(),t.wheelDraggingClass&&f.classList.remove(t.wheelDraggingClass)}(e):y(w("mousemove",e))})),x=!1;function b(){document.documentElement.removeEventListener("mousemove",M,!0),document.documentElement.removeEventListener("mouseup",M,!0),document.documentElement.removeEventListener("mousedown",M,!0)}function M(e){x&&e.isTrusted&&e.stopImmediatePropagation()}function w(e,t){var n,i;if(v===d.options.axis){var a=t.axisMovement;n=a[0],i=a[1]}else{var r=t.axisMovement;i=r[0],n=r[1]}if(!d.options.skipSnaps&&!d.options.dragFree){var s=d.containerRect.width,o=d.containerRect.height;n=n<0?Math.max(n,-s):Math.min(n,s),i=i<0?Math.max(i,-o):Math.min(i,o)}return new MouseEvent(e,{clientX:m.clientX+n,clientY:m.clientY+i,screenX:m.screenX+n,screenY:m.screenY+i,movementX:n,movementY:i,button:0,bubbles:!0,cancelable:!0,composed:!0})}function y(e){i.containerNode().dispatchEvent(e)}n=function(){h(),g(),b()}},destroy:function(){return n()}}}var P=e=>{let{services:t}=e;const[n,a]=(0,m.Z)({axis:"y",loop:!0,align:"center"},[C()]),r=(0,i.useRef)(0),s=(0,i.useRef)([]),{selectedIndex:o,onServiceButtonClick:l}=((e,t)=>{const{0:n,1:a}=(0,i.useState)(0),r=(0,i.useCallback)((n=>{e&&(e.scrollTo(n),t&&t(e))}),[e,t]),s=(0,i.useCallback)((e=>{a(e.selectedScrollSnap())}),[]);return(0,i.useEffect)((()=>{e&&(s(e),e.on("reInit",s).on("select",s))}),[e,s]),{selectedIndex:n,onServiceButtonClick:r}})(a),c=(0,i.useCallback)((e=>{s.current=e.slideNodes().map((e=>e.querySelector(".service-preview")))}),[]),u=(0,i.useCallback)((e=>{r.current=.2*e.scrollSnapList().length}),[]),v=(0,i.useCallback)(((e,t)=>{const n=e.internalEngine(),i=e.scrollProgress(),a=e.slidesInView(),o="scroll"===t;e.scrollSnapList().forEach(((e,t)=>{let l=e-i;n.slideRegistry[t].forEach((t=>{if(o&&!a.includes(t))return;n.options.loop&&n.slideLooper.loopPoints.forEach((n=>{const a=n.target();if(t===n.index&&0!==a){const t=Math.sign(a);-1===t&&(l=e-(1+i)),1===t&&(l=e+(1-i))}}));const c=1-Math.abs(l*r.current),u=(m=c,d=0,f=1,Math.min(Math.max(m,d),f));var m,d,f;s.current[t].style.transform=`scale(${u})`}))}))}),[]);return(0,i.useEffect)((()=>{a&&(c(a),u(a),v(a),a.on("reInit",c).on("reInit",u).on("reInit",v).on("scroll",v).on("slideFocus",v))}),[a,v]),(0,d.tZ)(i.Fragment,null,(0,d.tZ)("div",{className:"hidden sm:flex flex-col gap-5 p-8 lg:basis-[410px] shrink-0"},t?t.map(((e,t)=>(0,d.tZ)(p,{key:`dot-${e.id}`,service:e,onClick:()=>l(t),className:""+(t===o?"":"brightness-[0.4] hover:brightness-100")}))):null),(0,d.tZ)("div",{ref:n,className:"hidden sm:block overflow-hidden basis-full"},(0,d.tZ)("div",{style:{backfaceVisibility:"hidden"},className:"flex flex-col touch-pan-x h-[1000px] sm:h-[900px] md:h-[750px]"},t?t.map(((e,t)=>(0,d.tZ)("div",{key:e.id,onClick:()=>l(t),className:"grow-0 shrink-0 basis-1/3 min-h-0 select-none flex items-center"},(0,d.tZ)(f,{service:e,className:"select-none "+(t===o?"":"brightness-[0.4]")})))):null)))};var T=e=>{var t;let{data:n,pageContext:{markupData:r,lang:c}}=e;const m=null===(t=n.allMarkdownRemark)||void 0===t?void 0:t.nodes,v=(0,a.c)(r.image);return(0,d.tZ)(i.Fragment,null,(0,d.tZ)(o.Z,{heightClass:"lg:h-99",title:r.bannerTitle,image:v}),(0,d.tZ)("div",{className:"bg-main-100"},(0,d.tZ)(l.Z,{maxWidthClass:"max-w-[1280px]",className:"flex flex-col sm:flex-row items-start sm:justify-end py-6 sm:py-10 lg:!px-20 gap-0 sm:gap-5 lg:gap-[48px]"},m?(0,d.tZ)(P,{services:m}):null,m?m.map(((e,t)=>(0,d.tZ)(f,{key:e.id,service:e,className:"sm:hidden select-none"}))):null)),(0,d.tZ)(s(),{className:"w-full"}),(0,d.tZ)(u.Z,{lang:c}))};const L=e=>{let{pageContext:{markupData:t,site:n,lang:a},location:r}=e;return(0,d.tZ)(i.Fragment,null,(0,d.tZ)(c.Ag,{title:`${t.head} | ${t.bannerTitle.toUpperCase()}`,description:n.description,siteUrl:n.siteUrl,path:r.pathname,lang:a}))}}}]); +//# sourceMappingURL=component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js.map \ No newline at end of file diff --git a/component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js.map b/component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js.map similarity index 99% rename from component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js.map rename to component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js.map index 992ba6b9..c60a4132 100644 --- a/component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js.map +++ b/component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js.map @@ -1 +1 @@ -{"version":3,"file":"component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js","mappings":"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","sources":["webpack://code-cave/./src/components/services/servicePreview.tsx","webpack://code-cave/./src/components/services/servicesCarouselButtons.tsx","webpack://code-cave/./node_modules/wheel-gestures/dist/wheel-gestures.esm.js","webpack://code-cave/./node_modules/embla-carousel-wheel-gestures/dist/embla-carousel-wheel-gestures.esm.js","webpack://code-cave/./src/components/services/servicesCarousel.tsx","webpack://code-cave/./src/pagesTemplates/services.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { IServicePreview } from \"../../types/services.type\";\n\nconst ServicePreview = ({\n service,\n className,\n}: {\n service: IServicePreview;\n className?: string;\n}) => {\n const {\n html,\n frontmatter: {\n title,\n keywords,\n image: { publicURL: imageURL },\n },\n } = service;\n\n return (\n \n
\n \n

\n {title}\n

\n
\n \n {keywords ? (\n
\n {keywords.map((hashtag) => (\n \n {hashtag}\n

\n ))}\n
\n ) : null}\n \n );\n};\n\nexport default ServicePreview;\n","import React, {\n ComponentPropsWithRef,\n useCallback,\n useEffect,\n useState,\n} from \"react\";\nimport { EmblaCarouselType } from \"embla-carousel\";\nimport { IServicePreview } from \"../../types/services.type\";\n\ntype UseDotButtonType = {\n selectedIndex: number;\n onServiceButtonClick: (index: number) => void;\n};\n\nexport const useServicesButtons = (\n emblaApi: EmblaCarouselType | undefined,\n onButtonClick?: (emblaApi: EmblaCarouselType) => void\n): UseDotButtonType => {\n const [selectedIndex, setSelectedIndex] = useState(0);\n\n const onServiceButtonClick = useCallback(\n (index: number) => {\n if (!emblaApi) return;\n emblaApi.scrollTo(index);\n if (onButtonClick) onButtonClick(emblaApi);\n },\n [emblaApi, onButtonClick]\n );\n\n const onSelect = useCallback((emblaApi: EmblaCarouselType) => {\n setSelectedIndex(emblaApi.selectedScrollSnap());\n }, []);\n\n useEffect(() => {\n if (!emblaApi) return;\n\n onSelect(emblaApi);\n\n emblaApi.on(\"reInit\", onSelect).on(\"select\", onSelect);\n }, [emblaApi, onSelect]);\n\n return {\n selectedIndex,\n onServiceButtonClick,\n };\n};\n\ninterface IServiceCarouselButtonProps extends ComponentPropsWithRef<\"button\"> {\n service: IServicePreview;\n}\n\nexport const ServiceCarouselButton = ({\n service,\n className,\n ...attr\n}: IServiceCarouselButtonProps) => {\n const {\n frontmatter: {\n title,\n image: { publicURL: imageURL },\n },\n } = service;\n\n return (\n \n
\n {`${title}\n
\n

\n {title}\n

\n \n );\n};\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nvar DECAY = 0.996;\n/**\r\n * movement projection based on velocity\r\n * @param velocityPxMs\r\n * @param decay\r\n */\n\nvar projection = function projection(velocityPxMs, decay) {\n if (decay === void 0) {\n decay = DECAY;\n }\n\n return velocityPxMs * decay / (1 - decay);\n};\n\nfunction lastOf(array) {\n return array[array.length - 1];\n}\nfunction average(numbers) {\n return numbers.reduce(function (a, b) {\n return a + b;\n }) / numbers.length;\n}\nvar clamp = function clamp(value, min, max) {\n return Math.min(Math.max(min, value), max);\n};\nfunction addVectors(v1, v2) {\n if (v1.length !== v2.length) {\n throw new Error('vectors must be same length');\n }\n\n return v1.map(function (val, i) {\n return val + v2[i];\n });\n}\nfunction absMax(numbers) {\n return Math.max.apply(Math, numbers.map(Math.abs));\n} // eslint-disable-next-line @typescript-eslint/ban-types\n\nfunction deepFreeze(o) {\n Object.freeze(o);\n Object.values(o).forEach(function (value) {\n if (value !== null && typeof value === 'object' && !Object.isFrozen(value)) {\n deepFreeze(value);\n }\n });\n return o;\n}\n\nfunction EventBus() {\n var listeners = {};\n\n function on(type, listener) {\n listeners[type] = (listeners[type] || []).concat(listener);\n return function () {\n return off(type, listener);\n };\n }\n\n function off(type, listener) {\n listeners[type] = (listeners[type] || []).filter(function (l) {\n return l !== listener;\n });\n }\n\n function dispatch(type, data) {\n if (!(type in listeners)) return;\n listeners[type].forEach(function (l) {\n return l(data);\n });\n }\n\n return deepFreeze({\n on: on,\n off: off,\n dispatch: dispatch\n });\n}\n\nfunction WheelTargetObserver(eventListener) {\n var targets = []; // add event listener to target element\n\n var observe = function observe(target) {\n target.addEventListener('wheel', eventListener, {\n passive: false\n });\n targets.push(target);\n return function () {\n return unobserve(target);\n };\n }; /// remove event listener from target element\n\n\n var unobserve = function unobserve(target) {\n target.removeEventListener('wheel', eventListener);\n targets = targets.filter(function (t) {\n return t !== target;\n });\n }; // stops watching all of its target elements for visibility changes.\n\n\n var disconnect = function disconnect() {\n targets.forEach(unobserve);\n };\n\n return deepFreeze({\n observe: observe,\n unobserve: unobserve,\n disconnect: disconnect\n });\n}\n\nvar LINE_HEIGHT = 16 * 1.125;\nvar PAGE_HEIGHT = typeof window !== 'undefined' && window.innerHeight || 800;\nvar DELTA_MODE_UNIT = [1, LINE_HEIGHT, PAGE_HEIGHT];\nfunction normalizeWheel(e) {\n var deltaX = e.deltaX * DELTA_MODE_UNIT[e.deltaMode];\n var deltaY = e.deltaY * DELTA_MODE_UNIT[e.deltaMode];\n var deltaZ = (e.deltaZ || 0) * DELTA_MODE_UNIT[e.deltaMode];\n return {\n timeStamp: e.timeStamp,\n axisDelta: [deltaX, deltaY, deltaZ]\n };\n}\nvar reverseAll = [-1, -1, -1];\nfunction reverseAxisDeltaSign(wheel, reverseSign) {\n if (!reverseSign) {\n return wheel;\n }\n\n var multipliers = reverseSign === true ? reverseAll : reverseSign.map(function (shouldReverse) {\n return shouldReverse ? -1 : 1;\n });\n return _extends({}, wheel, {\n axisDelta: wheel.axisDelta.map(function (delta, i) {\n return delta * multipliers[i];\n })\n });\n}\nvar DELTA_MAX_ABS = 700;\nvar clampAxisDelta = function clampAxisDelta(wheel) {\n return _extends({}, wheel, {\n axisDelta: wheel.axisDelta.map(function (delta) {\n return clamp(delta, -DELTA_MAX_ABS, DELTA_MAX_ABS);\n })\n });\n};\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar ACC_FACTOR_MIN = 0.6;\nvar ACC_FACTOR_MAX = 0.96;\nvar WHEELEVENTS_TO_MERGE = 2;\nvar WHEELEVENTS_TO_ANALAZE = 5;\n\nvar configDefaults = /*#__PURE__*/deepFreeze({\n preventWheelAction: true,\n reverseSign: [true, true, false]\n});\n\nvar WILL_END_TIMEOUT_DEFAULT = 400;\nfunction createWheelGesturesState() {\n return {\n isStarted: false,\n isStartPublished: false,\n isMomentum: false,\n startTime: 0,\n lastAbsDelta: Infinity,\n axisMovement: [0, 0, 0],\n axisVelocity: [0, 0, 0],\n accelerationFactors: [],\n scrollPoints: [],\n scrollPointsToMerge: [],\n willEndTimeout: WILL_END_TIMEOUT_DEFAULT\n };\n}\n\nfunction WheelGestures(optionsParam) {\n if (optionsParam === void 0) {\n optionsParam = {};\n }\n\n var _EventBus = EventBus(),\n on = _EventBus.on,\n off = _EventBus.off,\n dispatch = _EventBus.dispatch;\n\n var config = configDefaults;\n var state = createWheelGesturesState();\n var currentEvent;\n var negativeZeroFingerUpSpecialEvent = false;\n var prevWheelEventState;\n\n var feedWheel = function feedWheel(wheelEvents) {\n if (Array.isArray(wheelEvents)) {\n wheelEvents.forEach(function (wheelEvent) {\n return processWheelEventData(wheelEvent);\n });\n } else {\n processWheelEventData(wheelEvents);\n }\n };\n\n var updateOptions = function updateOptions(newOptions) {\n if (newOptions === void 0) {\n newOptions = {};\n }\n\n if (Object.values(newOptions).some(function (option) {\n return option === undefined || option === null;\n })) {\n __DEV__ && console.error('updateOptions ignored! undefined & null options not allowed');\n return config;\n }\n\n return config = deepFreeze(_extends({}, configDefaults, config, newOptions));\n };\n\n var publishWheel = function publishWheel(additionalData) {\n var wheelEventState = _extends({\n event: currentEvent,\n isStart: false,\n isEnding: false,\n isMomentumCancel: false,\n isMomentum: state.isMomentum,\n axisDelta: [0, 0, 0],\n axisVelocity: state.axisVelocity,\n axisMovement: state.axisMovement,\n\n get axisMovementProjection() {\n return addVectors(wheelEventState.axisMovement, wheelEventState.axisVelocity.map(function (velocity) {\n return projection(velocity);\n }));\n }\n\n }, additionalData);\n\n dispatch('wheel', _extends({}, wheelEventState, {\n previous: prevWheelEventState\n })); // keep reference without previous, otherwise we would create a long chain\n\n prevWheelEventState = wheelEventState;\n }; // should prevent when there is mainly movement on the desired axis\n\n\n var shouldPreventDefault = function shouldPreventDefault(deltaMaxAbs, axisDelta) {\n var _config = config,\n preventWheelAction = _config.preventWheelAction;\n var deltaX = axisDelta[0],\n deltaY = axisDelta[1],\n deltaZ = axisDelta[2];\n if (typeof preventWheelAction === 'boolean') return preventWheelAction;\n\n switch (preventWheelAction) {\n case 'x':\n return Math.abs(deltaX) >= deltaMaxAbs;\n\n case 'y':\n return Math.abs(deltaY) >= deltaMaxAbs;\n\n case 'z':\n return Math.abs(deltaZ) >= deltaMaxAbs;\n\n default:\n __DEV__ && console.warn('unsupported preventWheelAction value: ' + preventWheelAction, 'warn');\n return false;\n }\n };\n\n var processWheelEventData = function processWheelEventData(wheelEvent) {\n var _clampAxisDelta = clampAxisDelta(reverseAxisDeltaSign(normalizeWheel(wheelEvent), config.reverseSign)),\n axisDelta = _clampAxisDelta.axisDelta,\n timeStamp = _clampAxisDelta.timeStamp;\n\n var deltaMaxAbs = absMax(axisDelta);\n\n if (wheelEvent.preventDefault && shouldPreventDefault(deltaMaxAbs, axisDelta)) {\n wheelEvent.preventDefault();\n }\n\n if (!state.isStarted) {\n start();\n } // check if user started scrolling again -> cancel\n else if (state.isMomentum && deltaMaxAbs > Math.max(2, state.lastAbsDelta * 2)) {\n end(true);\n start();\n } // special finger up event on windows + blink\n\n\n if (deltaMaxAbs === 0 && Object.is && Object.is(wheelEvent.deltaX, -0)) {\n negativeZeroFingerUpSpecialEvent = true; // return -> zero delta event should not influence velocity\n\n return;\n }\n\n currentEvent = wheelEvent;\n state.axisMovement = addVectors(state.axisMovement, axisDelta);\n state.lastAbsDelta = deltaMaxAbs;\n state.scrollPointsToMerge.push({\n axisDelta: axisDelta,\n timeStamp: timeStamp\n });\n mergeScrollPointsCalcVelocity(); // only wheel event (move) and not start/end get the delta values\n\n publishWheel({\n axisDelta: axisDelta,\n isStart: !state.isStartPublished\n }); // state.isMomentum ? MOMENTUM_WHEEL : WHEEL, { axisDelta })\n // publish start after velocity etc. have been updated\n\n state.isStartPublished = true; // calc debounced end function, to recognize end of wheel event stream\n\n willEnd();\n };\n\n var mergeScrollPointsCalcVelocity = function mergeScrollPointsCalcVelocity() {\n if (state.scrollPointsToMerge.length === WHEELEVENTS_TO_MERGE) {\n state.scrollPoints.unshift({\n axisDeltaSum: state.scrollPointsToMerge.map(function (b) {\n return b.axisDelta;\n }).reduce(addVectors),\n timeStamp: average(state.scrollPointsToMerge.map(function (b) {\n return b.timeStamp;\n }))\n }); // only update velocity after a merged scrollpoint was generated\n\n updateVelocity(); // reset toMerge array\n\n state.scrollPointsToMerge.length = 0; // after calculation of velocity only keep the most recent merged scrollPoint\n\n state.scrollPoints.length = 1;\n\n if (!state.isMomentum) {\n detectMomentum();\n }\n } else if (!state.isStartPublished) {\n updateStartVelocity();\n }\n };\n\n var updateStartVelocity = function updateStartVelocity() {\n state.axisVelocity = lastOf(state.scrollPointsToMerge).axisDelta.map(function (d) {\n return d / state.willEndTimeout;\n });\n };\n\n var updateVelocity = function updateVelocity() {\n // need to have two recent points to calc velocity\n var _state$scrollPoints = state.scrollPoints,\n latestScrollPoint = _state$scrollPoints[0],\n prevScrollPoint = _state$scrollPoints[1];\n\n if (!prevScrollPoint || !latestScrollPoint) {\n return;\n } // time delta\n\n\n var deltaTime = latestScrollPoint.timeStamp - prevScrollPoint.timeStamp;\n\n if (deltaTime <= 0) {\n __DEV__ && console.warn('invalid deltaTime');\n return;\n } // calc the velocity per axes\n\n\n var velocity = latestScrollPoint.axisDeltaSum.map(function (d) {\n return d / deltaTime;\n }); // calc the acceleration factor per axis\n\n var accelerationFactor = velocity.map(function (v, i) {\n return v / (state.axisVelocity[i] || 1);\n });\n state.axisVelocity = velocity;\n state.accelerationFactors.push(accelerationFactor);\n updateWillEndTimeout(deltaTime);\n };\n\n var updateWillEndTimeout = function updateWillEndTimeout(deltaTime) {\n // use current time between events rounded up and increased by a bit as timeout\n var newTimeout = Math.ceil(deltaTime / 10) * 10 * 1.2; // double the timeout, when momentum was not detected yet\n\n if (!state.isMomentum) {\n newTimeout = Math.max(100, newTimeout * 2);\n }\n\n state.willEndTimeout = Math.min(1000, Math.round(newTimeout));\n };\n\n var accelerationFactorInMomentumRange = function accelerationFactorInMomentumRange(accFactor) {\n // when main axis is the the other one and there is no movement/change on the current one\n if (accFactor === 0) return true;\n return accFactor <= ACC_FACTOR_MAX && accFactor >= ACC_FACTOR_MIN;\n };\n\n var detectMomentum = function detectMomentum() {\n if (state.accelerationFactors.length >= WHEELEVENTS_TO_ANALAZE) {\n if (negativeZeroFingerUpSpecialEvent) {\n negativeZeroFingerUpSpecialEvent = false;\n\n if (absMax(state.axisVelocity) >= 0.2) {\n recognizedMomentum();\n return;\n }\n }\n\n var recentAccelerationFactors = state.accelerationFactors.slice(WHEELEVENTS_TO_ANALAZE * -1); // check recent acceleration / deceleration factors\n // all recent need to match, if any did not match\n\n var detectedMomentum = recentAccelerationFactors.every(function (accFac) {\n // when both axis decelerate exactly in the same rate it is very likely caused by momentum\n var sameAccFac = !!accFac.reduce(function (f1, f2) {\n return f1 && f1 < 1 && f1 === f2 ? 1 : 0;\n }); // check if acceleration factor is within momentum range\n\n var bothAreInRangeOrZero = accFac.filter(accelerationFactorInMomentumRange).length === accFac.length; // one the requirements must be fulfilled\n\n return sameAccFac || bothAreInRangeOrZero;\n });\n\n if (detectedMomentum) {\n recognizedMomentum();\n } // only keep the most recent events\n\n\n state.accelerationFactors = recentAccelerationFactors;\n }\n };\n\n var recognizedMomentum = function recognizedMomentum() {\n state.isMomentum = true;\n };\n\n var start = function start() {\n state = createWheelGesturesState();\n state.isStarted = true;\n state.startTime = Date.now();\n prevWheelEventState = undefined;\n negativeZeroFingerUpSpecialEvent = false;\n };\n\n var willEnd = function () {\n var willEndId;\n return function () {\n clearTimeout(willEndId);\n willEndId = setTimeout(end, state.willEndTimeout);\n };\n }();\n\n var end = function end(isMomentumCancel) {\n if (isMomentumCancel === void 0) {\n isMomentumCancel = false;\n }\n\n if (!state.isStarted) return;\n\n if (state.isMomentum && isMomentumCancel) {\n publishWheel({\n isEnding: true,\n isMomentumCancel: true\n });\n } else {\n publishWheel({\n isEnding: true\n });\n }\n\n state.isMomentum = false;\n state.isStarted = false;\n };\n\n var _WheelTargetObserver = WheelTargetObserver(feedWheel),\n observe = _WheelTargetObserver.observe,\n unobserve = _WheelTargetObserver.unobserve,\n disconnect = _WheelTargetObserver.disconnect;\n\n updateOptions(optionsParam);\n return deepFreeze({\n on: on,\n off: off,\n observe: observe,\n unobserve: unobserve,\n disconnect: disconnect,\n feedWheel: feedWheel,\n updateOptions: updateOptions\n });\n}\n\nexport default WheelGestures;\nexport { WheelGestures, absMax, addVectors, average, clamp, configDefaults, deepFreeze, lastOf, projection };\n//# sourceMappingURL=wheel-gestures.esm.js.map\n","import WheelGestures from 'wheel-gestures';\n\nvar defaultOptions = {\n active: true,\n breakpoints: {},\n wheelDraggingClass: 'is-wheel-dragging',\n forceWheelAxis: undefined,\n target: undefined\n};\nWheelGesturesPlugin.globalOptions = undefined;\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nfunction WheelGesturesPlugin(userOptions) {\n if (userOptions === void 0) {\n userOptions = {};\n }\n\n var options;\n\n var cleanup = function cleanup() {};\n\n function init(embla, optionsHandler) {\n var _options$target, _options$forceWheelAx;\n\n var mergeOptions = optionsHandler.mergeOptions,\n optionsAtMedia = optionsHandler.optionsAtMedia;\n var optionsBase = mergeOptions(defaultOptions, WheelGesturesPlugin.globalOptions);\n var allOptions = mergeOptions(optionsBase, userOptions);\n options = optionsAtMedia(allOptions);\n var engine = embla.internalEngine();\n var targetNode = (_options$target = options.target) != null ? _options$target : embla.containerNode().parentNode;\n var wheelAxis = (_options$forceWheelAx = options.forceWheelAxis) != null ? _options$forceWheelAx : engine.options.axis;\n var wheelGestures = WheelGestures({\n preventWheelAction: wheelAxis,\n reverseSign: [true, true, false]\n });\n var unobserveTargetNode = wheelGestures.observe(targetNode);\n var offWheel = wheelGestures.on('wheel', handleWheel);\n var isStarted = false;\n var startEvent;\n\n function wheelGestureStarted(state) {\n try {\n startEvent = new MouseEvent('mousedown', state.event);\n dispatchEvent(startEvent);\n } catch (e) {\n // Legacy Browsers like IE 10 & 11 will throw when attempting to create the Event\n if (__DEV__) {\n console.warn('Legacy browser requires events-polyfill (https://github.com/xiel/embla-carousel-wheel-gestures#legacy-browsers)');\n }\n\n return cleanup();\n }\n\n isStarted = true;\n addNativeMouseEventListeners();\n\n if (options.wheelDraggingClass) {\n targetNode.classList.add(options.wheelDraggingClass);\n }\n }\n\n function wheelGestureEnded(state) {\n isStarted = false;\n dispatchEvent(createRelativeMouseEvent('mouseup', state));\n removeNativeMouseEventListeners();\n\n if (options.wheelDraggingClass) {\n targetNode.classList.remove(options.wheelDraggingClass);\n }\n }\n\n function addNativeMouseEventListeners() {\n document.documentElement.addEventListener('mousemove', preventNativeMouseHandler, true);\n document.documentElement.addEventListener('mouseup', preventNativeMouseHandler, true);\n document.documentElement.addEventListener('mousedown', preventNativeMouseHandler, true);\n }\n\n function removeNativeMouseEventListeners() {\n document.documentElement.removeEventListener('mousemove', preventNativeMouseHandler, true);\n document.documentElement.removeEventListener('mouseup', preventNativeMouseHandler, true);\n document.documentElement.removeEventListener('mousedown', preventNativeMouseHandler, true);\n }\n\n function preventNativeMouseHandler(e) {\n if (isStarted && e.isTrusted) {\n e.stopImmediatePropagation();\n }\n }\n\n function createRelativeMouseEvent(type, state) {\n var moveX, moveY;\n\n if (wheelAxis === engine.options.axis) {\n var _state$axisMovement = state.axisMovement;\n moveX = _state$axisMovement[0];\n moveY = _state$axisMovement[1];\n } else {\n var _state$axisMovement2 = state.axisMovement;\n moveY = _state$axisMovement2[0];\n moveX = _state$axisMovement2[1];\n } // prevent skipping slides\n\n\n if (!engine.options.skipSnaps && !engine.options.dragFree) {\n var maxX = engine.containerRect.width;\n var maxY = engine.containerRect.height;\n moveX = moveX < 0 ? Math.max(moveX, -maxX) : Math.min(moveX, maxX);\n moveY = moveY < 0 ? Math.max(moveY, -maxY) : Math.min(moveY, maxY);\n }\n\n return new MouseEvent(type, {\n clientX: startEvent.clientX + moveX,\n clientY: startEvent.clientY + moveY,\n screenX: startEvent.screenX + moveX,\n screenY: startEvent.screenY + moveY,\n movementX: moveX,\n movementY: moveY,\n button: 0,\n bubbles: true,\n cancelable: true,\n composed: true\n });\n }\n\n function dispatchEvent(event) {\n embla.containerNode().dispatchEvent(event);\n }\n\n function handleWheel(state) {\n var _state$axisDelta = state.axisDelta,\n deltaX = _state$axisDelta[0],\n deltaY = _state$axisDelta[1];\n var primaryAxisDelta = wheelAxis === 'x' ? deltaX : deltaY;\n var crossAxisDelta = wheelAxis === 'x' ? deltaY : deltaX;\n var isRelease = state.isMomentum && state.previous && !state.previous.isMomentum;\n var isEndingOrRelease = state.isEnding && !state.isMomentum || isRelease;\n var primaryAxisDeltaIsDominant = Math.abs(primaryAxisDelta) > Math.abs(crossAxisDelta);\n\n if (primaryAxisDeltaIsDominant && !isStarted && !state.isMomentum) {\n wheelGestureStarted(state);\n }\n\n if (!isStarted) return;\n\n if (isEndingOrRelease) {\n wheelGestureEnded(state);\n } else {\n dispatchEvent(createRelativeMouseEvent('mousemove', state));\n }\n }\n\n cleanup = function cleanup() {\n unobserveTargetNode();\n offWheel();\n removeNativeMouseEventListeners();\n };\n }\n\n var self = {\n name: 'wheelGestures',\n options: userOptions,\n init: init,\n destroy: function destroy() {\n return cleanup();\n }\n };\n return self;\n}\n\nexport { WheelGesturesPlugin };\n//# sourceMappingURL=embla-carousel-wheel-gestures.esm.js.map\n","import React, { useCallback, useEffect, useRef } from \"react\";\nimport { EmblaCarouselType, EmblaEventType } from \"embla-carousel\";\nimport useEmblaCarousel from \"embla-carousel-react\";\n\nimport { IServicePreview } from \"../../types/services.type\";\n\nimport ServicePreview from \"./servicePreview\";\nimport {\n ServiceCarouselButton,\n useServicesButtons,\n} from \"./servicesCarouselButtons\";\nimport { WheelGesturesPlugin } from \"embla-carousel-wheel-gestures\";\n\nconst TWEEN_FACTOR_BASE = 0.2;\nconst numberWithinRange = (number: number, min: number, max: number): number =>\n Math.min(Math.max(number, min), max);\n\nconst ServicesCarousel = ({ services }: { services: IServicePreview[] }) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n {\n axis: \"y\",\n loop: true,\n align: \"center\",\n },\n [WheelGesturesPlugin()]\n );\n\n const tweenFactor = useRef(0);\n const tweenNodes = useRef([]);\n\n const { selectedIndex, onServiceButtonClick } = useServicesButtons(emblaApi);\n\n const setTweenNodes = useCallback((emblaApi: EmblaCarouselType): void => {\n tweenNodes.current = emblaApi.slideNodes().map((slideNode) => {\n return slideNode.querySelector(\".service-preview\") as HTMLElement;\n });\n }, []);\n\n const setTweenFactor = useCallback((emblaApi: EmblaCarouselType) => {\n tweenFactor.current = TWEEN_FACTOR_BASE * emblaApi.scrollSnapList().length;\n }, []);\n\n const tweenScale = useCallback(\n (emblaApi: EmblaCarouselType, eventName?: EmblaEventType) => {\n const engine = emblaApi.internalEngine();\n const scrollProgress = emblaApi.scrollProgress();\n const slidesInView = emblaApi.slidesInView();\n const isScrollEvent = eventName === \"scroll\";\n\n emblaApi.scrollSnapList().forEach((scrollSnap, snapIndex) => {\n let diffToTarget = scrollSnap - scrollProgress;\n const slidesInSnap = engine.slideRegistry[snapIndex];\n\n slidesInSnap.forEach((slideIndex) => {\n if (isScrollEvent && !slidesInView.includes(slideIndex)) return;\n\n if (engine.options.loop) {\n engine.slideLooper.loopPoints.forEach((loopItem) => {\n const target = loopItem.target();\n\n if (slideIndex === loopItem.index && target !== 0) {\n const sign = Math.sign(target);\n\n if (sign === -1) {\n diffToTarget = scrollSnap - (1 + scrollProgress);\n }\n if (sign === 1) {\n diffToTarget = scrollSnap + (1 - scrollProgress);\n }\n }\n });\n }\n\n const tweenValue = 1 - Math.abs(diffToTarget * tweenFactor.current);\n const scale = numberWithinRange(tweenValue, 0, 1);\n const tweenNode = tweenNodes.current[slideIndex];\n tweenNode.style.transform = `scale(${scale})`;\n });\n });\n },\n []\n );\n\n useEffect(() => {\n if (!emblaApi) return;\n\n setTweenNodes(emblaApi);\n setTweenFactor(emblaApi);\n tweenScale(emblaApi);\n\n emblaApi\n .on(\"reInit\", setTweenNodes)\n .on(\"reInit\", setTweenFactor)\n .on(\"reInit\", tweenScale)\n .on(\"scroll\", tweenScale)\n .on(\"slideFocus\", tweenScale);\n }, [emblaApi, tweenScale]);\n\n return (\n <>\n
\n {services\n ? services.map((service, i) => (\n onServiceButtonClick(i)}\n className={`${\n i === selectedIndex\n ? \"\"\n : \"brightness-[0.4] hover:brightness-100\"\n }`}\n />\n ))\n : null}\n
\n \n \n {services\n ? services.map((service, i) => (\n onServiceButtonClick(i)}\n className=\"grow-0 shrink-0 basis-1/3 min-h-0 select-none flex items-center\"\n >\n \n \n ))\n : null}\n \n \n \n );\n};\n\nexport default ServicesCarousel;\n","import React from \"react\";\nimport { HeadFC, HeadProps, PageProps } from \"gatsby\";\nimport { graphql } from \"gatsby\";\nimport { getImage } from \"gatsby-plugin-image\";\n\nimport {\n IServicesPageContext,\n IServicesPreviewQueryResult,\n} from \"../types/services.type\";\n\nimport Border from \"../assets/common/border.svg\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport { HeadSeo } from \"../components/common/metadata\";\nimport ContactFormSection from \"../components/forms/contactFormSection\";\nimport ServicesCarousel from \"../components/services/servicesCarousel\";\nimport ServicePreview from \"../components/services/servicePreview\";\n\nconst Services = ({\n data,\n pageContext: { markupData, lang },\n}: PageProps) => {\n const services = data.allMarkdownRemark?.nodes;\n const bannerImage = getImage(markupData.image);\n\n return (\n <>\n \n
\n \n {services ? : null}\n {services\n ? services.map((service, i) => (\n \n ))\n : null}\n \n
\n \n \n \n );\n};\n\nexport default Services;\n\nexport const Head: HeadFC<\n IServicesPreviewQueryResult,\n IServicesPageContext\n> = ({\n pageContext: { markupData, site, lang },\n location,\n}: HeadProps) => (\n <>\n \n \n);\n\nexport const query = graphql`\n query ($lang: String) {\n allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"services\" }, language: { eq: $lang } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n keywords\n image {\n publicURL\n }\n }\n }\n }\n }\n`;\n"],"names":["_ref","service","className","html","frontmatter","title","keywords","image","publicURL","imageURL","___EmotionJSX","itemScope","itemType","src","alt","itemProp","dangerouslySetInnerHTML","__html","map","hashtag","key","ServiceCarouselButton","attr","_extends","type","Object","assign","target","i","arguments","length","source","prototype","hasOwnProperty","call","apply","this","addVectors","v1","v2","Error","val","absMax","numbers","Math","max","abs","deepFreeze","o","freeze","values","forEach","value","isFrozen","DELTA_MODE_UNIT","window","innerHeight","reverseAll","clampAxisDelta","wheel","axisDelta","delta","min","configDefaults","preventWheelAction","reverseSign","WILL_END_TIMEOUT_DEFAULT","createWheelGesturesState","isStarted","isStartPublished","isMomentum","startTime","lastAbsDelta","Infinity","axisMovement","axisVelocity","accelerationFactors","scrollPoints","scrollPointsToMerge","willEndTimeout","optionsParam","currentEvent","prevWheelEventState","willEndId","_EventBus","listeners","off","listener","filter","l","on","concat","dispatch","data","EventBus","config","state","negativeZeroFingerUpSpecialEvent","feedWheel","wheelEvents","Array","isArray","wheelEvent","processWheelEventData","updateOptions","newOptions","some","option","publishWheel","additionalData","wheelEventState","event","isStart","isEnding","isMomentumCancel","axisMovementProjection","velocity","decay","previous","e","deltaX","deltaY","deltaZ","_clampAxisDelta","multipliers","shouldReverse","reverseAxisDeltaSign","deltaMode","timeStamp","deltaMaxAbs","preventDefault","shouldPreventDefault","end","start","is","push","mergeScrollPointsCalcVelocity","willEnd","unshift","axisDeltaSum","b","reduce","a","updateVelocity","detectMomentum","updateStartVelocity","array","d","_state$scrollPoints","latestScrollPoint","prevScrollPoint","deltaTime","accelerationFactor","v","updateWillEndTimeout","newTimeout","ceil","round","accelerationFactorInMomentumRange","accFactor","recognizedMomentum","recentAccelerationFactors","slice","WHEELEVENTS_TO_ANALAZE","every","accFac","sameAccFac","f1","f2","bothAreInRangeOrZero","Date","now","undefined","clearTimeout","setTimeout","_WheelTargetObserver","eventListener","targets","unobserve","removeEventListener","t","observe","addEventListener","passive","disconnect","WheelTargetObserver","defaultOptions","active","breakpoints","wheelDraggingClass","forceWheelAxis","WheelGesturesPlugin","globalOptions","userOptions","options","cleanup","name","init","embla","optionsHandler","_options$target","_options$forceWheelAx","mergeOptions","optionsAtMedia","optionsBase","allOptions","startEvent","engine","internalEngine","targetNode","containerNode","parentNode","wheelAxis","axis","wheelGestures","unobserveTargetNode","offWheel","_state$axisDelta","primaryAxisDelta","crossAxisDelta","isRelease","isEndingOrRelease","dispatchEvent","MouseEvent","console","warn","document","documentElement","preventNativeMouseHandler","classList","add","wheelGestureStarted","createRelativeMouseEvent","removeNativeMouseEventListeners","remove","wheelGestureEnded","isTrusted","stopImmediatePropagation","moveX","moveY","_state$axisMovement","_state$axisMovement2","skipSnaps","dragFree","maxX","containerRect","width","maxY","height","clientX","clientY","screenX","screenY","movementX","movementY","button","bubbles","cancelable","composed","destroy","services","emblaRef","emblaApi","useEmblaCarousel","loop","align","tweenFactor","useRef","tweenNodes","selectedIndex","onServiceButtonClick","useServicesButtons","onButtonClick","setSelectedIndex","useState","useCallback","index","scrollTo","onSelect","selectedScrollSnap","useEffect","setTweenNodes","current","slideNodes","slideNode","querySelector","setTweenFactor","scrollSnapList","tweenScale","eventName","scrollProgress","slidesInView","isScrollEvent","scrollSnap","snapIndex","diffToTarget","slideRegistry","slideIndex","includes","slideLooper","loopPoints","loopItem","sign","tweenValue","scale","number","numberWithinRange","style","transform","React","id","onClick","ref","backfaceVisibility","ServicePreview","_data$allMarkdownRema","pageContext","markupData","lang","allMarkdownRemark","nodes","bannerImage","getImage","Banner","heightClass","bannerTitle","ContentContainer","maxWidthClass","ServicesCarousel","Border","ContactFormSection","Head","_ref2","site","location","HeadSeo","head","toUpperCase","description","siteUrl","path","pathname"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js","mappings":"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","sources":["webpack://code-cave/./src/components/services/servicePreview.tsx","webpack://code-cave/./src/components/services/servicesCarouselButtons.tsx","webpack://code-cave/./node_modules/wheel-gestures/dist/wheel-gestures.esm.js","webpack://code-cave/./node_modules/embla-carousel-wheel-gestures/dist/embla-carousel-wheel-gestures.esm.js","webpack://code-cave/./src/components/services/servicesCarousel.tsx","webpack://code-cave/./src/pagesTemplates/services.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { IServicePreview } from \"../../types/services.type\";\n\nconst ServicePreview = ({\n service,\n className,\n}: {\n service: IServicePreview;\n className?: string;\n}) => {\n const {\n html,\n frontmatter: {\n title,\n keywords,\n image: { publicURL: imageURL },\n },\n } = service;\n\n return (\n \n
\n \n

\n {title}\n

\n
\n \n {keywords ? (\n
\n {keywords.map((hashtag) => (\n \n {hashtag}\n

\n ))}\n
\n ) : null}\n \n );\n};\n\nexport default ServicePreview;\n","import React, {\n ComponentPropsWithRef,\n useCallback,\n useEffect,\n useState,\n} from \"react\";\nimport { EmblaCarouselType } from \"embla-carousel\";\nimport { IServicePreview } from \"../../types/services.type\";\n\ntype UseDotButtonType = {\n selectedIndex: number;\n onServiceButtonClick: (index: number) => void;\n};\n\nexport const useServicesButtons = (\n emblaApi: EmblaCarouselType | undefined,\n onButtonClick?: (emblaApi: EmblaCarouselType) => void\n): UseDotButtonType => {\n const [selectedIndex, setSelectedIndex] = useState(0);\n\n const onServiceButtonClick = useCallback(\n (index: number) => {\n if (!emblaApi) return;\n emblaApi.scrollTo(index);\n if (onButtonClick) onButtonClick(emblaApi);\n },\n [emblaApi, onButtonClick]\n );\n\n const onSelect = useCallback((emblaApi: EmblaCarouselType) => {\n setSelectedIndex(emblaApi.selectedScrollSnap());\n }, []);\n\n useEffect(() => {\n if (!emblaApi) return;\n\n onSelect(emblaApi);\n\n emblaApi.on(\"reInit\", onSelect).on(\"select\", onSelect);\n }, [emblaApi, onSelect]);\n\n return {\n selectedIndex,\n onServiceButtonClick,\n };\n};\n\ninterface IServiceCarouselButtonProps extends ComponentPropsWithRef<\"button\"> {\n service: IServicePreview;\n}\n\nexport const ServiceCarouselButton = ({\n service,\n className,\n ...attr\n}: IServiceCarouselButtonProps) => {\n const {\n frontmatter: {\n title,\n image: { publicURL: imageURL },\n },\n } = service;\n\n return (\n \n
\n {`${title}\n
\n

\n {title}\n

\n \n );\n};\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nvar DECAY = 0.996;\n/**\r\n * movement projection based on velocity\r\n * @param velocityPxMs\r\n * @param decay\r\n */\n\nvar projection = function projection(velocityPxMs, decay) {\n if (decay === void 0) {\n decay = DECAY;\n }\n\n return velocityPxMs * decay / (1 - decay);\n};\n\nfunction lastOf(array) {\n return array[array.length - 1];\n}\nfunction average(numbers) {\n return numbers.reduce(function (a, b) {\n return a + b;\n }) / numbers.length;\n}\nvar clamp = function clamp(value, min, max) {\n return Math.min(Math.max(min, value), max);\n};\nfunction addVectors(v1, v2) {\n if (v1.length !== v2.length) {\n throw new Error('vectors must be same length');\n }\n\n return v1.map(function (val, i) {\n return val + v2[i];\n });\n}\nfunction absMax(numbers) {\n return Math.max.apply(Math, numbers.map(Math.abs));\n} // eslint-disable-next-line @typescript-eslint/ban-types\n\nfunction deepFreeze(o) {\n Object.freeze(o);\n Object.values(o).forEach(function (value) {\n if (value !== null && typeof value === 'object' && !Object.isFrozen(value)) {\n deepFreeze(value);\n }\n });\n return o;\n}\n\nfunction EventBus() {\n var listeners = {};\n\n function on(type, listener) {\n listeners[type] = (listeners[type] || []).concat(listener);\n return function () {\n return off(type, listener);\n };\n }\n\n function off(type, listener) {\n listeners[type] = (listeners[type] || []).filter(function (l) {\n return l !== listener;\n });\n }\n\n function dispatch(type, data) {\n if (!(type in listeners)) return;\n listeners[type].forEach(function (l) {\n return l(data);\n });\n }\n\n return deepFreeze({\n on: on,\n off: off,\n dispatch: dispatch\n });\n}\n\nfunction WheelTargetObserver(eventListener) {\n var targets = []; // add event listener to target element\n\n var observe = function observe(target) {\n target.addEventListener('wheel', eventListener, {\n passive: false\n });\n targets.push(target);\n return function () {\n return unobserve(target);\n };\n }; /// remove event listener from target element\n\n\n var unobserve = function unobserve(target) {\n target.removeEventListener('wheel', eventListener);\n targets = targets.filter(function (t) {\n return t !== target;\n });\n }; // stops watching all of its target elements for visibility changes.\n\n\n var disconnect = function disconnect() {\n targets.forEach(unobserve);\n };\n\n return deepFreeze({\n observe: observe,\n unobserve: unobserve,\n disconnect: disconnect\n });\n}\n\nvar LINE_HEIGHT = 16 * 1.125;\nvar PAGE_HEIGHT = typeof window !== 'undefined' && window.innerHeight || 800;\nvar DELTA_MODE_UNIT = [1, LINE_HEIGHT, PAGE_HEIGHT];\nfunction normalizeWheel(e) {\n var deltaX = e.deltaX * DELTA_MODE_UNIT[e.deltaMode];\n var deltaY = e.deltaY * DELTA_MODE_UNIT[e.deltaMode];\n var deltaZ = (e.deltaZ || 0) * DELTA_MODE_UNIT[e.deltaMode];\n return {\n timeStamp: e.timeStamp,\n axisDelta: [deltaX, deltaY, deltaZ]\n };\n}\nvar reverseAll = [-1, -1, -1];\nfunction reverseAxisDeltaSign(wheel, reverseSign) {\n if (!reverseSign) {\n return wheel;\n }\n\n var multipliers = reverseSign === true ? reverseAll : reverseSign.map(function (shouldReverse) {\n return shouldReverse ? -1 : 1;\n });\n return _extends({}, wheel, {\n axisDelta: wheel.axisDelta.map(function (delta, i) {\n return delta * multipliers[i];\n })\n });\n}\nvar DELTA_MAX_ABS = 700;\nvar clampAxisDelta = function clampAxisDelta(wheel) {\n return _extends({}, wheel, {\n axisDelta: wheel.axisDelta.map(function (delta) {\n return clamp(delta, -DELTA_MAX_ABS, DELTA_MAX_ABS);\n })\n });\n};\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar ACC_FACTOR_MIN = 0.6;\nvar ACC_FACTOR_MAX = 0.96;\nvar WHEELEVENTS_TO_MERGE = 2;\nvar WHEELEVENTS_TO_ANALAZE = 5;\n\nvar configDefaults = /*#__PURE__*/deepFreeze({\n preventWheelAction: true,\n reverseSign: [true, true, false]\n});\n\nvar WILL_END_TIMEOUT_DEFAULT = 400;\nfunction createWheelGesturesState() {\n return {\n isStarted: false,\n isStartPublished: false,\n isMomentum: false,\n startTime: 0,\n lastAbsDelta: Infinity,\n axisMovement: [0, 0, 0],\n axisVelocity: [0, 0, 0],\n accelerationFactors: [],\n scrollPoints: [],\n scrollPointsToMerge: [],\n willEndTimeout: WILL_END_TIMEOUT_DEFAULT\n };\n}\n\nfunction WheelGestures(optionsParam) {\n if (optionsParam === void 0) {\n optionsParam = {};\n }\n\n var _EventBus = EventBus(),\n on = _EventBus.on,\n off = _EventBus.off,\n dispatch = _EventBus.dispatch;\n\n var config = configDefaults;\n var state = createWheelGesturesState();\n var currentEvent;\n var negativeZeroFingerUpSpecialEvent = false;\n var prevWheelEventState;\n\n var feedWheel = function feedWheel(wheelEvents) {\n if (Array.isArray(wheelEvents)) {\n wheelEvents.forEach(function (wheelEvent) {\n return processWheelEventData(wheelEvent);\n });\n } else {\n processWheelEventData(wheelEvents);\n }\n };\n\n var updateOptions = function updateOptions(newOptions) {\n if (newOptions === void 0) {\n newOptions = {};\n }\n\n if (Object.values(newOptions).some(function (option) {\n return option === undefined || option === null;\n })) {\n __DEV__ && console.error('updateOptions ignored! undefined & null options not allowed');\n return config;\n }\n\n return config = deepFreeze(_extends({}, configDefaults, config, newOptions));\n };\n\n var publishWheel = function publishWheel(additionalData) {\n var wheelEventState = _extends({\n event: currentEvent,\n isStart: false,\n isEnding: false,\n isMomentumCancel: false,\n isMomentum: state.isMomentum,\n axisDelta: [0, 0, 0],\n axisVelocity: state.axisVelocity,\n axisMovement: state.axisMovement,\n\n get axisMovementProjection() {\n return addVectors(wheelEventState.axisMovement, wheelEventState.axisVelocity.map(function (velocity) {\n return projection(velocity);\n }));\n }\n\n }, additionalData);\n\n dispatch('wheel', _extends({}, wheelEventState, {\n previous: prevWheelEventState\n })); // keep reference without previous, otherwise we would create a long chain\n\n prevWheelEventState = wheelEventState;\n }; // should prevent when there is mainly movement on the desired axis\n\n\n var shouldPreventDefault = function shouldPreventDefault(deltaMaxAbs, axisDelta) {\n var _config = config,\n preventWheelAction = _config.preventWheelAction;\n var deltaX = axisDelta[0],\n deltaY = axisDelta[1],\n deltaZ = axisDelta[2];\n if (typeof preventWheelAction === 'boolean') return preventWheelAction;\n\n switch (preventWheelAction) {\n case 'x':\n return Math.abs(deltaX) >= deltaMaxAbs;\n\n case 'y':\n return Math.abs(deltaY) >= deltaMaxAbs;\n\n case 'z':\n return Math.abs(deltaZ) >= deltaMaxAbs;\n\n default:\n __DEV__ && console.warn('unsupported preventWheelAction value: ' + preventWheelAction, 'warn');\n return false;\n }\n };\n\n var processWheelEventData = function processWheelEventData(wheelEvent) {\n var _clampAxisDelta = clampAxisDelta(reverseAxisDeltaSign(normalizeWheel(wheelEvent), config.reverseSign)),\n axisDelta = _clampAxisDelta.axisDelta,\n timeStamp = _clampAxisDelta.timeStamp;\n\n var deltaMaxAbs = absMax(axisDelta);\n\n if (wheelEvent.preventDefault && shouldPreventDefault(deltaMaxAbs, axisDelta)) {\n wheelEvent.preventDefault();\n }\n\n if (!state.isStarted) {\n start();\n } // check if user started scrolling again -> cancel\n else if (state.isMomentum && deltaMaxAbs > Math.max(2, state.lastAbsDelta * 2)) {\n end(true);\n start();\n } // special finger up event on windows + blink\n\n\n if (deltaMaxAbs === 0 && Object.is && Object.is(wheelEvent.deltaX, -0)) {\n negativeZeroFingerUpSpecialEvent = true; // return -> zero delta event should not influence velocity\n\n return;\n }\n\n currentEvent = wheelEvent;\n state.axisMovement = addVectors(state.axisMovement, axisDelta);\n state.lastAbsDelta = deltaMaxAbs;\n state.scrollPointsToMerge.push({\n axisDelta: axisDelta,\n timeStamp: timeStamp\n });\n mergeScrollPointsCalcVelocity(); // only wheel event (move) and not start/end get the delta values\n\n publishWheel({\n axisDelta: axisDelta,\n isStart: !state.isStartPublished\n }); // state.isMomentum ? MOMENTUM_WHEEL : WHEEL, { axisDelta })\n // publish start after velocity etc. have been updated\n\n state.isStartPublished = true; // calc debounced end function, to recognize end of wheel event stream\n\n willEnd();\n };\n\n var mergeScrollPointsCalcVelocity = function mergeScrollPointsCalcVelocity() {\n if (state.scrollPointsToMerge.length === WHEELEVENTS_TO_MERGE) {\n state.scrollPoints.unshift({\n axisDeltaSum: state.scrollPointsToMerge.map(function (b) {\n return b.axisDelta;\n }).reduce(addVectors),\n timeStamp: average(state.scrollPointsToMerge.map(function (b) {\n return b.timeStamp;\n }))\n }); // only update velocity after a merged scrollpoint was generated\n\n updateVelocity(); // reset toMerge array\n\n state.scrollPointsToMerge.length = 0; // after calculation of velocity only keep the most recent merged scrollPoint\n\n state.scrollPoints.length = 1;\n\n if (!state.isMomentum) {\n detectMomentum();\n }\n } else if (!state.isStartPublished) {\n updateStartVelocity();\n }\n };\n\n var updateStartVelocity = function updateStartVelocity() {\n state.axisVelocity = lastOf(state.scrollPointsToMerge).axisDelta.map(function (d) {\n return d / state.willEndTimeout;\n });\n };\n\n var updateVelocity = function updateVelocity() {\n // need to have two recent points to calc velocity\n var _state$scrollPoints = state.scrollPoints,\n latestScrollPoint = _state$scrollPoints[0],\n prevScrollPoint = _state$scrollPoints[1];\n\n if (!prevScrollPoint || !latestScrollPoint) {\n return;\n } // time delta\n\n\n var deltaTime = latestScrollPoint.timeStamp - prevScrollPoint.timeStamp;\n\n if (deltaTime <= 0) {\n __DEV__ && console.warn('invalid deltaTime');\n return;\n } // calc the velocity per axes\n\n\n var velocity = latestScrollPoint.axisDeltaSum.map(function (d) {\n return d / deltaTime;\n }); // calc the acceleration factor per axis\n\n var accelerationFactor = velocity.map(function (v, i) {\n return v / (state.axisVelocity[i] || 1);\n });\n state.axisVelocity = velocity;\n state.accelerationFactors.push(accelerationFactor);\n updateWillEndTimeout(deltaTime);\n };\n\n var updateWillEndTimeout = function updateWillEndTimeout(deltaTime) {\n // use current time between events rounded up and increased by a bit as timeout\n var newTimeout = Math.ceil(deltaTime / 10) * 10 * 1.2; // double the timeout, when momentum was not detected yet\n\n if (!state.isMomentum) {\n newTimeout = Math.max(100, newTimeout * 2);\n }\n\n state.willEndTimeout = Math.min(1000, Math.round(newTimeout));\n };\n\n var accelerationFactorInMomentumRange = function accelerationFactorInMomentumRange(accFactor) {\n // when main axis is the the other one and there is no movement/change on the current one\n if (accFactor === 0) return true;\n return accFactor <= ACC_FACTOR_MAX && accFactor >= ACC_FACTOR_MIN;\n };\n\n var detectMomentum = function detectMomentum() {\n if (state.accelerationFactors.length >= WHEELEVENTS_TO_ANALAZE) {\n if (negativeZeroFingerUpSpecialEvent) {\n negativeZeroFingerUpSpecialEvent = false;\n\n if (absMax(state.axisVelocity) >= 0.2) {\n recognizedMomentum();\n return;\n }\n }\n\n var recentAccelerationFactors = state.accelerationFactors.slice(WHEELEVENTS_TO_ANALAZE * -1); // check recent acceleration / deceleration factors\n // all recent need to match, if any did not match\n\n var detectedMomentum = recentAccelerationFactors.every(function (accFac) {\n // when both axis decelerate exactly in the same rate it is very likely caused by momentum\n var sameAccFac = !!accFac.reduce(function (f1, f2) {\n return f1 && f1 < 1 && f1 === f2 ? 1 : 0;\n }); // check if acceleration factor is within momentum range\n\n var bothAreInRangeOrZero = accFac.filter(accelerationFactorInMomentumRange).length === accFac.length; // one the requirements must be fulfilled\n\n return sameAccFac || bothAreInRangeOrZero;\n });\n\n if (detectedMomentum) {\n recognizedMomentum();\n } // only keep the most recent events\n\n\n state.accelerationFactors = recentAccelerationFactors;\n }\n };\n\n var recognizedMomentum = function recognizedMomentum() {\n state.isMomentum = true;\n };\n\n var start = function start() {\n state = createWheelGesturesState();\n state.isStarted = true;\n state.startTime = Date.now();\n prevWheelEventState = undefined;\n negativeZeroFingerUpSpecialEvent = false;\n };\n\n var willEnd = function () {\n var willEndId;\n return function () {\n clearTimeout(willEndId);\n willEndId = setTimeout(end, state.willEndTimeout);\n };\n }();\n\n var end = function end(isMomentumCancel) {\n if (isMomentumCancel === void 0) {\n isMomentumCancel = false;\n }\n\n if (!state.isStarted) return;\n\n if (state.isMomentum && isMomentumCancel) {\n publishWheel({\n isEnding: true,\n isMomentumCancel: true\n });\n } else {\n publishWheel({\n isEnding: true\n });\n }\n\n state.isMomentum = false;\n state.isStarted = false;\n };\n\n var _WheelTargetObserver = WheelTargetObserver(feedWheel),\n observe = _WheelTargetObserver.observe,\n unobserve = _WheelTargetObserver.unobserve,\n disconnect = _WheelTargetObserver.disconnect;\n\n updateOptions(optionsParam);\n return deepFreeze({\n on: on,\n off: off,\n observe: observe,\n unobserve: unobserve,\n disconnect: disconnect,\n feedWheel: feedWheel,\n updateOptions: updateOptions\n });\n}\n\nexport default WheelGestures;\nexport { WheelGestures, absMax, addVectors, average, clamp, configDefaults, deepFreeze, lastOf, projection };\n//# sourceMappingURL=wheel-gestures.esm.js.map\n","import WheelGestures from 'wheel-gestures';\n\nvar defaultOptions = {\n active: true,\n breakpoints: {},\n wheelDraggingClass: 'is-wheel-dragging',\n forceWheelAxis: undefined,\n target: undefined\n};\nWheelGesturesPlugin.globalOptions = undefined;\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nfunction WheelGesturesPlugin(userOptions) {\n if (userOptions === void 0) {\n userOptions = {};\n }\n\n var options;\n\n var cleanup = function cleanup() {};\n\n function init(embla, optionsHandler) {\n var _options$target, _options$forceWheelAx;\n\n var mergeOptions = optionsHandler.mergeOptions,\n optionsAtMedia = optionsHandler.optionsAtMedia;\n var optionsBase = mergeOptions(defaultOptions, WheelGesturesPlugin.globalOptions);\n var allOptions = mergeOptions(optionsBase, userOptions);\n options = optionsAtMedia(allOptions);\n var engine = embla.internalEngine();\n var targetNode = (_options$target = options.target) != null ? _options$target : embla.containerNode().parentNode;\n var wheelAxis = (_options$forceWheelAx = options.forceWheelAxis) != null ? _options$forceWheelAx : engine.options.axis;\n var wheelGestures = WheelGestures({\n preventWheelAction: wheelAxis,\n reverseSign: [true, true, false]\n });\n var unobserveTargetNode = wheelGestures.observe(targetNode);\n var offWheel = wheelGestures.on('wheel', handleWheel);\n var isStarted = false;\n var startEvent;\n\n function wheelGestureStarted(state) {\n try {\n startEvent = new MouseEvent('mousedown', state.event);\n dispatchEvent(startEvent);\n } catch (e) {\n // Legacy Browsers like IE 10 & 11 will throw when attempting to create the Event\n if (__DEV__) {\n console.warn('Legacy browser requires events-polyfill (https://github.com/xiel/embla-carousel-wheel-gestures#legacy-browsers)');\n }\n\n return cleanup();\n }\n\n isStarted = true;\n addNativeMouseEventListeners();\n\n if (options.wheelDraggingClass) {\n targetNode.classList.add(options.wheelDraggingClass);\n }\n }\n\n function wheelGestureEnded(state) {\n isStarted = false;\n dispatchEvent(createRelativeMouseEvent('mouseup', state));\n removeNativeMouseEventListeners();\n\n if (options.wheelDraggingClass) {\n targetNode.classList.remove(options.wheelDraggingClass);\n }\n }\n\n function addNativeMouseEventListeners() {\n document.documentElement.addEventListener('mousemove', preventNativeMouseHandler, true);\n document.documentElement.addEventListener('mouseup', preventNativeMouseHandler, true);\n document.documentElement.addEventListener('mousedown', preventNativeMouseHandler, true);\n }\n\n function removeNativeMouseEventListeners() {\n document.documentElement.removeEventListener('mousemove', preventNativeMouseHandler, true);\n document.documentElement.removeEventListener('mouseup', preventNativeMouseHandler, true);\n document.documentElement.removeEventListener('mousedown', preventNativeMouseHandler, true);\n }\n\n function preventNativeMouseHandler(e) {\n if (isStarted && e.isTrusted) {\n e.stopImmediatePropagation();\n }\n }\n\n function createRelativeMouseEvent(type, state) {\n var moveX, moveY;\n\n if (wheelAxis === engine.options.axis) {\n var _state$axisMovement = state.axisMovement;\n moveX = _state$axisMovement[0];\n moveY = _state$axisMovement[1];\n } else {\n var _state$axisMovement2 = state.axisMovement;\n moveY = _state$axisMovement2[0];\n moveX = _state$axisMovement2[1];\n } // prevent skipping slides\n\n\n if (!engine.options.skipSnaps && !engine.options.dragFree) {\n var maxX = engine.containerRect.width;\n var maxY = engine.containerRect.height;\n moveX = moveX < 0 ? Math.max(moveX, -maxX) : Math.min(moveX, maxX);\n moveY = moveY < 0 ? Math.max(moveY, -maxY) : Math.min(moveY, maxY);\n }\n\n return new MouseEvent(type, {\n clientX: startEvent.clientX + moveX,\n clientY: startEvent.clientY + moveY,\n screenX: startEvent.screenX + moveX,\n screenY: startEvent.screenY + moveY,\n movementX: moveX,\n movementY: moveY,\n button: 0,\n bubbles: true,\n cancelable: true,\n composed: true\n });\n }\n\n function dispatchEvent(event) {\n embla.containerNode().dispatchEvent(event);\n }\n\n function handleWheel(state) {\n var _state$axisDelta = state.axisDelta,\n deltaX = _state$axisDelta[0],\n deltaY = _state$axisDelta[1];\n var primaryAxisDelta = wheelAxis === 'x' ? deltaX : deltaY;\n var crossAxisDelta = wheelAxis === 'x' ? deltaY : deltaX;\n var isRelease = state.isMomentum && state.previous && !state.previous.isMomentum;\n var isEndingOrRelease = state.isEnding && !state.isMomentum || isRelease;\n var primaryAxisDeltaIsDominant = Math.abs(primaryAxisDelta) > Math.abs(crossAxisDelta);\n\n if (primaryAxisDeltaIsDominant && !isStarted && !state.isMomentum) {\n wheelGestureStarted(state);\n }\n\n if (!isStarted) return;\n\n if (isEndingOrRelease) {\n wheelGestureEnded(state);\n } else {\n dispatchEvent(createRelativeMouseEvent('mousemove', state));\n }\n }\n\n cleanup = function cleanup() {\n unobserveTargetNode();\n offWheel();\n removeNativeMouseEventListeners();\n };\n }\n\n var self = {\n name: 'wheelGestures',\n options: userOptions,\n init: init,\n destroy: function destroy() {\n return cleanup();\n }\n };\n return self;\n}\n\nexport { WheelGesturesPlugin };\n//# sourceMappingURL=embla-carousel-wheel-gestures.esm.js.map\n","import React, { useCallback, useEffect, useRef } from \"react\";\nimport { EmblaCarouselType, EmblaEventType } from \"embla-carousel\";\nimport useEmblaCarousel from \"embla-carousel-react\";\n\nimport { IServicePreview } from \"../../types/services.type\";\n\nimport ServicePreview from \"./servicePreview\";\nimport {\n ServiceCarouselButton,\n useServicesButtons,\n} from \"./servicesCarouselButtons\";\nimport { WheelGesturesPlugin } from \"embla-carousel-wheel-gestures\";\n\nconst TWEEN_FACTOR_BASE = 0.2;\nconst numberWithinRange = (number: number, min: number, max: number): number =>\n Math.min(Math.max(number, min), max);\n\nconst ServicesCarousel = ({ services }: { services: IServicePreview[] }) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n {\n axis: \"y\",\n loop: true,\n align: \"center\",\n },\n [WheelGesturesPlugin()]\n );\n\n const tweenFactor = useRef(0);\n const tweenNodes = useRef([]);\n\n const { selectedIndex, onServiceButtonClick } = useServicesButtons(emblaApi);\n\n const setTweenNodes = useCallback((emblaApi: EmblaCarouselType): void => {\n tweenNodes.current = emblaApi.slideNodes().map((slideNode) => {\n return slideNode.querySelector(\".service-preview\") as HTMLElement;\n });\n }, []);\n\n const setTweenFactor = useCallback((emblaApi: EmblaCarouselType) => {\n tweenFactor.current = TWEEN_FACTOR_BASE * emblaApi.scrollSnapList().length;\n }, []);\n\n const tweenScale = useCallback(\n (emblaApi: EmblaCarouselType, eventName?: EmblaEventType) => {\n const engine = emblaApi.internalEngine();\n const scrollProgress = emblaApi.scrollProgress();\n const slidesInView = emblaApi.slidesInView();\n const isScrollEvent = eventName === \"scroll\";\n\n emblaApi.scrollSnapList().forEach((scrollSnap, snapIndex) => {\n let diffToTarget = scrollSnap - scrollProgress;\n const slidesInSnap = engine.slideRegistry[snapIndex];\n\n slidesInSnap.forEach((slideIndex) => {\n if (isScrollEvent && !slidesInView.includes(slideIndex)) return;\n\n if (engine.options.loop) {\n engine.slideLooper.loopPoints.forEach((loopItem) => {\n const target = loopItem.target();\n\n if (slideIndex === loopItem.index && target !== 0) {\n const sign = Math.sign(target);\n\n if (sign === -1) {\n diffToTarget = scrollSnap - (1 + scrollProgress);\n }\n if (sign === 1) {\n diffToTarget = scrollSnap + (1 - scrollProgress);\n }\n }\n });\n }\n\n const tweenValue = 1 - Math.abs(diffToTarget * tweenFactor.current);\n const scale = numberWithinRange(tweenValue, 0, 1);\n const tweenNode = tweenNodes.current[slideIndex];\n tweenNode.style.transform = `scale(${scale})`;\n });\n });\n },\n []\n );\n\n useEffect(() => {\n if (!emblaApi) return;\n\n setTweenNodes(emblaApi);\n setTweenFactor(emblaApi);\n tweenScale(emblaApi);\n\n emblaApi\n .on(\"reInit\", setTweenNodes)\n .on(\"reInit\", setTweenFactor)\n .on(\"reInit\", tweenScale)\n .on(\"scroll\", tweenScale)\n .on(\"slideFocus\", tweenScale);\n }, [emblaApi, tweenScale]);\n\n return (\n <>\n
\n {services\n ? services.map((service, i) => (\n onServiceButtonClick(i)}\n className={`${\n i === selectedIndex\n ? \"\"\n : \"brightness-[0.4] hover:brightness-100\"\n }`}\n />\n ))\n : null}\n
\n \n \n {services\n ? services.map((service, i) => (\n onServiceButtonClick(i)}\n className=\"grow-0 shrink-0 basis-1/3 min-h-0 select-none flex items-center\"\n >\n \n \n ))\n : null}\n \n \n \n );\n};\n\nexport default ServicesCarousel;\n","import React from \"react\";\nimport { HeadFC, HeadProps, PageProps } from \"gatsby\";\nimport { graphql } from \"gatsby\";\nimport { getImage } from \"gatsby-plugin-image\";\n\nimport {\n IServicesPageContext,\n IServicesPreviewQueryResult,\n} from \"../types/services.type\";\n\nimport Border from \"../assets/common/border.svg\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport { HeadSeo } from \"../components/common/metadata\";\nimport ContactFormSection from \"../components/forms/contactFormSection\";\nimport ServicesCarousel from \"../components/services/servicesCarousel\";\nimport ServicePreview from \"../components/services/servicePreview\";\n\nconst Services = ({\n data,\n pageContext: { markupData, lang },\n}: PageProps) => {\n const services = data.allMarkdownRemark?.nodes;\n const bannerImage = getImage(markupData.image);\n\n return (\n <>\n \n
\n \n {services ? : null}\n {services\n ? services.map((service, i) => (\n \n ))\n : null}\n \n
\n \n \n \n );\n};\n\nexport default Services;\n\nexport const Head: HeadFC<\n IServicesPreviewQueryResult,\n IServicesPageContext\n> = ({\n pageContext: { markupData, site, lang },\n location,\n}: HeadProps) => (\n <>\n \n \n);\n\nexport const query = graphql`\n query ($lang: String) {\n allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"services\" }, language: { eq: $lang } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n keywords\n image {\n publicURL\n }\n }\n }\n }\n }\n`;\n"],"names":["_ref","service","className","html","frontmatter","title","keywords","image","publicURL","imageURL","___EmotionJSX","itemScope","itemType","src","alt","itemProp","dangerouslySetInnerHTML","__html","map","hashtag","key","ServiceCarouselButton","attr","_extends","type","Object","assign","target","i","arguments","length","source","prototype","hasOwnProperty","call","apply","this","addVectors","v1","v2","Error","val","absMax","numbers","Math","max","abs","deepFreeze","o","freeze","values","forEach","value","isFrozen","DELTA_MODE_UNIT","window","innerHeight","reverseAll","clampAxisDelta","wheel","axisDelta","delta","min","configDefaults","preventWheelAction","reverseSign","WILL_END_TIMEOUT_DEFAULT","createWheelGesturesState","isStarted","isStartPublished","isMomentum","startTime","lastAbsDelta","Infinity","axisMovement","axisVelocity","accelerationFactors","scrollPoints","scrollPointsToMerge","willEndTimeout","optionsParam","currentEvent","prevWheelEventState","willEndId","_EventBus","listeners","off","listener","filter","l","on","concat","dispatch","data","EventBus","config","state","negativeZeroFingerUpSpecialEvent","feedWheel","wheelEvents","Array","isArray","wheelEvent","processWheelEventData","updateOptions","newOptions","some","option","publishWheel","additionalData","wheelEventState","event","isStart","isEnding","isMomentumCancel","axisMovementProjection","velocity","decay","previous","e","deltaX","deltaY","deltaZ","_clampAxisDelta","multipliers","shouldReverse","reverseAxisDeltaSign","deltaMode","timeStamp","deltaMaxAbs","preventDefault","shouldPreventDefault","end","start","is","push","mergeScrollPointsCalcVelocity","willEnd","unshift","axisDeltaSum","b","reduce","a","updateVelocity","detectMomentum","updateStartVelocity","array","d","_state$scrollPoints","latestScrollPoint","prevScrollPoint","deltaTime","accelerationFactor","v","updateWillEndTimeout","newTimeout","ceil","round","accelerationFactorInMomentumRange","accFactor","recognizedMomentum","recentAccelerationFactors","slice","WHEELEVENTS_TO_ANALAZE","every","accFac","sameAccFac","f1","f2","bothAreInRangeOrZero","Date","now","undefined","clearTimeout","setTimeout","_WheelTargetObserver","eventListener","targets","unobserve","removeEventListener","t","observe","addEventListener","passive","disconnect","WheelTargetObserver","defaultOptions","active","breakpoints","wheelDraggingClass","forceWheelAxis","WheelGesturesPlugin","globalOptions","userOptions","options","cleanup","name","init","embla","optionsHandler","_options$target","_options$forceWheelAx","mergeOptions","optionsAtMedia","optionsBase","allOptions","startEvent","engine","internalEngine","targetNode","containerNode","parentNode","wheelAxis","axis","wheelGestures","unobserveTargetNode","offWheel","_state$axisDelta","primaryAxisDelta","crossAxisDelta","isRelease","isEndingOrRelease","dispatchEvent","MouseEvent","console","warn","document","documentElement","preventNativeMouseHandler","classList","add","wheelGestureStarted","createRelativeMouseEvent","removeNativeMouseEventListeners","remove","wheelGestureEnded","isTrusted","stopImmediatePropagation","moveX","moveY","_state$axisMovement","_state$axisMovement2","skipSnaps","dragFree","maxX","containerRect","width","maxY","height","clientX","clientY","screenX","screenY","movementX","movementY","button","bubbles","cancelable","composed","destroy","services","emblaRef","emblaApi","useEmblaCarousel","loop","align","tweenFactor","useRef","tweenNodes","selectedIndex","onServiceButtonClick","useServicesButtons","onButtonClick","setSelectedIndex","useState","useCallback","index","scrollTo","onSelect","selectedScrollSnap","useEffect","setTweenNodes","current","slideNodes","slideNode","querySelector","setTweenFactor","scrollSnapList","tweenScale","eventName","scrollProgress","slidesInView","isScrollEvent","scrollSnap","snapIndex","diffToTarget","slideRegistry","slideIndex","includes","slideLooper","loopPoints","loopItem","sign","tweenValue","scale","number","numberWithinRange","style","transform","React","id","onClick","ref","backfaceVisibility","ServicePreview","_data$allMarkdownRema","pageContext","markupData","lang","allMarkdownRemark","nodes","bannerImage","getImage","Banner","heightClass","bannerTitle","ContentContainer","maxWidthClass","ServicesCarousel","Border","ContactFormSection","Head","_ref2","site","location","HeadSeo","head","toUpperCase","description","siteUrl","path","pathname"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js b/component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js similarity index 98% rename from component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js rename to component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js index f805fac1..ce34cb89 100644 --- a/component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js +++ b/component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[548],{216:function(e,t,l){var a=l(7462),n=l(7294),s=l(4160),r=l(8322),o=l(4471),i=l.n(o),c=l(1164),u=l(917);t.Z=e=>{let{section:t,theme:l,title:o,linkTitle:d,subTitle:m,className:f,children:x,borderT:p,borderB:g,isArrowLink:v=!0,...w}=e;const Z=l===r.Q.dark?"text-secondary-100":"text-main-100",h=l===r.Q.dark?"text-secondary-100 hover:text-secondary-70":"text-main-100 hover:text-main-10",b=l===r.Q.dark?"bg-main-100":"bg-secondary-100";return(0,u.tZ)(n.Fragment,null,p?(0,u.tZ)(i(),{className:"w-full"}):null,(0,u.tZ)("section",(0,a.Z)({className:`w-full py-16 ${b} ${f}`},w),(0,u.tZ)(c.Z,{maxWidthClass:"max-w-[1280px]",className:`flex-col items-center ${Z}`},(0,u.tZ)("div",{className:"flex justify-between w-full sm:items-center pb-8 sm:pb-14 flex-col sm:flex-row gap-5"},(0,u.tZ)("h2",{className:`text-4xl font-bold flex-1 ${Z}`},o.toUpperCase()),t?(0,u.tZ)(s.rU,{to:`/${t}`,className:`w-full sm:w-auto text-start sm:text-end text-xl font-normal cursor-pointer whitespace-nowrap ${h}`},d?d.toUpperCase():"DISCOVER MORE"," ",v?(0,u.tZ)(n.Fragment,null,"→"):null):null,m?(0,u.tZ)("p",{className:`w-full sm:w-auto flex-1 text-start sm:text-end text-xl font-normal ${Z}`},m.toUpperCase()):null),x)),g?(0,u.tZ)(i(),{className:"w-full"}):null)}},240:function(e,t,l){l.r(t),l.d(t,{Head:function(){return h},default:function(){return Z}});var a=l(7294),n=l(8032),s=l(1929),r=l(1164),o=l(917);var i=e=>{let{step:t,scroll:l,stepNumber:n,className:s}=e;const r=(0,a.useRef)(null),{0:i,1:c}=(0,a.useState)("w-[100%]");(0,a.useEffect)((()=>{if(!r.current||!window)return;const e=r.current.getBoundingClientRect().bottom;window.innerHeight>e&&c("w-0")}),[l]);const{html:u,frontmatter:{title:d}}=t;return(0,o.tZ)("div",{ref:r,className:`workflow-step relative flex w-full items-center justify-between text-main-100 gap-5 md:gap-28 max-w-4.5xl ${s}`},(0,o.tZ)("div",{className:`hidden md:block cover absolute -top-2 -bottom-2 z-10 bg-secondary-100 transition-all duration-1000 ${i}`}),(0,o.tZ)("p",{className:"text-center px-5 md:px-20 text-[88px] sm:text-[148px] font-bold shrink-0 py-4"},n),(0,o.tZ)("div",{className:"flex flex-col flex-1 gap-2.5"},(0,o.tZ)("h2",{className:"font-bold text-2xl sm:text-3xl"},d),(0,o.tZ)("div",{className:"w-full font-normal text-lg",dangerouslySetInnerHTML:{__html:u}})))},c=l(4160),u=l(8322),d=l(216);var m=e=>{let{reason:{frontmatter:{title:t},html:l},className:a}=e;return(0,o.tZ)("div",{className:`group why-us-card relative flex flex-col text-secondary-100 gap-2.5 cursor-pointer break-inside-avoid h-max ${a}`},(0,o.tZ)("h3",{className:"text-3xl"},t),(0,o.tZ)("div",{className:"text-lg text-secondary-70",dangerouslySetInnerHTML:{__html:l}}),(0,o.tZ)("div",{className:"line w-1 h-0 bg-secondary-100 absolute top-1/2 -left-5 -translate-y-1/2 transition-all duration-500 break-inside-avoid group-hover:h-full"}))};var f=e=>{var t,l,n,s,r,i,f,p,g;let{lang:v}=e;const w=(0,c.K2)(x);let Z;v in w?Z=null==w||null===(t=w[v])||void 0===t?void 0:t.nodes:null==w||null===(l=w.en)||void 0===l||l.nodes;const h=null!==(n=null==w||null===(s=w.markupData)||void 0===s||null===(r=s.nodes)||void 0===r||null===(i=r.find((e=>e.fields.language===v)))||void 0===i||null===(f=i.frontmatter)||void 0===f||null===(p=f.whyUs)||void 0===p?void 0:p.title)&&void 0!==n?n:"why us";return(0,o.tZ)(a.Fragment,null,null!==(g=Z)&&void 0!==g&&g.length?(0,o.tZ)(d.Z,{theme:u.Q.dark,title:h,borderB:!0},(0,o.tZ)("div",{className:"flex flex-col md:flex-row gap-y-5 w-full gap-x-28 max-w-4.5xl"},(0,o.tZ)("div",{className:"flex flex-1 flex-col gap-y-5 md:gap-y-14 justify-start"},Z.map(((e,t)=>t%2==0&&(0,o.tZ)(m,{key:e.id,reason:e})))),(0,o.tZ)("div",{className:"flex flex-1 flex-col gap-y-5 md:gap-y-14 justify-start"},Z.map(((e,t)=>t%2!=0&&(0,o.tZ)(m,{key:e.id,reason:e})))))):null)};const x="941943045";var p=l(9165),g=l(4471),v=l.n(g),w=l(4532);var Z=e=>{let{data:t,pageContext:{markupData:l,lang:c}}=e;const u=t.allMarkdownRemark.nodes,d=(0,n.c)(l.image),m=(0,a.useRef)(!0),{0:x,1:p}=(0,a.useState)(!1),g=()=>{p((e=>!e))};return(0,a.useEffect)((()=>{if(m.current&&window)return m.current=!1,window.addEventListener("scroll",g),()=>window.removeEventListener("scroll",g)}),[]),(0,o.tZ)(a.Fragment,null,(0,o.tZ)(s.Z,{heightClass:"lg:h-99",title:l.bannerTitle,image:d,borderBottom:!0}),(0,o.tZ)("div",{className:"bg-secondary-100"},(0,o.tZ)(r.Z,{className:"flex-col items-center relative transition-all duration-1000 py-16 gap-5 sm:gap-0"},u?u.map(((e,t)=>(0,o.tZ)(i,{key:e.id,step:e,className:"even:flex-row-reverse",scroll:x,stepNumber:t+1}))):null),(0,o.tZ)(v(),{className:"w-full"})),(0,o.tZ)(f,{lang:c}),(0,o.tZ)(w.Z,{lang:c}))};const h=e=>{let{pageContext:{markupData:t,site:l,lang:a},location:n}=e;return(0,o.tZ)(p.Ag,{title:`${t.head} | ${t.bannerTitle.toUpperCase()}`,description:l.description,siteUrl:l.siteUrl,path:n.pathname,lang:a})}},8322:function(e,t,l){l.d(t,{Q:function(){return a}});let a=function(e){return e.dark="dark",e.light="light",e}({})}}]); -//# sourceMappingURL=component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js.map \ No newline at end of file +"use strict";(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[548],{216:function(e,t,l){var a=l(7462),n=l(7294),s=l(4160),r=l(8322),o=l(4471),i=l.n(o),c=l(1164),u=l(917);t.Z=e=>{let{section:t,theme:l,title:o,linkTitle:d,subTitle:m,className:f,children:x,borderT:p,borderB:g,isArrowLink:v=!0,...w}=e;const Z=l===r.Q.dark?"text-secondary-100":"text-main-100",h=l===r.Q.dark?"text-secondary-100 hover:text-secondary-70":"text-main-100 hover:text-main-10",b=l===r.Q.dark?"bg-main-100":"bg-secondary-100";return(0,u.tZ)(n.Fragment,null,p?(0,u.tZ)(i(),{className:"w-full"}):null,(0,u.tZ)("section",(0,a.Z)({className:`w-full py-16 ${b} ${f}`},w),(0,u.tZ)(c.Z,{maxWidthClass:"max-w-[1280px]",className:`flex-col items-center ${Z}`},(0,u.tZ)("div",{className:"flex justify-between w-full sm:items-center pb-8 sm:pb-14 flex-col sm:flex-row gap-5"},(0,u.tZ)("h2",{className:`text-4xl font-bold flex-1 ${Z}`},o.toUpperCase()),t?(0,u.tZ)(s.rU,{to:`/${t}`,className:`w-full sm:w-auto text-start sm:text-end text-xl font-normal cursor-pointer whitespace-nowrap ${h}`},d?d.toUpperCase():"DISCOVER MORE"," ",v?(0,u.tZ)(n.Fragment,null,"→"):null):null,m?(0,u.tZ)("p",{className:`w-full sm:w-auto flex-1 text-start sm:text-end text-xl font-normal ${Z}`},m.toUpperCase()):null),x)),g?(0,u.tZ)(i(),{className:"w-full"}):null)}},240:function(e,t,l){l.r(t),l.d(t,{Head:function(){return h},default:function(){return Z}});var a=l(7294),n=l(8032),s=l(1929),r=l(1164),o=l(917);var i=e=>{let{step:t,scroll:l,stepNumber:n,className:s}=e;const r=(0,a.useRef)(null),{0:i,1:c}=(0,a.useState)("w-[100%]");(0,a.useEffect)((()=>{if(!r.current||!window)return;const e=r.current.getBoundingClientRect().bottom;window.innerHeight>e&&c("w-0")}),[l]);const{html:u,frontmatter:{title:d}}=t;return(0,o.tZ)("div",{ref:r,className:`workflow-step relative flex w-full items-center justify-between text-main-100 gap-5 md:gap-28 max-w-4.5xl ${s}`},(0,o.tZ)("div",{className:`hidden md:block cover absolute -top-2 -bottom-2 z-10 bg-secondary-100 transition-all duration-1000 ${i}`}),(0,o.tZ)("p",{className:"text-center px-5 md:px-20 text-[88px] sm:text-[148px] font-bold shrink-0 py-4"},n),(0,o.tZ)("div",{className:"flex flex-col flex-1 gap-2.5"},(0,o.tZ)("h2",{className:"font-bold text-2xl sm:text-3xl"},d),(0,o.tZ)("div",{className:"w-full font-normal text-lg",dangerouslySetInnerHTML:{__html:u}})))},c=l(4160),u=l(8322),d=l(216);var m=e=>{let{reason:{frontmatter:{title:t},html:l},className:a}=e;return(0,o.tZ)("div",{className:`group why-us-card relative flex flex-col text-secondary-100 gap-2.5 cursor-pointer break-inside-avoid h-max ${a}`},(0,o.tZ)("h3",{className:"text-3xl"},t),(0,o.tZ)("div",{className:"text-lg text-secondary-70",dangerouslySetInnerHTML:{__html:l}}),(0,o.tZ)("div",{className:"line w-1 h-0 bg-secondary-100 absolute top-1/2 -left-5 -translate-y-1/2 transition-all duration-500 break-inside-avoid group-hover:h-full"}))};var f=e=>{var t,l,n,s,r,i,f,p,g;let{lang:v}=e;const w=(0,c.K2)(x);let Z;v in w?Z=null==w||null===(t=w[v])||void 0===t?void 0:t.nodes:null==w||null===(l=w.en)||void 0===l||l.nodes;const h=null!==(n=null==w||null===(s=w.markupData)||void 0===s||null===(r=s.nodes)||void 0===r||null===(i=r.find((e=>e.fields.language===v)))||void 0===i||null===(f=i.frontmatter)||void 0===f||null===(p=f.whyUs)||void 0===p?void 0:p.title)&&void 0!==n?n:"why us";return(0,o.tZ)(a.Fragment,null,null!==(g=Z)&&void 0!==g&&g.length?(0,o.tZ)(d.Z,{theme:u.Q.dark,title:h,borderB:!0},(0,o.tZ)("div",{className:"flex flex-col md:flex-row gap-y-5 w-full gap-x-28 max-w-4.5xl"},(0,o.tZ)("div",{className:"flex flex-1 flex-col gap-y-5 md:gap-y-14 justify-start"},Z.map(((e,t)=>t%2==0&&(0,o.tZ)(m,{key:e.id,reason:e})))),(0,o.tZ)("div",{className:"flex flex-1 flex-col gap-y-5 md:gap-y-14 justify-start"},Z.map(((e,t)=>t%2!=0&&(0,o.tZ)(m,{key:e.id,reason:e})))))):null)};const x="941943045";var p=l(9165),g=l(4471),v=l.n(g),w=l(5081);var Z=e=>{let{data:t,pageContext:{markupData:l,lang:c}}=e;const u=t.allMarkdownRemark.nodes,d=(0,n.c)(l.image),m=(0,a.useRef)(!0),{0:x,1:p}=(0,a.useState)(!1),g=()=>{p((e=>!e))};return(0,a.useEffect)((()=>{if(m.current&&window)return m.current=!1,window.addEventListener("scroll",g),()=>window.removeEventListener("scroll",g)}),[]),(0,o.tZ)(a.Fragment,null,(0,o.tZ)(s.Z,{heightClass:"lg:h-99",title:l.bannerTitle,image:d,borderBottom:!0}),(0,o.tZ)("div",{className:"bg-secondary-100"},(0,o.tZ)(r.Z,{className:"flex-col items-center relative transition-all duration-1000 py-16 gap-5 sm:gap-0"},u?u.map(((e,t)=>(0,o.tZ)(i,{key:e.id,step:e,className:"even:flex-row-reverse",scroll:x,stepNumber:t+1}))):null),(0,o.tZ)(v(),{className:"w-full"})),(0,o.tZ)(f,{lang:c}),(0,o.tZ)(w.Z,{lang:c}))};const h=e=>{let{pageContext:{markupData:t,site:l,lang:a},location:n}=e;return(0,o.tZ)(p.Ag,{title:`${t.head} | ${t.bannerTitle.toUpperCase()}`,description:l.description,siteUrl:l.siteUrl,path:n.pathname,lang:a})}},8322:function(e,t,l){l.d(t,{Q:function(){return a}});let a=function(e){return e.dark="dark",e.light="light",e}({})}}]); +//# sourceMappingURL=component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js.map \ No newline at end of file diff --git a/component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js.map b/component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js.map similarity index 99% rename from component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js.map rename to component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js.map index e5f60aab..31d48bf3 100644 --- a/component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js.map +++ b/component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js.map @@ -1 +1 @@ -{"version":3,"file":"component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js","mappings":"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","sources":["webpack://code-cave/./src/components/common/templateSection.tsx","webpack://code-cave/./src/components/workflow/workflowStep.tsx","webpack://code-cave/./src/components/whyUs/whyUsReason.tsx","webpack://code-cave/./src/components/whyUs/whyUsSection.tsx","webpack://code-cave/./src/pagesTemplates/workflow.tsx","webpack://code-cave/./src/types/common.type.ts"],"sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { Theme } from \"../../types/common.type\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\n\ninterface ITemplateSectionProps extends React.HTMLAttributes {\n title: string;\n theme: Theme;\n isArrowLink?: boolean;\n linkTitle?: string;\n subTitle?: string;\n section?: string;\n className?: string;\n borderT?: boolean;\n borderB?: boolean;\n}\n\nconst TemplateSection = ({\n section,\n theme,\n title,\n linkTitle,\n subTitle,\n className,\n children,\n borderT,\n borderB,\n isArrowLink = true,\n ...attr\n}: PropsWithChildren) => {\n const mainColorClass =\n theme === Theme.dark ? \"text-secondary-100\" : \"text-main-100\";\n const linkColorClass =\n theme === Theme.dark\n ? \"text-secondary-100 hover:text-secondary-70\"\n : \"text-main-100 hover:text-main-10\";\n const bgColorClass =\n theme === Theme.dark ? \"bg-main-100\" : \"bg-secondary-100\";\n\n return (\n <>\n {borderT ? : null}\n \n \n
\n

\n {title.toUpperCase()}\n

\n {section ? (\n \n {linkTitle ? linkTitle.toUpperCase() : \"DISCOVER MORE\"}{\" \"}\n {isArrowLink ? <>→ : null}\n \n ) : null}\n {subTitle ? (\n \n {subTitle.toUpperCase()}\n

\n ) : null}\n
\n {children}\n \n \n {borderB ? : null}\n \n );\n};\n\nexport default TemplateSection;\n","import React, { useEffect, useState, useRef } from \"react\";\n\nimport { IWorkflowStep } from \"../../types/workflow.type\";\n\nconst WorkflowStep = ({\n step,\n scroll,\n stepNumber,\n className,\n}: {\n step: IWorkflowStep;\n scroll: boolean;\n stepNumber: number;\n className?: string;\n}) => {\n const div = useRef(null);\n const [coverWidth, setCoverWidth] = useState<\"w-[100%]\" | \"w-0\">(\"w-[100%]\");\n\n useEffect(() => {\n if (!div.current || !window) return;\n const divBottom = div.current.getBoundingClientRect().bottom;\n\n if (window.innerHeight > divBottom) setCoverWidth(\"w-0\");\n }, [scroll]);\n\n const {\n html,\n frontmatter: { title },\n } = step;\n\n return (\n \n \n

\n {stepNumber}\n

\n
\n

{title}

\n \n
\n \n );\n};\n\nexport default WorkflowStep;\n","import React from \"react\";\n\nimport { IWhyUsReason } from \"../../types/whyUs.type\";\n\nconst WhyUsReason = ({\n reason: {\n frontmatter: { title },\n html,\n },\n className,\n}: {\n reason: IWhyUsReason;\n className?: string;\n}) => {\n return (\n \n

{title}

\n \n \n \n );\n};\n\nexport default WhyUsReason;\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { IWhyUsQueryResult, IWhyUsReason } from \"../../types/whyUs.type\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\nimport TemplateSection from \"../common/templateSection\";\nimport WhyUsReason from \"./whyUsReason\";\n\nconst WhyUsSection = ({ lang }: ILang) => {\n const whyUsQueryData = useStaticQuery(query) as IWhyUsQueryResult;\n\n let whyUsReasons: IWhyUsReason[] | null | undefined;\n if (lang in whyUsQueryData)\n whyUsReasons = whyUsQueryData?.[lang]?.nodes as\n | IWhyUsReason[]\n | null\n | undefined;\n else whyUsQueryData?.en?.nodes;\n\n const sectionTitle =\n whyUsQueryData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.whyUs?.title ?? \"why us\";\n\n return (\n <>\n {whyUsReasons?.length ? (\n \n
\n
\n {whyUsReasons.map(\n (reason, i) =>\n i % 2 === 0 && \n )}\n
\n
\n {whyUsReasons.map(\n (reason, i) =>\n i % 2 != 0 && \n )}\n
\n
\n
\n ) : null}\n \n );\n};\n\nexport default WhyUsSection;\n\nconst query = graphql`\n {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"whyUs\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n }\n fields {\n language\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"whyUs\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n }\n fields {\n language\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n whyUs {\n title\n }\n }\n }\n }\n }\n`;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { HeadFC, HeadProps, PageProps } from \"gatsby\";\nimport { graphql } from \"gatsby\";\nimport { getImage } from \"gatsby-plugin-image\";\n\nimport {\n IWorkflowPageContext,\n IWorkflowStepsQueryResult,\n} from \"../types/workflow.type\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport WorkflowStep from \"../components/workflow/workflowStep\";\nimport WhyUsSection from \"../components/whyUs/whyUsSection\";\nimport { HeadSeo } from \"../components/common/metadata\";\nimport Border from \"../assets/common/border.svg\";\nimport ContactFormSection from \"../components/forms/contactFormSection\";\n\nconst Workflow = ({\n data,\n pageContext: { markupData, lang },\n}: PageProps) => {\n const workflowSteps = data.allMarkdownRemark.nodes;\n const bannerImage = getImage(markupData.image);\n\n const isInitial = useRef(true);\n const [scroll, setScroll] = useState(false);\n\n const scrollHandler = () => {\n setScroll((scroll) => !scroll);\n };\n\n useEffect(() => {\n if (!isInitial.current || !window) return;\n isInitial.current = false;\n\n window.addEventListener(\"scroll\", scrollHandler);\n\n return () => window.removeEventListener(\"scroll\", scrollHandler);\n }, []);\n\n return (\n <>\n \n
\n \n {workflowSteps\n ? workflowSteps.map((step, i) => (\n \n ))\n : null}\n \n \n
\n \n \n \n );\n};\n\nexport default Workflow;\n\nexport const Head: HeadFC = ({\n pageContext: { markupData, site, lang },\n location,\n}: HeadProps) => (\n \n);\n\nexport const query = graphql`\n query ($lang: String) {\n allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"workflow\" }, language: { eq: $lang } }\n }\n sort: { frontmatter: { step: ASC } }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n image {\n publicURL\n }\n }\n }\n }\n }\n`;\n","export interface ILang {\n lang: TLang;\n}\n\nexport type TLang = \"en\" | \"ru\";\n\nexport type TLinks = \"services\" | \"workflow\" | \"projects\" | \"blog\";\n\nexport interface IBasePageContext extends ILang {\n site: ISiteMetadata;\n}\n\nexport interface IMdQueryResult {\n allMarkdownRemark: {\n nodes: T[];\n };\n}\n\nexport interface ISiteMetadata {\n title: string;\n description: string;\n siteUrl: string;\n image: string;\n analyticsId: string;\n commentsSetup: ICommentsSetup;\n}\n\nexport interface ICommentsSetup {\n repo: `${string}/${string}`;\n repoId: string;\n categoryId: string;\n}\n\nexport enum Theme {\n dark = \"dark\",\n light = \"light\",\n}\n"],"names":["_ref","section","theme","title","linkTitle","subTitle","className","children","borderT","borderB","isArrowLink","attr","mainColorClass","Theme","dark","linkColorClass","bgColorClass","___EmotionJSX","React","Border","_extends","ContentContainer","maxWidthClass","toUpperCase","Link","to","step","scroll","stepNumber","div","useRef","coverWidth","setCoverWidth","useState","useEffect","current","window","divBottom","getBoundingClientRect","bottom","innerHeight","html","frontmatter","ref","dangerouslySetInnerHTML","__html","reason","_whyUsQueryData$lang","_whyUsQueryData$en","_whyUsQueryData$marku","_whyUsQueryData$marku2","_whyUsQueryData$marku3","_whyUsQueryData$marku4","_whyUsQueryData$marku5","_whyUsQueryData$marku6","_whyUsReasons","lang","whyUsQueryData","useStaticQuery","query","whyUsReasons","nodes","en","sectionTitle","markupData","find","node","fields","language","whyUs","length","TemplateSection","map","i","WhyUsReason","key","id","data","pageContext","workflowSteps","allMarkdownRemark","bannerImage","getImage","image","isInitial","setScroll","scrollHandler","addEventListener","removeEventListener","Banner","heightClass","bannerTitle","borderBottom","WorkflowStep","WhyUsSection","ContactFormSection","Head","_ref2","site","location","HeadSeo","head","description","siteUrl","path","pathname"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js","mappings":"4LAmFA,IA9DwBA,IAYyB,IAZxB,QACvBC,EAAO,MACPC,EAAK,MACLC,EAAK,UACLC,EAAS,SACTC,EAAQ,UACRC,EAAS,SACTC,EAAQ,QACRC,EAAO,QACPC,EAAO,YACPC,GAAc,KACXC,GACsCX,EACzC,MAAMY,EACJV,IAAUW,EAAAA,EAAMC,KAAO,qBAAuB,gBAC1CC,EACJb,IAAUW,EAAAA,EAAMC,KACZ,6CACA,mCACAE,EACJd,IAAUW,EAAAA,EAAMC,KAAO,cAAgB,mBAEzC,OACEG,EAAAA,EAAAA,IAAAC,EAAAA,SAAA,KACGV,GAAUS,EAAAA,EAAAA,IAACE,IAAM,CAACb,UAAU,WAAc,MAC3CW,EAAAA,EAAAA,IAAA,WAAAG,EAAAA,EAAAA,GAAA,CACEd,UAAW,gBAAgBU,KAAgBV,KACvCK,IAEJM,EAAAA,EAAAA,IAACI,EAAAA,EAAgB,CACfC,cAAc,iBACdhB,UAAW,yBAAyBM,MAEpCK,EAAAA,EAAAA,IAAA,OAAKX,UAAU,yFACbW,EAAAA,EAAAA,IAAA,MAAIX,UAAW,6BAA6BM,KACzCT,EAAMoB,eAERtB,GACCgB,EAAAA,EAAAA,IAACO,EAAAA,GAAI,CACHC,GAAI,IAAIxB,IACRK,UAAW,gGAAgGS,KAE1GX,EAAYA,EAAUmB,cAAgB,gBAAiB,IACvDb,GAAcO,EAAAA,EAAAA,IAAAC,EAAAA,SAAA,KAAE,KAAa,MAE9B,KACHb,GACCY,EAAAA,EAAAA,IAAA,KACEX,UAAW,sEAAsEM,KAEhFP,EAASkB,eAEV,MAELhB,IAGJE,GAAUQ,EAAAA,EAAAA,IAACE,IAAM,CAACb,UAAU,WAAc,KAC1C,C,kJC3BP,MAhDqBN,IAUd,IAVe,KACpB0B,EAAI,OACJC,EAAM,WACNC,EAAU,UACVtB,GAMDN,EACC,MAAM6B,GAAMC,EAAAA,EAAAA,QAAuB,OAC7B,EAACC,EAAW,EAACC,IAAiBC,EAAAA,EAAAA,UAA6B,aAEjEC,EAAAA,EAAAA,YAAU,KACR,IAAKL,EAAIM,UAAYC,OAAQ,OAC7B,MAAMC,EAAYR,EAAIM,QAAQG,wBAAwBC,OAElDH,OAAOI,YAAcH,GAAWL,EAAc,MAAM,GACvD,CAACL,IAEJ,MAAM,KACJc,EACAC,aAAa,MAAEvC,IACbuB,EAEJ,OACET,EAAAA,EAAAA,IAAA,OACE0B,IAAKd,EACLvB,UAAW,6GAA6GA,MAExHW,EAAAA,EAAAA,IAAA,OACEX,UAAW,sGAAsGyB,OAEnHd,EAAAA,EAAAA,IAAA,KAAGX,UAAU,iFACVsB,IAEHX,EAAAA,EAAAA,IAAA,OAAKX,UAAU,iCACbW,EAAAA,EAAAA,IAAA,MAAIX,UAAU,kCAAkCH,IAChDc,EAAAA,EAAAA,IAAA,OACEX,UAAU,6BACVsC,wBAAyB,CAAEC,OAAQJ,MAGnC,E,6BClBV,MA1BoBzC,IASb,IARL8C,QACEJ,aAAa,MAAEvC,GAAO,KACtBsC,GACD,UACDnC,GAIDN,EACC,OACEiB,EAAAA,EAAAA,IAAA,OACEX,UAAW,+GAA+GA,MAE1HW,EAAAA,EAAAA,IAAA,MAAIX,UAAU,YAAYH,IAC1Bc,EAAAA,EAAAA,IAAA,OACEX,UAAW,4BACXsC,wBAAyB,CAAEC,OAAQJ,MAErCxB,EAAAA,EAAAA,IAAA,OACEX,UAAW,8IAET,ECuBV,MAxCqBN,IAAsB,IAAD+C,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAApB,KAAEC,GAAaxD,EACnC,MAAMyD,GAAiBC,EAAAA,EAAAA,IAAeC,GAEtC,IAAIC,EACAJ,KAAQC,EACVG,EAAeH,SAAsB,QAARV,EAAdU,EAAiBD,UAAK,IAAAT,OAAR,EAAdA,EAAwBc,MAIpCJ,SAAkB,QAAJT,EAAdS,EAAgBK,UAAE,IAAAd,GAAlBA,EAAoBa,MAEzB,MAAME,EAGwB,QAHZd,EAChBQ,SAA0B,QAAZP,EAAdO,EAAgBO,kBAAU,IAAAd,GAAO,QAAPC,EAA1BD,EAA4BW,aAAK,IAAAV,GAEhC,QAFgCC,EAAjCD,EAAmCc,MAChCC,GAASA,EAAKC,OAAOC,WAAaZ,WACpC,IAAAJ,GAAa,QAAbC,EAFDD,EAEGV,mBAAW,IAAAW,GAAO,QAAPC,EAFdD,EAEgBgB,aAAK,IAAAf,OAFP,EAAdA,EAEuBnD,aAAK,IAAA8C,EAAAA,EAAI,SAElC,OACEhC,EAAAA,EAAAA,IAAAC,EAAAA,SAAA,KACe,QAAZqC,EAAAK,SAAY,IAAAL,GAAZA,EAAce,QACbrD,EAAAA,EAAAA,IAACsD,EAAAA,EAAe,CAACrE,MAAOW,EAAAA,EAAMC,KAAMX,MAAO4D,EAActD,SAAO,IAC9DQ,EAAAA,EAAAA,IAAA,OAAKX,UAAU,kEACbW,EAAAA,EAAAA,IAAA,OAAKX,UAAU,0DACZsD,EAAaY,KACZ,CAAC1B,EAAQ2B,IACPA,EAAI,GAAM,IAAKxD,EAAAA,EAAAA,IAACyD,EAAW,CAACC,IAAK7B,EAAO8B,GAAI9B,OAAQA,QAG1D7B,EAAAA,EAAAA,IAAA,OAAKX,UAAU,0DACZsD,EAAaY,KACZ,CAAC1B,EAAQ2B,IACPA,EAAI,GAAK,IAAKxD,EAAAA,EAAAA,IAACyD,EAAW,CAACC,IAAK7B,EAAO8B,GAAI9B,OAAQA,SAK3D,KACH,EAMP,MAAMa,EAAK,Y,2CCoBX,MArDiB3D,IAGiD,IAHhD,KAChB6E,EACAC,aAAa,WAAEd,EAAU,KAAER,IACgCxD,EAC3D,MAAM+E,EAAgBF,EAAKG,kBAAkBnB,MACvCoB,GAAcC,EAAAA,EAAAA,GAASlB,EAAWmB,OAElCC,GAAYtD,EAAAA,EAAAA,SAAgB,IAC5B,EAACH,EAAM,EAAE0D,IAAapD,EAAAA,EAAAA,WAAkB,GAExCqD,EAAgBA,KACpBD,GAAW1D,IAAYA,GAAO,EAYhC,OATAO,EAAAA,EAAAA,YAAU,KACR,GAAKkD,EAAUjD,SAAYC,OAK3B,OAJAgD,EAAUjD,SAAU,EAEpBC,OAAOmD,iBAAiB,SAAUD,GAE3B,IAAMlD,OAAOoD,oBAAoB,SAAUF,EAAc,GAC/D,KAGDrE,EAAAA,EAAAA,IAAAC,EAAAA,SAAA,MACED,EAAAA,EAAAA,IAACwE,EAAAA,EAAM,CACLC,YAAY,UACZvF,MAAO6D,EAAW2B,YAClBR,MAAOF,EACPW,cAAY,KAEd3E,EAAAA,EAAAA,IAAA,OAAKX,UAAU,qBACbW,EAAAA,EAAAA,IAACI,EAAAA,EAAgB,CAACf,UAAU,oFACzByE,EACGA,EAAcP,KAAI,CAAC9C,EAAM+C,KACvBxD,EAAAA,EAAAA,IAAC4E,EAAY,CACXlB,IAAKjD,EAAKkD,GACVlD,KAAMA,EACNpB,UAAU,wBACVqB,OAAQA,EACRC,WAAY6C,EAAI,MAGpB,OAENxD,EAAAA,EAAAA,IAACE,IAAM,CAACb,UAAU,aAEpBW,EAAAA,EAAAA,IAAC6E,EAAY,CAACtC,KAAMA,KACpBvC,EAAAA,EAAAA,IAAC8E,EAAAA,EAAkB,CAACvC,KAAMA,IACzB,EAMA,MAAMwC,EAAgEC,IAAA,IAC3EnB,aAAa,WAAEd,EAAU,KAAEkC,EAAI,KAAE1C,GAAM,SACvC2C,GAC2DF,EAAA,OAC3DhF,EAAAA,EAAAA,IAACmF,EAAAA,GAAO,CACNjG,MAAO,GAAG6D,EAAWqC,UAAUrC,EAAW2B,YAAYpE,gBACtD+E,YAAaJ,EAAKI,YAClBC,QAASL,EAAKK,QACdC,KAAML,EAASM,SACfjD,KAAMA,GACN,C,uDClDG,IAAK3C,EAAK,SAALA,GAAK,OAALA,EAAK,YAALA,EAAK,cAALA,CAAK,K","sources":["webpack://code-cave/./src/components/common/templateSection.tsx","webpack://code-cave/./src/components/workflow/workflowStep.tsx","webpack://code-cave/./src/components/whyUs/whyUsReason.tsx","webpack://code-cave/./src/components/whyUs/whyUsSection.tsx","webpack://code-cave/./src/pagesTemplates/workflow.tsx","webpack://code-cave/./src/types/common.type.ts"],"sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { Theme } from \"../../types/common.type\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\n\ninterface ITemplateSectionProps extends React.HTMLAttributes {\n title: string;\n theme: Theme;\n isArrowLink?: boolean;\n linkTitle?: string;\n subTitle?: string;\n section?: string;\n className?: string;\n borderT?: boolean;\n borderB?: boolean;\n}\n\nconst TemplateSection = ({\n section,\n theme,\n title,\n linkTitle,\n subTitle,\n className,\n children,\n borderT,\n borderB,\n isArrowLink = true,\n ...attr\n}: PropsWithChildren) => {\n const mainColorClass =\n theme === Theme.dark ? \"text-secondary-100\" : \"text-main-100\";\n const linkColorClass =\n theme === Theme.dark\n ? \"text-secondary-100 hover:text-secondary-70\"\n : \"text-main-100 hover:text-main-10\";\n const bgColorClass =\n theme === Theme.dark ? \"bg-main-100\" : \"bg-secondary-100\";\n\n return (\n <>\n {borderT ? : null}\n \n \n
\n

\n {title.toUpperCase()}\n

\n {section ? (\n \n {linkTitle ? linkTitle.toUpperCase() : \"DISCOVER MORE\"}{\" \"}\n {isArrowLink ? <>→ : null}\n \n ) : null}\n {subTitle ? (\n \n {subTitle.toUpperCase()}\n

\n ) : null}\n
\n {children}\n \n \n {borderB ? : null}\n \n );\n};\n\nexport default TemplateSection;\n","import React, { useEffect, useState, useRef } from \"react\";\n\nimport { IWorkflowStep } from \"../../types/workflow.type\";\n\nconst WorkflowStep = ({\n step,\n scroll,\n stepNumber,\n className,\n}: {\n step: IWorkflowStep;\n scroll: boolean;\n stepNumber: number;\n className?: string;\n}) => {\n const div = useRef(null);\n const [coverWidth, setCoverWidth] = useState<\"w-[100%]\" | \"w-0\">(\"w-[100%]\");\n\n useEffect(() => {\n if (!div.current || !window) return;\n const divBottom = div.current.getBoundingClientRect().bottom;\n\n if (window.innerHeight > divBottom) setCoverWidth(\"w-0\");\n }, [scroll]);\n\n const {\n html,\n frontmatter: { title },\n } = step;\n\n return (\n \n \n

\n {stepNumber}\n

\n
\n

{title}

\n \n
\n \n );\n};\n\nexport default WorkflowStep;\n","import React from \"react\";\n\nimport { IWhyUsReason } from \"../../types/whyUs.type\";\n\nconst WhyUsReason = ({\n reason: {\n frontmatter: { title },\n html,\n },\n className,\n}: {\n reason: IWhyUsReason;\n className?: string;\n}) => {\n return (\n \n

{title}

\n \n \n \n );\n};\n\nexport default WhyUsReason;\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { IWhyUsQueryResult, IWhyUsReason } from \"../../types/whyUs.type\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\nimport TemplateSection from \"../common/templateSection\";\nimport WhyUsReason from \"./whyUsReason\";\n\nconst WhyUsSection = ({ lang }: ILang) => {\n const whyUsQueryData = useStaticQuery(query) as IWhyUsQueryResult;\n\n let whyUsReasons: IWhyUsReason[] | null | undefined;\n if (lang in whyUsQueryData)\n whyUsReasons = whyUsQueryData?.[lang]?.nodes as\n | IWhyUsReason[]\n | null\n | undefined;\n else whyUsQueryData?.en?.nodes;\n\n const sectionTitle =\n whyUsQueryData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.whyUs?.title ?? \"why us\";\n\n return (\n <>\n {whyUsReasons?.length ? (\n \n
\n
\n {whyUsReasons.map(\n (reason, i) =>\n i % 2 === 0 && \n )}\n
\n
\n {whyUsReasons.map(\n (reason, i) =>\n i % 2 != 0 && \n )}\n
\n
\n
\n ) : null}\n \n );\n};\n\nexport default WhyUsSection;\n\nconst query = graphql`\n {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"whyUs\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n }\n fields {\n language\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"whyUs\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n }\n fields {\n language\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n whyUs {\n title\n }\n }\n }\n }\n }\n`;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { HeadFC, HeadProps, PageProps } from \"gatsby\";\nimport { graphql } from \"gatsby\";\nimport { getImage } from \"gatsby-plugin-image\";\n\nimport {\n IWorkflowPageContext,\n IWorkflowStepsQueryResult,\n} from \"../types/workflow.type\";\n\nimport Banner from \"../components/common/banner\";\nimport ContentContainer from \"../components/common/contentContainer\";\nimport WorkflowStep from \"../components/workflow/workflowStep\";\nimport WhyUsSection from \"../components/whyUs/whyUsSection\";\nimport { HeadSeo } from \"../components/common/metadata\";\nimport Border from \"../assets/common/border.svg\";\nimport ContactFormSection from \"../components/forms/contactFormSection\";\n\nconst Workflow = ({\n data,\n pageContext: { markupData, lang },\n}: PageProps) => {\n const workflowSteps = data.allMarkdownRemark.nodes;\n const bannerImage = getImage(markupData.image);\n\n const isInitial = useRef(true);\n const [scroll, setScroll] = useState(false);\n\n const scrollHandler = () => {\n setScroll((scroll) => !scroll);\n };\n\n useEffect(() => {\n if (!isInitial.current || !window) return;\n isInitial.current = false;\n\n window.addEventListener(\"scroll\", scrollHandler);\n\n return () => window.removeEventListener(\"scroll\", scrollHandler);\n }, []);\n\n return (\n <>\n \n
\n \n {workflowSteps\n ? workflowSteps.map((step, i) => (\n \n ))\n : null}\n \n \n
\n \n \n \n );\n};\n\nexport default Workflow;\n\nexport const Head: HeadFC = ({\n pageContext: { markupData, site, lang },\n location,\n}: HeadProps) => (\n \n);\n\nexport const query = graphql`\n query ($lang: String) {\n allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"workflow\" }, language: { eq: $lang } }\n }\n sort: { frontmatter: { step: ASC } }\n ) {\n nodes {\n id\n html\n frontmatter {\n title\n image {\n publicURL\n }\n }\n }\n }\n }\n`;\n","export interface ILang {\n lang: TLang;\n}\n\nexport type TLang = \"en\" | \"ru\";\n\nexport type TLinks = \"services\" | \"workflow\" | \"projects\" | \"blog\";\n\nexport interface IBasePageContext extends ILang {\n site: ISiteMetadata;\n}\n\nexport interface IMdQueryResult {\n allMarkdownRemark: {\n nodes: T[];\n };\n}\n\nexport interface ISiteMetadata {\n title: string;\n description: string;\n siteUrl: string;\n image: string;\n analyticsId: string;\n commentsSetup: ICommentsSetup;\n}\n\nexport interface ICommentsSetup {\n repo: `${string}/${string}`;\n repoId: string;\n categoryId: string;\n}\n\nexport enum Theme {\n dark = \"dark\",\n light = \"light\",\n}\n"],"names":["_ref","section","theme","title","linkTitle","subTitle","className","children","borderT","borderB","isArrowLink","attr","mainColorClass","Theme","dark","linkColorClass","bgColorClass","___EmotionJSX","React","Border","_extends","ContentContainer","maxWidthClass","toUpperCase","Link","to","step","scroll","stepNumber","div","useRef","coverWidth","setCoverWidth","useState","useEffect","current","window","divBottom","getBoundingClientRect","bottom","innerHeight","html","frontmatter","ref","dangerouslySetInnerHTML","__html","reason","_whyUsQueryData$lang","_whyUsQueryData$en","_whyUsQueryData$marku","_whyUsQueryData$marku2","_whyUsQueryData$marku3","_whyUsQueryData$marku4","_whyUsQueryData$marku5","_whyUsQueryData$marku6","_whyUsReasons","lang","whyUsQueryData","useStaticQuery","query","whyUsReasons","nodes","en","sectionTitle","markupData","find","node","fields","language","whyUs","length","TemplateSection","map","i","WhyUsReason","key","id","data","pageContext","workflowSteps","allMarkdownRemark","bannerImage","getImage","image","isInitial","setScroll","scrollHandler","addEventListener","removeEventListener","Banner","heightClass","bannerTitle","borderBottom","WorkflowStep","WhyUsSection","ContactFormSection","Head","_ref2","site","location","HeadSeo","head","description","siteUrl","path","pathname"],"sourceRoot":""} \ No newline at end of file diff --git a/cookie-policy/index.html b/cookie-policy/index.html index ae732eeb..e6977a4c 100644 --- a/cookie-policy/index.html +++ b/cookie-policy/index.html @@ -125,6 +125,6 @@

Contacts

- \ No newline at end of file + \ No newline at end of file diff --git a/index.html b/index.html index e3a57a05..be4d98d9 100644 --- a/index.html +++ b/index.html @@ -29,6 +29,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/page-data/app-data.json b/page-data/app-data.json index ace6b1a6..a63e359a 100644 --- a/page-data/app-data.json +++ b/page-data/app-data.json @@ -1 +1 @@ -{"webpackCompilationHash":"2875ff0448dd75f287bd"} +{"webpackCompilationHash":"74280a4974ec117cc6f2"} diff --git a/privacy-policy/index.html b/privacy-policy/index.html index 1acb546f..2df1dac3 100644 --- a/privacy-policy/index.html +++ b/privacy-policy/index.html @@ -197,6 +197,6 @@

Legal information

- \ No newline at end of file + \ No newline at end of file diff --git a/projects/08716ab8-fc5f-5f90-9fc0-a8218ec51923/index.html b/projects/08716ab8-fc5f-5f90-9fc0-a8218ec51923/index.html index 17278451..f810fe1d 100644 --- a/projects/08716ab8-fc5f-5f90-9fc0-a8218ec51923/index.html +++ b/projects/08716ab8-fc5f-5f90-9fc0-a8218ec51923/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/4010b091-889b-5be1-ab5a-bde195aa7729/index.html b/projects/4010b091-889b-5be1-ab5a-bde195aa7729/index.html index 44de486a..cd343cf6 100644 --- a/projects/4010b091-889b-5be1-ab5a-bde195aa7729/index.html +++ b/projects/4010b091-889b-5be1-ab5a-bde195aa7729/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/4057e0b3-692b-5512-a1fc-cb93bd81fe0e/index.html b/projects/4057e0b3-692b-5512-a1fc-cb93bd81fe0e/index.html index 1cbcca2a..d115a289 100644 --- a/projects/4057e0b3-692b-5512-a1fc-cb93bd81fe0e/index.html +++ b/projects/4057e0b3-692b-5512-a1fc-cb93bd81fe0e/index.html @@ -24,6 +24,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/45987eea-191f-531c-b854-25e3d60decff/index.html b/projects/45987eea-191f-531c-b854-25e3d60decff/index.html index ca60d3be..6397ff14 100644 --- a/projects/45987eea-191f-531c-b854-25e3d60decff/index.html +++ b/projects/45987eea-191f-531c-b854-25e3d60decff/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/9f63d17d-6164-509e-b2c7-4c655ab9ad7a/index.html b/projects/9f63d17d-6164-509e-b2c7-4c655ab9ad7a/index.html index 9fd79bfd..e15ead91 100644 --- a/projects/9f63d17d-6164-509e-b2c7-4c655ab9ad7a/index.html +++ b/projects/9f63d17d-6164-509e-b2c7-4c655ab9ad7a/index.html @@ -25,6 +25,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/f17de1e3-0a73-5f92-bf66-1e12d5fdc0fb/index.html b/projects/f17de1e3-0a73-5f92-bf66-1e12d5fdc0fb/index.html index 8c02573a..bcf445ba 100644 --- a/projects/f17de1e3-0a73-5f92-bf66-1e12d5fdc0fb/index.html +++ b/projects/f17de1e3-0a73-5f92-bf66-1e12d5fdc0fb/index.html @@ -30,6 +30,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/ff9598a3-3fad-5a4e-a8a8-a8858b3a27e7/index.html b/projects/ff9598a3-3fad-5a4e-a8a8-a8858b3a27e7/index.html index 6f12d1da..b55d2cdb 100644 --- a/projects/ff9598a3-3fad-5a4e-a8a8-a8858b3a27e7/index.html +++ b/projects/ff9598a3-3fad-5a4e-a8a8-a8858b3a27e7/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/index.html b/projects/index.html index 6a523f7b..11121f8d 100644 --- a/projects/index.html +++ b/projects/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/page/1/index.html b/projects/page/1/index.html index d43082cf..bd0d9ce0 100644 --- a/projects/page/1/index.html +++ b/projects/page/1/index.html @@ -23,6 +23,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/services/index.html b/services/index.html index 25351f92..9bf6d41c 100644 --- a/services/index.html +++ b/services/index.html @@ -30,6 +30,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/webpack-runtime-f2b9d64d366c08a31ae8.js b/webpack-runtime-85b1460a06372c31e1c7.js similarity index 93% rename from webpack-runtime-f2b9d64d366c08a31ae8.js rename to webpack-runtime-85b1460a06372c31e1c7.js index 090c838f..93d57c5e 100644 --- a/webpack-runtime-f2b9d64d366c08a31ae8.js +++ b/webpack-runtime-85b1460a06372c31e1c7.js @@ -1,2 +1,2 @@ -!function(){"use strict";var e,t,n,r,o,c={},a={};function f(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={id:e,loaded:!1,exports:{}};return c[e](n,n.exports,f),n.loaded=!0,n.exports}f.m=c,e=[],f.O=function(t,n,r,o){if(!n){var c=1/0;for(s=0;s=o)&&Object.keys(f.O).every((function(e){return f.O[e](n[i])}))?n.splice(i--,1):(a=!1,o0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[n,r,o]},f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);f.r(o);var c={};t=t||[null,n({}),n([]),n(n)];for(var a=2&r&&e;"object"==typeof a&&!~t.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(t){c[t]=function(){return e[t]}}));return c.default=function(){return e},f.d(o,c),o},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce((function(t,n){return f.f[n](e,t),t}),[]))},f.u=function(e){return({147:"component---src-pages-templates-project-tsx",149:"component---src-pages-templates-policies-tsx",354:"component---src-pages-templates-post-tsx",403:"c294adedbbc0a5c4b071b27a5ffb97a116928d98",417:"component---src-pages-templates-services-tsx",514:"component---src-pages-templates-404-tsx",548:"component---src-pages-templates-workflow-tsx",577:"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb",602:"dbbdfb320c5007a40fa91453221d77dae72f3b83",650:"component---src-pages-templates-projects-tsx",748:"component---src-pages-templates-blog-by-author-tsx",832:"component---src-pages-templates-index-tsx",899:"component---src-pages-templates-blog-by-hashtag-tsx",926:"component---src-pages-templates-blog-tsx"}[e]||e)+"-"+{147:"64eed449e2c049361b4e",149:"359925d45492160d5e8b",354:"4f0b1db8f77b105dfb25",355:"8ec9d1cf4562de9fd523",403:"83f152d3f32c8162f39f",417:"2bf1fbe1767dd059fe07",475:"048fa666fc3431f933b0",514:"1ec7dcfded6e73efef91",548:"0a7c4f4931d145fd524b",577:"b76090e256baaaaaa313",602:"00be99e431fb904367c1",650:"05e1354e259380d8d7ed",731:"fc2222e8bcbd3a323b37",748:"81ce4ebe76fd86584042",832:"c75a6635816ccf5de7a7",843:"82fd7f798c0dd9a6f67b",899:"135c2ed0b3b21b743c64",926:"1a587e5e21db03ac0f47"}[e]+".js"},f.miniCssF=function(e){return"styles.d4b544d526e11837847b.css"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="code-cave:",f.l=function(e,t,n,c){if(r[e])r[e].push(t);else{var a,i;if(void 0!==n)for(var u=document.getElementsByTagName("script"),s=0;s=o)&&Object.keys(f.O).every((function(e){return f.O[e](n[i])}))?n.splice(i--,1):(a=!1,o0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[n,r,o]},f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);f.r(o);var c={};t=t||[null,n({}),n([]),n(n)];for(var a=2&r&&e;"object"==typeof a&&!~t.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(t){c[t]=function(){return e[t]}}));return c.default=function(){return e},f.d(o,c),o},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce((function(t,n){return f.f[n](e,t),t}),[]))},f.u=function(e){return({147:"component---src-pages-templates-project-tsx",149:"component---src-pages-templates-policies-tsx",354:"component---src-pages-templates-post-tsx",403:"c294adedbbc0a5c4b071b27a5ffb97a116928d98",417:"component---src-pages-templates-services-tsx",514:"component---src-pages-templates-404-tsx",548:"component---src-pages-templates-workflow-tsx",577:"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb",602:"dbbdfb320c5007a40fa91453221d77dae72f3b83",650:"component---src-pages-templates-projects-tsx",748:"component---src-pages-templates-blog-by-author-tsx",832:"component---src-pages-templates-index-tsx",899:"component---src-pages-templates-blog-by-hashtag-tsx",926:"component---src-pages-templates-blog-tsx"}[e]||e)+"-"+{147:"64eed449e2c049361b4e",149:"359925d45492160d5e8b",354:"4f0b1db8f77b105dfb25",355:"8ec9d1cf4562de9fd523",403:"83f152d3f32c8162f39f",417:"0e6c6c54310d9f7b32b3",475:"048fa666fc3431f933b0",514:"1ec7dcfded6e73efef91",548:"10c8768c64c0db9f80c2",577:"6309d634607bf92093ab",602:"00be99e431fb904367c1",650:"05e1354e259380d8d7ed",731:"fc2222e8bcbd3a323b37",748:"81ce4ebe76fd86584042",832:"0b0b64495eef863fe7d6",843:"82fd7f798c0dd9a6f67b",899:"135c2ed0b3b21b743c64",926:"1a587e5e21db03ac0f47"}[e]+".js"},f.miniCssF=function(e){return"styles.d4b544d526e11837847b.css"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="code-cave:",f.l=function(e,t,n,c){if(r[e])r[e].push(t);else{var a,i;if(void 0!==n)for(var u=document.getElementsByTagName("script"),s=0;s 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"code-cave:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"147\":\"component---src-pages-templates-project-tsx\",\"149\":\"component---src-pages-templates-policies-tsx\",\"354\":\"component---src-pages-templates-post-tsx\",\"403\":\"c294adedbbc0a5c4b071b27a5ffb97a116928d98\",\"417\":\"component---src-pages-templates-services-tsx\",\"514\":\"component---src-pages-templates-404-tsx\",\"548\":\"component---src-pages-templates-workflow-tsx\",\"577\":\"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb\",\"602\":\"dbbdfb320c5007a40fa91453221d77dae72f3b83\",\"650\":\"component---src-pages-templates-projects-tsx\",\"748\":\"component---src-pages-templates-blog-by-author-tsx\",\"832\":\"component---src-pages-templates-index-tsx\",\"899\":\"component---src-pages-templates-blog-by-hashtag-tsx\",\"926\":\"component---src-pages-templates-blog-tsx\"}[chunkId] || chunkId) + \"-\" + {\"147\":\"64eed449e2c049361b4e\",\"149\":\"359925d45492160d5e8b\",\"354\":\"4f0b1db8f77b105dfb25\",\"355\":\"8ec9d1cf4562de9fd523\",\"403\":\"83f152d3f32c8162f39f\",\"417\":\"2bf1fbe1767dd059fe07\",\"475\":\"048fa666fc3431f933b0\",\"514\":\"1ec7dcfded6e73efef91\",\"548\":\"0a7c4f4931d145fd524b\",\"577\":\"b76090e256baaaaaa313\",\"602\":\"00be99e431fb904367c1\",\"650\":\"05e1354e259380d8d7ed\",\"731\":\"fc2222e8bcbd3a323b37\",\"748\":\"81ce4ebe76fd86584042\",\"832\":\"c75a6635816ccf5de7a7\",\"843\":\"82fd7f798c0dd9a6f67b\",\"899\":\"135c2ed0b3b21b743c64\",\"926\":\"1a587e5e21db03ac0f47\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"d4b544d526e11837847b\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkcode_cave\"] = self[\"webpackChunkcode_cave\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","__proto__","t","value","mode","this","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","call","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","p","b","baseURI","self","location","href","installedChunks","installedChunkData","test","promise","resolve","reject","error","Error","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"webpack-runtime-85b1460a06372c31e1c7.js","mappings":"6BAAIA,ECCAC,EADAC,ECAAC,EACAC,E,KCAAC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CACjDK,GAAIL,EACJM,QAAQ,EACRH,QAAS,CAAC,GAUX,OANAI,EAAoBP,GAAUI,EAAQA,EAAOD,QAASJ,GAGtDK,EAAOE,QAAS,EAGTF,EAAOD,OACf,CAGAJ,EAAoBS,EAAID,EH5BpBd,EAAW,GACfM,EAAoBU,EAAI,SAASC,EAAQC,EAAUC,EAAIC,GACtD,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASC,EAAI,EAAGA,EAAIvB,EAASwB,OAAQD,IAAK,CACrCL,EAAWlB,EAASuB,GAAG,GACvBJ,EAAKnB,EAASuB,GAAG,GACjBH,EAAWpB,EAASuB,GAAG,GAE3B,IAJA,IAGIE,GAAY,EACPC,EAAI,EAAGA,EAAIR,EAASM,OAAQE,MACpB,EAAXN,GAAsBC,GAAgBD,IAAaO,OAAOC,KAAKtB,EAAoBU,GAAGa,OAAM,SAASC,GAAO,OAAOxB,EAAoBU,EAAEc,GAAKZ,EAASQ,GAAK,IAChKR,EAASa,OAAOL,IAAK,IAErBD,GAAY,EACTL,EAAWC,IAAcA,EAAeD,IAG7C,GAAGK,EAAW,CACbzB,EAAS+B,OAAOR,IAAK,GACrB,IAAIS,EAAIb,SACEV,IAANuB,IAAiBf,EAASe,EAC/B,CACD,CACA,OAAOf,CArBP,CAJCG,EAAWA,GAAY,EACvB,IAAI,IAAIG,EAAIvB,EAASwB,OAAQD,EAAI,GAAKvB,EAASuB,EAAI,GAAG,GAAKH,EAAUG,IAAKvB,EAASuB,GAAKvB,EAASuB,EAAI,GACrGvB,EAASuB,GAAK,CAACL,EAAUC,EAAIC,EAwB/B,EI5BAd,EAAoB2B,EAAI,SAAStB,GAChC,IAAIuB,EAASvB,GAAUA,EAAOwB,WAC7B,WAAa,OAAOxB,EAAgB,OAAG,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADAL,EAAoB8B,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CACR,EHPIhC,EAAWyB,OAAOW,eAAiB,SAASC,GAAO,OAAOZ,OAAOW,eAAeC,EAAM,EAAI,SAASA,GAAO,OAAOA,EAAIC,SAAW,EAQpIlC,EAAoBmC,EAAI,SAASC,EAAOC,GAEvC,GADU,EAAPA,IAAUD,EAAQE,KAAKF,IAChB,EAAPC,EAAU,OAAOD,EACpB,GAAoB,iBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPC,GAAaD,EAAMP,WAAY,OAAOO,EAC1C,GAAW,GAAPC,GAAoC,mBAAfD,EAAMG,KAAqB,OAAOH,CAC5D,CACA,IAAII,EAAKnB,OAAOoB,OAAO,MACvBzC,EAAoB0B,EAAEc,GACtB,IAAIE,EAAM,CAAC,EACX/C,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAI+C,EAAiB,EAAPN,GAAYD,EAAyB,iBAAXO,KAAyBhD,EAAeiD,QAAQD,GAAUA,EAAU/C,EAAS+C,GACxHtB,OAAOwB,oBAAoBF,GAASG,SAAQ,SAAStB,GAAOkB,EAAIlB,GAAO,WAAa,OAAOY,EAAMZ,EAAM,CAAG,IAI3G,OAFAkB,EAAa,QAAI,WAAa,OAAON,CAAO,EAC5CpC,EAAoB8B,EAAEU,EAAIE,GACnBF,CACR,EIxBAxC,EAAoB8B,EAAI,SAAS1B,EAAS2C,GACzC,IAAI,IAAIvB,KAAOuB,EACX/C,EAAoBgD,EAAED,EAAYvB,KAASxB,EAAoBgD,EAAE5C,EAASoB,IAC5EH,OAAO4B,eAAe7C,EAASoB,EAAK,CAAE0B,YAAY,EAAMC,IAAKJ,EAAWvB,IAG3E,ECPAxB,EAAoBoD,EAAI,CAAC,EAGzBpD,EAAoBqD,EAAI,SAASC,GAChC,OAAOC,QAAQC,IAAInC,OAAOC,KAAKtB,EAAoBoD,GAAGK,QAAO,SAASC,EAAUlC,GAE/E,OADAxB,EAAoBoD,EAAE5B,GAAK8B,EAASI,GAC7BA,CACR,GAAG,IACJ,ECPA1D,EAAoB2D,EAAI,SAASL,GAEhC,OAAa,CAAC,IAAM,8CAA8C,IAAM,+CAA+C,IAAM,2CAA2C,IAAM,2CAA2C,IAAM,+CAA+C,IAAM,0CAA0C,IAAM,+CAA+C,IAAM,2CAA2C,IAAM,2CAA2C,IAAM,+CAA+C,IAAM,qDAAqD,IAAM,4CAA4C,IAAM,sDAAsD,IAAM,4CAA4CA,IAAYA,GAAW,IAAM,CAAC,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,wBAAwBA,GAAW,KAC1xC,ECHAtD,EAAoB4D,SAAW,SAASN,GAEvC,MAAO,iCACR,ECJAtD,EAAoB6D,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOxB,MAAQ,IAAIyB,SAAS,cAAb,EAChB,CAAE,MAAOV,GACR,GAAsB,iBAAXW,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBhE,EAAoBgD,EAAI,SAASf,EAAKgC,GAAQ,OAAO5C,OAAO6C,UAAUC,eAAeC,KAAKnC,EAAKgC,EAAO,ERAlGpE,EAAa,CAAC,EACdC,EAAoB,aAExBE,EAAoBqE,EAAI,SAASC,EAAKC,EAAM/C,EAAK8B,GAChD,GAAGzD,EAAWyE,GAAQzE,EAAWyE,GAAKE,KAAKD,OAA3C,CACA,IAAIE,EAAQC,EACZ,QAAWvE,IAARqB,EAEF,IADA,IAAImD,EAAUC,SAASC,qBAAqB,UACpC5D,EAAI,EAAGA,EAAI0D,EAAQzD,OAAQD,IAAK,CACvC,IAAI6D,EAAIH,EAAQ1D,GAChB,GAAG6D,EAAEC,aAAa,QAAUT,GAAOQ,EAAEC,aAAa,iBAAmBjF,EAAoB0B,EAAK,CAAEiD,EAASK,EAAG,KAAO,CACpH,CAEGL,IACHC,GAAa,GACbD,EAASG,SAASI,cAAc,WAEzBC,QAAU,QACjBR,EAAOS,QAAU,IACblF,EAAoBmF,IACvBV,EAAOW,aAAa,QAASpF,EAAoBmF,IAElDV,EAAOW,aAAa,eAAgBtF,EAAoB0B,GAExDiD,EAAOY,IAAMf,GAEdzE,EAAWyE,GAAO,CAACC,GACnB,IAAIe,EAAmB,SAASC,EAAMC,GAErCf,EAAOgB,QAAUhB,EAAOiB,OAAS,KACjCC,aAAaT,GACb,IAAIU,EAAU/F,EAAWyE,GAIzB,UAHOzE,EAAWyE,GAClBG,EAAOoB,YAAcpB,EAAOoB,WAAWC,YAAYrB,GACnDmB,GAAWA,EAAQ9C,SAAQ,SAASjC,GAAM,OAAOA,EAAG2E,EAAQ,IACzDD,EAAM,OAAOA,EAAKC,EACtB,EACIN,EAAUa,WAAWT,EAAiBU,KAAK,UAAM7F,EAAW,CAAE8F,KAAM,UAAWC,OAAQzB,IAAW,MACtGA,EAAOgB,QAAUH,EAAiBU,KAAK,KAAMvB,EAAOgB,SACpDhB,EAAOiB,OAASJ,EAAiBU,KAAK,KAAMvB,EAAOiB,QACnDhB,GAAcE,SAASuB,KAAKC,YAAY3B,EApCkB,CAqC3D,ESxCAzE,EAAoB0B,EAAI,SAAStB,GACX,oBAAXiG,QAA0BA,OAAOC,aAC1CjF,OAAO4B,eAAe7C,EAASiG,OAAOC,YAAa,CAAElE,MAAO,WAE7Df,OAAO4B,eAAe7C,EAAS,aAAc,CAAEgC,OAAO,GACvD,ECNApC,EAAoBuG,IAAM,SAASlG,GAGlC,OAFAA,EAAOmG,MAAQ,GACVnG,EAAOoG,WAAUpG,EAAOoG,SAAW,IACjCpG,CACR,ECJAL,EAAoB0G,EAAI,I,WCAxB1G,EAAoB2G,EAAI/B,SAASgC,SAAWC,KAAKC,SAASC,KAK1D,IAAIC,EAAkB,CACrB,IAAK,EACL,IAAK,GAGNhH,EAAoBoD,EAAEhC,EAAI,SAASkC,EAASI,GAE1C,IAAIuD,EAAqBjH,EAAoBgD,EAAEgE,EAAiB1D,GAAW0D,EAAgB1D,QAAWnD,EACtG,GAA0B,IAAvB8G,EAGF,GAAGA,EACFvD,EAASc,KAAKyC,EAAmB,SAEjC,GAAI,cAAcC,KAAK5D,GAyBhB0D,EAAgB1D,GAAW,MAzBD,CAEhC,IAAI6D,EAAU,IAAI5D,SAAQ,SAAS6D,EAASC,GAAUJ,EAAqBD,EAAgB1D,GAAW,CAAC8D,EAASC,EAAS,IACzH3D,EAASc,KAAKyC,EAAmB,GAAKE,GAGtC,IAAI7C,EAAMtE,EAAoB0G,EAAI1G,EAAoB2D,EAAEL,GAEpDgE,EAAQ,IAAIC,MAgBhBvH,EAAoBqE,EAAEC,GAfH,SAASkB,GAC3B,GAAGxF,EAAoBgD,EAAEgE,EAAiB1D,KAEf,KAD1B2D,EAAqBD,EAAgB1D,MACR0D,EAAgB1D,QAAWnD,GACrD8G,GAAoB,CACtB,IAAIO,EAAYhC,IAAyB,SAAfA,EAAMS,KAAkB,UAAYT,EAAMS,MAChEwB,EAAUjC,GAASA,EAAMU,QAAUV,EAAMU,OAAOb,IACpDiC,EAAMI,QAAU,iBAAmBpE,EAAU,cAAgBkE,EAAY,KAAOC,EAAU,IAC1FH,EAAMK,KAAO,iBACbL,EAAMrB,KAAOuB,EACbF,EAAMM,QAAUH,EAChBR,EAAmB,GAAGK,EACvB,CAEF,GACyC,SAAWhE,EAASA,EAC9D,CAGJ,EAUAtD,EAAoBU,EAAEU,EAAI,SAASkC,GAAW,OAAoC,IAA7B0D,EAAgB1D,EAAgB,EAGrF,IAAIuE,EAAuB,SAASC,EAA4BC,GAC/D,IAKI9H,EAAUqD,EALV1C,EAAWmH,EAAK,GAChBC,EAAcD,EAAK,GACnBE,EAAUF,EAAK,GAGI9G,EAAI,EAC3B,GAAGL,EAASsH,MAAK,SAAS5H,GAAM,OAA+B,IAAxB0G,EAAgB1G,EAAW,IAAI,CACrE,IAAIL,KAAY+H,EACZhI,EAAoBgD,EAAEgF,EAAa/H,KACrCD,EAAoBS,EAAER,GAAY+H,EAAY/H,IAGhD,GAAGgI,EAAS,IAAItH,EAASsH,EAAQjI,EAClC,CAEA,IADG8H,GAA4BA,EAA2BC,GACrD9G,EAAIL,EAASM,OAAQD,IACzBqC,EAAU1C,EAASK,GAChBjB,EAAoBgD,EAAEgE,EAAiB1D,IAAY0D,EAAgB1D,IACrE0D,EAAgB1D,GAAS,KAE1B0D,EAAgB1D,GAAW,EAE5B,OAAOtD,EAAoBU,EAAEC,EAC9B,EAEIwH,EAAqBtB,KAA4B,sBAAIA,KAA4B,uBAAK,GAC1FsB,EAAmBrF,QAAQ+E,EAAqB7B,KAAK,KAAM,IAC3DmC,EAAmB3D,KAAOqD,EAAqB7B,KAAK,KAAMmC,EAAmB3D,KAAKwB,KAAKmC,G","sources":["webpack://code-cave/webpack/runtime/chunk loaded","webpack://code-cave/webpack/runtime/create fake namespace object","webpack://code-cave/webpack/runtime/load script","webpack://code-cave/webpack/bootstrap","webpack://code-cave/webpack/runtime/compat get default export","webpack://code-cave/webpack/runtime/define property getters","webpack://code-cave/webpack/runtime/ensure chunk","webpack://code-cave/webpack/runtime/get javascript chunk filename","webpack://code-cave/webpack/runtime/get mini-css chunk filename","webpack://code-cave/webpack/runtime/global","webpack://code-cave/webpack/runtime/hasOwnProperty shorthand","webpack://code-cave/webpack/runtime/make namespace object","webpack://code-cave/webpack/runtime/node module decorator","webpack://code-cave/webpack/runtime/publicPath","webpack://code-cave/webpack/runtime/jsonp chunk loading"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"code-cave:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"147\":\"component---src-pages-templates-project-tsx\",\"149\":\"component---src-pages-templates-policies-tsx\",\"354\":\"component---src-pages-templates-post-tsx\",\"403\":\"c294adedbbc0a5c4b071b27a5ffb97a116928d98\",\"417\":\"component---src-pages-templates-services-tsx\",\"514\":\"component---src-pages-templates-404-tsx\",\"548\":\"component---src-pages-templates-workflow-tsx\",\"577\":\"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb\",\"602\":\"dbbdfb320c5007a40fa91453221d77dae72f3b83\",\"650\":\"component---src-pages-templates-projects-tsx\",\"748\":\"component---src-pages-templates-blog-by-author-tsx\",\"832\":\"component---src-pages-templates-index-tsx\",\"899\":\"component---src-pages-templates-blog-by-hashtag-tsx\",\"926\":\"component---src-pages-templates-blog-tsx\"}[chunkId] || chunkId) + \"-\" + {\"147\":\"64eed449e2c049361b4e\",\"149\":\"359925d45492160d5e8b\",\"354\":\"4f0b1db8f77b105dfb25\",\"355\":\"8ec9d1cf4562de9fd523\",\"403\":\"83f152d3f32c8162f39f\",\"417\":\"0e6c6c54310d9f7b32b3\",\"475\":\"048fa666fc3431f933b0\",\"514\":\"1ec7dcfded6e73efef91\",\"548\":\"10c8768c64c0db9f80c2\",\"577\":\"6309d634607bf92093ab\",\"602\":\"00be99e431fb904367c1\",\"650\":\"05e1354e259380d8d7ed\",\"731\":\"fc2222e8bcbd3a323b37\",\"748\":\"81ce4ebe76fd86584042\",\"832\":\"0b0b64495eef863fe7d6\",\"843\":\"82fd7f798c0dd9a6f67b\",\"899\":\"135c2ed0b3b21b743c64\",\"926\":\"1a587e5e21db03ac0f47\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"d4b544d526e11837847b\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkcode_cave\"] = self[\"webpackChunkcode_cave\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","__proto__","t","value","mode","this","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","call","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","p","b","baseURI","self","location","href","installedChunks","installedChunkData","test","promise","resolve","reject","error","Error","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal"],"sourceRoot":""} \ No newline at end of file diff --git a/webpack.stats.json b/webpack.stats.json index 3ec1f27f..6f70877a 100644 --- a/webpack.stats.json +++ b/webpack.stats.json @@ -1 +1 @@ -{"name":"build-javascript","namedChunkGroups":{"app":{"name":"app","assets":[{"name":"webpack-runtime-f2b9d64d366c08a31ae8.js","size":4952},{"name":"styles.d4b544d526e11837847b.css","size":46610},{"name":"framework-2f7a9a83fd6996cb764f.js","size":141400},{"name":"app-a9a6bae6d362c36a6504.js","size":348984}],"filteredAssets":0,"assetsSize":541946,"filteredAuxiliaryAssets":17,"auxiliaryAssetsSize":2503066},"component---src-pages-templates-404-tsx":{"name":"component---src-pages-templates-404-tsx","assets":[{"name":"component---src-pages-templates-404-tsx-1ec7dcfded6e73efef91.js","size":5869}],"filteredAssets":0,"assetsSize":5869,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":32943},"component---src-pages-templates-blog-by-author-tsx":{"name":"component---src-pages-templates-blog-by-author-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-by-author-tsx-81ce4ebe76fd86584042.js","size":10492}],"filteredAssets":0,"assetsSize":21148,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":100382},"component---src-pages-templates-blog-by-hashtag-tsx":{"name":"component---src-pages-templates-blog-by-hashtag-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-by-hashtag-tsx-135c2ed0b3b21b743c64.js","size":9649}],"filteredAssets":0,"assetsSize":20305,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":97403},"component---src-pages-templates-blog-tsx":{"name":"component---src-pages-templates-blog-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-tsx-1a587e5e21db03ac0f47.js","size":9433}],"filteredAssets":0,"assetsSize":20089,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":97052},"component---src-pages-templates-index-tsx":{"name":"component---src-pages-templates-index-tsx","assets":[{"name":"styles.d4b544d526e11837847b.css","size":46610},{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js","size":30659},{"name":"dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","size":18834},{"name":"component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js","size":13702}],"filteredAssets":0,"assetsSize":120461,"filteredAuxiliaryAssets":18,"auxiliaryAssetsSize":849531},"component---src-pages-templates-policies-tsx":{"name":"component---src-pages-templates-policies-tsx","assets":[{"name":"component---src-pages-templates-policies-tsx-359925d45492160d5e8b.js","size":816}],"filteredAssets":0,"assetsSize":816,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":2133},"component---src-pages-templates-post-tsx":{"name":"component---src-pages-templates-post-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-post-tsx-4f0b1db8f77b105dfb25.js","size":8169}],"filteredAssets":0,"assetsSize":18825,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":91029},"component---src-pages-templates-project-tsx":{"name":"component---src-pages-templates-project-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","size":18834},{"name":"component---src-pages-templates-project-tsx-64eed449e2c049361b4e.js","size":8304}],"filteredAssets":0,"assetsSize":37794,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":182380},"component---src-pages-templates-projects-tsx":{"name":"component---src-pages-templates-projects-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-projects-tsx-05e1354e259380d8d7ed.js","size":4267}],"filteredAssets":0,"assetsSize":14923,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":81921},"component---src-pages-templates-services-tsx":{"name":"component---src-pages-templates-services-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js","size":30659},{"name":"dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","size":18834},{"name":"component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js","size":11498}],"filteredAssets":0,"assetsSize":71647,"filteredAuxiliaryAssets":4,"auxiliaryAssetsSize":342915},"component---src-pages-templates-workflow-tsx":{"name":"component---src-pages-templates-workflow-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js","size":30659},{"name":"component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js","size":5141}],"filteredAssets":0,"assetsSize":46456,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":222861}},"assetsByChunkName":{"app":["webpack-runtime-f2b9d64d366c08a31ae8.js","styles.d4b544d526e11837847b.css","framework-2f7a9a83fd6996cb764f.js","app-a9a6bae6d362c36a6504.js"],"component---src-pages-templates-404-tsx":["component---src-pages-templates-404-tsx-1ec7dcfded6e73efef91.js"],"component---src-pages-templates-blog-by-author-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-by-author-tsx-81ce4ebe76fd86584042.js"],"component---src-pages-templates-blog-by-hashtag-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-by-hashtag-tsx-135c2ed0b3b21b743c64.js"],"component---src-pages-templates-blog-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-tsx-1a587e5e21db03ac0f47.js"],"component---src-pages-templates-index-tsx":["styles.d4b544d526e11837847b.css","c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js","dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","component---src-pages-templates-index-tsx-c75a6635816ccf5de7a7.js"],"component---src-pages-templates-policies-tsx":["component---src-pages-templates-policies-tsx-359925d45492160d5e8b.js"],"component---src-pages-templates-post-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-post-tsx-4f0b1db8f77b105dfb25.js"],"component---src-pages-templates-project-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","component---src-pages-templates-project-tsx-64eed449e2c049361b4e.js"],"component---src-pages-templates-projects-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-projects-tsx-05e1354e259380d8d7ed.js"],"component---src-pages-templates-services-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js","dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","component---src-pages-templates-services-tsx-2bf1fbe1767dd059fe07.js"],"component---src-pages-templates-workflow-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-b76090e256baaaaaa313.js","component---src-pages-templates-workflow-tsx-0a7c4f4931d145fd524b.js"]},"childAssetsByChunkName":{}} \ No newline at end of file +{"name":"build-javascript","namedChunkGroups":{"app":{"name":"app","assets":[{"name":"webpack-runtime-85b1460a06372c31e1c7.js","size":4952},{"name":"styles.d4b544d526e11837847b.css","size":46610},{"name":"framework-2f7a9a83fd6996cb764f.js","size":141400},{"name":"app-a9a6bae6d362c36a6504.js","size":348984}],"filteredAssets":0,"assetsSize":541946,"filteredAuxiliaryAssets":17,"auxiliaryAssetsSize":2503066},"component---src-pages-templates-404-tsx":{"name":"component---src-pages-templates-404-tsx","assets":[{"name":"component---src-pages-templates-404-tsx-1ec7dcfded6e73efef91.js","size":5869}],"filteredAssets":0,"assetsSize":5869,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":32943},"component---src-pages-templates-blog-by-author-tsx":{"name":"component---src-pages-templates-blog-by-author-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-by-author-tsx-81ce4ebe76fd86584042.js","size":10492}],"filteredAssets":0,"assetsSize":21148,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":100382},"component---src-pages-templates-blog-by-hashtag-tsx":{"name":"component---src-pages-templates-blog-by-hashtag-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-by-hashtag-tsx-135c2ed0b3b21b743c64.js","size":9649}],"filteredAssets":0,"assetsSize":20305,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":97403},"component---src-pages-templates-blog-tsx":{"name":"component---src-pages-templates-blog-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-tsx-1a587e5e21db03ac0f47.js","size":9433}],"filteredAssets":0,"assetsSize":20089,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":97052},"component---src-pages-templates-index-tsx":{"name":"component---src-pages-templates-index-tsx","assets":[{"name":"styles.d4b544d526e11837847b.css","size":46610},{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js","size":30950},{"name":"dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","size":18834},{"name":"component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js","size":13702}],"filteredAssets":0,"assetsSize":120752,"filteredAuxiliaryAssets":18,"auxiliaryAssetsSize":850551},"component---src-pages-templates-policies-tsx":{"name":"component---src-pages-templates-policies-tsx","assets":[{"name":"component---src-pages-templates-policies-tsx-359925d45492160d5e8b.js","size":816}],"filteredAssets":0,"assetsSize":816,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":2133},"component---src-pages-templates-post-tsx":{"name":"component---src-pages-templates-post-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-post-tsx-4f0b1db8f77b105dfb25.js","size":8169}],"filteredAssets":0,"assetsSize":18825,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":91029},"component---src-pages-templates-project-tsx":{"name":"component---src-pages-templates-project-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","size":18834},{"name":"component---src-pages-templates-project-tsx-64eed449e2c049361b4e.js","size":8304}],"filteredAssets":0,"assetsSize":37794,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":182380},"component---src-pages-templates-projects-tsx":{"name":"component---src-pages-templates-projects-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-projects-tsx-05e1354e259380d8d7ed.js","size":4267}],"filteredAssets":0,"assetsSize":14923,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":81921},"component---src-pages-templates-services-tsx":{"name":"component---src-pages-templates-services-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js","size":30950},{"name":"dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","size":18834},{"name":"component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js","size":11498}],"filteredAssets":0,"assetsSize":71938,"filteredAuxiliaryAssets":4,"auxiliaryAssetsSize":343935},"component---src-pages-templates-workflow-tsx":{"name":"component---src-pages-templates-workflow-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js","size":30950},{"name":"component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js","size":5141}],"filteredAssets":0,"assetsSize":46747,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":223881}},"assetsByChunkName":{"app":["webpack-runtime-85b1460a06372c31e1c7.js","styles.d4b544d526e11837847b.css","framework-2f7a9a83fd6996cb764f.js","app-a9a6bae6d362c36a6504.js"],"component---src-pages-templates-404-tsx":["component---src-pages-templates-404-tsx-1ec7dcfded6e73efef91.js"],"component---src-pages-templates-blog-by-author-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-by-author-tsx-81ce4ebe76fd86584042.js"],"component---src-pages-templates-blog-by-hashtag-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-by-hashtag-tsx-135c2ed0b3b21b743c64.js"],"component---src-pages-templates-blog-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-tsx-1a587e5e21db03ac0f47.js"],"component---src-pages-templates-index-tsx":["styles.d4b544d526e11837847b.css","c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js","dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","component---src-pages-templates-index-tsx-0b0b64495eef863fe7d6.js"],"component---src-pages-templates-policies-tsx":["component---src-pages-templates-policies-tsx-359925d45492160d5e8b.js"],"component---src-pages-templates-post-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-post-tsx-4f0b1db8f77b105dfb25.js"],"component---src-pages-templates-project-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","component---src-pages-templates-project-tsx-64eed449e2c049361b4e.js"],"component---src-pages-templates-projects-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-projects-tsx-05e1354e259380d8d7ed.js"],"component---src-pages-templates-services-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js","dbbdfb320c5007a40fa91453221d77dae72f3b83-00be99e431fb904367c1.js","component---src-pages-templates-services-tsx-0e6c6c54310d9f7b32b3.js"],"component---src-pages-templates-workflow-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","71598b7b9331211c5dc2cdd9e7a07dc39cf581bb-6309d634607bf92093ab.js","component---src-pages-templates-workflow-tsx-10c8768c64c0db9f80c2.js"]},"childAssetsByChunkName":{}} \ No newline at end of file diff --git a/workflow/index.html b/workflow/index.html index 36df60df..e0062664 100644 --- a/workflow/index.html +++ b/workflow/index.html @@ -26,6 +26,6 @@ - \ No newline at end of file + \ No newline at end of file