(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[182,207,221,551,958],{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}})},2501:(e,t,r)=>{"use strict";r.d(t,{QuoteProvider:()=>i,o:()=>s});var n=r(5155),o=r(2115);let a=(0,o.createContext)(null);function s(){let e=(0,o.useContext)(a);if(!e)throw Error("useQuote must be used within QuoteProvider");return e}function i(e){let{children:t}=e,[r,s]=(0,o.useState)(!1),i=(0,o.useCallback)(()=>s(!0),[]),u=(0,o.useCallback)(()=>s(!1),[]);return(0,n.jsx)(a.Provider,{value:{isOpen:r,open:i,close:u},children:t})}},5932:(e,t,r)=>{"use strict";r.d(t,{ErrorBoundary:()=>o});var n=r(2115);class o 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:()=>s});var n=r(5155),o=r(2501);let a={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 s(e){let{label:t="Get A Quote",className:r="",variant:s="primary"}=e,{open:i}=(0,o.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}),i()},"data-tracking":"cta-quote",className:"".concat(a[s]," ").concat(r),children:t})}},6891:(e,t,r)=>{"use strict";r.d(t,{QuoteInline:()=>i});var n=r(5155),o=r(2115),a=r(63),s=r(5932);function i(e){return(0,n.jsx)(s.ErrorBoundary,{label:"quote-inline",children:(0,n.jsx)(u,{...e})})}function u(e){let{className:t="",widgetId:r="strux-gaq-inline-r56426",headerText:s="Get Your Free In-Home Design & Pricing",buttonText:i="Get My Free Design",categories:u="Cabinets|Slatwall|Storage Racks|Other",source:c="inline_form"}=e,d=(0,a.useRouter)(),l=(0,o.useRef)(null);return(0,o.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(s),"&buttonText=").concat(encodeURIComponent(i),"&categories=").concat(encodeURIComponent(u)),n=document.createElement("script");n.src=t,n.async=!0,n.setAttribute(e,"true"),document.body.appendChild(n)},[r,s,i,u]),(0,o.useEffect)(()=>{let e=l.current;if(!e)return;let t=e=>{let t=e.detail;"dataLayer"in window&&window.dataLayer.push({event:"quote_submitted",source:c,page_location:window.location.pathname,...t}),d.push("/thank-you")};return e.addEventListener("strux:quote-submitted",t),()=>e.removeEventListener("strux:quote-submitted",t)},[d,c]),(0,n.jsx)("div",{ref:l,id:r,className:t,"data-tracking":"quote-inline"})}},8464:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,2619,23)),Promise.resolve().then(r.t.bind(r,1356,23)),Promise.resolve().then(r.bind(r,6376)),Promise.resolve().then(r.bind(r,6891))}},e=>{e.O(0,[356,619,441,255,358],()=>e(e.s=8464)),_N_E=e.O()}]);