1import{G as e,J as t}from"./components-SEbrD5up.js";import{t as n}from"./react-dom-Bx-oDGYU.js";import{t as r}from"./jsx-runtime-C55ckCrR.js";var i=t(e()),a=t(n()),o=function(e,t){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},o(e,t)};function s(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);o(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var c=function(){return c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},c.apply(this,arguments)};function l(e,t){t===void 0&&(t={});var n=t.insertAt;if(!(!e||typeof document>`u`)){var r=document.head||document.getElementsByTagName(`head`)[0],i=document.createElement(`style`);i.type=`text/css`,n===`top`&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}l(`/* 2 code is extracted from Calendly's embed stylesheet: https://assets.calendly.com/assets/external/widget.css 3*/ 4 5.calendly-inline-widget, 6.calendly-inline-widget *, 7.calendly-badge-widget, 8.calendly-badge-widget *, 9.calendly-overlay, 10.calendly-overlay * { 11 font-size: 16px; 12 line-height: 1.2em; 13} 14 15.calendly-inline-widget { 16 min-width: 320px; 17 height: 630px; 18} 19 20.calendly-inline-widget iframe, 21.calendly-badge-widget iframe, 22.calendly-overlay iframe { 23 display: inline; 24 width: 100%; 25 height: 100%; 26} 27 28.calendly-popup-content { 29 position: relative; 30} 31 32.calendly-popup-content.calendly-mobile { 33 -webkit-overflow-scrolling: touch; 34 overflow-y: auto; 35} 36 37.calendly-overlay { 38 position: fixed; 39 top: 0; 40 left: 0; 41 right: 0; 42 bottom: 0; 43 overflow: hidden; 44 z-index: 9999; 45 background-color: #a5a5a5; 46 background-color: rgba(31, 31, 31, 0.4); 47} 48 49.calendly-overlay .calendly-close-overlay { 50 position: absolute; 51 top: 0; 52 left: 0; 53 right: 0; 54 bottom: 0; 55} 56 57.calendly-overlay .calendly-popup { 58 box-sizing: border-box; 59 position: absolute; 60 top: 50%; 61 left: 50%; 62 -webkit-transform: translateY(-50%) translateX(-50%); 63 transform: translateY(-50%) translateX(-50%); 64 width: 80%; 65 min-width: 900px; 66 max-width: 1000px; 67 height: 90%; 68 max-height: 680px; 69} 70 71@media (max-width: 975px) { 72 .calendly-overlay .calendly-popup { 73 position: fixed; 74 top: 50px; 75 left: 0; 76 right: 0; 77 bottom: 0; 78 -webkit-transform: none; 79 transform: none; 80 width: 100%; 81 height: auto; 82 min-width: 0; 83 max-height: none; 84 } 85} 86 87.calendly-overlay .calendly-popup .calendly-popup-content { 88 height: 100%; 89} 90 91.calendly-overlay .calendly-popup-close { 92 position: absolute; 93 top: 25px; 94 right: 25px; 95 color: #fff; 96 width: 19px; 97 height: 19px; 98 cursor: pointer; 99 background: url(https://assets.calendly.com/assets/external/close-icon.svg) 100 no-repeat; 101 background-size: contain; 102} 103 104@media (max-width: 975px) { 105 .calendly-overlay .calendly-popup-close { 106 top: 15px; 107 right: 15px; 108 } 109} 110 111.calendly-badge-widget { 112 position: fixed; 113 right: 20px; 114 bottom: 15px; 115 z-index: 9998; 116} 117 118.calendly-badge-widget .calendly-badge-content { 119 display: table-cell; 120 width: auto; 121 height: 45px; 122 padding: 0 30px; 123 border-radius: 25px; 124 box-shadow: rgba(0, 0, 0, 0.25) 0 2px 5px; 125 font-family: sans-serif; 126 text-align: center; 127 vertical-align: middle; 128 font-weight: bold; 129 font-size: 14px; 130 color: #fff; 131 cursor: pointer; 132} 133 134.calendly-badge-widget .calendly-badge-content.calendly-white { 135 color: #666a73; 136} 137 138.calendly-badge-widget .calendly-badge-content span { 139 display: block; 140 font-size: 12px; 141} 142 143.calendly-spinner { 144 position: absolute; 145 top: 50%; 146 left: 0; 147 right: 0; 148 -webkit-transform: translateY(-50%); 149 transform: translateY(-50%); 150 text-align: center; 151 z-index: -1; 152} 153 154.calendly-spinner > div { 155 display: inline-block; 156 width: 18px; 157 height: 18px; 158 background-color: #e1e1e1; 159 border-radius: 50%; 160 vertical-align: middle; 161 -webkit-animation: calendly-bouncedelay 1.4s infinite ease-in-out; 162 animation: calendly-bouncedelay 1.4s infinite ease-in-out; 163 -webkit-animation-fill-mode: both; 164 animation-fill-mode: both; 165} 166 167.calendly-spinner .calendly-bounce1 { 168 -webkit-animation-delay: -0.32s; 169 animation-delay: -0.32s; 170} 171 172.calendly-spinner .calendly-bounce2 { 173 -webkit-animation-delay: -0.16s; 174 animation-delay: -0.16s; 175} 176 177@-webkit-keyframes calendly-bouncedelay { 178 0%, 179 80%, 180 100% { 181 -webkit-transform: scale(0); 182 transform: scale(0); 183 } 184 185 40% { 186 -webkit-transform: scale(1); 187 transform: scale(1); 188 } 189} 190 191@keyframes calendly-bouncedelay { 192 0%, 193 80%, 194 100% { 195 -webkit-transform: scale(0); 196 transform: scale(0); 197 } 198 199 40% { 200 -webkit-transform: scale(1); 201 transform: scale(1); 202 } 203} 204`);function u(e){return e.charAt(0)===`#`?e.slice(1):e}function d(e){return e?.primaryColor&&(e.primaryColor=u(e.primaryColor)),e?.textColor&&(e.textColor=u(e.textColor)),e?.backgroundColor&&(e.backgroundColor=u(e.backgroundColor)),e}var f;(function(e){e.PROFILE_PAGE_VIEWED=`calendly.profile_page_viewed`,e.EVENT_TYPE_VIEWED=`calendly.event_type_viewed`,e.DATE_AND_TIME_SELECTED=`calendly.date_and_time_selected`,e.EVENT_SCHEDULED=`calendly.event_scheduled`,e.PAGE_HEIGHT=`calendly.page_height`})(f||={});var p=function(e){var t=e.url,n=e.prefill,r=n===void 0?{}:n,i=e.pageSettings,a=i===void 0?{}:i,o=e.utm,s=o===void 0?{}:o,c=e.embedType,l=d(a),u=l.backgroundColor,f=l.hideEventTypeDetails,p=l.hideLandingPageDetails,h=l.primaryColor,_=l.textColor,v=l.hideGdprBanner,y=r.customAnswers,b=r.date,x=r.email,S=r.firstName,C=r.guests,w=r.lastName,T=r.location,E=r.name,D=s.utmCampaign,O=s.utmContent,k=s.utmMedium,A=s.utmSource,j=s.utmTerm,M=s.salesforce_uuid,N=t.indexOf(`?`),P=N>-1,F=t.slice(N+1);return`${P?t.slice(0,N):t}?${[P?F:null,u?`background_color=${u}`:null,f?`hide_event_type_details=1`:null,p?`hide_landing_page_details=1`:null,h?`primary_color=${h}`:null,_?`text_color=${_}`:null,v?`hide_gdpr_banner=1`:null,E?`name=${encodeURIComponent(E)}`:null,T?`location=${encodeURIComponent(T)}`:null,S?`first_name=${encodeURIComponent(S)}`:null,w?`last_name=${encodeURIComponent(w)}`:null,C?`guests=${C.map(encodeURIComponent).join(`,`)}`:null,x?`email=${encodeURIComponent(x)}`:null,b&&b instanceof Date?`date=${m(b)}`:null,D?`utm_campaign=${encodeURIComponent(D)}`:null,O?`utm_content=${encodeURIComponent(O)}`:null,k?`utm_medium=${encodeURIComponent(k)}`:null,A?`utm_source=${encodeURIComponent(A)}`:null,j?`utm_term=${encodeURIComponent(j)}`:null,M?`salesforce_uuid=${encodeURIComponent(M)}`:null,c?`embed_type=${c}`:null,`embed_domain=1`].concat(y?g(y):[]).filter(function(e){return e!==null}).join(`&`)}`},m=function(e){var t=e.getMonth()+1,n=e.getDate();return[e.getFullYear(),t<10?`0${t}`:t,n<10?`0${n}`:n].join(`-`)},h=/^a\d{1,2}$/,g=function(e){var t=Object.keys(e).filter(function(e){return e.match(h)});return t.length?t.map(function(t){return`${t}=${encodeURIComponent(e[t])}`}):[]},_=function(e){s(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.render=function(){return i.createElement(`div`,{className:`calendly-spinner`},i.createElement(`div`,{className:`calendly-bounce1`}),i.createElement(`div`,{className:`calendly-bounce2`}),i.createElement(`div`,{className:`calendly-bounce3`}))},t}(i.Component),v=`calendly-inline-widget`,y=function(e){s(t,e);function t(t){var n=e.call(this,t)||this;return n.state={isLoading:!0},n.onLoad=n.onLoad.bind(n),n}return t.prototype.onLoad=function(){this.setState({isLoading:!1})},t.prototype.render=function(){var e=p({url:this.props.url,pageSettings:this.props.pageSettings,prefill:this.props.prefill,utm:this.props.utm,embedType:`Inline`}),t=this.props.LoadingSpinner||_;return i.createElement(`div`,{className:this.props.className||v,style:this.props.styles||{}},this.state.isLoading&&i.createElement(t,null),i.createElement(`iframe`,{width:`100%`,height:`100%`,frameBorder:`0`,title:this.props.iframeTitle||`Calendly Scheduling Page`,onLoad:this.onLoad,src:e}))},t}(i.Component),b=function(e){s(t,e);function t(t){var n=e.call(this,t)||this;return n.state={isLoading:!0},n.onLoad=n.onLoad.bind(n),n}return t.prototype.onLoad=function(){this.setState({isLoading:!1})},t.prototype.render=function(){var e=p({url:this.props.url,pageSettings:this.props.pageSettings,prefill:this.props.prefill,utm:this.props.utm,embedType:`Inline`}),t=this.props.LoadingSpinner||_;return i.createElement(i.Fragment,null,this.state.isLoading&&i.createElement(t,null),i.createElement(`iframe`,{width:`100%`,height:`100%`,frameBorder:`0`,title:this.props.iframeTitle||`Calendly Scheduling Page`,onLoad:this.onLoad,src:e}))},t}(i.Component),x=(function(e){if(!e.open)return null;if(!e.rootElement)throw Error(`[react-calendly]: PopupModal rootElement property cannot be undefined`);return a.createPortal(i.createElement(`div`,{className:`calendly-overlay`},i.createElement(`div`,{onClick:e.onModalClose,className:`calendly-close-overlay`}),i.createElement(`div`,{className:`calendly-popup`},i.createElement(`div`,{className:`calendly-popup-content`},i.createElement(b,c({},e)))),i.createElement(`button`,{className:`calendly-popup-close`,onClick:e.onModalClose,"aria-label":`Close modal`,style:{display:`block`,border:`none`,padding:0}})),e.rootElement)});(function(e){s(t,e);function t(t){var n=e.call(this,t)||this;return n.state={isOpen:!1},n.onClick=n.onClick.bind(n),n.onClose=n.onClose.bind(n),n}return t.prototype.onClick=function(e){e.preventDefault(),this.setState({isOpen:!0})},t.prototype.onClose=function(e){e.stopPropagation(),this.setState({isOpen:!1})},t.prototype.render=function(){return i.createElement(i.Fragment,null,i.createElement(`button`,{onClick:this.onClick,style:this.props.styles||{},className:this.props.className||``},this.props.text),i.createElement(x,c({},this.props,{open:this.state.isOpen,onModalClose:this.onClose,rootElement:this.props.rootElement})))},t})(i.Component),function(e){s(t,e);function t(t){var n=e.call(this,t)||this;return n.state={isOpen:!1},n.onClick=n.onClick.bind(n),n.onClose=n.onClose.bind(n),n}return t.prototype.onClick=function(){this.setState({isOpen:!0})},t.prototype.onClose=function(e){e.stopPropagation(),this.setState({isOpen:!1})},t.prototype.render=function(){return i.createElement(`div`,{className:`calendly-badge-widget`,onClick:this.onClick},i.createElement(`div`,{className:`calendly-badge-content`,style:{background:this.props.color||`#00a2ff`,color:this.props.textColor||`#ffffff`}},this.props.text||`Schedule time with me`,this.props.branding&&i.createElement(`span`,null,`powered by Calendly`)),i.createElement(x,c({},this.props,{open:this.state.isOpen,onModalClose:this.onClose,rootElement:this.props.rootElement})))},t}(i.Component);var S=r(),C=`demo-form-referral-source`,w=`demo-form-utm-params`,T=`https://calendly.com/d/ctmg-9qx-7yb/constructable-30-minute-chat`;
204function E(){if(typeof window>`u`)return{};let e=new URLSearchParams(window.location.search),t={};return[`utm_source`,`utm_medium`,`utm_campaign`,`utm_term`,`utm_content`].forEach(n=>{let r=e.get(n);r&&(t[n]=r)}),t}function D(){if(typeof window>`u`)return`Direct`;let e=sessionStorage.getItem(C);if(e)return e;let t=document.referrer||`Direct`;return sessionStorage.setItem(C,t),t}function O(){if(typeof window>`u`)return{};let e=sessionStorage.getItem(w);if(e)try{return JSON.parse(e)}catch{return{}}let t=E();return Object.keys(t).length>0&&sessionStorage.setItem(w,JSON.stringify(t)),t}function k(){let e=O(),t=D(),n=new URLSearchParams;return n.set(`hide_event_type_details`,`1`),n.set(`hide_gdpr_banner`,`1`),n.set(`branding`,`false`),n.set(`background_color`,`ffffff`),n.set(`text_color`,`18181f`),n.set(`primary_color`,`0046d0`),Object.entries(e).forEach(([e,t])=>{n.set(e,t)}),!n.has(`utm_source`)&&t&&n.set(`utm_source`,t),typeof window<`u`&&!n.has(`utm_content`)&&n.set(`utm_content`,window.location.href),`${T}?${n.toString()}`}function A(e){return e.origin===`https://calendly.com`&&typeof e.data?.event==`string`&&e.data.event.startsWith(`calendly.`)}function j({className:e}){return(0,S.jsxs)(`div`,{className:e??`py-24 max-w-[1184px] md:px-4 md:mx-auto flex flex-col`,children:[(0,S.jsx)(`div`,{className:`text-center text-muted-foreground text-xl font-semibold py-4`,children:`Proudly backed by:`}),(0,S.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-3 gap-8 items-center justify-items-center`,children:[(0,S.jsx)(`div`,{className:`flex justify-center items-center h-12`,children:(0,S.jsx)(`a`,{href:`https://www.ycombinator.com/companies/constructable`,target:`_blank`,children:(0,S.jsx)(`img`,{src:`/ycombinator.svg`,alt:`Y Combinator`,className:`h-auto w-auto hover:opacity-80 transition-opacity duration-300`})})}),(0,S.jsx)(`div`,{className:`flex justify-center items-center h-12`,children:(0,S.jsx)(`a`,{href:`https://khoslaventures.com`,target:`_blank`,children:(0,S.jsx)(`img`,{src:`/khosla.svg`,alt:`Khosla Ventures`,className:`h-auto w-auto hover:opacity-80 transition-opacity duration-300`})})}),(0,S.jsx)(`div`,{className:`flex justify-center items-center h-12`,children:(0,S.jsx)(`a`,{href:`https://wayburycap.com`,target:`_blank`,children:(0,S.jsx)(`img`,{src:`/waybury.svg`,alt:`Waybury Capital`,className:`h-auto w-auto hover:opacity-80 transition-opacity duration-300`})})})]})]})}function M({hasHeadings:e=!0,hasBackedBy:t=!0,removeFormStyling:n=!1,cardHeading:r,heading:a,subheading:o}){let s=(0,i.useRef)(!1),c=(0,i.useMemo)(()=>k(),[]),[l,u]=(0,i.useState)(700);return(0,i.useEffect)(()=>{function e(e){if(A(e)){if(e.data.event===`calendly.page_height`){let t=e.data.payload?.height;if(t){let e=parseInt(String(t).replace(/\D/g,``),10);e>0&&u(e)}return}e.data.event===`calendly.event_scheduled`&&(s.current||(s.current=!0,typeof oaiq==`function`&&oaiq(`measure`,`appointment_scheduled`,{type:`customer_action`}),gtag_report_conversion()))}}return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[]),(0,S.jsxs)(`div`,{id:`demo-form`,className:n?``:t?`pt-24 lg:pt-32 lg:pb-8 px-4`:`py-24 lg:py-32 px-4`,style:n?void 0:{backgroundColor:`#FCFDFD`,backgroundImage:`url(/constructable-tile-bg.png)`,backgroundPosition:`-250px -250px`,backgroundRepeat:`repeat`},children:[(0,S.jsxs)(`div`,{className:`bg-white rounded-xl shadow-xl overflow-hidden max-w-[600px] mx-auto pt-8`,children:[r&&(0,S.jsx)(`h2`,{className:`text-2xl font-semibold text-center mb-8 px-6`,children:r}),e&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`h1`,{className:`text-4xl font-semibold text-center mb-2 ${a?``:`md:whitespace-nowrap`}`,children:a??(0,S.jsxs)(S.Fragment,{children:[`Create `,(0,S.jsx)(`span`,{className:`text-blue-700`,children:`trust.`}),(0,S.jsx)(`br`,{}),` Build the future.`]})}),(0,S.jsx)(`p`,{className:`text-xl text-center text-gray-600 mb-8`,children:o??`Let's get you building better.`})]}),(0,S.jsx)(y,{url:c,className:`w-full`,styles:{minWidth:`320px`,maxWidth:`600px`,margin:`0 auto`,padding:`0px`,width:`100%`,minHeight:`500px`,height:`${l}px`,overflow:`hidden`,backgroundColor:`white`},iframeTitle:`Schedule a meeting with Constructable`})]}),t&&(0,S.jsx)(j,{})]})}
204export{j as n,M as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.