"use strict";(self.webpackChunksubstack=self.webpackChunksubstack||[]).push([["3751"],{49550:function(e,t,n){let r,a,i;n.d(t,{O:()=>L});var s=n(98661),l=n(35521),u=n(76396),o=n(16457),c=n(98790),d=n(43090),f=n(45514),h=n(16653),p=n(50388),m=n(57820);function $({onFocus:e}){let[t,n]=(0,s.useState)(!0),r=(0,p.t)();return t?s.default.createElement(m._,{as:"button",type:"button",features:m.A.Focusable,onFocus:t=>{t.preventDefault();let a,i=50;a=requestAnimationFrame(function t(){if(i--<=0){a&&cancelAnimationFrame(a);return}if(e()){if(cancelAnimationFrame(a),!r.current)return;n(!1);return}a=requestAnimationFrame(t)})}}):null}var y=n(43149),v=n(76984),g=n(97482),T=n(51797),b=n(4470);let D=s.createContext(null);function M({children:e}){let t=s.useRef({groups:new Map,get(e,t){var n;let r=this.groups.get(e);r||(r=new Map,this.groups.set(e,r));let a=null!=(n=r.get(t))?n:0;return r.set(t,a+1),[Array.from(r.keys()).indexOf(t),function(){let e=r.get(t);e>1?r.set(t,e-1):r.delete(t)}]}});return s.createElement(D.Provider,{value:t},e)}function O(e){let t=s.useContext(D);if(!t)throw Error("You must wrap your component in a ");let n=function(){var e,t,n;let r=null!=(n=null==(t=null==(e=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)?void 0:e.ReactCurrentOwner)?void 0:t.current)?n:null;if(!r)return Symbol();let a=[],i=r;for(;i;)a.push(i.index),i=i.return;return"$."+a.join(".")}(),[r,a]=t.current.get(e,n);return s.useEffect(()=>a,[]),r}var S=((r=S||{})[r.Forwards=0]="Forwards",r[r.Backwards=1]="Backwards",r),x=((a=x||{})[a.Less=-1]="Less",a[a.Equal=0]="Equal",a[a.Greater=1]="Greater",a),E=((i=E||{})[i.SetSelectedIndex=0]="SetSelectedIndex",i[i.RegisterTab=1]="RegisterTab",i[i.UnregisterTab=2]="UnregisterTab",i[i.RegisterPanel=3]="RegisterPanel",i[i.UnregisterPanel=4]="UnregisterPanel",i);let k={0(e,t){var n;let r=(0,y.z2)(e.tabs,e=>e.current),a=(0,y.z2)(e.panels,e=>e.current),i=r.filter(e=>{var t;return!(null!=(t=e.current)&&t.hasAttribute("disabled"))}),s={...e,tabs:r,panels:a};if(t.index<0||t.index>r.length-1){let n=(0,v.E)(Math.sign(t.index-e.selectedIndex),{[-1]:()=>1,0:()=>(0,v.E)(Math.sign(t.index),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0});if(0===i.length)return s;let a=(0,v.E)(n,{0:()=>r.indexOf(i[0]),1:()=>r.indexOf(i[i.length-1])});return{...s,selectedIndex:-1===a?e.selectedIndex:a}}let l=r.slice(0,t.index),u=[...r.slice(t.index),...l].find(e=>i.includes(e));if(!u)return s;let o=null!=(n=r.indexOf(u))?n:e.selectedIndex;return -1===o&&(o=e.selectedIndex),{...s,selectedIndex:o}},1(e,t){if(e.tabs.includes(t.tab))return e;let n=e.tabs[e.selectedIndex],r=(0,y.z2)([...e.tabs,t.tab],e=>e.current),a=e.selectedIndex;return e.info.current.isControlled||-1===(a=r.indexOf(n))&&(a=e.selectedIndex),{...e,tabs:r,selectedIndex:a}},2:(e,t)=>({...e,tabs:e.tabs.filter(e=>e!==t.tab)}),3:(e,t)=>e.panels.includes(t.panel)?e:{...e,panels:(0,y.z2)([...e.panels,t.panel],e=>e.current)},4:(e,t)=>({...e,panels:e.panels.filter(e=>e!==t.panel)})},I=(0,s.createContext)(null);function w(e){let t=(0,s.useContext)(I);if(null===t){let t=Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,w),t}return t}I.displayName="TabsDataContext";let R=(0,s.createContext)(null);function A(e){let t=(0,s.useContext)(R);if(null===t){let t=Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,A),t}return t}function C(e,t){return(0,v.E)(t.type,k,e,t)}R.displayName="TabsActionsContext";let Y=s.Fragment,P=b.AN.RenderStrategy|b.AN.Static,L=Object.assign((0,b.yV)(function(e,t){var n,r;let a=(0,o.M)(),{id:i=`headlessui-tabs-tab-${a}`,...d}=e,{orientation:p,activation:m,selectedIndex:$,tabs:D,panels:M}=w("Tab"),S=A("Tab"),x=w("Tab"),E=(0,s.useRef)(null),k=(0,h.T)(E,t);(0,c.e)(()=>S.registerTab(E),[S,E]);let I=O("tabs"),R=D.indexOf(E);-1===R&&(R=I);let C=R===$,Y=(0,u.z)(e=>{var t;let n=e();if(n===y.fE.Success&&"auto"===m){let e=null==(t=(0,T.r)(E))?void 0:t.activeElement,n=x.tabs.findIndex(t=>t.current===e);-1!==n&&S.change(n)}return n}),P=(0,u.z)(e=>{let t=D.map(e=>e.current).filter(Boolean);if(e.key===l.R.Space||e.key===l.R.Enter){e.preventDefault(),e.stopPropagation(),S.change(R);return}switch(e.key){case l.R.Home:case l.R.PageUp:return e.preventDefault(),e.stopPropagation(),Y(()=>(0,y.jA)(t,y.TO.First));case l.R.End:case l.R.PageDown:return e.preventDefault(),e.stopPropagation(),Y(()=>(0,y.jA)(t,y.TO.Last))}if(Y(()=>(0,v.E)(p,{vertical:()=>e.key===l.R.ArrowUp?(0,y.jA)(t,y.TO.Previous|y.TO.WrapAround):e.key===l.R.ArrowDown?(0,y.jA)(t,y.TO.Next|y.TO.WrapAround):y.fE.Error,horizontal:()=>e.key===l.R.ArrowLeft?(0,y.jA)(t,y.TO.Previous|y.TO.WrapAround):e.key===l.R.ArrowRight?(0,y.jA)(t,y.TO.Next|y.TO.WrapAround):y.fE.Error}))===y.fE.Success)return e.preventDefault()}),L=(0,s.useRef)(!1),U=(0,u.z)(()=>{var e;L.current||(L.current=!0,null==(e=E.current)||e.focus({preventScroll:!0}),S.change(R),(0,g.Y)(()=>{L.current=!1}))}),N=(0,u.z)(e=>{e.preventDefault()}),_=(0,s.useMemo)(()=>{var t;return{selected:C,disabled:null!=(t=e.disabled)&&t}},[C,e.disabled]),H={ref:k,onKeyDown:P,onMouseDown:N,onClick:U,id:i,role:"tab",type:(0,f.f)(e,E),"aria-controls":null==(r=null==(n=M[R])?void 0:n.current)?void 0:r.id,"aria-selected":C,tabIndex:C?0:-1};return(0,b.sY)({ourProps:H,theirProps:d,slot:_,defaultTag:"button",name:"Tabs.Tab"})}),{Group:(0,b.yV)(function(e,t){let{defaultIndex:n=0,vertical:r=!1,manual:a=!1,onChange:i,selectedIndex:l=null,...o}=e,f=r?"vertical":"horizontal",p=a?"manual":"auto",m=null!==l,v=(0,d.E)({isControlled:m}),g=(0,h.T)(t),[T,D]=(0,s.useReducer)(C,{info:v,selectedIndex:null!=l?l:n,tabs:[],panels:[]}),O=(0,s.useMemo)(()=>({selectedIndex:T.selectedIndex}),[T.selectedIndex]),S=(0,d.E)(i||(()=>{})),x=(0,d.E)(T.tabs),E=(0,s.useMemo)(()=>({orientation:f,activation:p,...T}),[f,p,T]),k=(0,u.z)(e=>(D({type:1,tab:e}),()=>D({type:2,tab:e}))),w=(0,u.z)(e=>(D({type:3,panel:e}),()=>D({type:4,panel:e}))),A=(0,u.z)(e=>{P.current!==e&&S.current(e),m||D({type:0,index:e})}),P=(0,d.E)(m?e.selectedIndex:T.selectedIndex),L=(0,s.useMemo)(()=>({registerTab:k,registerPanel:w,change:A}),[]);return(0,c.e)(()=>{D({type:0,index:null!=l?l:n})},[l]),(0,c.e)(()=>{if(void 0===P.current||T.tabs.length<=0)return;let e=(0,y.z2)(T.tabs,e=>e.current);e.some((e,t)=>T.tabs[t]!==e)&&A(e.indexOf(T.tabs[P.current]))}),s.default.createElement(M,null,s.default.createElement(R.Provider,{value:L},s.default.createElement(I.Provider,{value:E},E.tabs.length<=0&&s.default.createElement($,{onFocus:()=>{var e,t;for(let n of x.current)if((null==(e=n.current)?void 0:e.tabIndex)===0)return null==(t=n.current)||t.focus(),!0;return!1}}),(0,b.sY)({ourProps:{ref:g},theirProps:o,slot:O,defaultTag:Y,name:"Tabs"}))))}),List:(0,b.yV)(function(e,t){let{orientation:n,selectedIndex:r}=w("Tab.List"),a=(0,h.T)(t);return(0,b.sY)({ourProps:{ref:a,role:"tablist","aria-orientation":n},theirProps:e,slot:{selectedIndex:r},defaultTag:"div",name:"Tabs.List"})}),Panels:(0,b.yV)(function(e,t){let{selectedIndex:n}=w("Tab.Panels"),r=(0,h.T)(t),a=(0,s.useMemo)(()=>({selectedIndex:n}),[n]);return(0,b.sY)({ourProps:{ref:r},theirProps:e,slot:a,defaultTag:"div",name:"Tabs.Panels"})}),Panel:(0,b.yV)(function(e,t){var n,r,a,i;let l=(0,o.M)(),{id:u=`headlessui-tabs-panel-${l}`,tabIndex:d=0,...f}=e,{selectedIndex:p,tabs:$,panels:y}=w("Tab.Panel"),v=A("Tab.Panel"),g=(0,s.useRef)(null),T=(0,h.T)(g,t);(0,c.e)(()=>v.registerPanel(g),[v,g,u]);let D=O("panels"),M=y.indexOf(g);-1===M&&(M=D);let S=M===p,x=(0,s.useMemo)(()=>({selected:S}),[S]),E={ref:T,id:u,role:"tabpanel","aria-labelledby":null==(r=null==(n=$[M])?void 0:n.current)?void 0:r.id,tabIndex:S?d:-1};return S||null!=(a=f.unmount)&&!a||null!=(i=f.static)&&i?(0,b.sY)({ourProps:E,theirProps:f,slot:x,defaultTag:"div",features:P,visible:S,name:"Tabs.Panel"}):s.default.createElement(m._,{as:"span","aria-hidden":"true",...E})})})},41830:function(e,t,n){function r(){return(r=Object.assign||function(e){for(var t=1;t$,QS:()=>p,ko:()=>y,lQ:()=>m,lk:()=>d,oW:()=>h,sm:()=>f}),"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var i=a(function(e,t){var n,r,a,i,s,l,u,o,c,d,f,h,p,m,$,y,v,g,T,b;e.exports=(n="millisecond",r="second",a="minute",i="hour",s="week",l="month",u="quarter",o="year",c="date",d=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},(m={})[p="en"]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},$=function(e){return e instanceof T},y=function(e,t,n){var r;if(!e)return p;if("string"==typeof e)m[e]&&(r=e),t&&(m[e]=t,r=e);else{var a=e.name;m[a]=e,r=a}return!n&&r&&(p=r),r||!n&&p},v=function(e,t){if($(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new T(n)},(g={s:h,z:function(e){var t=-e.utcOffset(),n=Math.abs(t);return(t<=0?"+":"-")+h(Math.floor(n/60),2,"0")+":"+h(n%60,2,"0")},m:function e(t,n){if(t.date()=Math.abs(e)?60*e:e,a=this;if(t)return a.$offset=r,a.$u=0===e,a;if(0!==e){var i=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(a=this.local().add(r+i,"minute")).$offset=r,a.$x.$localOffset=i}else a=this.utc();return a};var l=r.format;r.format=function(e){return l.call(this,e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":""))},r.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*e},r.isUTC=function(){return!!this.$u},r.toISOString=function(){return this.toDate().toISOString()},r.toString=function(){return this.toDate().toUTCString()};var u=r.toDate;r.toDate=function(e){return"s"===e&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():u.call(this)};var o=r.diff;r.diff=function(e,t,r){if(e&&this.$u===e.$u)return o.call(this,e,t,r);var a=this.local(),i=n(e).local();return o.call(a,i,t,r)}}});let l={dateTimeLocal:"YYYY-MM-DD[T]HH:mm:ss",dateTimeUTC:"YYYYMMDD[T]HHmmss[Z]",allDay:"YYYYMMDD"};function u(e){let t=new URLSearchParams;return Object.keys(e).sort().forEach(n=>{let r=e[n];null!=r&&t.append(n,r)}),t.toString().replace(/\+/g,"%20")}function o({startTime:e,endTime:t},n){let r=l[n];return{start:e.format(r),end:t.format(r)}}i.extend(s);let c=(e,t=!0)=>{let{start:n,end:a,duration:s}=e,l=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,["start","end","duration"]),u=t?i(n).utc():i(n),o=a?t?i(a).utc():i(a):(()=>{if(e.allDay)return u.add(1,"day");if(s&&2==s.length){let e=Number(s[0]);return u.add(e,s[1])}return t?i().utc():i()})();return r({},l,{startTime:u,endTime:o})},d=e=>{let t=c(e),{start:n,end:r}=o(t,t.allDay?"allDay":"dateTimeUTC"),a={action:"TEMPLATE",text:t.title,details:t.description,location:t.location,trp:t.busy,dates:n+"/"+r,recur:t.rRule?"RRULE:"+t.rRule:void 0};return t.guests&&t.guests.length&&(a.add=t.guests.join()),`https://calendar.google.com/calendar/render?${u(a)}`},f=e=>{let t=c(e,!1),{start:n,end:r}=o(t,"dateTimeLocal");return`https://outlook.live.com/calendar/0/action/compose?${u({path:"/calendar/action/compose",rru:"addevent",startdt:n,enddt:r,subject:t.title,body:t.description,location:t.location,allday:t.allDay||!1})}`},h=e=>{let t=c(e,!1),{start:n,end:r}=o(t,"dateTimeLocal");return`https://outlook.live.com/calendar/0/deeplink/compose?${u({path:"/calendar/action/compose",rru:"addevent",startdt:n,enddt:r,subject:t.title,body:t.description,location:t.location,allday:t.allDay||!1})}`},p=e=>{let t=c(e,!1),{start:n,end:r}=o(t,"dateTimeLocal");return`https://outlook.office.com/calendar/0/action/compose?${u({path:"/calendar/action/compose",rru:"addevent",startdt:n,enddt:r,subject:t.title,body:t.description,location:t.location,allday:t.allDay||!1})}`},m=e=>{let t=c(e,!1),{start:n,end:r}=o(t,"dateTimeLocal");return`https://outlook.office.com/calendar/0/deeplink/compose?${u({path:"/calendar/action/compose",rru:"addevent",startdt:n,enddt:r,subject:t.title,body:t.description,location:t.location,allday:t.allDay||!1})}`},$=e=>{let t=c(e),{start:n,end:r}=o(t,t.allDay?"allDay":"dateTimeUTC");return`https://calendar.yahoo.com/?${u({v:60,title:t.title,st:n,et:r,desc:t.description,in_loc:t.location,dur:!!t.allDay&&"allday"})}`},y=e=>{let t=c(e),n=(t.description||"").replace(/,/gm,",").replace(/;/gm,";").replace(/\r\n/gm,"\n").replace(/\n/gm,"\\n").replace(/(\\n)[\s\t]+/gm,"\\n"),r=(t.location||"").replace(/,/gm,",").replace(/;/gm,";").replace(/\r\n/gm,"\n").replace(/\n/gm,"\\n").replace(/(\\n)[\s\t]+/gm,"\\n"),{start:a,end:s}=o(t,t.allDay?"allDay":"dateTimeUTC"),u=i(new Date).utc().format(l.dateTimeUTC),d=[{key:"BEGIN",value:"VCALENDAR"},{key:"VERSION",value:"2.0"},{key:"PRODID",value:t.title},{key:"BEGIN",value:"VEVENT"},{key:"URL",value:t.url},{key:"DTSTART",value:a},{key:"DTEND",value:s},{key:"DTSTAMP",value:u},...t.allDay?[{key:"X-MICROSOFT-CDO-ALLDAYEVENT",value:"TRUE"},{key:"X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT",value:"TRUE"}]:[],{key:"RRULE",value:t.rRule},{key:"SUMMARY",value:t.title},{key:"DESCRIPTION",value:n},{key:"LOCATION",value:r},{key:"ORGANIZER",value:t.organizer},{key:"STATUS",value:t.status},{key:"UID",value:Math.floor(1e5*Math.random()).toString().replace(".","")},{key:"END",value:"VEVENT"},{key:"END",value:"VCALENDAR"}],f="";return d.forEach(e=>{if(e.value){if("ORGANIZER"==e.key){let t=e.value;f+=`${e.key};${encodeURIComponent(`CN=${t.name}:MAILTO:${t.email}\r `)}`}else f+=`${e.key}:${encodeURIComponent(`${e.value}\r `)}`}}),`data:text/calendar;charset=utf8,${f}`}}}]); //# sourceMappingURL=3751.1cb41153.js.map