(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[518],{63:(e,t,r)=>{"use strict";var n=r(7260);r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}})},1073:(e,t,r)=>{"use strict";r.d(t,{GalleryLightbox:()=>o});var n=r(5155),a=r(2115);function o(e){let{images:t}=e,[r,o]=(0,a.useState)(null),i=(0,a.useCallback)(()=>o(null),[]),l=(0,a.useCallback)(()=>o(e=>null===e?e:(e-1+t.length)%t.length),[t.length]),s=(0,a.useCallback)(()=>o(e=>null===e?e:(e+1)%t.length),[t.length]);return(0,a.useEffect)(()=>{if(null===r)return;let e=e=>{"Escape"===e.key?i():"ArrowLeft"===e.key?l():"ArrowRight"===e.key&&s()};return window.addEventListener("keydown",e),document.body.style.overflow="hidden",()=>{window.removeEventListener("keydown",e),document.body.style.overflow=""}},[r,i,l,s]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3",children:t.map((e,t)=>(0,n.jsx)("button",{type:"button",onClick:()=>o(t),className:"group block cursor-zoom-in overflow-hidden rounded-lg border border-gray-200 bg-white shadow-sm transition hover:shadow-md focus:outline-none focus-visible:ring-2 focus-visible:ring-brand-blue","aria-label":"Open larger view of ".concat(e.alt),children:(0,n.jsx)("img",{src:e.src,alt:e.alt,loading:"lazy",className:"h-full w-full object-cover transition duration-300 group-hover:scale-[1.03]"})},e.src))}),null!==r&&(0,n.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/90 p-4",onClick:i,role:"dialog","aria-modal":"true",children:[(0,n.jsx)("button",{type:"button",onClick:i,"aria-label":"Close",className:"absolute right-4 top-4 flex h-11 w-11 items-center justify-center rounded-full bg-white/10 text-2xl text-white transition hover:bg-white/20",children:"\xd7"}),(0,n.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),l()},"aria-label":"Previous image",className:"absolute left-4 flex h-11 w-11 items-center justify-center rounded-full bg-white/10 text-2xl text-white transition hover:bg-white/20",children:"‹"}),(0,n.jsx)("img",{src:t[r].src,alt:t[r].alt,onClick:e=>e.stopPropagation(),className:"max-h-[90vh] max-w-[90vw] rounded-lg object-contain shadow-2xl"}),(0,n.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),s()},"aria-label":"Next image",className:"absolute right-4 bottom-4 flex h-11 w-11 items-center justify-center rounded-full bg-white/10 text-2xl text-white transition hover:bg-white/20 sm:bottom-auto",children:"›"})]})]})}},1402:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return m},handleClientScriptLoad:function(){return p},initScriptLoader:function(){return b}});let n=r(8140),a=r(9417),o=r(5155),i=n._(r(7650)),l=a._(r(2115)),s=r(2073),u=r(4681),c=r(4853),d=new Map,f=new Set,h=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:a=null,dangerouslySetInnerHTML:o,children:l="",strategy:s="afterInteractive",onError:c,stylesheets:h}=e,p=r||t;if(p&&f.has(p))return;if(d.has(t)){f.add(p),d.get(t).then(n,c);return}let b=()=>{a&&a(),f.add(p)},g=document.createElement("script"),m=new Promise((e,t)=>{g.addEventListener("load",function(t){e(),n&&n.call(this,t),b()}),g.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});o?(g.innerHTML=o.__html||"",b()):l?(g.textContent="string"==typeof l?l:Array.isArray(l)?l.join(""):"",b()):t&&(g.src=t,d.set(t,m)),(0,u.setAttributesFromProps)(g,e),"worker"===s&&g.setAttribute("type","text/partytown"),g.setAttribute("data-nscript",s),h&&(e=>{if(i.default.preinit)return e.forEach(e=>{i.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(h),document.body.appendChild(g)};function p(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))}):h(e)}function b(e){e.forEach(p),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");f.add(t)})}function g(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:a=null,strategy:u="afterInteractive",onError:d,stylesheets:p,...b}=e,{updateScripts:g,scripts:m,getIsSsr:w,appDir:y,nonce:v}=(0,l.useContext)(s.HeadManagerContext);v=b.nonce||v;let x=(0,l.useRef)(!1);(0,l.useEffect)(()=>{let e=t||r;x.current||(a&&e&&f.has(e)&&a(),x.current=!0)},[a,t,r]);let _=(0,l.useRef)(!1);if((0,l.useEffect)(()=>{if(!_.current){if("afterInteractive"===u)h(e);else"lazyOnload"===u&&("complete"===document.readyState?(0,c.requestIdleCallback)(()=>h(e)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))}));_.current=!0}},[e,u]),("beforeInteractive"===u||"worker"===u)&&(g?(m[u]=(m[u]||[]).concat([{id:t,src:r,onLoad:n,onReady:a,onError:d,...b,nonce:v}]),g(m)):w&&w()?f.add(t||r):w&&!w()&&h({...e,nonce:v})),y){if(p&&p.forEach(e=>{i.default.preinit(e,{as:"style"})}),"beforeInteractive"===u)if(!r)return b.dangerouslySetInnerHTML&&(b.children=b.dangerouslySetInnerHTML.__html,delete b.dangerouslySetInnerHTML),(0,o.jsx)("script",{nonce:v,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{...b,id:t}])+")"}});else return i.default.preload(r,b.integrity?{as:"script",integrity:b.integrity,nonce:v,crossOrigin:b.crossOrigin}:{as:"script",nonce:v,crossOrigin:b.crossOrigin}),(0,o.jsx)("script",{nonce:v,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([r,{...b,id:t}])+")"}});"afterInteractive"===u&&r&&i.default.preload(r,b.integrity?{as:"script",integrity:b.integrity,nonce:v,crossOrigin:b.crossOrigin}:{as:"script",nonce:v,crossOrigin:b.crossOrigin})}return null}Object.defineProperty(g,"__nextScript",{value:!0});let m=g;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2501:(e,t,r)=>{"use strict";r.d(t,{QuoteProvider:()=>l,o:()=>i});var n=r(5155),a=r(2115);let o=(0,a.createContext)(null);function i(){let e=(0,a.useContext)(o);if(!e)throw Error("useQuote must be used within QuoteProvider");return e}function l(e){let{children:t}=e,[r,i]=(0,a.useState)(!1),l=(0,a.useCallback)(()=>i(!0),[]),s=(0,a.useCallback)(()=>i(!1),[]);return(0,n.jsx)(o.Provider,{value:{isOpen:r,open:l,close:s},children:t})}},3287:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,1402,23)),Promise.resolve().then(r.bind(r,1073)),Promise.resolve().then(r.bind(r,6376)),Promise.resolve().then(r.bind(r,6891)),Promise.resolve().then(r.bind(r,4835)),Promise.resolve().then(r.bind(r,3645))},3645:(e,t,r)=>{"use strict";r.d(t,{TrackedAnchor:()=>a});var n=r(5155);function a(e){let{href:t,eventName:r,eventPayload:a,className:o="",target:i,rel:l,onClick:s,children:u}=e;return(0,n.jsx)("a",{href:t,target:i,rel:l,className:o,onClick:()=>{"dataLayer"in window&&window.dataLayer.push({event:r,page_location:window.location.pathname,...a}),null==s||s()},children:u})}},4835:(e,t,r)=>{"use strict";r.d(t,{RotatingVideo:()=>o});var n=r(5155),a=r(2115);function o(e){let{sources:t,poster:r,className:o}=e,[i,l]=(0,a.useState)(0),s=(0,a.useRef)(null);return(0,n.jsx)("video",{ref:s,src:t[i],autoPlay:!0,muted:!0,playsInline:!0,preload:"metadata",poster:r,onEnded:()=>l(e=>(e+1)%t.length),className:o},t[i])}},4853:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return n},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5932:(e,t,r)=>{"use strict";r.d(t,{ErrorBoundary:()=>a});var n=r(2115);class a extends n.Component{static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){if("dataLayer"in window){var r;window.dataLayer.push({event:"client_error",error_boundary:null!=(r=this.props.label)?r:"unknown",error_message:e.message,error_stack:e.stack,component_stack:t.componentStack,page_location:window.location.pathname})}}render(){var e;return this.state.hasError?null!=(e=this.props.fallback)?e:null:this.props.children}constructor(...e){super(...e),this.state={hasError:!1}}}},6376:(e,t,r)=>{"use strict";r.d(t,{QuoteButton:()=>i});var n=r(5155),a=r(2501);let o={primary:"rounded-md bg-brand-red px-10 py-4 text-center text-sm font-bold uppercase tracking-wider text-white transition hover:bg-brand-red-dark hover:shadow-[0_0_20px_rgba(232,117,26,0.4)]",white:"rounded-md bg-white px-8 py-3 text-sm font-semibold uppercase tracking-wider text-brand-blue transition hover:bg-gray-100",outline:"rounded-md border-2 border-white/30 px-10 py-4 text-center text-sm font-semibold uppercase tracking-wider text-white transition hover:border-white hover:bg-white/10"};function i(e){let{label:t="Get A Quote",className:r="",variant:i="primary"}=e,{open:l}=(0,a.o)();return(0,n.jsx)("button",{onClick:()=>{"dataLayer"in window&&window.dataLayer.push({event:"cta_click_quote",cta_text:t,page_location:window.location.pathname}),l()},"data-tracking":"cta-quote",className:"".concat(o[i]," ").concat(r),children:t})}},6891:(e,t,r)=>{"use strict";r.d(t,{QuoteInline:()=>l});var n=r(5155),a=r(2115),o=r(63),i=r(5932);function l(e){return(0,n.jsx)(i.ErrorBoundary,{label:"quote-inline",children:(0,n.jsx)(s,{...e})})}function s(e){let{className:t="",widgetId:r="strux-gaq-inline-r56426",headerText:i="Get Your Free In-Home Design & Pricing",buttonText:l="Get My Free Design",categories:s="Cabinets|Slatwall|Storage Racks|Other",source:u="inline_form"}=e,c=(0,o.useRouter)(),d=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e="data-strux-inline-".concat(r);if(document.querySelector("script[".concat(e,"]")))return;let t="https://app.struxgarage.com/assets/widgets/v1/strux-get-a-quote-widget.js?target=".concat(r,"&businessId=business2&headerText=").concat(encodeURIComponent(i),"&buttonText=").concat(encodeURIComponent(l),"&categories=").concat(encodeURIComponent(s)),n=document.createElement("script");n.src=t,n.async=!0,n.setAttribute(e,"true"),document.body.appendChild(n)},[r,i,l,s]),(0,a.useEffect)(()=>{let e=d.current;if(!e)return;let t=e=>{let t=e.detail;"dataLayer"in window&&window.dataLayer.push({event:"quote_submitted",source:u,page_location:window.location.pathname,...t}),c.push("/thank-you")};return e.addEventListener("strux:quote-submitted",t),()=>e.removeEventListener("strux:quote-submitted",t)},[c,u]),(0,n.jsx)("div",{ref:d,id:r,className:t,"data-tracking":"quote-inline"})}}},e=>{e.O(0,[441,255,358],()=>e(e.s=3287)),_N_E=e.O()}]);