(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5405],{75557:function(t,r,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return u(21473)}])},13234:function(t,r,u){"use strict";u.d(r,{l:function(){return f}});var l=u(82729),s=u(12870),c=u.n(s),d=u(84540);function _templateObject(){var t=(0,l._)(["\n byline-> {\n ...,\n avatar {\n altText,\n ","\n }\n }\n"]);return _templateObject=function(){return t},t}var f=c()(_templateObject(),d.i)},84540:function(t,r,u){"use strict";u.d(r,{i:function(){return c}});var l=u(82729),s=u(12870);function _templateObject(){var t=(0,l._)(["\n asset-> {\n url,\n metadata {\n dimensions {\n height,\n width,\n aspectRatio\n }\n }\n }\n"]);return _templateObject=function(){return t},t}var c=u.n(s)()(_templateObject())},9620:function(t,r,u){"use strict";u.d(r,{k:function(){return f}});var l=u(82729),s=u(12870),c=u.n(s),d=u(84540);function _templateObject(){var t=(0,l._)(["\n image {\n altText,\n ","\n }\n"]);return _templateObject=function(){return t},t}var f=c()(_templateObject(),d.i)},93032:function(t,r,u){"use strict";u.d(r,{M:function(){return f}});var l=u(82729),s=u(12870),c=u.n(s),d=u(84540);function _templateObject(){var t=(0,l._)(["\n meta {\n title,\n seoTitle,\n slug {\n current\n },\n canonicalUrl,\n robots,\n seoDescription,\n seoImage {\n ","\n }\n }"]);return _templateObject=function(){return t},t}var f=c()(_templateObject(),d.i)},66689:function(t,r,u){"use strict";u.d(r,{l:function(){return f}});var l=u(82729),s=u(12870),c=u.n(s),d=u(9620);function _templateObject(){var t=(0,l._)(["\ntitle,\n heading,\n subheading,\n headingSize,\n logoAlignment,\n logoSize,\n colorTheme,\n cta,\n logos[]-> {\n ...,\n ","\n }"]);return _templateObject=function(){return t},t}var f=c()(_templateObject(),d.k)},21473:function(t,r,u){"use strict";u.r(r),u.d(r,{__N_SSG:function(){return F},default:function(){return Home}});var l=u(72253),s=u(14932),c=u(24043),d=u(85893),f=u(67294),m=u(74356),k=u(82729),S=u(34764),_=u(93032),x=u(13234),j=u(9620),O=u(66689);function _templateObject(){var t=(0,k._)(['\n*[_type == "homePage"][0] {\n varHero {\n header,\n cta,\n loom,\n ',"\n },\n howLoomWorksHeader,\n recordScreen,\n flexibleRowsHeader,\n flexibleRows[] {\n ...,\n ","\n },\n useCasesHeader,\n useCases[] {\n ...,\n ","\n },\n privacySettingsBlock,\n quickLinksHeader,\n quickLinks,\n featureListHeader,\n featureList,\n banner[] {\n ...\n },\n enterprise,\n loomAiBlock {\n header,\n appendAiLogo,\n aiFeatures,\n cta,\n isVideo,\n videoUrl,\n ","\n },\n socialProofModule-> {\n ",",\n logosTwo[]-> {\n ...,\n ","\n },\n logosThree[]-> {\n ...,\n ","\n }\n },\n testimonials[]-> {\n ...,\n logo-> {\n ","\n },\n ","\n },\n endOfPageModule-> {\n cta,\n heading,\n ...\n },\n ","\n}\n"]);return _templateObject=function(){return t},t}var E=(0,S.Z)(_templateObject(),j.k,j.k,j.k,j.k,O.l,j.k,j.k,j.k,x.l,_.M),L=u(45888),C=u(33322),H=u(17255),M=u(26230),N=u(22007),T=u(67820),U=u(47247),A=u(31422),Z=u(45977),D=u(50255),I=u(1670),P=u(68638),V=u(60305),R=u(74874),B=u(19741),z=u(47861),q=u(51365),J=u(13736),W=u(81238),F=!0;function Home(t){var r,u,k,S,_,x,j,O,F,$,K,X,G=t.accountNavData,Q=t.initialData,Y=t.footerNavData,ee=t.navData,en=t.draftMode,et=(0,c._)((0,f.useState)(!0),2),er=et[0],eo=et[1],ei=(0,c._)((0,f.useState)(!1),2),ea=ei[0],eu=ei[1],el=(0,c._)((0,m.yR)(Q,E),1)[0];(0,f.useEffect)(function(){eu(!0)},[]);var es=(0,s._)((0,l._)({},null==el?void 0:null===(r=el.varHero)||void 0===r?void 0:r.cta),{advanced:!0,trackEventName:"Sign Up CTA Click",trackEventSource:"Homepage Hero"});return(0,d.jsxs)(D.Z,{accountNavData:G,footerNavData:Y,name:"Home",bannerContent:null==el?void 0:el.banner,navData:ee,preview:en,children:[(0,d.jsx)(I.Z,{data:null==el?void 0:el.meta,url:null!==(X=null==el?void 0:null===(u=el.meta)||void 0===u?void 0:u.canonicalUrl)&&void 0!==X?X:"https://patgrady.indiedemos.com/",children:(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:W.$},id:"loom-schema",type:"application/ld+json"})}),(null==el?void 0:el.varHero)&&(0,d.jsx)(B.Z,{bgColor:(0,C.b)("violet-20").bg,buttonType:"secondary",className:"relative pb-fluid-lg",cta:es,hLevel:"h1",hFont:"lg",hLineLength:"2xl",bLineLength:"3xl",header:null==el?void 0:null===(k=el.varHero)||void 0===k?void 0:k.header,nested:!0,themeColor:"violet-20",themeColorMode:"light",ctaSize:L.UK?"lg":"xl",secondaryCta:L.UK?{copy:"Install Chrome Extension",link:"https://chrome.google.com/webstore/detail/loom-%E2%80%93-screen-recorder-sc/liecbddmkiiihnedobmlmillhodjkdmb",iconRef:{icon:"download"},advanced:!0,openInNewTab:!0,trackEventName:"App Install Button Click",trackEventSource:"Homepage Hero",trackEventCustomProperties:{appType:"Chrome Extension"}}:void 0,isBtnStateEvaluated:ea,content:(0,d.jsx)("div",{className:"max-w-7xl mx-auto lg:-mt-32 px-24 2xl:px-0",children:(0,d.jsx)(z.Z,{className:"overflow-hidden thd-rounded-int my-auto thd-shadow-highlight bg-black",hideElements:!0,loom:null==el?void 0:null===(S=el.varHero)||void 0===S?void 0:S.loom,minimalPreplay:!0})})}),(null==el?void 0:el.socialProofModule)&&(0,d.jsx)(V.Z,{className:"mb-fluid-xs",data:null==el?void 0:el.socialProofModule,gradient:!0,hColor:"violet-light",lineLength:"xl",maxLogoHeight:"30",maxLogoWidth:"110",type:"homepage-carousel"}),(0,d.jsx)(H.Z,{header:null==el?void 0:el.loomAiBlock,themeColor:"violet-90"}),(0,d.jsx)(N.Z,{howLoomWorksHeader:null==el?void 0:el.howLoomWorksHeader,recordScreen:null==el?void 0:el.recordScreen,themeColor:"violet-10",contentAlign:"right"}),(0,d.jsx)(q.Z,{header:null==el?void 0:el.flexibleRowsHeader,rows:null==el?void 0:el.flexibleRows,reverseOrder:!0}),(0,d.jsx)(U.Z,{content:null==el?void 0:el.privacySettingsBlock}),(0,d.jsx)(T.Z,{header:null==el?void 0:el.useCasesHeader,cards:null==el?void 0:el.useCases}),(0,d.jsx)(Z.Z,{header:null==el?void 0:el.featureListHeader,list:null==el?void 0:el.featureList}),(0,d.jsx)(A.Z,{header:null==el?void 0:null===(_=el.quickLinksHeader)||void 0===_?void 0:_.header,content:null==el?void 0:el.quickLinks,cta:null==el?void 0:null===(x=el.quickLinksHeader)||void 0===x?void 0:x.cta}),(0,d.jsx)(M.Z,{cta:null==el?void 0:null===(j=el.enterprise)||void 0===j?void 0:j.cta,header:null==el?void 0:null===(O=el.enterprise)||void 0===O?void 0:O.header,themeColor:"grey-dark"}),(null==el?void 0:el.testimonials)&&(0,d.jsx)(J.Z,{bgVar:(0,C.b)("grey-light").bgVar,cards:el.testimonials,className:"mb-fluid-lg",themeColorMode:"light"}),(null==el?void 0:null===(F=el.endOfPageModule)||void 0===F?void 0:F.cta)&&(0,d.jsx)(R.Z,{cta:null==el?void 0:null===($=el.endOfPageModule)||void 0===$?void 0:$.cta,heading:null==el?void 0:null===(K=el.endOfPageModule)||void 0===K?void 0:K.heading}),ea&&(L.gn||L.Dt)&&er&&(0,d.jsx)(P.Z,{isIOS:L.gn,onClick:function(){return eo(!1)}})]})}},40275:function(t,r,u){"use strict";let l;u.d(r,{Kx:function(){return w},T:function(){return g},o_:function(){return v}});var s=u(67294);let c=new Uint8Array(16),d=[];for(let t=0;t<256;++t)d.push((t+256).toString(16).slice(1));var f={randomUUID:"u">typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let m=["channel/disconnect","channel/response","channel/heartbeat"],k=["handshake/syn","handshake/syn-ack","handshake/ack"],p=t=>m.some(r=>r===t),h=t=>k.some(r=>r===t),y=({data:t={}})=>"object"==typeof t&&null!==t&&!Array.isArray(t)&&!("domain"in t)&&["id","type","from","to"].every(r=>r in t)&&t.type.startsWith("handshake/");function g(t,r,u){let[m,k]=(0,s.useState)(),[S,_]=(0,s.useState)(!1);(0,s.useEffect)(()=>{if(window.self===window.top&&!window.opener)return;let t=function(t){let r=window.self!==window.top||window.opener,u={buffer:[],id:null,origin:null,source:null,status:"connecting"};function o(r,s){if(h(r)||p(r)||"connecting"!==u.status&&"reconnecting"!==u.status){if(u.id&&u.origin&&u.source){let m={connectionId:u.id,data:s,domain:"sanity/channels",from:t.id,id:function(t,r,u){if(f.randomUUID&&!t)return f.randomUUID();let s=(t=t||{}).random||(t.rng||function(){if(!l&&!(l="u">typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return l(c)})();return s[6]=15&s[6]|64,s[8]=63&s[8]|128,function(t,r=0){return d[t[r+0]]+d[t[r+1]]+d[t[r+2]]+d[t[r+3]]+"-"+d[t[r+4]]+d[t[r+5]]+"-"+d[t[r+6]]+d[t[r+7]]+"-"+d[t[r+8]]+d[t[r+9]]+"-"+d[t[r+10]]+d[t[r+11]]+d[t[r+12]]+d[t[r+13]]+d[t[r+14]]+d[t[r+15]]}(s)}(),to:t.connectTo,type:r};try{u.source.postMessage(m,{targetOrigin:u.origin})}catch{throw Error(`Failed to postMessage '${m.id}' on '${t.id}'`)}}}else u.buffer.push({type:r,data:s})}function i(r){if(y(r))console.error("Visual editing package mismatch detected! Please ensure you are using the latest version of Sanity Studio and any packages listed here:\nhttps://github.com/sanity-io/visual-editing");else if(function(r){let{data:u}=r;return"sanity/channels"===u.domain&&u.to===t.id&&u.from===t.connectTo&&"channel/response"!==u.type}(r)){let{data:t}=r;if(u.origin&&r.origin!==u.origin)return;if(r.source&&u.source!==r.source&&(u.source=r.source),h(t.type)&&t.data){if("handshake/syn"===t.type)return u.origin=r.origin,u.id=t.data.id,a("connecting"),void o("handshake/syn-ack",{id:u.id});if("handshake/ack"===t.type&&t.data.id===u.id)return void a("connected")}else if(t.connectionId===u.id&&r.origin===u.origin){if("channel/disconnect"===t.type)return void a("disconnected");{let r=[t.type,t.data];s.forEach(t=>{t(...r)}),o("channel/response",{responseTo:t.id})}return}}}let s=new Set,m=new Set;function a(t){u.status=t,m.forEach(r=>{r(t)}),"connected"===t&&function(){let t=[...u.buffer];u.buffer.splice(0,u.buffer.length),t.forEach(({type:t,data:r})=>{o(t,r)})}()}return window.addEventListener("message",i,!1),a("connecting"),{destroy:function(){["disconnected"].includes(u.status)||a("disconnected"),s.clear(),m.clear(),window.removeEventListener("message",i,!1)},inFrame:r,send:function(t,r){o(t,r)},subscribe:function(t){return s.add(t),()=>s.delete(t)},onStatusUpdate:function(t){return m.add(t),()=>m.delete(t)}}}({id:"preview-kit",connectTo:"presentation"});t.onStatusUpdate(t=>{"connected"===t?_(!0):"disconnected"===t&&_(!1)});let r=setTimeout(()=>k(t),0);return()=>{clearTimeout(r),t.destroy(),k(void 0)}},[u,r]);let x=JSON.stringify(Array.from(t.keys()));(0,s.useEffect)(()=>{"[]"!==x&&m&&S&&m.send("preview-kit/documents",{projectId:r,dataset:u,perspective:"previewDrafts",documents:Array.from(t.values())})},[x,m,S,u,t,r])}function w(t){let r=(0,s.useMemo)(()=>JSON.stringify(t||{}),[t]);return(0,s.useMemo)(()=>JSON.parse(r),[r])}function v(t){let{refreshInterval:r}=t,u=function(){let[t,r]=(0,s.useState)(!1);(0,s.useEffect)(()=>{r(navigator.onLine);let e=()=>r(!0),n=()=>r(!1);return window.addEventListener("online",e),window.addEventListener("offline",n),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",n)}},[]);let u=(0,s.useSyncExternalStore)(b,()=>document.visibilityState,()=>"hidden");return!t||"hidden"===u}(),[l,c]=(0,s.useState)("hit"),d=(0,s.useCallback)(()=>(c("inflight"),()=>c("hit")),[]);return(0,s.useEffect)(()=>{if(!r||"hit"!==l)return;let t=setTimeout(()=>c("stale"),r);return()=>clearTimeout(t)},[r,l]),(0,s.useEffect)(()=>{if("hit"!==l)return;let e=()=>c("stale");return window.addEventListener("focus",e),()=>window.removeEventListener("focus",e)},[r,l]),(0,s.useEffect)(()=>{u&&"hit"===l&&c("stale"),u||"stale"!==l||c("refresh")},[u,l]),[l,d]}function b(t){return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)}},80684:function(t,r,u){"use strict";u.d(r,{d:function(){return s}});var l=u(67294);let s=(0,l.createContext)(null)},74356:function(t,r,u){"use strict";u.d(r,{Ji:function(){return L},yR:function(){return g}});var l,s,c=u(40275),d=u(67294),f=u(80684),m="u">typeof Element,k="function"==typeof Map,S="function"==typeof Set,_="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView,x=(l=function(t,r){try{return function v(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){var u,l,s,c;if(t.constructor!==r.constructor)return!1;if(Array.isArray(t)){if((u=t.length)!=r.length)return!1;for(l=u;0!=l--;)if(!v(t[l],r[l]))return!1;return!0}if(k&&t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(c=t.entries();!(l=c.next()).done;)if(!r.has(l.value[0]))return!1;for(c=t.entries();!(l=c.next()).done;)if(!v(l.value[1],r.get(l.value[0])))return!1;return!0}if(S&&t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(c=t.entries();!(l=c.next()).done;)if(!r.has(l.value[0]))return!1;return!0}if(_&&ArrayBuffer.isView(t)&&ArrayBuffer.isView(r)){if((u=t.length)!=r.length)return!1;for(l=u;0!=l--;)if(t[l]!==r[l])return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf&&"function"==typeof t.valueOf&&"function"==typeof r.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString&&"function"==typeof t.toString&&"function"==typeof r.toString)return t.toString()===r.toString();if((u=(s=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(l=u;0!=l--;)if(!Object.prototype.hasOwnProperty.call(r,s[l]))return!1;if(m&&t instanceof Element)return!1;for(l=u;0!=l--;)if(("_owner"!==s[l]&&"__v"!==s[l]&&"__o"!==s[l]||!t.$$typeof)&&!v(t[s[l]],r[s[l]]))return!1;return!0}return t!=t&&r!=r}(t,r)}catch(t){if((t.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw t}}).__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l,j={exports:{}},O={};/** * @license React * use-sync-external-store-with-selector.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */j.exports=function(){if(s)return O;s=1;var t="function"==typeof Object.is?Object.is:function(t,r){return t===r&&(0!==t||1/t==1/r)||t!=t&&r!=r},r=d.useSyncExternalStore,u=d.useRef,l=d.useEffect,c=d.useMemo,f=d.useDebugValue;return O.useSyncExternalStoreWithSelector=function(s,d,m,k,S){var _=u(null);if(null===_.current){var x={hasValue:!1,value:null};_.current=x}else x=_.current;var j=r(s,(_=c(function(){function e(s){if(!l){if(l=!0,r=s,s=k(s),void 0!==S&&x.hasValue){var c=x.value;if(S(c,s))return u=c}return u=s}if(c=u,t(r,s))return c;var d=k(s);return void 0!==S&&S(c,d)?c:(r=s,u=d)}var r,u,l=!1,s=void 0===m?null:m;return[function(){return e(d())},null===s?void 0:function(){return e(s())}]},[d,m,k,S]))[0],_[1]);return l(function(){x.hasValue=!0,x.value=j},[j]),f(j),j},O}();var E=j.exports;function g(t,r,u,l){let{isEqual:s=x}=l||{},m=(0,d.useContext)(f.d),k=(0,c.Kx)(u),S=(0,d.useMemo)(()=>({subscribe:()=>()=>{},getSnapshot:()=>t}),[t]),_=(0,d.useMemo)(()=>(null==m?void 0:m(t,r,k))||{subscribe:()=>()=>{},getSnapshot:()=>t},[m,t,k,r]),[j]=(0,d.useState)(()=>{if(void 0===t)throw Error("initialSnapshot can't be undefined, if you don't want an initial value use null instead");try{return JSON.parse(JSON.stringify(t))}catch(r){return console.warn("Failed to deep clone initialSnapshot, this is likely an error and an indication that the snapshot isn't JSON serializable",{initialSnapshot:t,error:r}),t}}),O=(0,d.useCallback)(()=>j,[j]),L=(0,d.useCallback)(t=>t,[]),C=E.useSyncExternalStoreWithSelector((null==_?void 0:_.subscribe)||S.subscribe,(null==_?void 0:_.getSnapshot)||S.getSnapshot,O,L,s),H=null!==m;return[C,H&&j===C,H]}let L=(0,d.lazy)(()=>u.e(6166).then(u.bind(u,46166)))},34764:function(t,r,u){"use strict";function groq(t,...r){let u=t.length-1;return t.slice(0,u).reduce((t,u,l)=>t+u+r[l],"")+t[u]}u.d(r,{Z:function(){return groq}})}},function(t){t.O(0,[6413,8747,5675,3228,476,6389,5153,1351,1033,4499,5356,8100,255,6671,6613,2703,327,7017,1521,4767,9774,2888,179],function(){return t(t.s=75557)}),_N_E=t.O()}]);