@snagset/server 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.js +5 -0
- package/dist/app.js.map +1 -1
- package/dist/bin.js +1 -1
- package/dist/bin.js.map +1 -1
- package/dist/routes/commentEdit.js +11 -2
- package/dist/routes/commentEdit.js.map +1 -1
- package/dist/routes/cors.js +13 -1
- package/dist/routes/cors.js.map +1 -1
- package/dist/routes/members.js +7 -1
- package/dist/routes/members.js.map +1 -1
- package/dist/routes/reviewLinks.js +1 -1
- package/dist/routes/reviewLinks.js.map +1 -1
- package/dist/routes/sessions.js +191 -10
- package/dist/routes/sessions.js.map +1 -1
- package/dist/routes/threads.js +57 -27
- package/dist/routes/threads.js.map +1 -1
- package/dist/studioReviewers.js +19 -0
- package/dist/studioReviewers.js.map +1 -1
- package/package.json +1 -1
- package/static/dashboard/assets/{CompositeItem-CYCgjQYA.js → CompositeItem-DcTtfhMj.js} +1 -1
- package/static/dashboard/assets/{ConfirmDialog-ChIOOj7I.js → ConfirmDialog-C7IpllNH.js} +1 -1
- package/static/dashboard/assets/{CopyButton-V7OJiMLP.js → CopyButton-C0gZH7mu.js} +1 -1
- package/static/dashboard/assets/{FieldItemContext-DVtdzu3C.js → FieldItemContext-D0qd3DQv.js} +1 -1
- package/static/dashboard/assets/{InstallTag-OD-dW_hC.js → InstallTag-DTw-EtuD.js} +1 -1
- package/static/dashboard/assets/{SaveState-JVgANqCr.js → SaveState-Bk30DUJ3.js} +1 -1
- package/static/dashboard/assets/{_app-B0TJyHg-.js → _app-CAmVh6lR.js} +1 -1
- package/static/dashboard/assets/{_app-Bwss1pXe.js → _app-gSqPuozu.js} +1 -1
- package/static/dashboard/assets/{activity-CbcgWM3L.js → activity-zmYVgnQm.js} +1 -1
- package/static/dashboard/assets/{arrow-left-BrmSwEeI.js → arrow-left-CqsX1hoI.js} +1 -1
- package/static/dashboard/assets/{avatar-CwD1_B-n.js → avatar-08tu7BM9.js} +1 -1
- package/static/dashboard/assets/{badge-DM_IoUbC.js → badge-CgsMqJa4.js} +1 -1
- package/static/dashboard/assets/{card-DpmJQuox.js → card-CPsX9FTO.js} +1 -1
- package/static/dashboard/assets/{check-DNKwULUa.js → check-CJRIq1X0.js} +1 -1
- package/static/dashboard/assets/{chevron-right-ob3VZye2.js → chevron-right-BEmxTSY1.js} +1 -1
- package/static/dashboard/assets/{copy-CyBHfvzN.js → copy-xpnXaoOA.js} +1 -1
- package/static/dashboard/assets/{dialog-Bys-LJLw.js → dialog-CxlCupuA.js} +1 -1
- package/static/dashboard/assets/{dropdown-menu-Cqas_wS3.js → dropdown-menu-CGMdCM3V.js} +1 -1
- package/static/dashboard/assets/{image-off-D_65_17F.js → image-off-XJf-5RS9.js} +1 -1
- package/static/dashboard/assets/index-CR63M02l.js +169 -0
- package/static/dashboard/assets/{invite-Cc7l9fdY.js → invite-CcYboRQr.js} +1 -1
- package/static/dashboard/assets/{label-CwqSv8L3.js → label-Ds2N_0qv.js} +1 -1
- package/static/dashboard/assets/{layout-grid-PTAyhqU8.js → layout-grid-Dw9tiVXr.js} +1 -1
- package/static/dashboard/assets/me-BbIUR0d4.js +1 -0
- package/static/dashboard/assets/{parts-CErghVAB.js → parts-BYKOSeUb.js} +1 -1
- package/static/dashboard/assets/{plus-BE-gOo3v.js → plus-DvfThULG.js} +1 -1
- package/static/dashboard/assets/s._site-D7IqF1qB.js +1 -0
- package/static/dashboard/assets/{s._site.comments-CbfjF9-s.js → s._site.comments-DTMz620W.js} +3 -3
- package/static/dashboard/assets/{s._site.reviewers-BMiqVuRm.js → s._site.reviewers-CDhFQ_du.js} +1 -1
- package/static/dashboard/assets/{s._site.settings-CEvRwMQt.js → s._site.settings-BWE3eC3w.js} +1 -1
- package/static/dashboard/assets/{setup-CkNn_rwp.js → setup-BP-kGzjw.js} +1 -1
- package/static/dashboard/assets/{sign-in-Bz6iRxcc.js → sign-in-Brn6kGrC.js} +1 -1
- package/static/dashboard/assets/{sign-up-QcstGuaV.js → sign-up-DxeJ0RND.js} +1 -1
- package/static/dashboard/assets/{sites-DJjGT-f2.js → sites-BSP6CMHL.js} +1 -1
- package/static/dashboard/assets/studio-BW7OdRP1.js +1 -0
- package/static/dashboard/assets/{studio-qqUvuQo5.js → studio-BqA_XZwz.js} +1 -1
- package/static/dashboard/assets/{studio.index-zjJeqf8B.js → studio.index-CjkyAcKF.js} +1 -1
- package/static/dashboard/assets/studio.integrations-NDAXAPKG.js +1 -0
- package/static/dashboard/assets/{studio.members-BYd5gcvp.js → studio.members-CECLI69a.js} +2 -2
- package/static/dashboard/assets/{sun-DTQiNbTt.js → sun-B5BhapBo.js} +1 -1
- package/static/dashboard/assets/{switch-Cqqz6oQN.js → switch-C4RnvllL.js} +1 -1
- package/static/dashboard/assets/{table-D_36h1Oq.js → table-DOCWCO9W.js} +1 -1
- package/static/dashboard/assets/{useAriaLabelledBy-D-dab2TD.js → useAriaLabelledBy-C6VUMzW5.js} +1 -1
- package/static/dashboard/assets/{useBaseQuery-DmDP3Pxx.js → useBaseQuery-ldF9uyzz.js} +1 -1
- package/static/dashboard/assets/useQuery-VzaemGSO.js +1 -0
- package/static/dashboard/assets/useRender-CRLtPZ-q.js +1 -0
- package/static/dashboard/assets/{useValueChanged--Isnj6ZH.js → useValueChanged-BVjcYor6.js} +1 -1
- package/static/dashboard/assets/{users-CJVqlkra.js → users-Ji1BLjAt.js} +1 -1
- package/static/dashboard/assets/{welcome-BMr4vd5V.js → welcome-DzAUdMme.js} +1 -1
- package/static/dashboard/assets/widget-signin-CKUvfq3K.js +1 -0
- package/static/dashboard/assets/{you-Bqw_r3i7.js → you-2QsQK86v.js} +1 -1
- package/static/dashboard/assets/{zod-BMw0fS-7.js → zod-D-eI47yt.js} +1 -1
- package/static/dashboard/index.html +1 -1
- package/static/widget/snag.dock.js +5 -5
- package/static/widget/snag.panels.js +2 -2
- package/static/widget/snag.runtime.js +2 -2
- package/static/dashboard/assets/index-Cxnlb88o.js +0 -169
- package/static/dashboard/assets/me-kMczOn0k.js +0 -1
- package/static/dashboard/assets/s._site-BBRI74gv.js +0 -1
- package/static/dashboard/assets/studio-mKw0u2SL.js +0 -1
- package/static/dashboard/assets/studio.integrations-C9-R6CQZ.js +0 -1
- package/static/dashboard/assets/useQuery-CKn14AcE.js +0 -1
- package/static/dashboard/assets/useRender-B_JrSXOO.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aG as I}from"./index-Cxnlb88o.js";var me=e=>e.type==="checkbox",Se=e=>e.type==="file",te=e=>e instanceof Date,p=e=>e==null;const He=e=>typeof e=="object";var N=e=>!p(e)&&!Array.isArray(e)&&He(e)&&!te(e),Yr=e=>N(e)&&e.target?me(e.target)?e.target.checked:Se(e.target)?e.target.files:e.target.value:e;const Kr=/[.[\]'"]/;var ue=e=>e.split(Kr).filter(Boolean),Zr=(e,s)=>s.split(".").some((r,i,l)=>!isNaN(Number(r))&&e.has(l.slice(0,i).join("."))),Te=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function C(e){if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e);const s=typeof FileList<"u"&&e instanceof FileList;if(Te&&(e instanceof Blob||s))return e;const r=Array.isArray(e);if(!r&&e.constructor!==Object)return e;const i=r?[]:Object.create(Object.getPrototypeOf(e));for(const l in e)Object.prototype.hasOwnProperty.call(e,l)&&(i[l]=C(e[l]));return i}const oe={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},X={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},J={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Dr="root",je=["__proto__","constructor","prototype"],Jr=/^\w*$/;var ne=e=>Jr.test(e),O=e=>e===void 0,v=(e,s,r)=>{if(!s||!N(e))return r;const i=ne(s)?[s]:ue(s);if(i.some(u=>je.includes(u)))return r;const l=i.reduce((u,o)=>p(u)?void 0:u[o],e);return O(l)||l===e?O(e[s])?r:e[s]:l},re=e=>typeof e=="boolean",Y=e=>typeof e=="function",k=(e,s,r)=>{let i=-1;const l=ne(s)?[s]:ue(s),u=l.length,o=u-1;for(;++i<u;){const c=l[i];let m=r;if(i!==o){const E=e[c];m=N(E)||Array.isArray(E)?E:isNaN(+l[i+1])?{}:[]}if(je.includes(c))return;e[c]=m,e=e[c]}};const Qr=I.createContext(null);Qr.displayName="HookFormControlContext";var Xr=(e,s,r,i=!0)=>{const l={};for(const u in e)Object.defineProperty(l,u,{get:()=>{const o=u;return s._proxyFormState[o]!==X.all&&(s._proxyFormState[o]=!i||X.all),e[o]}});return l};const et=Te?I.useLayoutEffect:I.useEffect;var rt=e=>{const s=e.constructor&&e.constructor.prototype;return N(s)&&s.hasOwnProperty("isPrototypeOf")},Me=e=>p(e)||!He(e);const lr=(e,s)=>s.length===0&&!Array.isArray(e)&&!rt(e);function Q(e,s,r=new WeakMap){if(e===s)return!0;if(Me(e)||Me(s))return Object.is(e,s);if(te(e)&&te(s))return Object.is(e.getTime(),s.getTime());const i=Object.keys(e),l=Object.keys(s);if(i.length!==l.length)return!1;if(lr(e,i)||lr(s,l))return Object.is(e,s);if(!i.length&&Array.isArray(e)!==Array.isArray(s))return!1;const u=r.get(e);if(u&&u.has(s))return!0;if(u)u.add(s);else{const o=new WeakSet;o.add(s),r.set(e,o)}for(const o of i){const c=e[o];if(!(o in s))return!1;if(o!=="ref"){const m=s[o];if(te(c)&&te(m)||(N(c)||Array.isArray(c))&&(N(m)||Array.isArray(m))?!Q(c,m,r):!Object.is(c,m))return!1}}return!0}function tt(e){const s=I.useRef(!1),r=I.useRef(!1),i=I.useRef(void 0),l=I.useRef(0);l.current++,r.current;const u=I.useCallback((c,m,E)=>{if(c&&(s.current||r.current&&l.current>1)){const T=m();Q(i.current,T)||E(T)}s.current=!0},[]),o=I.useCallback((c,m)=>{c&&(i.current=C(m()))},[]);return{resyncIfNeeded:u,snapshot:o}}var M=e=>typeof e=="string",st=(e,s,r,i,l)=>M(e)?(i&&s.watch.add(e),v(r,e,l)):Array.isArray(e)?e.map(u=>(i&&s.watch.add(u),v(r,u,v(l,u)))):(i&&(s.watchAll=!0),r),De=e=>({isOnSubmit:!e||e===X.onSubmit,isOnBlur:e===X.onBlur,isOnChange:e===X.onChange,isOnAll:e===X.all,isOnTouch:e===X.onTouched}),Ue=(e,s,r)=>{if(r)return!1;if(s.watchAll||s.watch.has(e))return!0;for(const i of s.watch)if(e.startsWith(i)&&e.charAt(i.length)===".")return!0;return!1};const Ve=(e,s,r,i)=>{for(const l of r||Object.keys(e)){if(l==="_f")continue;const u=r?v(e,l):e[l];if(u){const{_f:o}=u;if(o){if(o.refs&&o.refs[0]&&s(o.refs[0],l)&&!i)return!0;if(o.ref&&s(o.ref,o.name)&&!i)return!0;if(Ve(u,s))break}else if((N(u)||Array.isArray(u))&&Ve(u,s))break}}};var ur=(e,s,r)=>{const i=v(e,r),l=Array.isArray(i)?i:[];return k(l,Dr,s[r]),k(e,r,l),e},B=e=>N(e)&&!Object.keys(e).length,ke=e=>{if(!Te)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},ze=e=>e.type==="radio",Oe=e=>e instanceof RegExp,Ge=(e,s,r,i,l)=>s?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[i]:l||!0}}:{};const fr={value:!1,isValid:!1},cr={value:!0,isValid:!0};var xr=e=>{if(!Array.isArray(e))return fr;if(e.length>1){const r=e.filter(i=>i&&i.checked&&!i.disabled).map(i=>i.value);return{value:r,isValid:!!r.length}}const s=e[0];return!s||!s.checked||s.disabled?fr:!s.attributes||!("value"in s.attributes)||O(s.value)||s.value===""?cr:{value:s.value,isValid:!0}};const dr={isValid:!1,value:null};var kr=e=>Array.isArray(e)?e.reduce((s,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:s,dr):dr;function yr(e,s,r="validate"){if(M(e)||Array.isArray(e)&&e.every(M)||re(e)&&!e)return{type:r,message:M(e)?e:"",ref:s}}var le=e=>N(e)&&!Oe(e)?e:{value:e,message:""},hr=async(e,s,r,i,l,u)=>{const{ref:o,refs:c,required:m,maxLength:E,minLength:T,min:H,max:j,pattern:$,validate:A,name:F,valueAsNumber:b,mount:fe}=e._f,w=v(r,F);if(!fe||s.has(F))return{};const ee=c?c[0]:o,P=D=>{if(l&&ee.reportValidity){const x=re(D)?"":D||"";c?c.forEach(R=>R.setCustomValidity(x)):ee.setCustomValidity(x),ee.reportValidity()}},S={},ce=ze(o),be=me(o),Ae=ce||be,ae=(b||Se(o))&&O(o.value)&&O(w)||ke(o)&&o.value===""||w===""||Array.isArray(w)&&!w.length,se=Ge.bind(null,F,i,S),Fe=(D,x,R,W=J.maxLength,K=J.minLength)=>{const q=D?x:R;S[F]={type:D?W:K,message:q,ref:o,...se(D?W:K,q)}};if(u?!Array.isArray(w)||!w.length:m&&(!Ae&&(ae||p(w))||re(w)&&!w||be&&!xr(c).isValid||ce&&!kr(c).isValid)){const{value:D,message:x}=M(m)?{value:!!m,message:m}:le(m);if(D&&(S[F]={type:J.required,message:x,ref:ee,...se(J.required,x)},!i))return P(x),S}if(!ae&&(!p(H)||!p(j))){let D,x;const R=le(j),W=le(H);if(!p(w)&&!te(w)&&!isNaN(w)){const K=o.valueAsNumber||w&&+w;p(R.value)||(D=K>R.value),p(W.value)||(x=K<W.value)}else{const K=o.valueAsDate||new Date(w),q=ye=>new Date(new Date().toDateString()+" "+ye),we=o.type=="time",G=o.type=="week";M(R.value)&&w&&(D=we?q(w)>q(R.value):G?w>R.value:K>new Date(R.value)),M(W.value)&&w&&(x=we?q(w)<q(W.value):G?w<W.value:K<new Date(W.value))}if((D||x)&&(Fe(!!D,R.message,W.message,J.max,J.min),!i))return P(S[F].message),S}if((E||T)&&!ae&&(M(w)||u&&Array.isArray(w))){const D=le(E),x=le(T),R=!p(D.value)&&w.length>+D.value,W=!p(x.value)&&w.length<+x.value;if((R||W)&&(Fe(R,D.message,x.message),!i))return P(S[F].message),S}if($&&!ae&&M(w)){const{value:D,message:x}=le($);if(Oe(D)&&!w.match(D)&&(S[F]={type:J.pattern,message:x,ref:o,...se(J.pattern,x)},!i))return P(x),S}if(A){if(Y(A)){const D=await A(w,r),x=yr(D,ee);if(x&&(S[F]={...x,...se(J.validate,x.message)},!i))return P(x.message),S}else if(N(A)){let D={};for(const x in A){if(!B(D)&&!i)break;const R=yr(await A[x](w,r),ee,x);R&&(D={...R,...se(x,R.message)},P(R.message),i&&(S[F]=D))}if(!B(D)&&(S[F]={ref:ee,...D},!i))return S}}const de=S[F];return P(de?de.message:!0),S},xe=e=>Array.isArray(e)?e:[e],Or=e=>Array.isArray(e)?e.filter(Boolean):[];function it(e,s){const r=s.length-1;let i=0;for(;i<r;){if(p(e)){e=void 0;break}e=e[s[i]],i++}return e}function nt(e){for(const s in e)if(e.hasOwnProperty(s)&&!O(e[s]))return!1;return!0}function U(e,s){if(M(s)&&Object.prototype.hasOwnProperty.call(e,s))return delete e[s],e;const r=Array.isArray(s)?s:ne(s)?[s]:ue(s);if(r.some(o=>je.includes(String(o))))return e;const i=r.length===1?e:it(e,r),l=r.length-1,u=r[l];return i&&delete i[u],l!==0&&(N(i)&&B(i)||Array.isArray(i)&&nt(i))&&U(e,r.slice(0,-1)),e}const at=I.createContext(null);at.displayName="HookFormContext";var gr=()=>{let e=[];return{get observers(){return e},next:l=>{for(const u of e)u.next&&u.next(l)},subscribe:l=>(e.push(l),{unsubscribe:()=>{e=e.filter(u=>u!==l)}}),unsubscribe:()=>{e=[]}}};function Sr(e,s){const r={};for(const i in e)if(e.hasOwnProperty(i)){const l=e[i],u=s[i];if(l&&N(l)&&u){const o=Sr(l,u);N(o)&&(r[i]=o)}else e[i]&&(r[i]=u)}return r}const vr=(e,s)=>e!==null&&He(e)&&Object.prototype.hasOwnProperty.call(e,s);var ot=(e,s)=>{if(!s)return!1;let r=e;for(const i of ne(s)?[s]:ue(s)){if(!vr(r,i))return vr(e,s);r=r[i]}return!0},Tr=e=>e.type==="select-multiple",lt=e=>ze(e)||me(e),Pe=e=>ke(e)&&e.isConnected;function _r(e){return Array.isArray(e)||N(e)}function Rr(e,s,r="",i=[]){for(const l in e){const u=r?`${r}.${l}`:l,o=e[l];_r(o)&&_r(v(s,u))?Rr(o,s,u,i):i.push(u)}return i}var ut=e=>{for(const s in e)if(Y(e[s]))return!0;return!1};function Cr(e){return Array.isArray(e)||N(e)&&!ut(e)}function Lr(e){return!!(e&&"_f"in e)}function Ir(e){return Array.isArray(e)?!e.some(s=>!O(s)):!Object.keys(e).length}function Be(e,s){Array.isArray(e)?e[s]=void 0:delete e[s]}function $e(e,s={},r){for(const i in e){const l=e[i],u=r&&r[i];Cr(l)&&(!Array.isArray(l)||!Lr(u))?(s[i]=Array.isArray(l)?[]:{},$e(l,s[i],u),Ir(s[i])&&Be(s,i)):O(l)||(s[i]=!0)}return s}function ie(e,s,r,i){r||(r=$e(s,{},i));for(const l in e){const u=e[l],o=i&&i[l];Cr(u)&&(!Array.isArray(u)||!Lr(o))?(O(s)||Me(r[l])?r[l]=$e(u,Array.isArray(u)?[]:{},o):ie(u,p(s)?{}:s[l],r[l],o),Ir(r[l])&&Be(r,l)):Q(u,s[l])?Be(r,l):r[l]=!0}return r}var ft=(e,s)=>{const r=s.split("."),i=[];let l=r[0];for(let u=1;u<r.length;l+="."+r[u++])!isNaN(+r[u])&&e.has(l)&&i.push(`${l}.${r[u]}`);return i},Nr=(e,{valueAsNumber:s,valueAsDate:r,setValueAs:i})=>O(e)?e:s?e===""?NaN:e&&+e:r&&M(e)?new Date(e):i?i(e):e;function Vr(e){const s=e.ref;return Se(s)?s.files:ze(s)?kr(e.refs).value:Tr(s)?[...s.selectedOptions].map(({value:r})=>r):me(s)?xr(e.refs).value:Nr(s.value,e)}var ct=(e,s,r,i)=>{const l={};for(const u of e){const o=v(s,u);o&&k(l,u,o._f)}return{criteriaMode:r,names:[...e],fields:l,shouldUseNativeValidation:i}},_e=e=>O(e)?e:Oe(e)?e.source:N(e)?Oe(e.value)?e.value.source:e.value:e;const mr="AsyncFunction";var dt=e=>{if(!e||!e.validate)return!1;if(Y(e.validate))return e.validate.constructor.name===mr;if(N(e.validate)){for(const s in e.validate)if(e.validate[s].constructor.name===mr)return!0}return!1},yt=e=>e.mount&&(e.required||!O(e.required)&&e.required!==!1||!O(e.min)||!O(e.max)||!O(e.maxLength)||!O(e.minLength)||e.pattern||e.validate);function br(e,s,r){const i=v(e,r);if(i||ne(r))return{error:i,name:r};const l=r.split(".");for(;l.length;){const u=l.join("."),o=v(s,u),c=v(e,u);if(o&&!Array.isArray(o)&&r!==u)return{name:r};if(c&&c.type)return{name:u,error:c};if(c&&c.root&&c.root.type)return{name:`${u}.root`,error:c.root};l.pop()}return{name:r}}var ht=(e,s,r,i)=>{r(e);const l=Object.keys(e).filter(u=>u!=="name");return!l.length||i&&l.length>=Object.keys(s).length||l.find(u=>s[u]===(!i||X.all))},gt=(e,s,r)=>!e||!s||e===s||xe(e).some(i=>i&&(r?i===s||i.startsWith(s+"."):i.startsWith(s)||s.startsWith(i))),vt=(e,s,r,i,l)=>l.isOnAll?!1:!r&&l.isOnTouch?!(s||e):(r?i.isOnBlur:l.isOnBlur)?!e:(r?i.isOnChange:l.isOnChange)?e:!0,_t=(e,s)=>{const r=v(e,s);!Or(r).length&&!r?.root&&U(e,s)};const Vt={mode:X.onSubmit,reValidateMode:X.onChange,shouldFocusError:!0},pe="form",mt=(e,s)=>{for(const r in e)r in s||delete e[r];Object.assign(e,s)},Ur={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function bt(e={}){let s={...Vt,...e},r={...C(Ur),isLoading:Y(s.defaultValues),errors:s.errors||{},disabled:s.disabled||!1},i={},l=N(s.defaultValues)||N(s.values)?C(s.defaultValues||s.values)||{}:{},u=s.shouldUnregister?{}:C(l),o={action:!1,actionArrayLengths:new Map,mount:!1,watch:!1,keepIsValid:!1},c={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set};const m={},E={};let T=0,H=De(s.mode),j=De(s.reValidateMode);const $={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},A={...$};let F={...A};const b={array:gr(),state:gr()};let fe=0;const w=s.criteriaMode===X.all,ee=(t,a)=>n=>{clearTimeout(E[t]),E[t]=setTimeout(a,n)},P=async t=>{if(!o.keepIsValid&&!s.disabled&&(A.isValid||F.isValid||t)){const a=++fe;let n;s.resolver?(n=B((await R()).errors),a===fe&&S()):n=await q({fields:i,onlyCheckValid:!0,eventType:oe.VALID}),a===fe&&n!==r.isValid&&b.state.next({isValid:n})}},S=(t,a)=>{!s.disabled&&(A.isValidating||A.validatingFields||F.isValidating||F.validatingFields)&&((t||c.mount).forEach(n=>{n&&(a?k(r.validatingFields,n,a):U(r.validatingFields,n))}),b.state.next({validatingFields:r.validatingFields,isValidating:!B(r.validatingFields)}))},ce=()=>{r.dirtyFields=ie(l,u,void 0,i)},be=(t,a=[],n,f,d=!0,y=!0)=>{if(f&&n&&!s.disabled){o.action=!0;const h=v(i,t);if(o.actionArrayLengths.has(t)||o.actionArrayLengths.set(t,Array.isArray(h)?h.length:0),y&&Array.isArray(h)){const V=n(h,f.argA,f.argB);d&&k(i,t,V)}const g=v(r.errors,t);if(y&&Array.isArray(g)){const V=g.root,L=n(g,f.argA,f.argB)||g;V&&(L.root=V),d&&k(r.errors,t,L),_t(r.errors,t)}const _=v(r.touchedFields,t);if((A.touchedFields||F.touchedFields)&&y&&Array.isArray(_)){const V=n(_,f.argA,f.argB);d&&k(r.touchedFields,t,V)}(A.dirtyFields||F.dirtyFields)&&ce(),b.state.next({name:t,isDirty:G(t,a),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else k(u,t,a)},Ae=(t,a)=>{k(r.errors,t,a),r.errors={...r.errors},b.state.next({errors:r.errors})},ae=t=>{r.errors=t,b.state.next({errors:r.errors,isValid:!1})},se=t=>{const a=ne(t)?[t]:ue(t);let n=u,f=l;for(let d=0;d<a.length-1;d++){const y=a[d];if(n=p(n)?n:n[y],f=p(f)?f:f[y],n===null&&f!==null)return!0}return!1},Fe=t=>{if(!o.actionArrayLengths.size)return!1;const a=ne(t)?[t]:ue(t);let n=u,f="",d=-1,y=0;for(let h=0;h<a.length;h++){if(p(n))return!1;const g=a[h];if(f=f?`${f}.${g}`:g,Array.isArray(n)&&+g>=n.length)return d===-1?!1:h===d?+g<y:!0;o.actionArrayLengths.has(f)&&(d=h+1,y=o.actionArrayLengths.get(f)),n=n[g]}return!1},de=(t,a,n,f)=>{const d=v(i,t);if(d){if(se(t)||Fe(t))return;const y=O(v(u,t)),h=v(u,t,O(n)?v(l,t):n);O(h)||f&&f.defaultChecked||a?k(u,t,a?h:Vr(d._f)):Re(t,h),o.mount&&!o.action&&(P(),y&&r.isDirty&&(A.isDirty||F.isDirty)&&(G()||(r.isDirty=!1,b.state.next({...r}))),e.shouldUnregister&&y&&!O(v(u,t))&&Ue(t,c)&&(o.watch=!0))}},D=(t,a,n,f,d)=>{let y=!1,h=!1;const g={name:t};if(!s.disabled||f===!0){if(!n||f){const _=Q(v(l,t),a);(A.isDirty||F.isDirty)&&(h=r.isDirty,r.isDirty=g.isDirty=!_||G(),y=h!==g.isDirty),h=!!v(r.dirtyFields,t),_!==r.isDirty?mt(r.dirtyFields,ie(l,u,void 0,i)):_?U(r.dirtyFields,t):k(r.dirtyFields,t,!0),g.dirtyFields=r.dirtyFields,y=y||(A.dirtyFields||F.dirtyFields)&&h!==!_}if(n){const _=v(r.touchedFields,t);_||(k(r.touchedFields,t,n),g.touchedFields=r.touchedFields,y=y||(A.touchedFields||F.touchedFields)&&_!==n)}y&&d&&b.state.next(g)}return y?g:{}},x=(t,a,n,f)=>{const d=v(r.errors,t),y=(A.isValid||F.isValid)&&re(a)&&r.isValid!==a;if(s.delayError&&n?(m[t]=ee(t,()=>Ae(t,n)),m[t](s.delayError)):(clearTimeout(E[t]),delete m[t],n?k(r.errors,t,n):U(r.errors,t),r.errors={...r.errors}),(n?!Q(d,n):d)||!B(f)||y){const h={...f,...y&&re(a)?{isValid:a}:{},errors:r.errors,name:t};b.state.next(h)}},R=async t=>(S(t,!0),await s.resolver(u,s.context,ct(t||c.mount,i,s.criteriaMode,s.shouldUseNativeValidation))),W=async t=>{const{errors:a}=await R(t);if(S(t),t){for(const n of t){const f=v(a,n);f?c.array.has(n)&&N(f)&&!Object.keys(f).some(d=>!Number.isNaN(Number(d)))?ur(r.errors,{[n]:f},n):k(r.errors,n,f):U(r.errors,n)}r.errors={...r.errors}}else r.errors=a;return a},K=async({name:t,eventType:a})=>{if(e.validate){const n=await e.validate({formValues:u,formState:r,name:t,eventType:a});if(N(n))for(const f in n){const d=n[f];d&&Ee(`${pe}.${f}`,{message:M(d.message)?d.message:"",type:d.type||J.validate})}else M(n)||!n?Ee(pe,{message:n||"",type:J.validate}):Xe(pe);return n}return!0},q=async({fields:t,onlyCheckValid:a,name:n,eventType:f,context:d={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(d.runRootValidation=!0,!await K({name:n,eventType:f})&&(d.valid=!1,a)))return d.valid;for(const y in t){const h=t[y];if(h){const{_f:g,..._}=h;if(g){const V=c.array.has(g.name),L=h._f&&dt(h._f),z=A.validatingFields||A.isValidating||F.validatingFields||F.isValidating;L&&z&&S([g.name],!0);const Z=await hr(h,c.disabled,u,w,s.shouldUseNativeValidation&&!a,V);if(L&&z&&S([g.name]),Z[g.name]&&(d.valid=!1,a)||(!a&&(v(Z,g.name)?V?ur(r.errors,Z,g.name):k(r.errors,g.name,Z[g.name]):U(r.errors,g.name)),e.shouldUseNativeValidation&&Z[g.name]))break}!B(_)&&await q({context:d,onlyCheckValid:a,fields:_,name:y,eventType:f})}}return d.valid},we=()=>{for(const t of c.unMount){const a=v(i,t);a&&(a._f.refs?a._f.refs.every(n=>!Pe(n)):!Pe(a._f.ref))&&Le(t)}c.unMount=new Set},G=(t,a)=>(t&&a&&k(u,t,a),!Q(o.mount?u:l,l)),ye=(t,a,n)=>st(t,c,{...o.mount?u:O(a)||M(t)?l:a},n,a),Pr=t=>Or(v(o.mount?u:l,t,s.shouldUnregister?v(l,t,[]):[])),Re=(t,a,n={},f=!1,d=!1,y=!1)=>{const h=v(i,t);let g=a;if(h){const _=h._f;_&&(!_.disabled&&k(u,t,Nr(a,_)),g=ke(_.ref)&&p(a)?"":a,Tr(_.ref)?[..._.ref.options].forEach(V=>V.selected=g.includes(V.value)):_.refs?me(_.ref)?_.refs.forEach(V=>{(!V.defaultChecked||!V.disabled)&&(Array.isArray(g)?V.checked=!!g.find(L=>L===V.value):V.checked=g===V.value||!!g)}):_.refs.forEach(V=>V.checked=V.value===g):Se(_.ref)?_.ref.value="":(_.ref.value=g,!_.ref.type&&!d&&!y&&b.state.next({name:t,values:f?u:C(u)})))}(n.shouldDirty||n.shouldTouch)&&D(t,g,n.shouldTouch,n.shouldDirty,!d),n.shouldValidate&&Ce(t,{delayError:n.delayError})},Ye=(t,a,n,f=!1,d=!1,y=!1)=>{c.array.has(t)&&b.array.next({name:t,values:f?u:C(u)});for(const h in a){if(!a.hasOwnProperty(h))continue;const g=a[h],_=t+"."+h,V=v(i,_);(c.array.has(t)||N(g)||V&&!V._f)&&!te(g)?Ye(_,g,n,f,d,y):Re(_,g,n,f,d,y)}},Ke=(t,a,n,f,d=!1)=>{const y=v(i,t),h=c.array.has(t),g=f?a:C(a),_=v(u,t),V=Q(_,g);if(V||k(u,t,g),h)b.array.next({name:t,values:f?u:C(u)}),(A.isDirty||A.dirtyFields||F.isDirty||F.dirtyFields)&&n.shouldDirty&&(ce(),d||b.state.next({name:t,dirtyFields:r.dirtyFields,isDirty:G(t,g)}));else{const L=Array.isArray(g)&&!g.length||B(g),z=!V&&!d;!y||y._f||p(g)||L?Re(t,g,n,f,d,z):Ye(t,g,n,f,d,z)}if(!V&&!d){const L=Ue(t,c),z=f?u:C(u);if(b.state.next({...L&&r,name:o.mount||L?t:void 0,values:z}),!h)for(const Z of ft(c.array,t))b.state.next({name:Z,values:z})}},he=(t,a,n={})=>Ke(t,a,n,!1),pr=(t,a={})=>{const n=Y(t)?t(u):t;if(!Q(u,n)){u={...u,...n};for(const f of c.mount)ot(n,f)&&Ke(f,v(n,f),a,!0,!0);b.state.next({...r,name:void 0,type:void 0,...T?{values:u}:{}}),a.shouldValidate&&P()}},Ze=async t=>{o.mount=!0;const a=t.target;let n=a.name,f=!0;const d=v(i,n),y=h=>{f=Number.isNaN(h)||te(h)&&isNaN(h.getTime())||Q(h,v(u,n,h))};if(d){let h,g;const _=a.type?Vr(d._f):Yr(t),V=t.type===oe.BLUR||t.type===oe.FOCUS_OUT,L=!yt(d._f)&&!e.validate&&!s.resolver&&!v(r.errors,n)&&!d._f.deps,z=L||vt(V,v(r.touchedFields,n),r.isSubmitted,j,H),Z=Ue(n,c,V);if(k(u,n,C(_)),V){if(!a||!a.readOnly){d._f.onBlur&&d._f.onBlur(t);const ve=m[n];ve&&ve(0)}}else d._f.onChange&&d._f.onChange(t);const ge=D(n,_,V),zr=!B(ge)||Z;if(!V&&b.state.next({name:n,type:t.type,...T?{values:C(u)}:{}}),z)return(!L||!r.isValid)&&(A.isValid||F.isValid)&&(s.mode==="onBlur"?V&&P():V||P()),zr&&b.state.next({name:n,...Z?{}:ge});if(!s.resolver&&e.validate&&await K({name:n,eventType:t.type}),!V&&Z&&b.state.next({...r}),s.resolver){const{errors:ve}=await R([n]);if(S([n]),y(_),!f){!B(ge)&&b.state.next(ge);return}const Gr=br(r.errors,i,n),or=br(ve,i,Gr.name||n);h=or.error,n=or.name,g=B(ve)}else S([n],!0),h=(await hr(d,c.disabled,u,w,s.shouldUseNativeValidation))[n],S([n]),y(_),f&&(h?g=!1:(A.isValid||F.isValid)&&(g=await q({fields:i,onlyCheckValid:!0,name:n,eventType:t.type})));f&&(d._f.deps&&(!Array.isArray(d._f.deps)||d._f.deps.length>0)&&Ce(d._f.deps),x(n,g,h,ge))}},Je=(t,a)=>{if(v(r.errors,a)&&t.focus)return t.focus(),1},Ce=async(t,a={})=>{let n,f;const d=xe(t);if(s.resolver){const y=await W(O(t)?t:d);n=B(y),f=t?!d.some(h=>v(y,h)):n}else t?(f=(await Promise.all(d.map(async y=>{const h=v(i,y);return await q({fields:h&&h._f?{[y]:h}:h,eventType:oe.TRIGGER})}))).every(Boolean),!(!f&&!r.isValid)&&P()):f=n=await q({fields:i,name:t,eventType:oe.TRIGGER});if(a.delayError&&s.delayError&&M(t)){const y=v(r.errors,t);y?(U(r.errors,t),m[t]=ee(t,()=>Ae(t,y)),m[t](s.delayError)):(clearTimeout(E[t]),delete m[t])}if(a.shouldTouch)for(const y of t?d:c.mount)!c.array.has(y)&&k(r.touchedFields,y,!0);return b.state.next({...!M(t)||(A.isValid||F.isValid)&&n!==r.isValid?{}:{name:t},...s.resolver||!t?{isValid:n}:{},...a.shouldTouch&&(A.touchedFields||F.touchedFields)?{touchedFields:r.touchedFields}:{},errors:r.errors}),a.shouldFocus&&!f&&Ve(i,Je,t?d:c.mount),f},Mr=(t,a)=>{let n={...o.mount?u:l};return a&&(n=Sr(a.dirtyFields?r.dirtyFields:r.touchedFields,n)),O(t)?n:M(t)?v(n,t):t.map(f=>v(n,f))},Br=t=>O(t)?{...r.errors}:M(t)?v(r.errors,t):t.map(a=>v(r.errors,a)),Qe=(t,a)=>{const n=a||r,f=v(n.errors,t);return{invalid:!!f,isDirty:!!v(n.dirtyFields,t),error:f,isValidating:!!v(r.validatingFields,t),isTouched:!!v(n.touchedFields,t)}},Xe=t=>{const a=t?xe(t):void 0;a?.forEach(n=>U(r.errors,n)),a?a.forEach(n=>{b.state.next({name:n,errors:r.errors})}):(r.errors={},b.state.next({errors:r.errors}))},Ee=(t,a,n)=>{const f=(v(i,t,{_f:{}})._f||{}).ref,d=v(r.errors,t)||{},{ref:y,message:h,type:g,..._}=d;k(r.errors,t,{..._,...a,ref:f}),b.state.next({name:t,errors:r.errors,isValid:!1}),n&&n.shouldFocus&&f&&f.focus&&f.focus()},$r=(t,a)=>{if(Y(t)){T++;const{unsubscribe:n}=b.state.subscribe({next:d=>"values"in d&&t(d.values||ye(void 0,a),d)});let f=!1;return{unsubscribe:()=>{f||(f=!0,T--,n())}}}return ye(t,a,!0)},er=t=>{var a;const n=!!(!((a=t.formState)===null||a===void 0)&&a.values);n&&T++;const{unsubscribe:f}=b.state.subscribe({next:y=>{if(gt(t.name,y.name,t.exact)&&ht(y,t.formState||A,nr,t.reRenderRoot)){const h={...u};t.callback({values:h,...r,...y,defaultValues:l})}}});if(!n)return f;let d=!1;return()=>{d||(d=!0,T--,f())}},Wr=t=>(o.mount=!0,F={...F,...t.formState},er({...t,formState:{...$,...t.formState}})),Le=(t,a={})=>{for(const n of t?xe(t):c.mount)c.mount.delete(n),c.array.delete(n),a.keepValue||(U(i,n),U(u,n)),!a.keepError&&U(r.errors,n),!a.keepDirty&&U(r.dirtyFields,n),!a.keepTouched&&U(r.touchedFields,n),!a.keepIsValidating&&U(r.validatingFields,n),!s.shouldUnregister&&!a.keepDefaultValue&&U(l,n);T&&b.state.next({values:C(u)}),b.state.next({...r,...a.keepDirty?{}:{isDirty:G()}}),!a.keepIsValid&&P()},rr=({disabled:t,name:a})=>{if(re(t)&&o.mount||t||c.disabled.has(a)){const d=c.disabled.has(a)!==!!t;t?c.disabled.add(a):c.disabled.delete(a),d&&o.mount&&!o.action&&P()}},Ie=(t,a={})=>{let n=v(i,t);const f=re(a.disabled)||re(s.disabled),d=!c.registerName.has(t)&&n&&n._f&&!n._f.mount;return k(i,t,{...n||{},_f:{...n&&n._f?n._f:{ref:{name:t}},name:t,mount:!0,...a}}),c.mount.add(t),n&&!d?rr({disabled:re(a.disabled)?a.disabled:s.disabled,name:t}):de(t,!0,a.value),{...f?{disabled:a.disabled||s.disabled}:{},...s.progressive?{required:!!a.required,min:_e(a.min),max:_e(a.max),minLength:_e(a.minLength),maxLength:_e(a.maxLength),pattern:_e(a.pattern)}:{},name:t,onChange:Ze,onBlur:Ze,ref:y=>{if(y){c.registerName.add(t),Ie(t,a),c.registerName.delete(t),n=v(i,t);const h=O(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,g=lt(h),_=n._f.refs||[];if(g?_.find(L=>L===h):h===n._f.ref)return;const V={...n._f};g?(V.refs=[..._.filter(Pe),h,...Array.isArray(v(l,t))?[{}]:[]],V.ref={type:h.type,name:t}):(V.ref=h,delete V.refs),k(i,t,{_f:V}),de(t,!1,void 0,h)}else n=v(i,t,{}),n._f&&(n._f.mount=!1),(s.shouldUnregister||a.shouldUnregister)&&!(Zr(c.array,t)&&o.action)&&c.unMount.add(t)}}},Ne=()=>s.shouldFocusError&&!s.shouldUseNativeValidation&&Ve(i,Je,c.mount),qr=t=>{re(t)&&(b.state.next({disabled:t}),Ve(i,(a,n)=>{const f=v(i,n);f&&(a.disabled=f._f.disabled||t,Array.isArray(f._f.refs)&&f._f.refs.forEach(d=>{d.disabled=f._f.disabled||t}))},0,!1))},tr=(t,a)=>async n=>{let f,d;n&&(n.preventDefault&&n.preventDefault(),n.persist&&n.persist());let y=C(u);if(b.state.next({isSubmitting:!0}),s.resolver){const{errors:h,values:g}=await R();S(),r.errors=h,y=C(g)}else await q({fields:i,eventType:oe.SUBMIT});if(c.disabled.size)for(const h of c.disabled)U(y,h);if(U(r.errors,Dr),B(r.errors)){b.state.next({errors:{}});try{f=await t(y,n)}catch(h){d=h}}else a&&await a({...r.errors},n),Ne(),setTimeout(Ne);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:B(r.errors)&&!d,submitCount:r.submitCount+1,errors:r.errors}),d)throw d;return f},Hr=(t,a={})=>{v(i,t)&&(O(a.defaultValue)?he(t,C(v(l,t))):(he(t,a.defaultValue),k(l,t,C(a.defaultValue))),a.keepTouched||U(r.touchedFields,t),a.keepDirty||(U(r.dirtyFields,t),r.isDirty=a.defaultValue?G(t,C(v(l,t))):G()),a.keepError||(U(r.errors,t),P()),b.state.next({...r}))},sr=(t,a={})=>{const n=t?C(t):l,f=C(n),d=B(t),y=f,h=i;if(a.keepDefaultValues||(l=n),!a.keepValues){if(a.keepDirtyValues){const g=new Set([...c.mount,...Rr(ie(l,u,void 0,h),r.dirtyFields)]);for(const _ of g){const V=v(r.dirtyFields,_),L=v(u,_),z=v(y,_);V&&!O(L)?k(y,_,L):!V&&!O(z)&&he(_,z)}}else{if(Te&&O(t))for(const g of c.mount){const _=v(i,g);if(_&&_._f){const V=Array.isArray(_._f.refs)?_._f.refs[0]:_._f.ref;if(ke(V)){const L=V.closest("form");if(L){L.reset();break}}}}if(a.keepFieldsRef)for(const g of c.mount)he(g,v(y,g));else i={}}if(s.shouldUnregister){if(u=a.keepDefaultValues?C(l):{},a.keepFieldsRef)for(const g of c.mount)k(u,g,v(y,g))}else u=C(y);b.array.next({values:{...y}}),b.state.next({name:void 0,type:void 0,values:{...y}})}c={mount:a.keepDirtyValues?c.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!A.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!s.shouldUnregister&&!B(y),o.watch=!!s.shouldUnregister,o.keepIsValid=!!a.keepIsValid,o.action=!1,o.actionArrayLengths.clear(),a.keepErrors||(r.errors={}),b.state.next({submitCount:a.keepSubmitCount?r.submitCount:0,isDirty:d?!1:a.keepDirty?r.isDirty:a.keepValues?G():!!(a.keepDefaultValues&&!Q(t,l)),isSubmitted:a.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:d?{}:a.keepDirtyValues?a.keepDefaultValues&&u?ie(l,u,void 0,h):r.dirtyFields:a.keepDefaultValues&&t?ie(l,t,void 0,h):a.keepDirty?r.dirtyFields:{},touchedFields:a.keepTouched?r.touchedFields:{},errors:a.keepErrors?r.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:l})},ir=(t,a)=>sr(Y(t)?t(u):t,{...s.resetOptions,...a}),jr=(t,a={})=>{const n=v(i,t),f=n&&n._f;if(f){const d=f.refs?f.refs[0]:f.ref;d.focus&&setTimeout(()=>{d.focus(),a.shouldSelect&&Y(d.select)&&d.select()})}},nr=t=>{const{name:a,type:n,values:f,...d}=t;r={...r,...d}};b.state.subscribe({next:nr});const ar={control:{register:Ie,unregister:Le,getFieldState:Qe,handleSubmit:tr,setError:Ee,_subscribe:er,_runSchema:R,_updateIsValidating:S,_focusError:Ne,_getWatch:ye,_getDirty:G,_setValid:P,_setFieldArray:be,_setDisabledField:rr,_setErrors:ae,_getFieldArray:Pr,_reset:sr,_resetDefaultValues:()=>Y(s.defaultValues)&&s.defaultValues().then(t=>{ir(t,s.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:we,_disableForm:qr,_subjects:b,_proxyFormState:A,get _fields(){return i},get _formValues(){return u},get _state(){return o},set _state(t){o=t},get _defaultValues(){return l},get _names(){return c},set _names(t){c=t},get _formState(){return r},get _options(){return s},set _options(t){s={...s,...t},H=De(s.mode),j=De(s.reValidateMode)}},subscribe:Wr,trigger:Ce,register:Ie,handleSubmit:tr,watch:$r,setValue:he,setValues:pr,getValues:Mr,getErrors:Br,reset:ir,resetField:Hr,resetDefaultValues:(t,a={})=>{if(l=C(t),!a.keepDirty){const n=ie(l,u,void 0,i);r.dirtyFields=n,r.isDirty=!B(n)}a.keepIsValid||P(),b.state.next({...r,defaultValues:l})},clearErrors:Xe,unregister:Le,setError:Ee,setFocus:jr,getFieldState:Qe};return{...ar,formControl:ar}}function kt(e={}){const s=I.useRef(void 0),r=I.useRef(void 0),i=I.useRef(e.formControl),[l,u]=I.useState(()=>({...C(Ur),isLoading:Y(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:Y(e.defaultValues)?void 0:e.defaultValues}));if(!s.current||e.formControl&&i.current!==e.formControl)if(i.current=e.formControl,e.formControl)s.current={...e.formControl,formState:l},e.defaultValues&&!Y(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:E,...T}=bt(e);s.current={...T,formState:l}}const o=s.current.control;o._options=e;const{resyncIfNeeded:c,snapshot:m}=tt();return et(()=>{const E=()=>({...o._formState,defaultValues:o._defaultValues});c(!0,E,u);const T=o._subscribe({formState:o._proxyFormState,callback:()=>u({...o._formState,defaultValues:o._defaultValues}),reRenderRoot:!0});return u(H=>({...H,isReady:!0})),o._formState.isReady=!0,()=>{T(),m(!0,E)}},[o,c,m]),I.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),I.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),I.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),I.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),I.useEffect(()=>{if(o._proxyFormState.isDirty){const E=o._getDirty();E!==l.isDirty&&o._subjects.state.next({isDirty:E})}},[o,l.isDirty]),I.useEffect(()=>{var E;e.values&&!Q(e.values,r.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),!((E=o._options.resetOptions)===null||E===void 0)&&E.keepIsValid||o._setValid(),r.current=e.values,u(T=>({...T}))):o._resetDefaultValues()},[o,e.values]),I.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),s.current.formState=I.useMemo(()=>Xr(l,o),[o,l]),s.current}const Ar=(e,s,r)=>{if(e&&"reportValidity"in e){const i=v(r,s);e.setCustomValidity(i&&i.message||""),e.reportValidity()}},We=(e,s)=>{for(const r in s.fields){const i=s.fields[r];i&&i.ref&&"reportValidity"in i.ref?Ar(i.ref,r,e):i&&i.refs&&i.refs.forEach(l=>Ar(l,r,e))}},Fr=(e,s)=>{s.shouldUseNativeValidation&&We(e,s);const r={};for(const i in e){const l=v(s.fields,i),u=Object.assign(e[i]||{},{ref:l&&l.refs?l.refs[0]:l&&l.ref});if(At(s.names||Object.keys(e),i)){const o=Object.assign({},v(r,i));k(o,"root",u),k(r,i,o)}else k(r,i,u)}return r},At=(e,s)=>{const r=wr(s).replace(/[.*+?^${}()|\\]/g,"\\$&");return e.some(i=>wr(i).match(`^${r}\\.\\d+`))};function wr(e){return e.replace(/\[(\d+)]/g,".$1").replace(/[[\]]/g,"")}function qe(){return qe=Object.assign?Object.assign.bind():function(e){for(var s=1;s<arguments.length;s++){var r=arguments[s];for(var i in r)({}).hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},qe.apply(null,arguments)}function Er(e,s){try{var r=e()}catch(i){return s(i)}return r&&r.then?r.then(void 0,s):r}function Ft(e,s){for(var r=Object.create(null);e.length;){var i=e[0],l=i.code,u=i.message,o=i.path.join(".");if(!r[o])if("unionErrors"in i){var c,m,E=i.unionErrors.reduce(function(j,$){return $.errors.length<j.errors.length?$:j}).errors[0];r[o]={message:(c=E?.message)!=null?c:u,type:(m=E?.code)!=null?m:l}}else r[o]={message:u,type:l};if("unionErrors"in i&&i.unionErrors.forEach(function(j){return j.errors.forEach(function($){return e.push($)})}),s){var T=r[o].types,H=T&&T[i.code];r[o]=Ge(o,s,r,l,H?[].concat(H,i.message):i.message)}e.shift()}return r}function wt(e,s){for(var r=Object.create(null),i=function(){var l=e[0],u=l.code,o=l.message,c=l.path.join(".");if(!r[c])if(l.code==="invalid_union"&&l.errors.length>0){var m,E,T=l.errors.reduce(function($,A){return A.length<$.length?A:$})[0];r[c]={message:(m=T?.message)!=null?m:o,type:(E=T?.code)!=null?E:u}}else r[c]={message:o,type:u};if(l.code==="invalid_union"&&l.errors.forEach(function($){return $.forEach(function(A){return e.push(qe({},A,{path:[].concat(l.path,A.path)}))})}),s){var H=r[c].types,j=H&&H[l.code];r[c]=Ge(c,s,r,u,j?[].concat(j,l.message):l.message)}e.shift()};e.length;)i();return r}function Ot(e,s,r){if(r===void 0&&(r={}),(function(i){return"_zod"in i&&typeof i._zod=="object"})(e))return function(i,l,u){try{return Promise.resolve(Er(function(){function o(m){return u.shouldUseNativeValidation&&We({},u),{errors:{},values:r.raw?Object.assign({},i):m}}var c=e;return r.mode==="sync"?o(c.parse(i,s)):Promise.resolve(c.parseAsync(i,s)).then(o)},function(o){if((function(c){var m;return!(c==null||(m=c._zod)==null||(m=m.traits)==null||!m.has("$ZodError"))})(o))return{values:{},errors:Fr(wt(o.issues,!u.shouldUseNativeValidation&&u.criteriaMode==="all"),u)};throw o}))}catch(o){return Promise.reject(o)}};if((function(i){return"_def"in i&&typeof i._def=="object"})(e))return function(i,l,u){try{return Promise.resolve(Er(function(){return Promise.resolve(e[r.mode==="sync"?"parse":"parseAsync"](i,s)).then(function(o){return u.shouldUseNativeValidation&&We({},u),{errors:{},values:r.raw?Object.assign({},i):o}})},function(o){if((function(c){return Array.isArray(c?.issues)})(o))return{values:{},errors:Fr(Ft(o.errors,!u.shouldUseNativeValidation&&u.criteriaMode==="all"),u)};throw o}))}catch(o){return Promise.reject(o)}};throw new Error("Invalid input: not a Zod schema")}export{Ot as a,kt as u};
|
|
1
|
+
import{aI as I}from"./index-CR63M02l.js";var me=e=>e.type==="checkbox",Se=e=>e.type==="file",te=e=>e instanceof Date,p=e=>e==null;const He=e=>typeof e=="object";var N=e=>!p(e)&&!Array.isArray(e)&&He(e)&&!te(e),Gr=e=>N(e)&&e.target?me(e.target)?e.target.checked:Se(e.target)?e.target.files:e.target.value:e;const Kr=/[.[\]'"]/;var ue=e=>e.split(Kr).filter(Boolean),Zr=(e,s)=>s.split(".").some((r,i,l)=>!isNaN(Number(r))&&e.has(l.slice(0,i).join("."))),Te=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function C(e){if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e);const s=typeof FileList<"u"&&e instanceof FileList;if(Te&&(e instanceof Blob||s))return e;const r=Array.isArray(e);if(!r&&e.constructor!==Object)return e;const i=r?[]:Object.create(Object.getPrototypeOf(e));for(const l in e)Object.prototype.hasOwnProperty.call(e,l)&&(i[l]=C(e[l]));return i}const oe={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},X={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},J={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Dr="root",je=["__proto__","constructor","prototype"],Jr=/^\w*$/;var ne=e=>Jr.test(e),O=e=>e===void 0,v=(e,s,r)=>{if(!s||!N(e))return r;const i=ne(s)?[s]:ue(s);if(i.some(u=>je.includes(u)))return r;const l=i.reduce((u,o)=>p(u)?void 0:u[o],e);return O(l)||l===e?O(e[s])?r:e[s]:l},re=e=>typeof e=="boolean",G=e=>typeof e=="function",k=(e,s,r)=>{let i=-1;const l=ne(s)?[s]:ue(s),u=l.length,o=u-1;for(;++i<u;){const c=l[i];let m=r;if(i!==o){const E=e[c];m=N(E)||Array.isArray(E)?E:isNaN(+l[i+1])?{}:[]}if(je.includes(c))return;e[c]=m,e=e[c]}};const Qr=I.createContext(null);Qr.displayName="HookFormControlContext";var Xr=(e,s,r,i=!0)=>{const l={};for(const u in e)Object.defineProperty(l,u,{get:()=>{const o=u;return s._proxyFormState[o]!==X.all&&(s._proxyFormState[o]=!i||X.all),e[o]}});return l};const et=Te?I.useLayoutEffect:I.useEffect;var rt=e=>{const s=e.constructor&&e.constructor.prototype;return N(s)&&s.hasOwnProperty("isPrototypeOf")},Me=e=>p(e)||!He(e);const lr=(e,s)=>s.length===0&&!Array.isArray(e)&&!rt(e);function Q(e,s,r=new WeakMap){if(e===s)return!0;if(Me(e)||Me(s))return Object.is(e,s);if(te(e)&&te(s))return Object.is(e.getTime(),s.getTime());const i=Object.keys(e),l=Object.keys(s);if(i.length!==l.length)return!1;if(lr(e,i)||lr(s,l))return Object.is(e,s);if(!i.length&&Array.isArray(e)!==Array.isArray(s))return!1;const u=r.get(e);if(u&&u.has(s))return!0;if(u)u.add(s);else{const o=new WeakSet;o.add(s),r.set(e,o)}for(const o of i){const c=e[o];if(!(o in s))return!1;if(o!=="ref"){const m=s[o];if(te(c)&&te(m)||(N(c)||Array.isArray(c))&&(N(m)||Array.isArray(m))?!Q(c,m,r):!Object.is(c,m))return!1}}return!0}function tt(e){const s=I.useRef(!1),r=I.useRef(!1),i=I.useRef(void 0),l=I.useRef(0);l.current++,r.current;const u=I.useCallback((c,m,E)=>{if(c&&(s.current||r.current&&l.current>1)){const T=m();Q(i.current,T)||E(T)}s.current=!0},[]),o=I.useCallback((c,m)=>{c&&(i.current=C(m()))},[]);return{resyncIfNeeded:u,snapshot:o}}var M=e=>typeof e=="string",st=(e,s,r,i,l)=>M(e)?(i&&s.watch.add(e),v(r,e,l)):Array.isArray(e)?e.map(u=>(i&&s.watch.add(u),v(r,u,v(l,u)))):(i&&(s.watchAll=!0),r),De=e=>({isOnSubmit:!e||e===X.onSubmit,isOnBlur:e===X.onBlur,isOnChange:e===X.onChange,isOnAll:e===X.all,isOnTouch:e===X.onTouched}),Ue=(e,s,r)=>{if(r)return!1;if(s.watchAll||s.watch.has(e))return!0;for(const i of s.watch)if(e.startsWith(i)&&e.charAt(i.length)===".")return!0;return!1};const Ve=(e,s,r,i)=>{for(const l of r||Object.keys(e)){if(l==="_f")continue;const u=r?v(e,l):e[l];if(u){const{_f:o}=u;if(o){if(o.refs&&o.refs[0]&&s(o.refs[0],l)&&!i)return!0;if(o.ref&&s(o.ref,o.name)&&!i)return!0;if(Ve(u,s))break}else if((N(u)||Array.isArray(u))&&Ve(u,s))break}}};var ur=(e,s,r)=>{const i=v(e,r),l=Array.isArray(i)?i:[];return k(l,Dr,s[r]),k(e,r,l),e},B=e=>N(e)&&!Object.keys(e).length,ke=e=>{if(!Te)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},ze=e=>e.type==="radio",Oe=e=>e instanceof RegExp,Ye=(e,s,r,i,l)=>s?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[i]:l||!0}}:{};const fr={value:!1,isValid:!1},cr={value:!0,isValid:!0};var xr=e=>{if(!Array.isArray(e))return fr;if(e.length>1){const r=e.filter(i=>i&&i.checked&&!i.disabled).map(i=>i.value);return{value:r,isValid:!!r.length}}const s=e[0];return!s||!s.checked||s.disabled?fr:!s.attributes||!("value"in s.attributes)||O(s.value)||s.value===""?cr:{value:s.value,isValid:!0}};const dr={isValid:!1,value:null};var kr=e=>Array.isArray(e)?e.reduce((s,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:s,dr):dr;function yr(e,s,r="validate"){if(M(e)||Array.isArray(e)&&e.every(M)||re(e)&&!e)return{type:r,message:M(e)?e:"",ref:s}}var le=e=>N(e)&&!Oe(e)?e:{value:e,message:""},hr=async(e,s,r,i,l,u)=>{const{ref:o,refs:c,required:m,maxLength:E,minLength:T,min:H,max:j,pattern:$,validate:A,name:F,valueAsNumber:b,mount:fe}=e._f,w=v(r,F);if(!fe||s.has(F))return{};const ee=c?c[0]:o,P=D=>{if(l&&ee.reportValidity){const x=re(D)?"":D||"";c?c.forEach(R=>R.setCustomValidity(x)):ee.setCustomValidity(x),ee.reportValidity()}},S={},ce=ze(o),be=me(o),Ae=ce||be,ae=(b||Se(o))&&O(o.value)&&O(w)||ke(o)&&o.value===""||w===""||Array.isArray(w)&&!w.length,se=Ye.bind(null,F,i,S),Fe=(D,x,R,W=J.maxLength,K=J.minLength)=>{const q=D?x:R;S[F]={type:D?W:K,message:q,ref:o,...se(D?W:K,q)}};if(u?!Array.isArray(w)||!w.length:m&&(!Ae&&(ae||p(w))||re(w)&&!w||be&&!xr(c).isValid||ce&&!kr(c).isValid)){const{value:D,message:x}=M(m)?{value:!!m,message:m}:le(m);if(D&&(S[F]={type:J.required,message:x,ref:ee,...se(J.required,x)},!i))return P(x),S}if(!ae&&(!p(H)||!p(j))){let D,x;const R=le(j),W=le(H);if(!p(w)&&!te(w)&&!isNaN(w)){const K=o.valueAsNumber||w&&+w;p(R.value)||(D=K>R.value),p(W.value)||(x=K<W.value)}else{const K=o.valueAsDate||new Date(w),q=ye=>new Date(new Date().toDateString()+" "+ye),we=o.type=="time",Y=o.type=="week";M(R.value)&&w&&(D=we?q(w)>q(R.value):Y?w>R.value:K>new Date(R.value)),M(W.value)&&w&&(x=we?q(w)<q(W.value):Y?w<W.value:K<new Date(W.value))}if((D||x)&&(Fe(!!D,R.message,W.message,J.max,J.min),!i))return P(S[F].message),S}if((E||T)&&!ae&&(M(w)||u&&Array.isArray(w))){const D=le(E),x=le(T),R=!p(D.value)&&w.length>+D.value,W=!p(x.value)&&w.length<+x.value;if((R||W)&&(Fe(R,D.message,x.message),!i))return P(S[F].message),S}if($&&!ae&&M(w)){const{value:D,message:x}=le($);if(Oe(D)&&!w.match(D)&&(S[F]={type:J.pattern,message:x,ref:o,...se(J.pattern,x)},!i))return P(x),S}if(A){if(G(A)){const D=await A(w,r),x=yr(D,ee);if(x&&(S[F]={...x,...se(J.validate,x.message)},!i))return P(x.message),S}else if(N(A)){let D={};for(const x in A){if(!B(D)&&!i)break;const R=yr(await A[x](w,r),ee,x);R&&(D={...R,...se(x,R.message)},P(R.message),i&&(S[F]=D))}if(!B(D)&&(S[F]={ref:ee,...D},!i))return S}}const de=S[F];return P(de?de.message:!0),S},xe=e=>Array.isArray(e)?e:[e],Or=e=>Array.isArray(e)?e.filter(Boolean):[];function it(e,s){const r=s.length-1;let i=0;for(;i<r;){if(p(e)){e=void 0;break}e=e[s[i]],i++}return e}function nt(e){for(const s in e)if(e.hasOwnProperty(s)&&!O(e[s]))return!1;return!0}function U(e,s){if(M(s)&&Object.prototype.hasOwnProperty.call(e,s))return delete e[s],e;const r=Array.isArray(s)?s:ne(s)?[s]:ue(s);if(r.some(o=>je.includes(String(o))))return e;const i=r.length===1?e:it(e,r),l=r.length-1,u=r[l];return i&&delete i[u],l!==0&&(N(i)&&B(i)||Array.isArray(i)&&nt(i))&&U(e,r.slice(0,-1)),e}const at=I.createContext(null);at.displayName="HookFormContext";var gr=()=>{let e=[];return{get observers(){return e},next:l=>{for(const u of e)u.next&&u.next(l)},subscribe:l=>(e.push(l),{unsubscribe:()=>{e=e.filter(u=>u!==l)}}),unsubscribe:()=>{e=[]}}};function Sr(e,s){const r={};for(const i in e)if(e.hasOwnProperty(i)){const l=e[i],u=s[i];if(l&&N(l)&&u){const o=Sr(l,u);N(o)&&(r[i]=o)}else e[i]&&(r[i]=u)}return r}const vr=(e,s)=>e!==null&&He(e)&&Object.prototype.hasOwnProperty.call(e,s);var ot=(e,s)=>{if(!s)return!1;let r=e;for(const i of ne(s)?[s]:ue(s)){if(!vr(r,i))return vr(e,s);r=r[i]}return!0},Tr=e=>e.type==="select-multiple",lt=e=>ze(e)||me(e),Pe=e=>ke(e)&&e.isConnected;function _r(e){return Array.isArray(e)||N(e)}function Rr(e,s,r="",i=[]){for(const l in e){const u=r?`${r}.${l}`:l,o=e[l];_r(o)&&_r(v(s,u))?Rr(o,s,u,i):i.push(u)}return i}var ut=e=>{for(const s in e)if(G(e[s]))return!0;return!1};function Cr(e){return Array.isArray(e)||N(e)&&!ut(e)}function Lr(e){return!!(e&&"_f"in e)}function Ir(e){return Array.isArray(e)?!e.some(s=>!O(s)):!Object.keys(e).length}function Be(e,s){Array.isArray(e)?e[s]=void 0:delete e[s]}function $e(e,s={},r){for(const i in e){const l=e[i],u=r&&r[i];Cr(l)&&(!Array.isArray(l)||!Lr(u))?(s[i]=Array.isArray(l)?[]:{},$e(l,s[i],u),Ir(s[i])&&Be(s,i)):O(l)||(s[i]=!0)}return s}function ie(e,s,r,i){r||(r=$e(s,{},i));for(const l in e){const u=e[l],o=i&&i[l];Cr(u)&&(!Array.isArray(u)||!Lr(o))?(O(s)||Me(r[l])?r[l]=$e(u,Array.isArray(u)?[]:{},o):ie(u,p(s)?{}:s[l],r[l],o),Ir(r[l])&&Be(r,l)):Q(u,s[l])?Be(r,l):r[l]=!0}return r}var ft=(e,s)=>{const r=s.split("."),i=[];let l=r[0];for(let u=1;u<r.length;l+="."+r[u++])!isNaN(+r[u])&&e.has(l)&&i.push(`${l}.${r[u]}`);return i},Nr=(e,{valueAsNumber:s,valueAsDate:r,setValueAs:i})=>O(e)?e:s?e===""?NaN:e&&+e:r&&M(e)?new Date(e):i?i(e):e;function Vr(e){const s=e.ref;return Se(s)?s.files:ze(s)?kr(e.refs).value:Tr(s)?[...s.selectedOptions].map(({value:r})=>r):me(s)?xr(e.refs).value:Nr(s.value,e)}var ct=(e,s,r,i)=>{const l={};for(const u of e){const o=v(s,u);o&&k(l,u,o._f)}return{criteriaMode:r,names:[...e],fields:l,shouldUseNativeValidation:i}},_e=e=>O(e)?e:Oe(e)?e.source:N(e)?Oe(e.value)?e.value.source:e.value:e;const mr="AsyncFunction";var dt=e=>{if(!e||!e.validate)return!1;if(G(e.validate))return e.validate.constructor.name===mr;if(N(e.validate)){for(const s in e.validate)if(e.validate[s].constructor.name===mr)return!0}return!1},yt=e=>e.mount&&(e.required||!O(e.required)&&e.required!==!1||!O(e.min)||!O(e.max)||!O(e.maxLength)||!O(e.minLength)||e.pattern||e.validate);function br(e,s,r){const i=v(e,r);if(i||ne(r))return{error:i,name:r};const l=r.split(".");for(;l.length;){const u=l.join("."),o=v(s,u),c=v(e,u);if(o&&!Array.isArray(o)&&r!==u)return{name:r};if(c&&c.type)return{name:u,error:c};if(c&&c.root&&c.root.type)return{name:`${u}.root`,error:c.root};l.pop()}return{name:r}}var ht=(e,s,r,i)=>{r(e);const l=Object.keys(e).filter(u=>u!=="name");return!l.length||i&&l.length>=Object.keys(s).length||l.find(u=>s[u]===(!i||X.all))},gt=(e,s,r)=>!e||!s||e===s||xe(e).some(i=>i&&(r?i===s||i.startsWith(s+"."):i.startsWith(s)||s.startsWith(i))),vt=(e,s,r,i,l)=>l.isOnAll?!1:!r&&l.isOnTouch?!(s||e):(r?i.isOnBlur:l.isOnBlur)?!e:(r?i.isOnChange:l.isOnChange)?e:!0,_t=(e,s)=>{const r=v(e,s);!Or(r).length&&!r?.root&&U(e,s)};const Vt={mode:X.onSubmit,reValidateMode:X.onChange,shouldFocusError:!0},pe="form",mt=(e,s)=>{for(const r in e)r in s||delete e[r];Object.assign(e,s)},Ur={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function bt(e={}){let s={...Vt,...e},r={...C(Ur),isLoading:G(s.defaultValues),errors:s.errors||{},disabled:s.disabled||!1},i={},l=N(s.defaultValues)||N(s.values)?C(s.defaultValues||s.values)||{}:{},u=s.shouldUnregister?{}:C(l),o={action:!1,actionArrayLengths:new Map,mount:!1,watch:!1,keepIsValid:!1},c={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set};const m={},E={};let T=0,H=De(s.mode),j=De(s.reValidateMode);const $={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},A={...$};let F={...A};const b={array:gr(),state:gr()};let fe=0;const w=s.criteriaMode===X.all,ee=(t,a)=>n=>{clearTimeout(E[t]),E[t]=setTimeout(a,n)},P=async t=>{if(!o.keepIsValid&&!s.disabled&&(A.isValid||F.isValid||t)){const a=++fe;let n;s.resolver?(n=B((await R()).errors),a===fe&&S()):n=await q({fields:i,onlyCheckValid:!0,eventType:oe.VALID}),a===fe&&n!==r.isValid&&b.state.next({isValid:n})}},S=(t,a)=>{!s.disabled&&(A.isValidating||A.validatingFields||F.isValidating||F.validatingFields)&&((t||c.mount).forEach(n=>{n&&(a?k(r.validatingFields,n,a):U(r.validatingFields,n))}),b.state.next({validatingFields:r.validatingFields,isValidating:!B(r.validatingFields)}))},ce=()=>{r.dirtyFields=ie(l,u,void 0,i)},be=(t,a=[],n,f,d=!0,y=!0)=>{if(f&&n&&!s.disabled){o.action=!0;const h=v(i,t);if(o.actionArrayLengths.has(t)||o.actionArrayLengths.set(t,Array.isArray(h)?h.length:0),y&&Array.isArray(h)){const V=n(h,f.argA,f.argB);d&&k(i,t,V)}const g=v(r.errors,t);if(y&&Array.isArray(g)){const V=g.root,L=n(g,f.argA,f.argB)||g;V&&(L.root=V),d&&k(r.errors,t,L),_t(r.errors,t)}const _=v(r.touchedFields,t);if((A.touchedFields||F.touchedFields)&&y&&Array.isArray(_)){const V=n(_,f.argA,f.argB);d&&k(r.touchedFields,t,V)}(A.dirtyFields||F.dirtyFields)&&ce(),b.state.next({name:t,isDirty:Y(t,a),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else k(u,t,a)},Ae=(t,a)=>{k(r.errors,t,a),r.errors={...r.errors},b.state.next({errors:r.errors})},ae=t=>{r.errors=t,b.state.next({errors:r.errors,isValid:!1})},se=t=>{const a=ne(t)?[t]:ue(t);let n=u,f=l;for(let d=0;d<a.length-1;d++){const y=a[d];if(n=p(n)?n:n[y],f=p(f)?f:f[y],n===null&&f!==null)return!0}return!1},Fe=t=>{if(!o.actionArrayLengths.size)return!1;const a=ne(t)?[t]:ue(t);let n=u,f="",d=-1,y=0;for(let h=0;h<a.length;h++){if(p(n))return!1;const g=a[h];if(f=f?`${f}.${g}`:g,Array.isArray(n)&&+g>=n.length)return d===-1?!1:h===d?+g<y:!0;o.actionArrayLengths.has(f)&&(d=h+1,y=o.actionArrayLengths.get(f)),n=n[g]}return!1},de=(t,a,n,f)=>{const d=v(i,t);if(d){if(se(t)||Fe(t))return;const y=O(v(u,t)),h=v(u,t,O(n)?v(l,t):n);O(h)||f&&f.defaultChecked||a?k(u,t,a?h:Vr(d._f)):Re(t,h),o.mount&&!o.action&&(P(),y&&r.isDirty&&(A.isDirty||F.isDirty)&&(Y()||(r.isDirty=!1,b.state.next({...r}))),e.shouldUnregister&&y&&!O(v(u,t))&&Ue(t,c)&&(o.watch=!0))}},D=(t,a,n,f,d)=>{let y=!1,h=!1;const g={name:t};if(!s.disabled||f===!0){if(!n||f){const _=Q(v(l,t),a);(A.isDirty||F.isDirty)&&(h=r.isDirty,r.isDirty=g.isDirty=!_||Y(),y=h!==g.isDirty),h=!!v(r.dirtyFields,t),_!==r.isDirty?mt(r.dirtyFields,ie(l,u,void 0,i)):_?U(r.dirtyFields,t):k(r.dirtyFields,t,!0),g.dirtyFields=r.dirtyFields,y=y||(A.dirtyFields||F.dirtyFields)&&h!==!_}if(n){const _=v(r.touchedFields,t);_||(k(r.touchedFields,t,n),g.touchedFields=r.touchedFields,y=y||(A.touchedFields||F.touchedFields)&&_!==n)}y&&d&&b.state.next(g)}return y?g:{}},x=(t,a,n,f)=>{const d=v(r.errors,t),y=(A.isValid||F.isValid)&&re(a)&&r.isValid!==a;if(s.delayError&&n?(m[t]=ee(t,()=>Ae(t,n)),m[t](s.delayError)):(clearTimeout(E[t]),delete m[t],n?k(r.errors,t,n):U(r.errors,t),r.errors={...r.errors}),(n?!Q(d,n):d)||!B(f)||y){const h={...f,...y&&re(a)?{isValid:a}:{},errors:r.errors,name:t};b.state.next(h)}},R=async t=>(S(t,!0),await s.resolver(u,s.context,ct(t||c.mount,i,s.criteriaMode,s.shouldUseNativeValidation))),W=async t=>{const{errors:a}=await R(t);if(S(t),t){for(const n of t){const f=v(a,n);f?c.array.has(n)&&N(f)&&!Object.keys(f).some(d=>!Number.isNaN(Number(d)))?ur(r.errors,{[n]:f},n):k(r.errors,n,f):U(r.errors,n)}r.errors={...r.errors}}else r.errors=a;return a},K=async({name:t,eventType:a})=>{if(e.validate){const n=await e.validate({formValues:u,formState:r,name:t,eventType:a});if(N(n))for(const f in n){const d=n[f];d&&Ee(`${pe}.${f}`,{message:M(d.message)?d.message:"",type:d.type||J.validate})}else M(n)||!n?Ee(pe,{message:n||"",type:J.validate}):Xe(pe);return n}return!0},q=async({fields:t,onlyCheckValid:a,name:n,eventType:f,context:d={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(d.runRootValidation=!0,!await K({name:n,eventType:f})&&(d.valid=!1,a)))return d.valid;for(const y in t){const h=t[y];if(h){const{_f:g,..._}=h;if(g){const V=c.array.has(g.name),L=h._f&&dt(h._f),z=A.validatingFields||A.isValidating||F.validatingFields||F.isValidating;L&&z&&S([g.name],!0);const Z=await hr(h,c.disabled,u,w,s.shouldUseNativeValidation&&!a,V);if(L&&z&&S([g.name]),Z[g.name]&&(d.valid=!1,a)||(!a&&(v(Z,g.name)?V?ur(r.errors,Z,g.name):k(r.errors,g.name,Z[g.name]):U(r.errors,g.name)),e.shouldUseNativeValidation&&Z[g.name]))break}!B(_)&&await q({context:d,onlyCheckValid:a,fields:_,name:y,eventType:f})}}return d.valid},we=()=>{for(const t of c.unMount){const a=v(i,t);a&&(a._f.refs?a._f.refs.every(n=>!Pe(n)):!Pe(a._f.ref))&&Le(t)}c.unMount=new Set},Y=(t,a)=>(t&&a&&k(u,t,a),!Q(o.mount?u:l,l)),ye=(t,a,n)=>st(t,c,{...o.mount?u:O(a)||M(t)?l:a},n,a),Pr=t=>Or(v(o.mount?u:l,t,s.shouldUnregister?v(l,t,[]):[])),Re=(t,a,n={},f=!1,d=!1,y=!1)=>{const h=v(i,t);let g=a;if(h){const _=h._f;_&&(!_.disabled&&k(u,t,Nr(a,_)),g=ke(_.ref)&&p(a)?"":a,Tr(_.ref)?[..._.ref.options].forEach(V=>V.selected=g.includes(V.value)):_.refs?me(_.ref)?_.refs.forEach(V=>{(!V.defaultChecked||!V.disabled)&&(Array.isArray(g)?V.checked=!!g.find(L=>L===V.value):V.checked=g===V.value||!!g)}):_.refs.forEach(V=>V.checked=V.value===g):Se(_.ref)?_.ref.value="":(_.ref.value=g,!_.ref.type&&!d&&!y&&b.state.next({name:t,values:f?u:C(u)})))}(n.shouldDirty||n.shouldTouch)&&D(t,g,n.shouldTouch,n.shouldDirty,!d),n.shouldValidate&&Ce(t,{delayError:n.delayError})},Ge=(t,a,n,f=!1,d=!1,y=!1)=>{c.array.has(t)&&b.array.next({name:t,values:f?u:C(u)});for(const h in a){if(!a.hasOwnProperty(h))continue;const g=a[h],_=t+"."+h,V=v(i,_);(c.array.has(t)||N(g)||V&&!V._f)&&!te(g)?Ge(_,g,n,f,d,y):Re(_,g,n,f,d,y)}},Ke=(t,a,n,f,d=!1)=>{const y=v(i,t),h=c.array.has(t),g=f?a:C(a),_=v(u,t),V=Q(_,g);if(V||k(u,t,g),h)b.array.next({name:t,values:f?u:C(u)}),(A.isDirty||A.dirtyFields||F.isDirty||F.dirtyFields)&&n.shouldDirty&&(ce(),d||b.state.next({name:t,dirtyFields:r.dirtyFields,isDirty:Y(t,g)}));else{const L=Array.isArray(g)&&!g.length||B(g),z=!V&&!d;!y||y._f||p(g)||L?Re(t,g,n,f,d,z):Ge(t,g,n,f,d,z)}if(!V&&!d){const L=Ue(t,c),z=f?u:C(u);if(b.state.next({...L&&r,name:o.mount||L?t:void 0,values:z}),!h)for(const Z of ft(c.array,t))b.state.next({name:Z,values:z})}},he=(t,a,n={})=>Ke(t,a,n,!1),pr=(t,a={})=>{const n=G(t)?t(u):t;if(!Q(u,n)){u={...u,...n};for(const f of c.mount)ot(n,f)&&Ke(f,v(n,f),a,!0,!0);b.state.next({...r,name:void 0,type:void 0,...T?{values:u}:{}}),a.shouldValidate&&P()}},Ze=async t=>{o.mount=!0;const a=t.target;let n=a.name,f=!0;const d=v(i,n),y=h=>{f=Number.isNaN(h)||te(h)&&isNaN(h.getTime())||Q(h,v(u,n,h))};if(d){let h,g;const _=a.type?Vr(d._f):Gr(t),V=t.type===oe.BLUR||t.type===oe.FOCUS_OUT,L=!yt(d._f)&&!e.validate&&!s.resolver&&!v(r.errors,n)&&!d._f.deps,z=L||vt(V,v(r.touchedFields,n),r.isSubmitted,j,H),Z=Ue(n,c,V);if(k(u,n,C(_)),V){if(!a||!a.readOnly){d._f.onBlur&&d._f.onBlur(t);const ve=m[n];ve&&ve(0)}}else d._f.onChange&&d._f.onChange(t);const ge=D(n,_,V),zr=!B(ge)||Z;if(!V&&b.state.next({name:n,type:t.type,...T?{values:C(u)}:{}}),z)return(!L||!r.isValid)&&(A.isValid||F.isValid)&&(s.mode==="onBlur"?V&&P():V||P()),zr&&b.state.next({name:n,...Z?{}:ge});if(!s.resolver&&e.validate&&await K({name:n,eventType:t.type}),!V&&Z&&b.state.next({...r}),s.resolver){const{errors:ve}=await R([n]);if(S([n]),y(_),!f){!B(ge)&&b.state.next(ge);return}const Yr=br(r.errors,i,n),or=br(ve,i,Yr.name||n);h=or.error,n=or.name,g=B(ve)}else S([n],!0),h=(await hr(d,c.disabled,u,w,s.shouldUseNativeValidation))[n],S([n]),y(_),f&&(h?g=!1:(A.isValid||F.isValid)&&(g=await q({fields:i,onlyCheckValid:!0,name:n,eventType:t.type})));f&&(d._f.deps&&(!Array.isArray(d._f.deps)||d._f.deps.length>0)&&Ce(d._f.deps),x(n,g,h,ge))}},Je=(t,a)=>{if(v(r.errors,a)&&t.focus)return t.focus(),1},Ce=async(t,a={})=>{let n,f;const d=xe(t);if(s.resolver){const y=await W(O(t)?t:d);n=B(y),f=t?!d.some(h=>v(y,h)):n}else t?(f=(await Promise.all(d.map(async y=>{const h=v(i,y);return await q({fields:h&&h._f?{[y]:h}:h,eventType:oe.TRIGGER})}))).every(Boolean),!(!f&&!r.isValid)&&P()):f=n=await q({fields:i,name:t,eventType:oe.TRIGGER});if(a.delayError&&s.delayError&&M(t)){const y=v(r.errors,t);y?(U(r.errors,t),m[t]=ee(t,()=>Ae(t,y)),m[t](s.delayError)):(clearTimeout(E[t]),delete m[t])}if(a.shouldTouch)for(const y of t?d:c.mount)!c.array.has(y)&&k(r.touchedFields,y,!0);return b.state.next({...!M(t)||(A.isValid||F.isValid)&&n!==r.isValid?{}:{name:t},...s.resolver||!t?{isValid:n}:{},...a.shouldTouch&&(A.touchedFields||F.touchedFields)?{touchedFields:r.touchedFields}:{},errors:r.errors}),a.shouldFocus&&!f&&Ve(i,Je,t?d:c.mount),f},Mr=(t,a)=>{let n={...o.mount?u:l};return a&&(n=Sr(a.dirtyFields?r.dirtyFields:r.touchedFields,n)),O(t)?n:M(t)?v(n,t):t.map(f=>v(n,f))},Br=t=>O(t)?{...r.errors}:M(t)?v(r.errors,t):t.map(a=>v(r.errors,a)),Qe=(t,a)=>{const n=a||r,f=v(n.errors,t);return{invalid:!!f,isDirty:!!v(n.dirtyFields,t),error:f,isValidating:!!v(r.validatingFields,t),isTouched:!!v(n.touchedFields,t)}},Xe=t=>{const a=t?xe(t):void 0;a?.forEach(n=>U(r.errors,n)),a?a.forEach(n=>{b.state.next({name:n,errors:r.errors})}):(r.errors={},b.state.next({errors:r.errors}))},Ee=(t,a,n)=>{const f=(v(i,t,{_f:{}})._f||{}).ref,d=v(r.errors,t)||{},{ref:y,message:h,type:g,..._}=d;k(r.errors,t,{..._,...a,ref:f}),b.state.next({name:t,errors:r.errors,isValid:!1}),n&&n.shouldFocus&&f&&f.focus&&f.focus()},$r=(t,a)=>{if(G(t)){T++;const{unsubscribe:n}=b.state.subscribe({next:d=>"values"in d&&t(d.values||ye(void 0,a),d)});let f=!1;return{unsubscribe:()=>{f||(f=!0,T--,n())}}}return ye(t,a,!0)},er=t=>{var a;const n=!!(!((a=t.formState)===null||a===void 0)&&a.values);n&&T++;const{unsubscribe:f}=b.state.subscribe({next:y=>{if(gt(t.name,y.name,t.exact)&&ht(y,t.formState||A,nr,t.reRenderRoot)){const h={...u};t.callback({values:h,...r,...y,defaultValues:l})}}});if(!n)return f;let d=!1;return()=>{d||(d=!0,T--,f())}},Wr=t=>(o.mount=!0,F={...F,...t.formState},er({...t,formState:{...$,...t.formState}})),Le=(t,a={})=>{for(const n of t?xe(t):c.mount)c.mount.delete(n),c.array.delete(n),a.keepValue||(U(i,n),U(u,n)),!a.keepError&&U(r.errors,n),!a.keepDirty&&U(r.dirtyFields,n),!a.keepTouched&&U(r.touchedFields,n),!a.keepIsValidating&&U(r.validatingFields,n),!s.shouldUnregister&&!a.keepDefaultValue&&U(l,n);T&&b.state.next({values:C(u)}),b.state.next({...r,...a.keepDirty?{}:{isDirty:Y()}}),!a.keepIsValid&&P()},rr=({disabled:t,name:a})=>{if(re(t)&&o.mount||t||c.disabled.has(a)){const d=c.disabled.has(a)!==!!t;t?c.disabled.add(a):c.disabled.delete(a),d&&o.mount&&!o.action&&P()}},Ie=(t,a={})=>{let n=v(i,t);const f=re(a.disabled)||re(s.disabled),d=!c.registerName.has(t)&&n&&n._f&&!n._f.mount;return k(i,t,{...n||{},_f:{...n&&n._f?n._f:{ref:{name:t}},name:t,mount:!0,...a}}),c.mount.add(t),n&&!d?rr({disabled:re(a.disabled)?a.disabled:s.disabled,name:t}):de(t,!0,a.value),{...f?{disabled:a.disabled||s.disabled}:{},...s.progressive?{required:!!a.required,min:_e(a.min),max:_e(a.max),minLength:_e(a.minLength),maxLength:_e(a.maxLength),pattern:_e(a.pattern)}:{},name:t,onChange:Ze,onBlur:Ze,ref:y=>{if(y){c.registerName.add(t),Ie(t,a),c.registerName.delete(t),n=v(i,t);const h=O(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,g=lt(h),_=n._f.refs||[];if(g?_.find(L=>L===h):h===n._f.ref)return;const V={...n._f};g?(V.refs=[..._.filter(Pe),h,...Array.isArray(v(l,t))?[{}]:[]],V.ref={type:h.type,name:t}):(V.ref=h,delete V.refs),k(i,t,{_f:V}),de(t,!1,void 0,h)}else n=v(i,t,{}),n._f&&(n._f.mount=!1),(s.shouldUnregister||a.shouldUnregister)&&!(Zr(c.array,t)&&o.action)&&c.unMount.add(t)}}},Ne=()=>s.shouldFocusError&&!s.shouldUseNativeValidation&&Ve(i,Je,c.mount),qr=t=>{re(t)&&(b.state.next({disabled:t}),Ve(i,(a,n)=>{const f=v(i,n);f&&(a.disabled=f._f.disabled||t,Array.isArray(f._f.refs)&&f._f.refs.forEach(d=>{d.disabled=f._f.disabled||t}))},0,!1))},tr=(t,a)=>async n=>{let f,d;n&&(n.preventDefault&&n.preventDefault(),n.persist&&n.persist());let y=C(u);if(b.state.next({isSubmitting:!0}),s.resolver){const{errors:h,values:g}=await R();S(),r.errors=h,y=C(g)}else await q({fields:i,eventType:oe.SUBMIT});if(c.disabled.size)for(const h of c.disabled)U(y,h);if(U(r.errors,Dr),B(r.errors)){b.state.next({errors:{}});try{f=await t(y,n)}catch(h){d=h}}else a&&await a({...r.errors},n),Ne(),setTimeout(Ne);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:B(r.errors)&&!d,submitCount:r.submitCount+1,errors:r.errors}),d)throw d;return f},Hr=(t,a={})=>{v(i,t)&&(O(a.defaultValue)?he(t,C(v(l,t))):(he(t,a.defaultValue),k(l,t,C(a.defaultValue))),a.keepTouched||U(r.touchedFields,t),a.keepDirty||(U(r.dirtyFields,t),r.isDirty=a.defaultValue?Y(t,C(v(l,t))):Y()),a.keepError||(U(r.errors,t),P()),b.state.next({...r}))},sr=(t,a={})=>{const n=t?C(t):l,f=C(n),d=B(t),y=f,h=i;if(a.keepDefaultValues||(l=n),!a.keepValues){if(a.keepDirtyValues){const g=new Set([...c.mount,...Rr(ie(l,u,void 0,h),r.dirtyFields)]);for(const _ of g){const V=v(r.dirtyFields,_),L=v(u,_),z=v(y,_);V&&!O(L)?k(y,_,L):!V&&!O(z)&&he(_,z)}}else{if(Te&&O(t))for(const g of c.mount){const _=v(i,g);if(_&&_._f){const V=Array.isArray(_._f.refs)?_._f.refs[0]:_._f.ref;if(ke(V)){const L=V.closest("form");if(L){L.reset();break}}}}if(a.keepFieldsRef)for(const g of c.mount)he(g,v(y,g));else i={}}if(s.shouldUnregister){if(u=a.keepDefaultValues?C(l):{},a.keepFieldsRef)for(const g of c.mount)k(u,g,v(y,g))}else u=C(y);b.array.next({values:{...y}}),b.state.next({name:void 0,type:void 0,values:{...y}})}c={mount:a.keepDirtyValues?c.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!A.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!s.shouldUnregister&&!B(y),o.watch=!!s.shouldUnregister,o.keepIsValid=!!a.keepIsValid,o.action=!1,o.actionArrayLengths.clear(),a.keepErrors||(r.errors={}),b.state.next({submitCount:a.keepSubmitCount?r.submitCount:0,isDirty:d?!1:a.keepDirty?r.isDirty:a.keepValues?Y():!!(a.keepDefaultValues&&!Q(t,l)),isSubmitted:a.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:d?{}:a.keepDirtyValues?a.keepDefaultValues&&u?ie(l,u,void 0,h):r.dirtyFields:a.keepDefaultValues&&t?ie(l,t,void 0,h):a.keepDirty?r.dirtyFields:{},touchedFields:a.keepTouched?r.touchedFields:{},errors:a.keepErrors?r.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:l})},ir=(t,a)=>sr(G(t)?t(u):t,{...s.resetOptions,...a}),jr=(t,a={})=>{const n=v(i,t),f=n&&n._f;if(f){const d=f.refs?f.refs[0]:f.ref;d.focus&&setTimeout(()=>{d.focus(),a.shouldSelect&&G(d.select)&&d.select()})}},nr=t=>{const{name:a,type:n,values:f,...d}=t;r={...r,...d}};b.state.subscribe({next:nr});const ar={control:{register:Ie,unregister:Le,getFieldState:Qe,handleSubmit:tr,setError:Ee,_subscribe:er,_runSchema:R,_updateIsValidating:S,_focusError:Ne,_getWatch:ye,_getDirty:Y,_setValid:P,_setFieldArray:be,_setDisabledField:rr,_setErrors:ae,_getFieldArray:Pr,_reset:sr,_resetDefaultValues:()=>G(s.defaultValues)&&s.defaultValues().then(t=>{ir(t,s.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:we,_disableForm:qr,_subjects:b,_proxyFormState:A,get _fields(){return i},get _formValues(){return u},get _state(){return o},set _state(t){o=t},get _defaultValues(){return l},get _names(){return c},set _names(t){c=t},get _formState(){return r},get _options(){return s},set _options(t){s={...s,...t},H=De(s.mode),j=De(s.reValidateMode)}},subscribe:Wr,trigger:Ce,register:Ie,handleSubmit:tr,watch:$r,setValue:he,setValues:pr,getValues:Mr,getErrors:Br,reset:ir,resetField:Hr,resetDefaultValues:(t,a={})=>{if(l=C(t),!a.keepDirty){const n=ie(l,u,void 0,i);r.dirtyFields=n,r.isDirty=!B(n)}a.keepIsValid||P(),b.state.next({...r,defaultValues:l})},clearErrors:Xe,unregister:Le,setError:Ee,setFocus:jr,getFieldState:Qe};return{...ar,formControl:ar}}function kt(e={}){const s=I.useRef(void 0),r=I.useRef(void 0),i=I.useRef(e.formControl),[l,u]=I.useState(()=>({...C(Ur),isLoading:G(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:G(e.defaultValues)?void 0:e.defaultValues}));if(!s.current||e.formControl&&i.current!==e.formControl)if(i.current=e.formControl,e.formControl)s.current={...e.formControl,formState:l},e.defaultValues&&!G(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:E,...T}=bt(e);s.current={...T,formState:l}}const o=s.current.control;o._options=e;const{resyncIfNeeded:c,snapshot:m}=tt();return et(()=>{const E=()=>({...o._formState,defaultValues:o._defaultValues});c(!0,E,u);const T=o._subscribe({formState:o._proxyFormState,callback:()=>u({...o._formState,defaultValues:o._defaultValues}),reRenderRoot:!0});return u(H=>({...H,isReady:!0})),o._formState.isReady=!0,()=>{T(),m(!0,E)}},[o,c,m]),I.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),I.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),I.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),I.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),I.useEffect(()=>{if(o._proxyFormState.isDirty){const E=o._getDirty();E!==l.isDirty&&o._subjects.state.next({isDirty:E})}},[o,l.isDirty]),I.useEffect(()=>{var E;e.values&&!Q(e.values,r.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),!((E=o._options.resetOptions)===null||E===void 0)&&E.keepIsValid||o._setValid(),r.current=e.values,u(T=>({...T}))):o._resetDefaultValues()},[o,e.values]),I.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),s.current.formState=I.useMemo(()=>Xr(l,o),[o,l]),s.current}const Ar=(e,s,r)=>{if(e&&"reportValidity"in e){const i=v(r,s);e.setCustomValidity(i&&i.message||""),e.reportValidity()}},We=(e,s)=>{for(const r in s.fields){const i=s.fields[r];i&&i.ref&&"reportValidity"in i.ref?Ar(i.ref,r,e):i&&i.refs&&i.refs.forEach(l=>Ar(l,r,e))}},Fr=(e,s)=>{s.shouldUseNativeValidation&&We(e,s);const r={};for(const i in e){const l=v(s.fields,i),u=Object.assign(e[i]||{},{ref:l&&l.refs?l.refs[0]:l&&l.ref});if(At(s.names||Object.keys(e),i)){const o=Object.assign({},v(r,i));k(o,"root",u),k(r,i,o)}else k(r,i,u)}return r},At=(e,s)=>{const r=wr(s).replace(/[.*+?^${}()|\\]/g,"\\$&");return e.some(i=>wr(i).match(`^${r}\\.\\d+`))};function wr(e){return e.replace(/\[(\d+)]/g,".$1").replace(/[[\]]/g,"")}function qe(){return qe=Object.assign?Object.assign.bind():function(e){for(var s=1;s<arguments.length;s++){var r=arguments[s];for(var i in r)({}).hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},qe.apply(null,arguments)}function Er(e,s){try{var r=e()}catch(i){return s(i)}return r&&r.then?r.then(void 0,s):r}function Ft(e,s){for(var r=Object.create(null);e.length;){var i=e[0],l=i.code,u=i.message,o=i.path.join(".");if(!r[o])if("unionErrors"in i){var c,m,E=i.unionErrors.reduce(function(j,$){return $.errors.length<j.errors.length?$:j}).errors[0];r[o]={message:(c=E?.message)!=null?c:u,type:(m=E?.code)!=null?m:l}}else r[o]={message:u,type:l};if("unionErrors"in i&&i.unionErrors.forEach(function(j){return j.errors.forEach(function($){return e.push($)})}),s){var T=r[o].types,H=T&&T[i.code];r[o]=Ye(o,s,r,l,H?[].concat(H,i.message):i.message)}e.shift()}return r}function wt(e,s){for(var r=Object.create(null),i=function(){var l=e[0],u=l.code,o=l.message,c=l.path.join(".");if(!r[c])if(l.code==="invalid_union"&&l.errors.length>0){var m,E,T=l.errors.reduce(function($,A){return A.length<$.length?A:$})[0];r[c]={message:(m=T?.message)!=null?m:o,type:(E=T?.code)!=null?E:u}}else r[c]={message:o,type:u};if(l.code==="invalid_union"&&l.errors.forEach(function($){return $.forEach(function(A){return e.push(qe({},A,{path:[].concat(l.path,A.path)}))})}),s){var H=r[c].types,j=H&&H[l.code];r[c]=Ye(c,s,r,u,j?[].concat(j,l.message):l.message)}e.shift()};e.length;)i();return r}function Ot(e,s,r){if(r===void 0&&(r={}),(function(i){return"_zod"in i&&typeof i._zod=="object"})(e))return function(i,l,u){try{return Promise.resolve(Er(function(){function o(m){return u.shouldUseNativeValidation&&We({},u),{errors:{},values:r.raw?Object.assign({},i):m}}var c=e;return r.mode==="sync"?o(c.parse(i,s)):Promise.resolve(c.parseAsync(i,s)).then(o)},function(o){if((function(c){var m;return!(c==null||(m=c._zod)==null||(m=m.traits)==null||!m.has("$ZodError"))})(o))return{values:{},errors:Fr(wt(o.issues,!u.shouldUseNativeValidation&&u.criteriaMode==="all"),u)};throw o}))}catch(o){return Promise.reject(o)}};if((function(i){return"_def"in i&&typeof i._def=="object"})(e))return function(i,l,u){try{return Promise.resolve(Er(function(){return Promise.resolve(e[r.mode==="sync"?"parse":"parseAsync"](i,s)).then(function(o){return u.shouldUseNativeValidation&&We({},u),{errors:{},values:r.raw?Object.assign({},i):o}})},function(o){if((function(c){return Array.isArray(c?.issues)})(o))return{values:{},errors:Fr(Ft(o.errors,!u.shouldUseNativeValidation&&u.criteriaMode==="all"),u)};throw o}))}catch(o){return Promise.reject(o)}};throw new Error("Invalid input: not a Zod schema")}export{Ot as a,kt as u};
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
</script>
|
|
22
22
|
<link rel="icon" href="/mark.svg" type="image/svg+xml" />
|
|
23
23
|
<title>Snagset</title>
|
|
24
|
-
<script type="module" crossorigin src="/assets/index-
|
|
24
|
+
<script type="module" crossorigin src="/assets/index-CR63M02l.js"></script>
|
|
25
25
|
<link rel="stylesheet" crossorigin href="/assets/index-Ddi7bl87.css">
|
|
26
26
|
</head>
|
|
27
27
|
<body>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var W,S,$e,F,Ce,Se,Ee,ie,V,q,Te,le,de,ce,G={},Y=[],pn=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Q=Array.isArray;function U(e,n){for(var t in n)e[t]=n[t];return e}function ue(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function L(e,n,t){var o,s,a,i={};for(a in n)a=="key"?o=n[a]:a=="ref"?s=n[a]:i[a]=n[a];if(arguments.length>2&&(i.children=arguments.length>3?W.call(arguments,2):t),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)i[a]===void 0&&(i[a]=e.defaultProps[a]);return J(e,i,o,s,null)}function J(e,n,t,o,s){var a={type:e,props:n,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:s??++$e,__i:-1,__u:0};return s==null&&S.vnode!=null&&S.vnode(a),a}function N(e){return e.children}function X(e,n){this.props=e,this.context=n}function B(e,n){if(n==null)return e.__?B(e.__,e.__i+1):null;for(var t;n<e.__k.length;n++)if((t=e.__k[n])!=null&&t.__e!=null)return t.__e;return typeof e.type=="function"?B(e):null}function gn(e){if(e.__P&&e.__d){var n=e.__v,t=n.__e,o=[],s=[],a=U({},n);a.__v=n.__v+1,S.vnode&&S.vnode(a),pe(e.__P,a,n,e.__n,e.__P.namespaceURI,32&n.__u?[t]:null,o,t??B(n),!!(32&n.__u),s),a.__v=n.__v,a.__.__k[a.__i]=a,Le(o,a,s),n.__e=n.__=null,a.__e!=t&&Me(a)}}function Me(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(n){if(n!=null&&n.__e!=null)return e.__e=e.__c.base=n.__e}),Me(e)}function De(e){(!e.__d&&(e.__d=!0)&&F.push(e)&&!Z.__r++||Ce!=S.debounceRendering)&&((Ce=S.debounceRendering)||Se)(Z)}function Z(){try{for(var e,n=1;F.length;)F.length>n&&F.sort(Ee),e=F.shift(),n=F.length,gn(e)}finally{F.length=Z.__r=0}}function Ae(e,n,t,o,s,a,i,u,g,l,_){var y,c,h,$,b,m,w=o&&o.__k||Y,v=n.length;for(g=hn(t,n,w,g,v),y=0;y<v;y++)(h=t.__k[y])!=null&&(c=h.__i!=-1&&w[h.__i]||G,h.__i=y,m=pe(e,h,c,s,a,i,u,g,l,_),$=h.__e,h.ref&&c.ref!=h.ref&&(c.ref&&ge(c.ref,null,h),_.push(h.ref,h.__c||$,h)),b==null&&$!=null&&(b=$),4&h.__u?(g=Pe(h,g,e),c.__e&&(c.__e=null)):typeof h.type=="function"&&m!==void 0?g=m:$&&(g=$.nextSibling),h.__u&=-7);return t.__e=b,g}function hn(e,n,t,o,s){var a,i,u,g,l,_=t.length,y=_,c=0;for(e.__k=new Array(s),a=0;a<s;a++)(i=n[a])!=null&&typeof i!="boolean"&&typeof i!="function"?(typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?i=e.__k[a]=J(null,i,null,null,null):Q(i)?i=e.__k[a]=J(N,{children:i},null,null,null):i.constructor===void 0&&i.__b>0?i=e.__k[a]=J(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):e.__k[a]=i,g=a+c,i.__=e,i.__b=e.__b+1,u=null,(l=i.__i=fn(i,t,g,y))!=-1&&(y--,(u=t[l])&&(u.__u|=2)),u==null||u.__v==null?(l==-1&&(s>_?c--:s<_&&c++),typeof i.type!="function"&&(i.__u|=4)):l!=g&&(l==g-1?c--:l==g+1?c++:(l>g?c--:c++,i.__u|=4))):e.__k[a]=null;if(y)for(a=0;a<_;a++)(u=t[a])!=null&&(2&u.__u)==0&&(u.__e==o&&(o=B(u)),He(u,u));return o}function Pe(e,n,t){var o,s;if(typeof e.type=="function"){for(o=e.__k,s=0;o&&s<o.length;s++)o[s]&&(o[s].__=e,n=Pe(o[s],n,t));return n}e.__e!=n&&(n&&e.type&&!n.parentNode&&(n=B(e)),n=t.insertBefore(e.__e,n||null));do n=n&&n.nextSibling;while(n!=null&&n.nodeType==8);return n}function fn(e,n,t,o){var s,a,i,u=e.key,g=e.type,l=n[t],_=l!=null&&(2&l.__u)==0;if(l===null&&u==null||_&&u==l.key&&g==l.type)return t;if(o>(_?1:0)){for(s=t-1,a=t+1;s>=0||a<n.length;)if((l=n[i=s>=0?s--:a++])!=null&&(2&l.__u)==0&&u==l.key&&g==l.type)return i}return-1}function Re(e,n,t){n[0]=="-"?e.setProperty(n,t??""):e[n]=t==null?"":typeof t!="number"||pn.test(n)?t:t+"px"}function ee(e,n,t,o,s){var a,i;e:if(n=="style")if(typeof t=="string")e.style.cssText=t;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(n in o)t&&n in t||Re(e.style,n,"");if(t)for(n in t)o&&t[n]==o[n]||Re(e.style,n,t[n])}else if(n[0]=="o"&&n[1]=="n")a=n!=(n=n.replace(Te,"$1")),i=n.toLowerCase(),n=i in e||n=="onFocusOut"||n=="onFocusIn"?i.slice(2):n.slice(2),e.l||(e.l={}),e.l[n+a]=t,t?o?t[q]=o[q]:(t[q]=le,e.addEventListener(n,a?ce:de,a)):e.removeEventListener(n,a?ce:de,a);else{if(s=="http://www.w3.org/2000/svg")n=n.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(n!="width"&&n!="height"&&n!="href"&&n!="list"&&n!="form"&&n!="tabIndex"&&n!="download"&&n!="rowSpan"&&n!="colSpan"&&n!="role"&&n!="popover"&&n in e)try{e[n]=t??"";break e}catch{}typeof t=="function"||(t==null||t===!1&&n[4]!="-"?e.removeAttribute(n):e.setAttribute(n,n=="popover"&&t==1?"":t))}}function ze(e){return function(n){if(this.l){var t=this.l[n.type+e];if(n[V]==null)n[V]=le++;else if(n[V]<t[q])return;return t(S.event?S.event(n):n)}}}function pe(e,n,t,o,s,a,i,u,g,l){var _,y,c,h,$,b,m,w,v,P,k,C,E,D,R,j,f=n.type;if(n.constructor!==void 0)return null;128&t.__u&&(g=!!(32&t.__u),a=[u=n.__e=t.__e]),(_=S.__b)&&_(n);e:if(typeof f=="function"){y=i.length;try{if(v=n.props,P=f.prototype&&f.prototype.render,k=(_=f.contextType)&&o[_.__c],C=_?k?k.props.value:_.__:o,t.__c?w=(c=n.__c=t.__c).__=c.__E:(P?n.__c=c=new f(v,C):(n.__c=c=new X(v,C),c.constructor=f,c.render=mn),k&&k.sub(c),c.state||(c.state={}),c.__n=o,h=c.__d=!0,c.__h=[],c._sb=[]),P&&c.__s==null&&(c.__s=c.state),P&&f.getDerivedStateFromProps!=null&&(c.__s==c.state&&(c.__s=U({},c.__s)),U(c.__s,f.getDerivedStateFromProps(v,c.__s))),$=c.props,b=c.state,c.__v=n,h)P&&f.getDerivedStateFromProps==null&&c.componentWillMount!=null&&c.componentWillMount(),P&&c.componentDidMount!=null&&c.__h.push(c.componentDidMount);else{if(P&&f.getDerivedStateFromProps==null&&v!==$&&c.componentWillReceiveProps!=null&&c.componentWillReceiveProps(v,C),n.__v==t.__v||!c.__e&&c.shouldComponentUpdate!=null&&c.shouldComponentUpdate(v,c.__s,C)===!1){n.__v!=t.__v&&(c.props=v,c.state=c.__s,c.__d=!1),n.__e=t.__e,n.__k=t.__k,n.__k.some(function(A){A&&(A.__=n)}),Y.push.apply(c.__h,c._sb),c._sb=[],c.__h.length&&i.push(c),u=B(t);break e}c.componentWillUpdate!=null&&c.componentWillUpdate(v,c.__s,C),P&&c.componentDidUpdate!=null&&c.__h.push(function(){c.componentDidUpdate($,b,m)})}if(c.context=C,c.props=v,c.__P=e,c.__e=!1,E=S.__r,D=0,P)c.state=c.__s,c.__d=!1,E&&E(n),_=c.render(c.props,c.state,c.context),Y.push.apply(c.__h,c._sb),c._sb=[];else do c.__d=!1,E&&E(n),_=c.render(c.props,c.state,c.context),c.state=c.__s;while(c.__d&&++D<25);c.state=c.__s,c.getChildContext!=null&&(o=U(U({},o),c.getChildContext())),P&&!h&&c.getSnapshotBeforeUpdate!=null&&(m=c.getSnapshotBeforeUpdate($,b)),R=_!=null&&_.type===N&&_.key==null?Ne(_.props.children):_,u=Ae(e,Q(R)?R:[R],n,t,o,s,a,i,u,g,l),c.base=n.__e,n.__u&=-161,c.__h.length&&i.push(c),w&&(c.__E=c.__=null)}catch(A){if(i.length=y,n.__v=null,g||a!=null){if(A.then){for(n.__u|=g?160:128;u&&u.nodeType==8&&u.nextSibling;)u=u.nextSibling;a!=null&&(a[a.indexOf(u)]=null),n.__e=u}else if(a!=null)for(j=a.length;j--;)ue(a[j])}else n.__e=t.__e;n.__k==null&&(n.__k=t.__k||[]),A.then||Oe(n),S.__e(A,n,t)}}else a==null&&n.__v==t.__v?(n.__k=t.__k,n.__e=t.__e):u=n.__e=_n(t.__e,n,t,o,s,a,i,g,l);return(_=S.diffed)&&_(n),128&n.__u?void 0:u}function Oe(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(Oe))}function Le(e,n,t){for(var o=0;o<t.length;o++)ge(t[o],t[++o],t[++o]);S.__c&&S.__c(n,e),e.some(function(s){try{e=s.__h,s.__h=[],e.some(function(a){a.call(s)})}catch(a){S.__e(a,s.__v)}})}function Ne(e){return typeof e!="object"||e==null||e.__b>0?e:Q(e)?e.map(Ne):e.constructor!==void 0?null:U({},e)}function _n(e,n,t,o,s,a,i,u,g){var l,_,y,c,h,$,b,m=t.props||G,w=n.props,v=n.type;if(v=="svg"?s="http://www.w3.org/2000/svg":v=="math"?s="http://www.w3.org/1998/Math/MathML":s||(s="http://www.w3.org/1999/xhtml"),a!=null){for(l=0;l<a.length;l++)if((h=a[l])&&"setAttribute"in h==!!v&&(v?h.localName==v:h.nodeType==3)){e=h,a[l]=null;break}}if(e==null){if(v==null)return document.createTextNode(w);e=document.createElementNS(s,v,w.is&&w),u&&(S.__m&&S.__m(n,a),u=!1),a=null}if(v==null)m===w||u&&e.data==w||(e.data=w);else{if(a=v=="textarea"&&w.defaultValue!=null?null:a&&W.call(e.childNodes),!u&&a!=null)for(m={},l=0;l<e.attributes.length;l++)m[(h=e.attributes[l]).name]=h.value;for(l in m)h=m[l],l=="dangerouslySetInnerHTML"?y=h:l=="children"||l in w||l=="value"&&"defaultValue"in w||l=="checked"&&"defaultChecked"in w||ee(e,l,null,h,s);for(l in w)h=w[l],l=="children"?c=h:l=="dangerouslySetInnerHTML"?_=h:l=="value"?$=h:l=="checked"?b=h:u&&typeof h!="function"||m[l]===h||ee(e,l,h,m[l],s);if(_)u||y&&(_.__html==y.__html||_.__html==e.innerHTML)||(e.innerHTML=_.__html),n.__k=[];else if(y&&(e.innerHTML=""),Ae(n.type=="template"?e.content:e,Q(c)?c:[c],n,t,o,v=="foreignObject"?"http://www.w3.org/1999/xhtml":s,a,i,a?a[0]:t.__k&&B(t,0),u,g),a!=null)for(l=a.length;l--;)ue(a[l]);u&&v!="textarea"||(l="value",v=="progress"&&$==null?e.removeAttribute("value"):$!=null&&($!==e[l]||v=="progress"&&!$||v=="option"&&$!=m[l])&&ee(e,l,$,m[l],s),l="checked",b!=null&&b!=e[l]&&ee(e,l,b,m[l],s))}return e}function ge(e,n,t){try{if(typeof e=="function"){var o=typeof e.__u=="function";o&&e.__u(),o&&n==null||(e.__u=e(n))}else e.current=n}catch(s){S.__e(s,t)}}function He(e,n,t){var o,s;if(S.unmount&&S.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||ge(o,null,n)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(a){S.__e(a,n)}o.base=o.__P=o.__n=null}if(o=e.__k)for(s=0;s<o.length;s++)o[s]&&He(o[s],n,t||typeof e.type!="function");t||ue(e.__e),e.__c=e.__=e.__e=void 0}function mn(e,n,t){return this.constructor(e,t)}function Ie(e,n,t){var o,s,a,i;n==document&&(n=document.documentElement),S.__&&S.__(e,n),s=(o=!1)?null:n.__k,a=[],i=[],pe(n,e=n.__k=L(N,null,[e]),s||G,G,n.namespaceURI,s?null:n.firstChild?W.call(n.childNodes):null,a,s?s.__e:n.firstChild,o,i),Le(a,e,i),e.props.children=null}W=Y.slice,S={__e:function(e,n,t,o){for(var s,a,i;n=n.__;)if((s=n.__c)&&!s.__)try{if((a=s.constructor)&&a.getDerivedStateFromError!=null&&(s.setState(a.getDerivedStateFromError(e)),i=s.__d),s.componentDidCatch!=null&&(s.componentDidCatch(e,o||{}),i=s.__d),i)return s.__E=s}catch(u){e=u}throw e}},$e=0,X.prototype.setState=function(e,n){var t;t=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=U({},this.state),typeof e=="function"&&(e=e(U({},t),this.props)),e&&U(t,e),e!=null&&this.__v&&(n&&this._sb.push(n),De(this))},X.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),De(this))},X.prototype.render=N,F=[],Se=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Ee=function(e,n){return e.__v.__b-n.__v.__b},Z.__r=0,ie=Math.random().toString(8),V="__d"+ie,q="__a"+ie,Te=/(PointerCapture)$|Capture$/i,le=0,de=ze(!1),ce=ze(!0);var kn=0;function r(e,n,t,o,s,a){n||(n={});var i,u,g=n;if("ref"in g)for(u in g={},n)u=="ref"?i=n[u]:g[u]=n[u];var l={type:e,props:g,key:t,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--kn,__i:-1,__u:0,__source:s,__self:a};if(typeof e=="function"&&(i=e.defaultProps))for(u in i)g[u]===void 0&&(g[u]=i[u]);return S.vnode&&S.vnode(l),l}const bn="Snagset",xn="Snagset",yn="Snag",vn="Snags",x={font:"--snag-font",accent:"--snag-accent",onAccent:"--snag-onAccent",bg:"--snag-bg",fg:"--snag-fg",muted:"--snag-muted",border:"--snag-border",radius:"--snag-radius",shadow:"--snag-shadow",z:"--snag-z",motion:"--snag-motion",surface:"--snag-surface",sunken:"--snag-sunken",hover:"--snag-hover",focus:"--snag-focus",disabled:"--snag-disabled",statusOpen:"--snag-status-open",statusProgress:"--snag-status-progress",statusReview:"--snag-status-review",statusResolved:"--snag-status-resolved",anchorOrphan:"--snag-anchor-orphan",tbH:"--snag-tb-h",dockW:"--snag-dock-w",kb:"--snag-kb",thumbX:"--snag-thumb-x",thumbW:"--snag-thumb-w"},wn=e=>`var(${x[e]})`,$n=e=>"snag_"+e,Ue={query:["snag_t","snag_off","snag_debug","snag_theme"],fragment:["snag_k"]},Cn="data-snag-theme";var K,T,he,je,ne=0,Fe=[],M=S,Be=M.__b,qe=M.__r,Ke=M.diffed,We=M.__c,Ve=M.unmount,Ge=M.__;function fe(e,n){M.__h&&M.__h(T,e,ne||n),ne=0;var t=T.__H||(T.__H={__:[],__h:[]});return e>=t.__.length&&t.__.push({}),t.__[e]}function z(e){return ne=1,Sn(Je,e)}function Sn(e,n,t){var o=fe(K++,2);if(o.t=e,!o.__c&&(o.__=[Je(void 0,n),function(u){var g=o.__N?o.__N[0]:o.__[0],l=o.t(g,u);g!==l&&(o.__N=[l,o.__[1]],o.__c.setState({}))}],o.__c=T,!T.__f)){var s=function(u,g,l){if(!o.__c.__H)return!0;var _=!1,y=o.__c.props!==u;if(o.__c.__H.__.some(function(h){if(h.__N){_=!0;var $=h.__[0];h.__=h.__N,h.__N=void 0,$!==h.__[0]&&(y=!0)}}),a){var c=a.call(this,u,g,l);return _?c||y:c}return!_||y};T.__f=!0;var a=T.shouldComponentUpdate,i=T.componentWillUpdate;T.componentWillUpdate=function(u,g,l){if(this.__e){var _=a;a=void 0,s(u,g,l),a=_}i&&i.call(this,u,g,l)},T.shouldComponentUpdate=s}return o.__N||o.__}function H(e,n){var t=fe(K++,3);!M.__s&&Qe(t.__H,n)&&(t.__=e,t.u=n,T.__H.__h.push(t))}function I(e){return ne=5,En(function(){return{current:e}},[])}function En(e,n){var t=fe(K++,7);return Qe(t.__H,n)&&(t.__=e(),t.__H=n,t.__h=e),t.__}function Tn(){for(var e;e=Fe.shift();){var n=e.__H;if(e.__P&&n)try{n.__h.some(te),n.__h.some(_e),n.__h=[]}catch(t){n.__h=[],M.__e(t,e.__v)}}}M.__b=function(e){T=null,Be&&Be(e)},M.__=function(e,n){e&&n.__k&&n.__k.__m&&(e.__m=n.__k.__m),Ge&&Ge(e,n)},M.__r=function(e){qe&&qe(e),K=0;var n=(T=e.__c).__H;n&&(he===T?(n.__h=[],T.__h=[],n.__.some(function(t){t.__N&&(t.__=t.__N),t.u=t.__N=void 0})):(n.__h.some(te),n.__h.some(_e),n.__h=[],K=0)),he=T},M.diffed=function(e){Ke&&Ke(e);var n=e.__c;n&&n.__H&&(n.__H.__h.length&&(Fe.push(n)!==1&&je===M.requestAnimationFrame||((je=M.requestAnimationFrame)||Mn)(Tn)),n.__H.__.some(function(t){t.u&&(t.__H=t.u,t.u=void 0)})),he=T=null},M.__c=function(e,n){n.some(function(t){try{t.__h.some(te),t.__h=t.__h.filter(function(o){return!o.__||_e(o)})}catch(o){n.some(function(s){s.__h&&(s.__h=[])}),n=[],M.__e(o,t.__v)}}),We&&We(e,n)},M.unmount=function(e){Ve&&Ve(e);var n,t=e.__c;t&&t.__H&&(t.__H.__.some(function(o){try{te(o)}catch(s){n=s}}),t.__H=void 0,n&&M.__e(n,t.__v))};var Ye=typeof requestAnimationFrame=="function";function Mn(e){var n,t=function(){clearTimeout(o),Ye&&cancelAnimationFrame(n),setTimeout(e)},o=setTimeout(t,35);Ye&&(n=requestAnimationFrame(t))}function te(e){var n=T,t=e.__c;typeof t=="function"&&(e.__c=void 0,t()),T=n}function _e(e){var n=T;e.__c=e.__(),T=n}function Qe(e,n){return!e||e.length!==n.length||n.some(function(t,o){return t!==e[o]})}function Je(e,n){return typeof n=="function"?n(e):n}const Dn={product:bn,set:xn,item:yn,items:vn};function Xe(e){return(n,t)=>(e[n]??"").replace(/\{(\w+)\}/g,(o,s)=>{const a=t?.[s]??Dn[s];return a===void 0?o:String(a)})}const O=e=>new Intl.NumberFormat().format(e),Ze={"where.anchored":"{label}","where.approximate":"position approximate \u2014 the page changed","where.orphaned":"moved \u2014 the element is gone","status.open":"Active","status.progress":"In progress","status.review":"In review","status.resolved":"Resolved","author.unknown":"Someone","label.image":"an image","label.link":"a link","label.button":"a button","label.tag":"the {tag}"},An=Xe(Ze),oe={open:{colour:"#4f6ef7"},progress:{colour:"#f59e0b"},review:{colour:"#8b5cf6"},resolved:{colour:"#10b981"}},me=e=>oe[e]?.colour??"#8a8f98",en=e=>e==="open"||e==="review"?"#fff":"#16161a",ke=e=>e in oe?An(`status.${e}`):e,d=Object.fromEntries(Object.keys(x).map(e=>[e,wn(e)])),Pn=Object.entries(oe).map(([e,n])=>` ${x[`status${e[0].toUpperCase()}${e.slice(1)}`]}:${n.colour};`).join(`
|
|
2
|
-
`);`${d.font}${d.fg}${
|
|
3
|
-
`),t=[];let o=0,s=0;for(;o<n.length;){const a=n[o];if(
|
|
4
|
-
`))));continue}const i=
|
|
5
|
-
`)))):o++}return L("div",{class:"snag-md"},t)}const jn={"detail.details":"Anchor details","detail.hidden":"This element isn't visible right now \u2014 it may be inside a closed menu, tab, or accordion.","detail.orphaned":"The element this was pinned to has moved or gone \u2014 it was {label}.","detail.approximate":"The page changed since this was written, so the pin is close rather than exact \u2014 it points at {label}.","detail.unavailable":"Some of the matching steps couldn't load, so this was judged with the basic ones only.","detail.filedat":"Filed at {query}.","detail.openquery":"Open with original query","capture.agent":"{browser} \xB7 {os}","capture.agent.noos":"{browser}","capture.device":"{device} \xB7 {w}\xD7{h} @{dpr}x","capture.device.at1x":"{device} \xB7 {w}\xD7{h}"},Fn={"disclosure.title":"Before your first comment","disclosure.always":"Each comment carries the page address, viewport size and browser make.","disclosure.crumbs.on":"Recent console messages and network results ride along, recognisable secrets redacted first.","disclosure.crumbs.off":"Console and network capture is off here.","disclosure.screenshot.off":"Screenshots are off for this project.","disclosure.screenshot.on":"{product} never reads what you type. Screenshots are pictures of the page, so anything visible on screen is in the picture \u2014 mark sensitive regions with {maskAttr} and they are blurred before the screenshot leaves your browser.","disclosure.retention":"Everything stays in this browser until someone exports it \u2014 the privacy notes list what can still leak.","disclosure.retention.server":"Your comment, the page address and the details above are sent to {host} when you post \u2014 the privacy notes list what can still leak.","disclosure.ack":"Got it","composer.aria":"New comment","composer.parent":"Pin the parent","composer.child":"Pin the first child","composer.shot":"Add a screenshot","composer.name":"Your name","composer.email":"Email, so we can reply","composer.email.bad":"Check the address \u2014 or leave it blank.","composer.chars":"{n} characters left","composer.body":"Comment","composer.body.placeholder":"What's the {item}?","action.cancel":"Cancel","action.post":"Post comment","composer.discard.sure":"Sure? Discard this comment","action.discard":"Discard?"},Bn={"shot.open":"See the screenshot","shot.aria":"Screenshot","shot.close":"Close","announce.status":"Comment {key} set to {status}.","search.placeholder":"Search {n} comments\u2026","search.aria":"Search comments","round.label":"Round","round.closed":"(closed)","filter.status":"Status","filter.clear":"Clear","filter.selectall":"Select all","sort.button":"Sort","sort.newest":"Newest first","sort.oldest":"Oldest first","sort.page":"By page","filter.button":"Filter","filter.button.n":"Filter \xB7 {n}","filter.by":"Comments by","filter.by.anyone":"Anyone","filter.pages":"Pages","filter.pages.all":"All pages","filter.pageonly":"Show comments on this page only","filter.new":"See new activity \xB7 {n}","filter.new.on":"Showing new activity \u2014 show all","filter.new.none":"You\u2019re caught up \u2014 show all","filter.read":"Marked as","filter.read.all":"Anyone\u2019s, read or not","filter.read.unread":"Unread","filter.read.read":"Read","dock.unread":"Unread","badge.anchored":"","badge.approximate":"~","badge.orphaned":"moved","badge.hidden":"hidden","capture.label":"Comment left on","capture.page":"{route}","device.Mobile":"Mobile","device.Desktop":"Desktop","dock.aria":"All comments","dock.title.list":"All comments","dock.title.detail":"Comment","dock.close":"Close all comments","dock.empty":"No comments yet. Press +, then click anything on the page.","dock.empty.filter":"Nothing matches that filter.","dock.empty.orphans":"Every comment here lost its element \u2014 but what each one pointed at is still recorded.","dock.empty.page":"Nothing on this page. {n} comments on {m} other pages.","dock.row.empty":"(no comment)","dock.replies":"{n} replies","dock.goto":"Go to {route}","dock.cluster":"{n} comments in this cluster","dock.cluster.clear":"Show all","dock.hiddenrow":"That comment is now hidden by your filter","dock.hiddenrow.show":"Show","dock.back":"All","dock.back.aria":"Back to all comments","dock.position":"{n} of {total}","dock.prev":"Previous comment","dock.next":"Next comment","dock.clear":"Clear all","dock.clear.aria":"Delete every comment in this review","comment.edit":"Edit this comment","comment.delete":"Delete this comment and its pin","reply.delete":"Delete this reply","detail.hidden.show":"Show anyway","field.status":"Status","permalink.copy":"Copy link","permalink.copied":"Copied","reply.add":"Add reply","reply.aria":"Reply","reply.placeholder":"Reply\u2026","reply.send":"Reply","action.more":"More actions","action.edit":"Edit","action.delete":"Delete","action.save":"Save","action.sure":"Sure?","export.button":"Export","export.md":"Markdown","export.json":"JSON"},qn={...Ze,...jn,...Fn,...Bn},p=Xe(qn),Kn=[/^utm_/,/^(gclid|gbraid|wbraid|fbclid|msclkid|ttclid|twclid|igshid|yclid|li_fat_id)$/,/^(mc_cid|mc_eid|_hsenc|_hsmi|vero_id|oly_enc_id|oly_anon_id)$/,/^_vercel_/,/^__vercel_/,/^_rsc$/],Wn=[...Ue.query,...Ue.fragment];function Vn(e,n=[]){return Wn.includes(e)||n.includes(e)?!0:Kn.some(t=>t.test(e))}const ae=["open","progress","review","resolved"];function Gn(e,n){const t=e.includes(n)?e.filter(o=>o!==n):[...e,n];return t.length>=ae.length?[]:t}function Yn(e,n,t){if(n.statuses.length>0&&ae.includes(e.status)&&!n.statuses.includes(e.status)||n.by&&e.createdBy.id!==n.by||n.page&&e.route!==n.page)return!1;if(n.read!=="all"&&t){const o=se(e,t);if(n.read==="unread"&&!o||n.read==="read"&&o)return!1}return!0}function se(e,n){const t=n.get(e.id)??0;return Date.parse(e.updatedAt)>t}function Qn(e,n,t,o){let s=e;n.pageOnly&&(s=s.filter(i=>i.route===t)),n.newOnly&&o&&(s=s.filter(i=>se(i,o)));const a=n.q?.trim().toLowerCase();return a&&(s=s.filter(i=>i.comments.some(u=>(u.body??"").toLowerCase().includes(a)||u.author.name.toLowerCase().includes(a))||i.createdBy.name.toLowerCase().includes(a))),s}function Jn(e,n){if(n==="page")return e;const t=(s,a)=>Date.parse(s.createdAt)-Date.parse(a.createdAt),o=[...e].sort(t);return n==="oldest"?o:o.reverse()}function Xn(e){const n=new Map;for(const t of e)n.set(t.status,(n.get(t.status)??0)+1);return{all:e.length,byStatus:n}}function Zn(e){return(e.read!=="all"?1:0)+(e.by?1:0)+(e.page?1:0)}const ve=Object.keys(oe);function rn({label:e,title:n,cls:t,role:o,onConfirm:s}){const{armed:a,press:i}=On(s);return r("button",{type:"button",...o===void 0?{}:{role:o},class:`${t}${a?" snag-dk-armed":""}`,"aria-label":a?`${p("action.sure")} ${n}`:n,title:n,onClick:i,children:a?p("action.sure"):e})}function et({snag:e}){const n=e.context?.derived?.device;if(!n)return null;const t=p(`device.${n}`);return r("span",{class:"snag-dk-dev",title:t,"aria-label":t,role:"img",children:n==="Mobile"?r("svg",{width:"11",height:"14",viewBox:"0 0 11 14",fill:"none","aria-hidden":"true",children:[r("rect",{x:".75",y:".75",width:"9.5",height:"12.5",rx:"1.75",stroke:"currentColor","stroke-width":"1.5"}),r("path",{d:"M4.5 11h2",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})]}):r("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:[r("rect",{x:".75",y:"1.75",width:"12.5",height:"8.5",rx:"1.75",stroke:"currentColor","stroke-width":"1.5"}),r("path",{d:"M5 12.75h4",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})]})})}function nt({anchor:e}){const n=[];if(e.testid&&n.push(["testid",e.testid]),e.domid&&n.push(["id",e.domid]),e.css&&n.push(["css",e.css]),e.hostPath?.length&&n.push(["shadow host",e.hostPath.join(" >> ")]),e.role&&n.push(["role",e.role]),e.accessibleName&&n.push(["name",e.accessibleName]),e.text?.exact&&n.push(["text",e.text.exact]),e.path?.length&&n.push(["path",e.path.join(" > ")]),e.rect){const t=e.rect;n.push(["rect",`${Math.round(t.x)}, ${Math.round(t.y)} \u2014 ${Math.round(t.w)} x ${Math.round(t.h)}`])}return e.breakpoint&&n.push(["breakpoint",`${e.breakpoint} at capture \xB7 you are at ${typeof window>"u"?"?":window.innerWidth}px`]),r("details",{class:"snag-dk-anchor",children:[r("summary",{children:p("detail.details")}),r("dl",{children:n.map(([t,o])=>r("div",{children:[r("dt",{children:t}),r("dd",{children:o})]},t))})]})}function an({body:e,onEdit:n,deleteLabel:t,onDelete:o}){const s=e??"",[a,i]=z(!1),[u,g]=z(!1),[l,_]=z(s),y=I(null),c=h=>{h.key!=="Escape"||!u||(h.stopPropagation(),g(!1))};return H(()=>{a&&y.current?.focus()},[a]),a?r("div",{class:"snag-dk-editbox",children:[r("textarea",{ref:y,class:"snag-text",rows:3,"aria-label":p("comment.edit"),value:l,onInput:h=>_(h.target.value),onKeyDown:h=>{h.key==="Enter"&&(h.metaKey||h.ctrlKey)&&(h.preventDefault(),l.trim()&&(n(l.trim()),i(!1))),h.key==="Escape"&&(h.stopPropagation(),_(s),i(!1))}}),r("div",{class:"snag-actions",children:[r("button",{type:"button",class:"snag-cancel",onClick:()=>{_(s),i(!1)},children:p("action.cancel")}),r("button",{type:"button",class:"snag-send",disabled:!l.trim()||l.trim()===s,onClick:()=>{n(l.trim()),i(!1)},children:p("action.save")})]})]}):r("div",{class:"snag-dk-acts snag-dk-menus",onKeyDown:c,children:[u&&r("div",{class:"snag-dk-menubg","aria-hidden":"true",onClick:()=>g(!1)}),r("span",{class:"snag-dk-menuwrap",children:[r("button",{type:"button",class:"snag-dk-act snag-dk-more","aria-label":p("action.more"),"aria-expanded":u,"aria-haspopup":"menu",title:p("action.more"),onClick:()=>g(!u),children:"\u22EF"}),u&&r("div",{class:"snag-dk-menu",role:"menu",children:[r("button",{type:"button",role:"menuitem",title:p("comment.edit"),"aria-label":p("comment.edit"),onClick:()=>{g(!1),_(s),i(!0)},children:p("action.edit")}),r(rn,{label:p("action.delete"),title:t,cls:"snag-dk-act--danger",role:"menuitem",onConfirm:o})]})]})]})}function tt({snag:e}){const n=e.anchorReasons?.includes("hidden")??!1;return r("span",{class:"snag-dk-dim snag-dk-where",children:[n&&r(N,{children:[r("span",{class:"snag-dk-moved",children:p("badge.hidden")})," "]}),e.anchorState!=="anchored"&&r(N,{children:[r("span",{class:"snag-dk-moved",children:p(`badge.${e.anchorState}`)})," "]}),e.anchor.label]})}function ot(e){const n=new Map,t=new Map;for(const o of e){const s=(n.get(o.route)??0)+1;n.set(o.route,s),t.set(o.id,s)}return t}function rt(e,n){const t=new Map;for(const o of e){const s=t.get(o.route);s?s.push(o):t.set(o.route,[o])}return[...t.entries()].map(([o,s])=>({route:o,here:o===n,snags:s})).sort((o,s)=>o.route.localeCompare(s.route))}function at({snag:e,n,here:t,unread:o,onOpen:s,onHover:a}){const i=g=>a(t?g:null),u=t?"":p("dock.goto",{route:e.route});return r("li",{children:r("button",{type:"button",class:"snag-dk-item",onClick:()=>s(e.id),onPointerEnter:()=>i(e.id),onPointerLeave:()=>i(null),onFocus:()=>i(e.id),onBlur:()=>i(null),children:[r("span",{class:`snag-dk-dot${o?" snag-dk-dot--on":""}`,role:"img","aria-label":o?p("dock.unread"):""}),r("span",{class:`snag-dk-num${e.anchorState==="anchored"?"":` snag-dk-num--${e.anchorState}`}`,style:{background:me(e.status),color:en(e.status)},children:n}),r("span",{class:"snag-dk-main",children:[r("span",{class:`snag-dk-body${e.status==="resolved"?" snag-dk-done":""}`,children:e.comments[0]?.body??p("dock.row.empty")}),r("span",{class:"snag-dk-sub",children:r(tt,{snag:e})})]}),r(et,{snag:e}),e.comments.length>1&&r("span",{class:"snag-dk-replies",role:"img","aria-label":p("dock.replies",{n:O(e.comments.length-1)}),children:O(e.comments.length-1)}),!t&&r("span",{class:"snag-dk-goto",role:"img",title:u,"aria-label":u,children:"\u2197"})]})})}const sn=e=>d[`status${e[0].toUpperCase()}${e.slice(1)}`]??d.muted;function st({round:e,filter:n,onFilter:t,rounds:o,activeRound:s,onRound:a,onClearAll:i,seenAt:u}){const g=!!o&&o.length>1&&!!a,l=e.length>0,[_,y]=z(null),c=Xn(e),h=k=>{const C={...n};for(const[E,D]of Object.entries(k))D===void 0?delete C[E]:C[E]=D;t(C)},$=n.statuses.length>0,b=Zn(n),m=[...new Map(e.map(k=>[k.createdBy.id,k.createdBy.name]))],w=[...new Set(e.map(k=>k.route))].sort(),v=[...c.byStatus.keys()].filter(k=>!ae.includes(k)),P=r("div",{class:"snag-dk-menugroup",children:[r("div",{class:"snag-dk-chiphead",children:[r("span",{class:"snag-dk-menutitle",children:p("filter.status")}),r("button",{type:"button",class:"snag-dk-link",onClick:()=>h({statuses:[]}),children:p($?"filter.selectall":"filter.clear")})]}),r("div",{class:"snag-dk-chips",role:"group","aria-label":p("filter.status"),children:[ae.map(k=>{const C=n.statuses.includes(k);return r("button",{type:"button",class:"snag-dk-chip","aria-pressed":C,style:`border-color:color-mix(in srgb, ${sn(k)} 60%, transparent);background:color-mix(in srgb, ${sn(k)} ${C?28:10}%, transparent)`,onClick:()=>h({statuses:Gn(n.statuses,k)}),children:[ke(k)," ",r("span",{class:"snag-dk-dim",children:O(c.byStatus.get(k)??0)})]})}),v.map(k=>r("span",{class:"snag-dk-chip snag-dk-chip-stray",children:[k," ",r("span",{class:"snag-dk-dim",children:O(c.byStatus.get(k)??0)})]}))]})]});return r("div",{class:"snag-dk-filters",children:[l&&r("input",{class:"snag-input snag-dk-search",type:"search","aria-label":p("search.aria"),placeholder:p("search.placeholder",{n:O(e.length)}),value:n.q??"",onInput:k=>h({q:k.currentTarget.value||void 0})}),r("div",{class:"snag-dk-menus",onKeyDown:k=>{k.key!=="Escape"||!_||(k.stopPropagation(),y(null))},children:[_&&r("div",{class:"snag-dk-menubg","aria-hidden":"true",onClick:()=>y(null)}),r("span",{class:"snag-dk-menuwrap",children:[r("button",{type:"button",class:"snag-dk-link","aria-expanded":_==="filter",onClick:()=>y(_==="filter"?null:"filter"),children:b>0?p("filter.button.n",{n:O(b)}):p("filter.button")}),_==="filter"&&r("div",{class:"snag-dk-menu snag-dk-menu-form",role:"group","aria-label":p("filter.button"),children:[(g||l)&&r("div",{class:"snag-dk-menugroup",children:[!g&&r("span",{class:"snag-dk-menutitle",children:p("round.label")}),g&&r("label",{class:"snag-dk-round",children:[r("span",{class:"snag-dk-menutitle",children:p("round.label")}),r("select",{class:"snag-input",value:String(s??""),onChange:k=>a(Number(k.currentTarget.value)),children:o.map(k=>r("option",{value:String(k.number),children:[k.name,k.closed?` ${p("round.closed")}`:""]},k.number))})]}),l&&r(rn,{label:p("dock.clear"),title:p("dock.clear.aria"),cls:"snag-dk-link snag-dk-clear",onConfirm:i})]}),l&&P,l&&r("div",{class:"snag-dk-menugroup",role:"radiogroup","aria-label":p("sort.button"),children:[r("span",{class:"snag-dk-menutitle","aria-hidden":"true",children:p("sort.button")}),[["newest","sort.newest"],["oldest","sort.oldest"],["page","sort.page"]].map(([k,C])=>r("button",{type:"button",role:"radio","aria-checked":n.sort===k,onClick:()=>h({sort:k}),children:[r("span",{class:"snag-dk-tick","aria-hidden":"true",children:n.sort===k?"\u2713":"\xA0"}),p(C)]}))]}),l&&r("div",{class:"snag-dk-menugroup snag-dk-menugroup-last",children:[u&&r("label",{children:[p("filter.read"),r("select",{value:n.read,onChange:k=>h({read:k.currentTarget.value}),children:[r("option",{value:"all",children:p("filter.read.all")}),r("option",{value:"unread",children:p("filter.read.unread")}),r("option",{value:"read",children:p("filter.read.read")})]})]}),r("label",{children:[p("filter.by"),r("select",{value:n.by??"",onChange:k=>h({by:k.currentTarget.value||void 0}),children:[r("option",{value:"",children:p("filter.by.anyone")}),m.map(([k,C])=>r("option",{value:k,children:C}))]})]}),r("label",{children:[p("filter.pages"),r("select",{value:n.page??"",onChange:k=>h({page:k.currentTarget.value||void 0}),children:[r("option",{value:"",children:p("filter.pages.all")}),w.map(k=>r("option",{value:k,children:k}))]})]}),r("label",{class:"snag-dk-pageonly",children:[r("input",{type:"checkbox",checked:n.pageOnly,onChange:k=>h({pageOnly:k.currentTarget.checked})})," ",p("filter.pageonly")]})]})]})]})]})]})}function it({snags:e,groups:n,route:t,onOpen:o,onHover:s,onExport:a,onClearAll:i,clusterFilter:u,onClusterClear:g,filter:l,onFilter:_,hiddenNote:y,onHiddenShow:c,rounds:h,activeRound:$,onRound:b,seenAt:m}){const w=ot(e),v=n.flatMap(f=>f.snags),P=l.statuses.length>0||!!l.by||!!l.page||!!l.q?.trim()||l.pageOnly||l.newOnly||l.read!=="all",k=m?e.filter(f=>se(f,m)).length:0,C=I(null),[E,D]=z(!1),R=f=>{f.key!=="Escape"||!E||(f.stopPropagation(),D(!1))},j=I(null);return H(()=>{const f=C.current,A=j.current;!f||!A||(f.scrollTop+=A.getBoundingClientRect().top-f.getBoundingClientRect().top)},[t,n.length]),r(N,{children:[(e.length>0||h&&h.length>1&&b)&&r(st,{round:e,filter:l,onFilter:_,onClearAll:i,...m===void 0?{}:{seenAt:m},...h===void 0?{}:{rounds:h},...$===void 0?{}:{activeRound:$},...b===void 0?{}:{onRound:b}}),m&&(k>0||l.newOnly)&&r("button",{type:"button",class:"snag-dk-newpill","aria-pressed":l.newOnly,onClick:()=>_({...l,newOnly:!l.newOnly}),children:l.newOnly?p(k===0?"filter.new.none":"filter.new.on"):p("filter.new",{n:O(k)})}),e.length===0?r("div",{class:"snag-dk-empty",children:r("p",{children:p("dock.empty")})}):v.length===0&&P?r("div",{class:"snag-dk-empty",children:l.pageOnly&&e.some(f=>f.route!==t)?r("p",{children:p("dock.empty.page",{n:O(e.filter(f=>f.route!==t).length),m:O(new Set(e.filter(f=>f.route!==t).map(f=>f.route)).size)})}):r("p",{children:p("dock.empty.filter")})}):r(N,{children:[y&&r("p",{class:"snag-dk-notice",children:[p("dock.hiddenrow")," ",r("button",{type:"button",class:"snag-dk-link",onClick:()=>c(y),children:p("dock.hiddenrow.show")})]}),u&&r("p",{class:"snag-dk-notice",children:[p("dock.cluster",{n:u.length})," ",r("button",{type:"button",class:"snag-dk-link",onClick:()=>g?.(),children:p("dock.cluster.clear")})]}),e.every(f=>f.anchorState==="orphaned")&&r("p",{class:"snag-dk-notice",children:p("dock.empty.orphans")}),r("div",{class:"snag-dk-scroll",ref:C,children:n.map(f=>r("section",{class:"snag-dk-group",ref:f.here?j:null,children:[f.route!==""&&r("h3",{class:"snag-dk-grouphd",children:[r("span",{class:"snag-dk-route",children:f.route}),r("span",{class:"snag-dk-dim",children:O(f.snags.length)})]}),r("ul",{class:"snag-dk-list",children:f.snags.map(A=>r(at,{snag:A,n:w.get(A.id),here:f.here,unread:!!m&&se(A,m),onOpen:o,onHover:s},A.id))})]},f.route))})]}),r("div",{class:"snag-dk-foot",children:r("div",{class:"snag-dk-menus snag-dk-menus-up",onKeyDown:R,children:[E&&r("div",{class:"snag-dk-menubg","aria-hidden":"true",onClick:()=>D(!1)}),r("span",{class:"snag-dk-menuwrap",children:[r("button",{type:"button",class:"snag-dk-link","aria-expanded":E,"aria-haspopup":"menu",onClick:()=>D(!E),children:p("export.button")}),E&&r("div",{class:"snag-dk-menu snag-dk-menu-up",role:"menu",children:["md","json"].map(f=>r("button",{type:"button",role:"menuitem",onClick:()=>{D(!1),a(f)},children:p(f==="md"?"export.md":"export.json")}))})]})]})})]})}const we=new Map;function lt(e){const n=[];try{for(const[t,o]of new URL(e).searchParams)Vn(t)||n.push(o&&o!=="[redacted]"?`${t}=${o}`:t)}catch{return null}return n.length?`?${n.join("&")}`:null}function dt({att:e,load:n}){const t=I(null),[o,s]=z(!1),[a,i]=z(null);return H(()=>{let u=!1;return n(e).then(async g=>{if(!g||u)return;const l=await createImageBitmap(g);u?l.close():i(l)}).catch(()=>{}),()=>{u=!0}},[e.id,e.url]),H(()=>{const u=t.current;if(!u||!a)return;const g=142,l=g/a.width;u.width=g,u.height=Math.min(96,Math.round(a.height*l)),u.getContext("2d").drawImage(a,0,0,a.width,Math.round(u.height/l),0,0,u.width,u.height)},[a]),a?r(N,{children:[r("button",{type:"button",class:"snag-dk-shot",onClick:()=>s(!0),"aria-label":p("shot.open"),children:r("canvas",{ref:t,width:142,height:Math.min(96,Math.round(a.height*(142/a.width)))})}),o&&r(ct,{bmp:a,onClose:()=>s(!1)})]}):null}function ct({bmp:e,onClose:n}){const t=I(null);return H(()=>{const o=t.current;o&&(o.width=e.width,o.height=e.height,o.getContext("2d").drawImage(e,0,0))},[e]),r("div",{class:"snag-dk-lightbox",role:"dialog","aria-modal":"true","aria-label":p("shot.aria"),tabIndex:-1,ref:o=>o?.focus(),onKeyDown:o=>{o.key==="Escape"&&(o.stopPropagation(),n())},onClick:n,children:[r("canvas",{ref:t}),r("button",{type:"button",class:"snag-dk-link snag-dk-lightclose",onClick:n,children:p("shot.close")})]})}function ut({snag:e,loadShot:n}){const t=e.context;if(!t)return null;const o=e.attachments?.find(u=>u.kind==="screenshot"),s=t.derived,a=t.viewport,i=a?Math.round(a.dpr*100)/100:1;return r("div",{class:"snag-dk-cap",children:[o&&n&&r(dt,{att:o,load:n}),r("p",{class:"snag-dk-caplabel",children:p("capture.label")}),t.page?.route!==void 0&&r("p",{children:p("capture.page",{route:t.page.route})}),s&&a&&r(N,{children:[r("p",{children:s.os?p("capture.agent",{browser:s.browser,os:s.os}):p("capture.agent.noos",{browser:s.browser})}),r("p",{children:i===1?p("capture.device.at1x",{device:s.device,w:a.w,h:a.h}):p("capture.device",{device:s.device,w:a.w,h:a.h,dpr:i})})]}),t.capture?.reasons?.map(u=>r("p",{class:"snag-dk-capwhy",children:u},u)),t.capture?.blindSpots?.map(u=>r("p",{class:"snag-dk-capwhy",children:u},u)),(()=>{const u=lt(t.url);return u?r("p",{class:"snag-dk-capwhy",children:[p("detail.filedat",{query:u})," ",r("a",{class:"snag-dk-openq",href:t.url,target:"_blank",rel:"noreferrer",children:p("detail.openquery")})]}):null})()]})}function ln(e){const n=e.context?.url??e.route;return`${n}${n.includes("?")?"&":"?"}${$n("t")}=${e.key}`}function pt({snag:e}){const[n,t]=z(!1),o=ln(e);return navigator.clipboard?r("button",{type:"button",class:"snag-dk-link",onClick:()=>void navigator.clipboard.writeText(o).then(()=>{t(!0),setTimeout(()=>t(!1),1500)},()=>{}),children:p(n?"permalink.copied":"permalink.copy")}):null}function gt({snag:e}){return navigator.clipboard?null:r("p",{class:"snag-dk-permaline",children:[r("span",{class:"snag-dk-permalabel",children:p("permalink.copy")})," ",r("span",{class:"snag-dk-permaurl",children:ln(e)})]})}function ht({snags:e,round:n,fallbackCursor:t,openId:o,onOpen:s,onStatus:a,onReply:i,onEdit:u,onDeleteComment:g,onDeleteThread:l,onShowAnyway:_,onAnnounce:y,loadShot:c}){const h=e.findIndex(f=>f.id===o),$=h>=0,b=$?h:Math.min(t,e.length),m=$?e[h]:n.find(f=>f.id===o),w=o?we.get(o)??"":"",[v,P]=z(w),[k,C]=z(w.length>0),E=I(null);H(()=>{k&&E.current?.focus()},[k]);const D=f=>{P(f),o&&(f?we.set(o,f):we.delete(o))};if(!m)return null;const R=m.comments[0],j=n.filter(f=>f.route===m.route).findIndex(f=>f.id===m.id)+1;return r("div",{class:"snag-dk-detail",children:[r("div",{class:"snag-dk-detailhd",children:[r("button",{type:"button",class:"snag-dk-link",onClick:()=>s(null),"aria-label":p("dock.back.aria"),children:[r("span",{"aria-hidden":"true",children:"\u2190"})," ",p("dock.back")]}),r("span",{class:"snag-dk-dim",children:p("dock.position",{n:$?O(b+1):"\u2013",total:O(e.length)})}),r("span",{class:"snag-dk-nav",children:[r("button",{type:"button",class:"snag-dk-link",disabled:b<=0,"aria-label":p("dock.prev"),onClick:()=>s(e[b-1].id),children:"\u2191"}),r("button",{type:"button",class:"snag-dk-link",disabled:$?b>=e.length-1:b>=e.length,"aria-label":p("dock.next"),onClick:()=>s(e[$?b+1:b].id),children:"\u2193"})]})]}),r("div",{class:"snag-dk-card",children:[r("div",{class:"snag-dk-meta",children:[r("span",{class:"snag-dk-num",style:{background:me(m.status),color:en(m.status)},children:j}),r("strong",{children:R?.author.name??p("author.unknown")}),r("span",{class:"snag-dk-dim",children:m.key}),r(pt,{snag:m})]}),r("div",{class:"snag-dk-cardbody",children:on(R?.body??"")}),r(gt,{snag:m}),R&&r(an,{body:R.body,onEdit:f=>u(R.id,f),deleteLabel:p("comment.delete"),onDelete:()=>l(m.id)})]}),r("label",{class:"snag-dk-field",children:[r("span",{class:"snag-dk-dim",children:p("field.status")}),r("select",{class:"snag-dk-select",style:{borderColor:me(m.status)},value:m.status,onChange:f=>{const A=f.target.value;a(m.id,A),y?.(p("announce.status",{key:m.key,status:ke(A)}))},children:ve.map(f=>r("option",{value:f,children:ke(f)},f))})]}),r(ut,{snag:m,...c?{loadShot:c}:{}}),m.anchorReasons?.includes("hidden")&&r("p",{class:"snag-dk-moved-note",children:[p("detail.hidden")," ",r("button",{type:"button",class:"snag-dk-link",onClick:()=>_?.(m),children:p("detail.hidden.show")})]}),m.anchorState!=="anchored"&&r("p",{class:"snag-dk-moved-note",children:[p(`detail.${m.anchorState}`,{label:m.anchor.label}),m.anchorReasons?.includes("budget-exceeded")&&` ${p("detail.unavailable")}`]}),m.anchorState!=="anchored"&&r(nt,{anchor:m.anchor}),m.comments.length>1&&r("ul",{class:"snag-dk-replies-list",children:m.comments.slice(1).map(f=>r("li",{children:[r("strong",{children:f.author.name}),on(f.body??""),r(an,{body:f.body,onEdit:A=>u(f.id,A),deleteLabel:p("reply.delete"),onDelete:()=>g(f.id)})]},f.id))}),k?r("div",{class:"snag-dk-replybox",children:[r("textarea",{ref:E,class:"snag-text",rows:2,enterkeyhint:"enter","aria-label":p("reply.aria"),placeholder:p("reply.placeholder"),value:v,onInput:f=>D(f.target.value),onKeyDown:f=>{f.key==="Enter"&&(f.metaKey||f.ctrlKey)&&(f.preventDefault(),v.trim()&&(i(m.id,v.trim()),D(""),C(!1))),f.key==="Escape"&&(f.stopPropagation(),f.target.blur())}}),r("div",{class:"snag-actions",children:[r("button",{type:"button",class:"snag-cancel",onClick:()=>{D(""),C(!1)},children:p("action.cancel")}),r("button",{type:"button",class:"snag-send",disabled:!v.trim(),onClick:()=>{i(m.id,v.trim()),D(""),C(!1)},children:p("reply.send")})]})]}):r("button",{type:"button",class:"snag-dk-addreply",onClick:()=>C(!0),children:p("reply.add")})]})}function ft(e){const n=e.openId?e.snags.find(b=>b.id===e.openId):null,t=I(null),o=e.clusterFilter?e.snags.filter(b=>e.clusterFilter.includes(b.id)):e.snags,s=Qn(o.filter(b=>Yn(b,e.filter,e.seenAt)),e.filter,e.route,e.seenAt),a=Jn(s,e.filter.sort),i=e.filter.sort==="page"?rt(a,e.route):[{route:"",here:!1,snags:a}],u=i.flatMap(b=>b.snags),g=I(0),l=u.findIndex(b=>b.id===e.openId);l>=0&&(g.current=l);const _=I(null),[y,c]=z(null);e.openId?(_.current={id:e.openId,absent:l===-1},y&&c(null)):_.current?.absent&&y!==_.current.id&&(c(_.current.id),_.current=null),H(()=>{t.current?.focus()},[e.openId]),H(()=>{if(!(window.matchMedia?.("(pointer: coarse)").matches??!1))return;const b=t.current;return b?Ln(b):void 0},[]);const h=I({snag:n,onStatus:e.onStatus});h.current={snag:n,onStatus:e.onStatus},H(()=>{const b=m=>{const{snag:w,onStatus:v}=h.current;if(!w||m.metaKey||m.ctrlKey||m.altKey||m.composedPath().some(C=>{const E=C;if(!E?.tagName)return!1;const D=E.tagName.toLowerCase();return D==="textarea"||D==="select"?!0:D==="input"?!/^(button|submit|checkbox|radio)$/i.test(E.type):E.isContentEditable?!0:/^(textbox|searchbox|combobox)$/.test(E.getAttribute?.("role")??"")}))return;const k=Number(m.key);if(k>=1&&k<=ve.length){m.preventDefault(),v(w.id,ve[k-1]);return}(m.key==="r"||m.key==="R")&&(m.preventDefault(),v(w.id,w.status==="resolved"?"open":"resolved"))};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[]);const $=window.matchMedia?.("(pointer: coarse)").matches??!1;return r("aside",{ref:t,class:"snag-dk",role:"complementary","aria-label":p("dock.aria"),tabIndex:-1,onKeyDown:b=>{b.key==="Escape"&&(b.stopPropagation(),e.openId?e.onOpen(null):e.onClose())},children:[$&&r("div",{class:"snag-dk-scrim","aria-hidden":"true",onClick:e.onClose}),$&&r("div",{class:"snag-dk-grab","aria-hidden":"true",onPointerDown:b=>{const m=b.clientY,w=b.currentTarget;try{w.setPointerCapture(b.pointerId)}catch{}w.onpointermove=v=>{v.clientY-m>56&&(w.onpointermove=null,e.onClose())},w.onpointerup=()=>w.onpointermove=null},children:r("span",{})}),r("header",{class:"snag-dk-hd",children:[r("strong",{children:p(n?"dock.title.detail":"dock.title.list")}),r("button",{type:"button",class:"snag-dk-link",onClick:e.onClose,"aria-label":p("dock.close"),children:"\u2715"})]}),n?r(ht,{...e,snags:u,round:e.snags,fallbackCursor:g.current},n.id):r(it,{...e,groups:i,hiddenNote:y,onHiddenShow:b=>{c(null),e.onOpen(b)}})]})}const dn=360,_t=` .snag-dk{position:fixed;inset-block:0;inset-inline-end:0;width:${dn}px;max-width:100vw;z-index:${Rn.dock};background:${d.bg};color:${d.fg};display:flex;flex-direction:column;font:400 13px/1.45 ${d.font};box-shadow:${d.shadow};border-inline-start:1px solid ${d.border};pointer-events:auto;overscroll-behavior:contain}.snag-dk-filters{padding:8px 12px 6px;border-block-end:1px solid ${d.border};display:grid;gap:6px}.snag-dk-search{width:100%;box-sizing:border-box;font-size:12px;padding:5px 8px}.snag-dk-chiphead{display:flex;justify-content:space-between;align-items:center;padding-inline-end:8px}.snag-dk-chips{display:grid;grid-template-columns:1fr 1fr;gap:4px}.snag-dk-chip{font:500 11px/1.2 ${d.font};color:${d.fg};padding:5px 8px;border-radius:6px;border:1px solid ${d.border};background:none;cursor:pointer;text-align:start;display:flex;justify-content:space-between;align-items:center;gap:4px}.snag-dk-chip[aria-pressed="true"]{font-weight:600}.snag-dk-chip-stray{color:${d.muted};cursor:default}.snag-dk-menus{display:flex;gap:10px;position:relative}.snag-dk-menuwrap{position:relative}.snag-dk-menugroup{display:flex;flex-direction:column;gap:1px;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid ${d.border}}.snag-dk-menugroup-last{padding-bottom:0;margin-bottom:0;border-bottom:0}.snag-dk-menutitle{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:${d.muted};padding:2px 8px 4px}.snag-dk-menubg{position:absolute;inset:-200px -20px -2000px;background:transparent;z-index:2}.snag-dk-menu{position:absolute;inset-block-start:100%;inset-inline-start:0;z-index:3;min-width:150px;background:${d.bg};border:1px solid ${d.border};border-radius:6px;box-shadow:${d.shadow};display:grid;padding:4px}.snag-dk-menu button{font:400 12px/1.3 ${d.font};color:${d.fg};background:none;border:0;text-align:start;padding:5px 8px;border-radius:4px;cursor:pointer;display:flex;gap:4px}.snag-dk-menu button:hover{background:color-mix(in srgb,${d.fg} 8%,transparent)}.snag-dk-menus-up{position:relative}.snag-dk-menu-up{inset-block-start:auto;inset-block-end:100%;margin-block-end:4px}.snag-dk-menu-form{padding:8px;gap:6px;min-width:224px}.snag-dk-menu-form label:not(.snag-dk-pageonly){display:grid;gap:2px;font:600 10px/1.4 ${d.font};letter-spacing:.05em;text-transform:uppercase;color:${d.muted}}.snag-dk-menu-form select{font:400 12px/1.3 ${d.font};color:${d.fg};background:${d.bg};border:1px solid ${d.border};border-radius:4px;padding:4px}.snag-dk-pageonly{display:flex;align-items:center;gap:6px;font-size:12px;color:${d.fg};cursor:pointer}.snag-dk-permaline{margin:6px 0 0;font-size:11px;color:${d.muted};overflow-wrap:anywhere}.snag-dk-permalabel{font-weight:600}.snag-dk-permaurl{user-select:all}.snag-dk:focus{outline:none}@media (pointer:coarse){.snag-dk{inset-block-start:auto;inset-inline-start:0;width:auto;height:82vh;border-radius:14px 14px 0 0;box-sizing:border-box;padding-bottom:max(var(${x.tbH},68px),var(${x.kb},0px));padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}.snag-dk-scrim{position:fixed;inset:0;background:#0005;touch-action:none;z-index:-1}.snag-dk-grab{display:flex;justify-content:center;padding:10px 0 4px;touch-action:none}.snag-dk-grab span{width:36px;height:4px;border-radius:2px;background:${d.border}}.snag-dk-item{min-height:56px}.snag-dk-link{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.snag-dk-select{min-height:44px}.snag-dk-chip{min-height:44px}.snag-dk-search{min-height:44px}}@media (pointer:fine){.snag-dk-scrim,.snag-dk-grab{display:none}}.snag-dk-hd{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid ${d.border};flex:0 0 auto}.snag-dk-scroll{overflow-y:auto;flex:1 1 auto}.snag-dk-list{list-style:none;margin:0;padding:0}.snag-dk-grouphd{position:sticky;top:0;z-index:1;margin:0;display:flex;align-items:center;gap:8px;padding:7px 14px;font:600 11px/1.45 ${d.font};letter-spacing:.02em;background:${d.sunken};border-bottom:1px solid ${d.border}}.snag-dk-route{color:${d.fg};overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;direction:ltr;unicode-bidi:isolate}.snag-dk-grouphd .snag-dk-dim{margin-inline-start:auto;font-weight:400;flex:0 0 auto}.snag-dk-goto{flex:0 0 auto;color:${d.muted};font-size:13px;line-height:1}.snag-dk-dev{flex:0 0 auto;color:${d.muted};display:flex;align-items:center}.snag-dk-item:hover .snag-dk-goto,.snag-dk-item:focus-visible .snag-dk-goto{color:${d.accent}}.snag-dk-item{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:start;background:transparent;border:0;border-bottom:1px solid ${d.border};color:inherit;font:inherit;padding:11px 14px;cursor:pointer;transition:background ${d.motion}}.snag-dk-item:hover{background:${d.hover}}.snag-dk-item:focus-visible{outline:2px solid ${d.focus};outline-offset:-2px}.snag-dk-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;margin-block-start:8px;background:transparent}.snag-dk-dot--on{background:${d.accent}}.snag-dk-newpill{display:block;width:100%;box-sizing:border-box;text-align:start;background:${d.sunken};border:0;border-block-end:1px solid ${d.border};color:${d.accent};font:600 12px/1.45 ${d.font};padding:8px 14px;cursor:pointer;flex:0 0 auto}.snag-dk-newpill:hover{background:${d.hover}}.snag-dk-newpill:focus-visible{outline:2px solid ${d.focus};outline-offset:-2px}.snag-dk-num{flex:0 0 22px;height:22px;border-radius:50% 50% 50% 2px;font-weight:600;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.snag-dk-num--orphaned{border:2px solid currentColor;box-shadow:inset 0 0 0 2px currentColor}.snag-dk-num--approximate{border:2px dashed currentColor}.snag-dk-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.snag-dk-body,.snag-dk-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snag-dk-sub{font-size:11px}.snag-dk-dim{color:${d.muted}}.snag-dk-moved{color:${d.anchorOrphan};font-weight:600}.snag-dk-replies{background:${d.surface};border-radius:999px;padding:1px 7px;font-size:11px;flex:0 0 auto}.snag-dk-empty{padding:28px 16px;text-align:center;flex:1 1 auto}.snag-dk-empty p{margin:0 0 4px}.snag-dk-notice{margin:0;padding:11px 14px;font-size:12px;color:${d.muted};border-bottom:1px solid ${d.border};flex:0 0 auto}.snag-dk-foot{display:flex;gap:6px;padding:10px 14px;border-top:1px solid ${d.border};flex:0 0 auto}.snag-dk-link{background:transparent;border:0;color:${d.accent};font:inherit;cursor:pointer;padding:4px 6px;border-radius:calc(${d.radius} - 2px);transition:background ${d.motion}}.snag-dk-link:hover:not(:disabled){background:${d.hover}}.snag-dk-link:disabled{color:${d.disabled};cursor:not-allowed}.snag-dk-link:focus-visible{outline:2px solid ${d.focus};outline-offset:1px}.snag-dk-detail{padding:12px 14px;overflow-y:auto;flex:1 1 auto;display:flex;flex-direction:column;gap:12px}.snag-dk-detailhd{display:flex;align-items:center;justify-content:space-between;gap:8px}.snag-dk-nav{display:flex;gap:2px}.snag-dk-card{background:${d.surface};border-radius:${d.radius};padding:11px}.snag-dk-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:6px}.snag-md{overflow-wrap:anywhere}.snag-md>*{margin:0}.snag-md>*+*{margin-block-start:6px}.snag-md p{white-space:pre-wrap}.snag-md ul,.snag-md ol{padding-inline-start:20px}.snag-md li+li{margin-block-start:2px}.snag-md code{background:${d.sunken};border-radius:3px;padding:1px 4px;font-size:.92em;font-family:ui-monospace,monospace}.snag-md pre{background:${d.sunken};border-radius:${d.radius};padding:8px 10px;overflow-x:auto}.snag-md pre code{background:none;padding:0;font-size:.92em}.snag-md a{color:${d.accent}}.snag-dk-field{display:flex;flex-direction:column;gap:4px;font-size:12px}.snag-dk-select{background:${d.surface};color:inherit;border:2px solid;border-radius:${d.radius};padding:7px 9px;font:inherit;min-height:34px}.snag-dk-done{color:${d.muted};text-decoration:line-through}.snag-dk-meta .snag-dk-num{margin-inline-end:2px}.snag-dk-cap{background:${d.sunken};border-radius:${d.radius};padding:9px 11px;display:flex;flex-direction:column;gap:1px;font-size:12px;overflow-wrap:anywhere}.snag-dk-cap p{margin:0}.snag-dk-shot{padding:0;border:1px solid ${d.border};border-radius:calc(${d.radius} - 2px);background:none;cursor:zoom-in;overflow:hidden;line-height:0;align-self:flex-start;margin-block-end:6px}.snag-dk-shot canvas{display:block;max-width:100%}.snag-dk-lightbox{position:fixed;inset:0;z-index:1;background:#000c;display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.snag-dk-lightbox canvas{max-width:100%;max-height:100%;object-fit:contain;box-shadow:${d.shadow};background:${d.bg}}.snag-dk-lightclose{position:absolute;inset-block-start:12px;inset-inline-end:16px;color:#fff}.snag-dk-caplabel{font-weight:600;font-size:11px;letter-spacing:.02em;margin-bottom:3px!important}.snag-dk-capwhy{color:${d.muted};font-size:11px;margin-top:5px!important}.snag-dk-moved-note{margin:0;padding:8px 10px;font-size:12px;background:${d.sunken};border-inline-start:3px solid ${d.anchorOrphan};border-radius:${d.radius}}.snag-dk-anchor{font-size:12px;border:1px solid ${d.border};border-radius:${d.radius};padding:6px 10px;background:${d.sunken}}.snag-dk-anchor summary{cursor:pointer;color:${d.muted};font-weight:600;list-style:revert}.snag-dk-anchor dl{margin:8px 0 2px;display:grid;gap:6px}.snag-dk-anchor dt{color:${d.muted};font-size:11px;letter-spacing:.03em;text-transform:uppercase}.snag-dk-anchor dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;user-select:text}.snag-dk-replies-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.snag-dk-replies-list li{background:${d.sunken};border-radius:${d.radius};padding:9px;overflow-wrap:anywhere}.snag-dk-acts{display:flex;gap:2px;margin-top:6px}.snag-dk-act{background:transparent;border:0;color:${d.muted};font:inherit;font-size:11px;cursor:pointer;padding:3px 6px;border-radius:calc(${d.radius} - 3px);transition:background ${d.motion},color ${d.motion}}.snag-dk-more{font-size:14px;line-height:1;letter-spacing:1px}.snag-dk-act:hover{background:${d.hover};color:inherit}.snag-dk-act:focus-visible{outline:2px solid ${d.focus};outline-offset:1px}.snag-dk-act--danger:hover{color:${d.anchorOrphan}}.snag-dk-menu .snag-dk-act--danger{color:${d.fg}}.snag-dk-menu .snag-dk-act--danger:hover{color:${d.anchorOrphan}}.snag-dk-armed{color:${d.anchorOrphan};font-weight:600}.snag-dk-clear{margin-inline-start:auto}.snag-dk-menu .snag-dk-clear{margin-inline-start:0}.snag-dk-editbox{display:flex;flex-direction:column;gap:8px;margin-top:8px}.snag-dk-addreply{background:transparent;border:1px dashed ${d.border};color:${d.muted};border-radius:${d.radius};padding:9px;font:inherit;cursor:pointer;text-align:start;transition:border-color ${d.motion},color ${d.motion}}.snag-dk-addreply:hover{border-color:${d.accent};color:inherit}.snag-dk-replybox{display:flex;flex-direction:column;gap:8px}`;function mt(e,n,t){const o=e.ownerDocument??document;tn(e,"form",zn),tn(e,"dock",_t);const s=o.createElement("div");(t??e).appendChild(s);const a=o.defaultView?.matchMedia?.("(pointer: coarse)").matches??!1,i=g=>{const l=e.host;g&&!a?l.style.setProperty(x.dockW,`${dn}px`):l.style.removeProperty(x.dockW)};i(!0);const u=g=>{Ie(r(ft,{...g}),s)};return u(n),{update:u,close(){i(!1),Ie(null,s),s.remove()}}}const cn=24;function un(e,n){const t=e.innerHeight,o=n.querySelector(".snag-dk");if(!o)return{top:0,bottom:t};const s=o.getBoundingClientRect();return s.height>=t-1?{top:0,bottom:t}:{top:0,bottom:Math.max(0,s.top)}}function kt(e,n,t){const o=t.anchor.rect;if(!o)return;const s=t.anchor.offset??{fy:.5},a=o.y+o.h*s.fy,i=un(e,n),u=a-e.scrollY;if(u>=i.top+cn&&u<=i.bottom-cn)return;const g=e.matchMedia?.("(prefers-reduced-motion: reduce)").matches??!1;e.scrollTo({top:Math.max(0,a-(i.top+i.bottom)/2),behavior:g?"auto":"smooth"})}export{mt as openDock,kt as scrollToSnag,un as visibleStrip};
|
|
1
|
+
var G,C,Te,q,Me,Ee,De,ce,Q,W,Ae,ue,pe,he,J={},X=[],_n=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Z=Array.isArray;function B(e,n){for(var t in n)e[t]=n[t];return e}function ge(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function N(e,n,t){var o,s,a,i={};for(a in n)a=="key"?o=n[a]:a=="ref"?s=n[a]:i[a]=n[a];if(arguments.length>2&&(i.children=arguments.length>3?G.call(arguments,2):t),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)i[a]===void 0&&(i[a]=e.defaultProps[a]);return ee(e,i,o,s,null)}function ee(e,n,t,o,s){var a={type:e,props:n,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:s??++Te,__i:-1,__u:0};return s==null&&C.vnode!=null&&C.vnode(a),a}function H(e){return e.children}function ne(e,n){this.props=e,this.context=n}function K(e,n){if(n==null)return e.__?K(e.__,e.__i+1):null;for(var t;n<e.__k.length;n++)if((t=e.__k[n])!=null&&t.__e!=null)return t.__e;return typeof e.type=="function"?K(e):null}function kn(e){if(e.__P&&e.__d){var n=e.__v,t=n.__e,o=[],s=[],a=B({},n);a.__v=n.__v+1,C.vnode&&C.vnode(a),fe(e.__P,a,n,e.__n,e.__P.namespaceURI,32&n.__u?[t]:null,o,t??K(n),!!(32&n.__u),s),a.__v=n.__v,a.__.__k[a.__i]=a,He(o,a,s),n.__e=n.__=null,a.__e!=t&&Pe(a)}}function Pe(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(n){if(n!=null&&n.__e!=null)return e.__e=e.__c.base=n.__e}),Pe(e)}function Re(e){(!e.__d&&(e.__d=!0)&&q.push(e)&&!te.__r++||Me!=C.debounceRendering)&&((Me=C.debounceRendering)||Ee)(te)}function te(){try{for(var e,n=1;q.length;)q.length>n&&q.sort(De),e=q.shift(),n=q.length,kn(e)}finally{q.length=te.__r=0}}function ze(e,n,t,o,s,a,i,c,g,l,m){var x,u,f,S,_,y,$=o&&o.__k||X,v=n.length;for(g=bn(t,n,$,g,v),x=0;x<v;x++)(f=t.__k[x])!=null&&(u=f.__i!=-1&&$[f.__i]||J,f.__i=x,y=fe(e,f,u,s,a,i,c,g,l,m),S=f.__e,f.ref&&u.ref!=f.ref&&(u.ref&&me(u.ref,null,f),m.push(f.ref,f.__c||S,f)),_==null&&S!=null&&(_=S),4&f.__u?(g=Oe(f,g,e),u.__e&&(u.__e=null)):typeof f.type=="function"&&y!==void 0?g=y:S&&(g=S.nextSibling),f.__u&=-7);return t.__e=_,g}function bn(e,n,t,o,s){var a,i,c,g,l,m=t.length,x=m,u=0;for(e.__k=new Array(s),a=0;a<s;a++)(i=n[a])!=null&&typeof i!="boolean"&&typeof i!="function"?(typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?i=e.__k[a]=ee(null,i,null,null,null):Z(i)?i=e.__k[a]=ee(H,{children:i},null,null,null):i.constructor===void 0&&i.__b>0?i=e.__k[a]=ee(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):e.__k[a]=i,g=a+u,i.__=e,i.__b=e.__b+1,c=null,(l=i.__i=xn(i,t,g,x))!=-1&&(x--,(c=t[l])&&(c.__u|=2)),c==null||c.__v==null?(l==-1&&(s>m?u--:s<m&&u++),typeof i.type!="function"&&(i.__u|=4)):l!=g&&(l==g-1?u--:l==g+1?u++:(l>g?u--:u++,i.__u|=4))):e.__k[a]=null;if(x)for(a=0;a<m;a++)(c=t[a])!=null&&(2&c.__u)==0&&(c.__e==o&&(o=K(c)),Ue(c,c));return o}function Oe(e,n,t){var o,s;if(typeof e.type=="function"){for(o=e.__k,s=0;o&&s<o.length;s++)o[s]&&(o[s].__=e,n=Oe(o[s],n,t));return n}e.__e!=n&&(n&&e.type&&!n.parentNode&&(n=K(e)),n=t.insertBefore(e.__e,n||null));do n=n&&n.nextSibling;while(n!=null&&n.nodeType==8);return n}function xn(e,n,t,o){var s,a,i,c=e.key,g=e.type,l=n[t],m=l!=null&&(2&l.__u)==0;if(l===null&&c==null||m&&c==l.key&&g==l.type)return t;if(o>(m?1:0)){for(s=t-1,a=t+1;s>=0||a<n.length;)if((l=n[i=s>=0?s--:a++])!=null&&(2&l.__u)==0&&c==l.key&&g==l.type)return i}return-1}function Le(e,n,t){n[0]=="-"?e.setProperty(n,t??""):e[n]=t==null?"":typeof t!="number"||_n.test(n)?t:t+"px"}function oe(e,n,t,o,s){var a,i;e:if(n=="style")if(typeof t=="string")e.style.cssText=t;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(n in o)t&&n in t||Le(e.style,n,"");if(t)for(n in t)o&&t[n]==o[n]||Le(e.style,n,t[n])}else if(n[0]=="o"&&n[1]=="n")a=n!=(n=n.replace(Ae,"$1")),i=n.toLowerCase(),n=i in e||n=="onFocusOut"||n=="onFocusIn"?i.slice(2):n.slice(2),e.l||(e.l={}),e.l[n+a]=t,t?o?t[W]=o[W]:(t[W]=ue,e.addEventListener(n,a?he:pe,a)):e.removeEventListener(n,a?he:pe,a);else{if(s=="http://www.w3.org/2000/svg")n=n.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(n!="width"&&n!="height"&&n!="href"&&n!="list"&&n!="form"&&n!="tabIndex"&&n!="download"&&n!="rowSpan"&&n!="colSpan"&&n!="role"&&n!="popover"&&n in e)try{e[n]=t??"";break e}catch{}typeof t=="function"||(t==null||t===!1&&n[4]!="-"?e.removeAttribute(n):e.setAttribute(n,n=="popover"&&t==1?"":t))}}function Ne(e){return function(n){if(this.l){var t=this.l[n.type+e];if(n[Q]==null)n[Q]=ue++;else if(n[Q]<t[W])return;return t(C.event?C.event(n):n)}}}function fe(e,n,t,o,s,a,i,c,g,l){var m,x,u,f,S,_,y,$,v,E,h,T,M,R,I,L,b=n.type;if(n.constructor!==void 0)return null;128&t.__u&&(g=!!(32&t.__u),a=[c=n.__e=t.__e]),(m=C.__b)&&m(n);e:if(typeof b=="function"){x=i.length;try{if(v=n.props,E=b.prototype&&b.prototype.render,h=(m=b.contextType)&&o[m.__c],T=m?h?h.props.value:m.__:o,t.__c?$=(u=n.__c=t.__c).__=u.__E:(E?n.__c=u=new b(v,T):(n.__c=u=new ne(v,T),u.constructor=b,u.render=vn),h&&h.sub(u),u.state||(u.state={}),u.__n=o,f=u.__d=!0,u.__h=[],u._sb=[]),E&&u.__s==null&&(u.__s=u.state),E&&b.getDerivedStateFromProps!=null&&(u.__s==u.state&&(u.__s=B({},u.__s)),B(u.__s,b.getDerivedStateFromProps(v,u.__s))),S=u.props,_=u.state,u.__v=n,f)E&&b.getDerivedStateFromProps==null&&u.componentWillMount!=null&&u.componentWillMount(),E&&u.componentDidMount!=null&&u.__h.push(u.componentDidMount);else{if(E&&b.getDerivedStateFromProps==null&&v!==S&&u.componentWillReceiveProps!=null&&u.componentWillReceiveProps(v,T),n.__v==t.__v||!u.__e&&u.shouldComponentUpdate!=null&&u.shouldComponentUpdate(v,u.__s,T)===!1){n.__v!=t.__v&&(u.props=v,u.state=u.__s,u.__d=!1),n.__e=t.__e,n.__k=t.__k,n.__k.some(function(P){P&&(P.__=n)}),X.push.apply(u.__h,u._sb),u._sb=[],u.__h.length&&i.push(u),c=K(t);break e}u.componentWillUpdate!=null&&u.componentWillUpdate(v,u.__s,T),E&&u.componentDidUpdate!=null&&u.__h.push(function(){u.componentDidUpdate(S,_,y)})}if(u.context=T,u.props=v,u.__P=e,u.__e=!1,M=C.__r,R=0,E)u.state=u.__s,u.__d=!1,M&&M(n),m=u.render(u.props,u.state,u.context),X.push.apply(u.__h,u._sb),u._sb=[];else do u.__d=!1,M&&M(n),m=u.render(u.props,u.state,u.context),u.state=u.__s;while(u.__d&&++R<25);u.state=u.__s,u.getChildContext!=null&&(o=B(B({},o),u.getChildContext())),E&&!f&&u.getSnapshotBeforeUpdate!=null&&(y=u.getSnapshotBeforeUpdate(S,_)),I=m!=null&&m.type===H&&m.key==null?je(m.props.children):m,c=ze(e,Z(I)?I:[I],n,t,o,s,a,i,c,g,l),u.base=n.__e,n.__u&=-161,u.__h.length&&i.push(u),$&&(u.__E=u.__=null)}catch(P){if(i.length=x,n.__v=null,g||a!=null){if(P.then){for(n.__u|=g?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;a!=null&&(a[a.indexOf(c)]=null),n.__e=c}else if(a!=null)for(L=a.length;L--;)ge(a[L])}else n.__e=t.__e;n.__k==null&&(n.__k=t.__k||[]),P.then||Ie(n),C.__e(P,n,t)}}else a==null&&n.__v==t.__v?(n.__k=t.__k,n.__e=t.__e):c=n.__e=yn(t.__e,n,t,o,s,a,i,g,l);return(m=C.diffed)&&m(n),128&n.__u?void 0:c}function Ie(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(Ie))}function He(e,n,t){for(var o=0;o<t.length;o++)me(t[o],t[++o],t[++o]);C.__c&&C.__c(n,e),e.some(function(s){try{e=s.__h,s.__h=[],e.some(function(a){a.call(s)})}catch(a){C.__e(a,s.__v)}})}function je(e){return typeof e!="object"||e==null||e.__b>0?e:Z(e)?e.map(je):e.constructor!==void 0?null:B({},e)}function yn(e,n,t,o,s,a,i,c,g){var l,m,x,u,f,S,_,y=t.props||J,$=n.props,v=n.type;if(v=="svg"?s="http://www.w3.org/2000/svg":v=="math"?s="http://www.w3.org/1998/Math/MathML":s||(s="http://www.w3.org/1999/xhtml"),a!=null){for(l=0;l<a.length;l++)if((f=a[l])&&"setAttribute"in f==!!v&&(v?f.localName==v:f.nodeType==3)){e=f,a[l]=null;break}}if(e==null){if(v==null)return document.createTextNode($);e=document.createElementNS(s,v,$.is&&$),c&&(C.__m&&C.__m(n,a),c=!1),a=null}if(v==null)y===$||c&&e.data==$||(e.data=$);else{if(a=v=="textarea"&&$.defaultValue!=null?null:a&&G.call(e.childNodes),!c&&a!=null)for(y={},l=0;l<e.attributes.length;l++)y[(f=e.attributes[l]).name]=f.value;for(l in y)f=y[l],l=="dangerouslySetInnerHTML"?x=f:l=="children"||l in $||l=="value"&&"defaultValue"in $||l=="checked"&&"defaultChecked"in $||oe(e,l,null,f,s);for(l in $)f=$[l],l=="children"?u=f:l=="dangerouslySetInnerHTML"?m=f:l=="value"?S=f:l=="checked"?_=f:c&&typeof f!="function"||y[l]===f||oe(e,l,f,y[l],s);if(m)c||x&&(m.__html==x.__html||m.__html==e.innerHTML)||(e.innerHTML=m.__html),n.__k=[];else if(x&&(e.innerHTML=""),ze(n.type=="template"?e.content:e,Z(u)?u:[u],n,t,o,v=="foreignObject"?"http://www.w3.org/1999/xhtml":s,a,i,a?a[0]:t.__k&&K(t,0),c,g),a!=null)for(l=a.length;l--;)ge(a[l]);c&&v!="textarea"||(l="value",v=="progress"&&S==null?e.removeAttribute("value"):S!=null&&(S!==e[l]||v=="progress"&&!S||v=="option"&&S!=y[l])&&oe(e,l,S,y[l],s),l="checked",_!=null&&_!=e[l]&&oe(e,l,_,y[l],s))}return e}function me(e,n,t){try{if(typeof e=="function"){var o=typeof e.__u=="function";o&&e.__u(),o&&n==null||(e.__u=e(n))}else e.current=n}catch(s){C.__e(s,t)}}function Ue(e,n,t){var o,s;if(C.unmount&&C.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||me(o,null,n)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(a){C.__e(a,n)}o.base=o.__P=o.__n=null}if(o=e.__k)for(s=0;s<o.length;s++)o[s]&&Ue(o[s],n,t||typeof e.type!="function");t||ge(e.__e),e.__c=e.__=e.__e=void 0}function vn(e,n,t){return this.constructor(e,t)}function Fe(e,n,t){var o,s,a,i;n==document&&(n=document.documentElement),C.__&&C.__(e,n),s=(o=!1)?null:n.__k,a=[],i=[],fe(n,e=n.__k=N(H,null,[e]),s||J,J,n.namespaceURI,s?null:n.firstChild?G.call(n.childNodes):null,a,s?s.__e:n.firstChild,o,i),He(a,e,i),e.props.children=null}G=X.slice,C={__e:function(e,n,t,o){for(var s,a,i;n=n.__;)if((s=n.__c)&&!s.__)try{if((a=s.constructor)&&a.getDerivedStateFromError!=null&&(s.setState(a.getDerivedStateFromError(e)),i=s.__d),s.componentDidCatch!=null&&(s.componentDidCatch(e,o||{}),i=s.__d),i)return s.__E=s}catch(c){e=c}throw e}},Te=0,ne.prototype.setState=function(e,n){var t;t=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=B({},this.state),typeof e=="function"&&(e=e(B({},t),this.props)),e&&B(t,e),e!=null&&this.__v&&(n&&this._sb.push(n),Re(this))},ne.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Re(this))},ne.prototype.render=H,q=[],Ee=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,De=function(e,n){return e.__v.__b-n.__v.__b},te.__r=0,ce=Math.random().toString(8),Q="__d"+ce,W="__a"+ce,Ae=/(PointerCapture)$|Capture$/i,ue=0,pe=Ne(!1),he=Ne(!0);var wn=0;function r(e,n,t,o,s,a){n||(n={});var i,c,g=n;if("ref"in g)for(c in g={},n)c=="ref"?i=n[c]:g[c]=n[c];var l={type:e,props:g,key:t,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--wn,__i:-1,__u:0,__source:s,__self:a};if(typeof e=="function"&&(i=e.defaultProps))for(c in i)g[c]===void 0&&(g[c]=i[c]);return C.vnode&&C.vnode(l),l}const $n="Snagset",Sn="Snagset",Cn="Snag",Tn="Snags",k={font:"--snag-font",accent:"--snag-accent",onAccent:"--snag-onAccent",bg:"--snag-bg",fg:"--snag-fg",muted:"--snag-muted",border:"--snag-border",radius:"--snag-radius",shadow:"--snag-shadow",z:"--snag-z",motion:"--snag-motion",surface:"--snag-surface",sunken:"--snag-sunken",hover:"--snag-hover",focus:"--snag-focus",disabled:"--snag-disabled",statusOpen:"--snag-status-open",statusProgress:"--snag-status-progress",statusReview:"--snag-status-review",statusResolved:"--snag-status-resolved",anchorOrphan:"--snag-anchor-orphan",tbH:"--snag-tb-h",dockW:"--snag-dock-w",kb:"--snag-kb",thumbX:"--snag-thumb-x",thumbW:"--snag-thumb-w"},Mn=e=>`var(${k[e]})`,En=e=>"snag_"+e,Be={query:["snag_t","snag_off","snag_debug","snag_theme"],fragment:["snag_k"]},Dn="data-snag-theme";var Y,D,_e,qe,re=0,Ke=[],A=C,We=A.__b,Ye=A.__r,Ve=A.diffed,Ge=A.__c,Qe=A.unmount,Je=A.__;function ke(e,n){A.__h&&A.__h(D,e,re||n),re=0;var t=D.__H||(D.__H={__:[],__h:[]});return e>=t.__.length&&t.__.push({}),t.__[e]}function z(e){return re=1,An(en,e)}function An(e,n,t){var o=ke(Y++,2);if(o.t=e,!o.__c&&(o.__=[en(void 0,n),function(c){var g=o.__N?o.__N[0]:o.__[0],l=o.t(g,c);g!==l&&(o.__N=[l,o.__[1]],o.__c.setState({}))}],o.__c=D,!D.__f)){var s=function(c,g,l){if(!o.__c.__H)return!0;var m=!1,x=o.__c.props!==c;if(o.__c.__H.__.some(function(f){if(f.__N){m=!0;var S=f.__[0];f.__=f.__N,f.__N=void 0,S!==f.__[0]&&(x=!0)}}),a){var u=a.call(this,c,g,l);return m?u||x:u}return!m||x};D.__f=!0;var a=D.shouldComponentUpdate,i=D.componentWillUpdate;D.componentWillUpdate=function(c,g,l){if(this.__e){var m=a;a=void 0,s(c,g,l),a=m}i&&i.call(this,c,g,l)},D.shouldComponentUpdate=s}return o.__N||o.__}function j(e,n){var t=ke(Y++,3);!A.__s&&Ze(t.__H,n)&&(t.__=e,t.u=n,D.__H.__h.push(t))}function U(e){return re=5,Pn(function(){return{current:e}},[])}function Pn(e,n){var t=ke(Y++,7);return Ze(t.__H,n)&&(t.__=e(),t.__H=n,t.__h=e),t.__}function Rn(){for(var e;e=Ke.shift();){var n=e.__H;if(e.__P&&n)try{n.__h.some(ae),n.__h.some(be),n.__h=[]}catch(t){n.__h=[],A.__e(t,e.__v)}}}A.__b=function(e){D=null,We&&We(e)},A.__=function(e,n){e&&n.__k&&n.__k.__m&&(e.__m=n.__k.__m),Je&&Je(e,n)},A.__r=function(e){Ye&&Ye(e),Y=0;var n=(D=e.__c).__H;n&&(_e===D?(n.__h=[],D.__h=[],n.__.some(function(t){t.__N&&(t.__=t.__N),t.u=t.__N=void 0})):(n.__h.some(ae),n.__h.some(be),n.__h=[],Y=0)),_e=D},A.diffed=function(e){Ve&&Ve(e);var n=e.__c;n&&n.__H&&(n.__H.__h.length&&(Ke.push(n)!==1&&qe===A.requestAnimationFrame||((qe=A.requestAnimationFrame)||zn)(Rn)),n.__H.__.some(function(t){t.u&&(t.__H=t.u,t.u=void 0)})),_e=D=null},A.__c=function(e,n){n.some(function(t){try{t.__h.some(ae),t.__h=t.__h.filter(function(o){return!o.__||be(o)})}catch(o){n.some(function(s){s.__h&&(s.__h=[])}),n=[],A.__e(o,t.__v)}}),Ge&&Ge(e,n)},A.unmount=function(e){Qe&&Qe(e);var n,t=e.__c;t&&t.__H&&(t.__H.__.some(function(o){try{ae(o)}catch(s){n=s}}),t.__H=void 0,n&&A.__e(n,t.__v))};var Xe=typeof requestAnimationFrame=="function";function zn(e){var n,t=function(){clearTimeout(o),Xe&&cancelAnimationFrame(n),setTimeout(e)},o=setTimeout(t,35);Xe&&(n=requestAnimationFrame(t))}function ae(e){var n=D,t=e.__c;typeof t=="function"&&(e.__c=void 0,t()),D=n}function be(e){var n=D;e.__c=e.__(),D=n}function Ze(e,n){return!e||e.length!==n.length||n.some(function(t,o){return t!==e[o]})}function en(e,n){return typeof n=="function"?n(e):n}const On={product:$n,set:Sn,item:Cn,items:Tn};function nn(e){return(n,t)=>(e[n]??"").replace(/\{(\w+)\}/g,(o,s)=>{const a=t?.[s]??On[s];return a===void 0?o:String(a)})}const O=e=>new Intl.NumberFormat().format(e),tn={"where.anchored":"{label}","where.approximate":"position approximate \u2014 the page changed","where.orphaned":"moved \u2014 the element is gone","status.open":"Active","status.progress":"In progress","status.review":"In review","status.resolved":"Resolved","author.unknown":"Someone","label.image":"an image","label.link":"a link","label.button":"a button","label.tag":"the {tag}"},Ln=nn(tn),se={open:{colour:"#4f6ef7"},progress:{colour:"#f59e0b"},review:{colour:"#8b5cf6"},resolved:{colour:"#10b981"}},xe=e=>se[e]?.colour??"#8a8f98",on=e=>e==="open"||e==="review"?"#fff":"#16161a",ye=e=>e in se?Ln(`status.${e}`):e,d=Object.fromEntries(Object.keys(k).map(e=>[e,Mn(e)])),Nn=Object.entries(se).map(([e,n])=>` ${k[`status${e[0].toUpperCase()}${e.slice(1)}`]}:${n.colour};`).join(`
|
|
2
|
+
`);`${d.font}${d.fg}${k.font}${k.accent}${k.bg}${k.fg}${k.muted}${k.border}${k.radius}${k.shadow}${k.z}${k.motion}${k.surface}${d.fg}${d.bg}${k.sunken}${d.fg}${d.bg}${k.hover}${d.fg}${d.bg}${k.onAccent}${k.focus}${d.accent}${d.fg}${k.disabled}${d.muted}${d.bg}${Nn}${k.anchorOrphan}${Dn}${k.accent}${k.onAccent}${k.bg}${k.fg}${k.muted}${k.border}${k.shadow}${k.motion}${k.bg}${k.fg}${k.muted}${k.border}${k.accent}${k.onAccent}${k.surface}${k.sunken}${k.hover}${k.focus}${k.disabled}${k.shadow}${k.anchorOrphan}`;const In={dock:5},rn=new WeakMap;function an(e,n,t){let o=rn.get(e);if(o||rn.set(e,o=new Set),o.has(n))return;o.add(n);try{const i=new CSSStyleSheet;i.replaceSync(t),e.adoptedStyleSheets=[...e.adoptedStyleSheets,i];return}catch{}const a=(e.ownerDocument??document).createElement("style");a.setAttribute(`data-snag-${n}`,""),a.textContent=t,e.appendChild(a)}const Hn=` .snag-input,.snag-text{width:100%;box-sizing:border-box;background:${d.surface};color:inherit;border:1px solid ${d.border};border-radius:${d.radius};padding:8px;font:inherit;resize:vertical}@media (pointer:coarse){.snag-input,.snag-text{font-size:16px}}.snag-input:focus,.snag-text:focus{outline:2px solid ${d.focus};outline-offset:1px;border-color:transparent}.snag-input--bad{border-color:${d.anchorOrphan}}.snag-note{margin:-2px 0 0;color:${d.anchorOrphan};font-size:11px;line-height:1.35}.snag-note.snag-dim{color:${d.muted}}.snag-actions{display:flex;justify-content:flex-end;gap:6px}.snag-actions button{appearance:none;border:0;border-radius:calc(${d.radius} - 1px);padding:7px 13px;font:inherit;cursor:pointer;min-height:32px;transition:background ${d.motion}}.snag-cancel{background:transparent;color:${d.muted}}.snag-armed{color:${d.anchorOrphan};font-weight:600}.snag-cancel:hover{background:${d.hover};color:inherit}.snag-send{background:${d.accent};color:${d.onAccent};font-weight:600}.snag-send:disabled{opacity:.45;cursor:not-allowed}.snag-actions button:focus-visible{outline:2px solid ${d.focus};outline-offset:2px}`;function jn(e,n,t){const[o,s]=z(!1);return j(()=>{if(!o)return;const a=setTimeout(()=>s(!1),3e3);return()=>clearTimeout(a)},[o]),{armed:o,press(){if(o||n){s(!1),e();return}s(!0)}}}function Un(e){const n=window.visualViewport;if(!n)return;let t=0,o=0;const s=()=>{t=0;const c=Math.max(0,Math.round(window.innerHeight-n.height-n.offsetTop));e.style.setProperty(k.kb,`${c}px`)},a=()=>{t||(t=requestAnimationFrame(s))},i=()=>{clearTimeout(o),o=window.setTimeout(s,300)};return s(),n.addEventListener("resize",a),n.addEventListener("scroll",a),window.addEventListener("orientationchange",a),e.addEventListener("focusout",i),()=>{t&&cancelAnimationFrame(t),clearTimeout(o),n.removeEventListener("resize",a),n.removeEventListener("scroll",a),window.removeEventListener("orientationchange",a),e.removeEventListener("focusout",i)}}const Fn="noreferrer nofollow";function Bn(e){const n=e.trim();if(!n||/[-]/.test(n)||n.startsWith("//"))return null;const t=/^([a-z][a-z0-9+.-]*):/i.exec(n);return t?/^(https?|mailto)$/i.test(t[1])?n:null:n}const qn=new RegExp(["\\*\\*(?=\\S)(?<bold>[\\s\\S]*?\\S)\\*\\*","(?<!\\w)__(?=\\S)(?<boldU>[\\s\\S]*?\\S)__(?!\\w)","(?<!\\*)\\*(?!\\*)(?=\\S)(?<em>[\\s\\S]*?\\S)(?<!\\*)\\*(?!\\*)","(?<!\\w)_(?=\\S)(?<emU>[\\s\\S]*?\\S)_(?!\\w)","`(?<code>[^`]+)`","\\[(?<label>[^\\]\\n]*)\\]\\((?<href>(?:[^()\\s]|\\([^()\\s]*\\))*)\\)"].join("|")),Kn=4;function ie(e,n=0,t=0){const o=[];let s=e,a=n;if(t>=Kn)return e?[e]:[];for(;;){const i=qn.exec(s);if(!i)return s&&o.push(s),o;i.index>0&&o.push(s.slice(0,i.index));const c=`i${a++}`,g=i.groups,l=g.bold??g.boldU,m=g.em??g.emU;if(l!==void 0)o.push(N("strong",{key:c},ie(l,a,t+1)));else if(m!==void 0)o.push(N("em",{key:c},ie(m,a,t+1)));else if(g.code!==void 0)o.push(N("code",{key:c},g.code));else{const x=Bn(g.href??"");o.push(x?N("a",{key:c,href:x,target:"_blank",rel:Fn},g.label??""):i[0])}s=s.slice(i.index+i[0].length)}}const ve=/^```[^\n]*$/,we=/^[-*]\s+(.*)$/,$e=/^\d{1,9}[.)]\s+(.*)$/;function sn(e){const n=e.split(`
|
|
3
|
+
`),t=[];let o=0,s=0;for(;o<n.length;){const a=n[o];if(ve.test(a)){const l=[];for(o++;o<n.length&&!ve.test(n[o]);)l.push(n[o++]);o++,t.push(N("pre",{key:`b${s++}`},N("code",null,l.join(`
|
|
4
|
+
`))));continue}const i=we.exec(a),c=$e.exec(a);if(i||c){const l=i?we:$e,m=[];for(;o<n.length;){const x=l.exec(n[o]);if(!x)break;m.push(N("li",{key:`l${m.length}`},ie(x[1]))),o++}t.push(N(i?"ul":"ol",{key:`b${s++}`},m));continue}const g=[];for(;o<n.length;){const l=n[o];if(!l.trim()||ve.test(l)||we.test(l)||$e.test(l))break;g.push(l),o++}g.length?t.push(N("p",{key:`b${s++}`},ie(g.join(`
|
|
5
|
+
`)))):o++}return N("div",{class:"snag-md"},t)}const Wn={"detail.details":"Anchor details","detail.hidden":"This element isn't visible right now \u2014 it may be inside a closed menu, tab, or accordion.","detail.orphaned":"The element this was pinned to has moved or gone \u2014 it was {label}.","detail.approximate":"The page changed since this was written, so the pin is close rather than exact \u2014 it points at {label}.","detail.unavailable":"Some of the matching steps couldn't load, so this was judged with the basic ones only.","detail.filedat":"Filed at {query}.","detail.openquery":"Open with original query","capture.agent":"{browser} \xB7 {os}","capture.agent.noos":"{browser}","capture.device":"{device} \xB7 {w}\xD7{h} @{dpr}x","capture.device.at1x":"{device} \xB7 {w}\xD7{h}"},Yn={"disclosure.title":"Before your first comment","disclosure.always":"Each comment carries the page address, viewport size and browser make.","disclosure.crumbs.on":"Recent console messages and network results ride along, recognisable secrets redacted first.","disclosure.crumbs.off":"Console and network capture is off here.","disclosure.screenshot.off":"Screenshots are off for this project.","disclosure.screenshot.on":"{product} never reads what you type. Screenshots are pictures of the page, so anything visible on screen is in the picture \u2014 mark sensitive regions with {maskAttr} and they are blurred before the screenshot leaves your browser.","disclosure.retention":"Everything stays in this browser until someone exports it \u2014 the privacy notes list what can still leak.","disclosure.retention.server":"Your comment, the page address and the details above are sent to {host} when you post \u2014 the privacy notes list what can still leak.","disclosure.ack":"Got it","composer.aria":"New comment","composer.parent":"Pin the parent","composer.child":"Pin the first child","composer.shot":"Add a screenshot","composer.name":"Your name","composer.email":"Email, so we can reply","composer.email.bad":"Check the address \u2014 or leave it blank.","composer.signin":"Studio member? Sign in","composer.signin.blocked":"Allow pop-ups for this page to sign in.","composer.member":"Commenting as {name}","composer.signout":"Not you? Sign out","composer.chars":"{n} characters left","composer.body":"Comment","composer.body.placeholder":"What's the {item}?","action.cancel":"Cancel","action.post":"Post comment","composer.discard.sure":"Sure? Discard this comment","action.discard":"Discard?"},Vn={"shot.open":"See the screenshot","shot.aria":"Screenshot","shot.close":"Close","announce.status":"Comment {key} set to {status}.","search.placeholder":"Search {n} comments\u2026","search.aria":"Search comments","round.label":"Round","round.closed":"(closed)","filter.status":"Status","filter.clear":"Clear","filter.selectall":"Select all","sort.button":"Sort","sort.newest":"Newest first","sort.oldest":"Oldest first","sort.page":"By page","filter.button":"Filter","filter.button.n":"Filter \xB7 {n}","filter.by":"Comments by","filter.by.anyone":"Anyone","filter.pages":"Pages","filter.pages.all":"All pages","filter.pageonly":"Show comments on this page only","filter.new":"See new activity \xB7 {n}","filter.new.on":"Showing new activity \u2014 show all","filter.new.none":"You\u2019re caught up \u2014 show all","filter.read":"Marked as","filter.read.all":"Anyone\u2019s, read or not","filter.read.unread":"Unread","filter.read.read":"Read","dock.unread":"Unread","badge.anchored":"","badge.approximate":"~","badge.orphaned":"moved","badge.hidden":"hidden","capture.label":"Comment left on","capture.page":"{route}","device.Mobile":"Mobile","device.Desktop":"Desktop","dock.aria":"All comments","dock.title.list":"All comments","dock.title.detail":"Comment","dock.close":"Close all comments","dock.empty":"No comments yet. Press +, then click anything on the page.","dock.empty.filter":"Nothing matches that filter.","dock.empty.orphans":"Every comment here lost its element \u2014 but what each one pointed at is still recorded.","dock.empty.page":"Nothing on this page. {n} comments on {m} other pages.","dock.row.empty":"(no comment)","dock.replies":"{n} replies","dock.goto":"Go to {route}","dock.cluster":"{n} comments in this cluster","dock.cluster.clear":"Show all","dock.hiddenrow":"That comment is now hidden by your filter","dock.hiddenrow.show":"Show","dock.back":"All","dock.back.aria":"Back to all comments","dock.position":"{n} of {total}","dock.prev":"Previous comment","dock.next":"Next comment","dock.clear":"Clear all","dock.clear.aria":"Delete every comment in this review","comment.edit":"Edit this comment","comment.delete":"Delete this comment and its pin","reply.delete":"Delete this reply","time.now":"just now","detail.hidden.show":"Show anyway","field.status":"Status","permalink.copy":"Copy link","permalink.copied":"Copied","reply.add":"Add reply","reply.aria":"Reply","reply.placeholder":"Reply\u2026","reply.send":"Reply","action.more":"More actions","action.edit":"Edit","action.delete":"Delete","action.save":"Save","action.sure":"Sure?","export.button":"Export","export.md":"Markdown","export.json":"JSON"},Gn={...tn,...Wn,...Yn,...Vn},p=nn(Gn),Qn=[/^utm_/,/^(gclid|gbraid|wbraid|fbclid|msclkid|ttclid|twclid|igshid|yclid|li_fat_id)$/,/^(mc_cid|mc_eid|_hsenc|_hsmi|vero_id|oly_enc_id|oly_anon_id)$/,/^_vercel_/,/^__vercel_/,/^_rsc$/],Jn=[...Be.query,...Be.fragment];function Xn(e,n=[]){return Jn.includes(e)||n.includes(e)?!0:Qn.some(t=>t.test(e))}const le=["open","progress","review","resolved"];function Zn(e,n){const t=e.includes(n)?e.filter(o=>o!==n):[...e,n];return t.length>=le.length?[]:t}function et(e,n,t){if(n.statuses.length>0&&le.includes(e.status)&&!n.statuses.includes(e.status)||n.by&&e.createdBy.id!==n.by||n.page&&e.route!==n.page)return!1;if(n.read!=="all"&&t){const o=de(e,t);if(n.read==="unread"&&!o||n.read==="read"&&o)return!1}return!0}function de(e,n){const t=n.get(e.id)??0;return Date.parse(e.updatedAt)>t}function nt(e,n,t,o){let s=e;n.pageOnly&&(s=s.filter(i=>i.route===t)),n.newOnly&&o&&(s=s.filter(i=>de(i,o)));const a=n.q?.trim().toLowerCase();return a&&(s=s.filter(i=>i.comments.some(c=>(c.body??"").toLowerCase().includes(a)||c.author.name.toLowerCase().includes(a))||i.createdBy.name.toLowerCase().includes(a))),s}function tt(e,n){if(n==="page")return e;const t=(s,a)=>Date.parse(s.createdAt)-Date.parse(a.createdAt),o=[...e].sort(t);return n==="oldest"?o:o.reverse()}function ot(e){const n=new Map;for(const t of e)n.set(t.status,(n.get(t.status)??0)+1);return{all:e.length,byStatus:n}}function rt(e){return(e.read!=="all"?1:0)+(e.by?1:0)+(e.page?1:0)}const Se=Object.keys(se);function ln({label:e,title:n,cls:t,role:o,onConfirm:s}){const{armed:a,press:i}=jn(s);return r("button",{type:"button",...o===void 0?{}:{role:o},class:`${t}${a?" snag-dk-armed":""}`,"aria-label":a?`${p("action.sure")} ${n}`:n,title:n,onClick:i,children:a?p("action.sure"):e})}function at({snag:e}){const n=e.context?.derived?.device;if(!n)return null;const t=p(`device.${n}`);return r("span",{class:"snag-dk-dev",title:t,"aria-label":t,role:"img",children:n==="Mobile"?r("svg",{width:"11",height:"14",viewBox:"0 0 11 14",fill:"none","aria-hidden":"true",children:[r("rect",{x:".75",y:".75",width:"9.5",height:"12.5",rx:"1.75",stroke:"currentColor","stroke-width":"1.5"}),r("path",{d:"M4.5 11h2",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})]}):r("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:[r("rect",{x:".75",y:"1.75",width:"12.5",height:"8.5",rx:"1.75",stroke:"currentColor","stroke-width":"1.5"}),r("path",{d:"M5 12.75h4",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})]})})}function st({anchor:e}){const n=[];if(e.testid&&n.push(["testid",e.testid]),e.domid&&n.push(["id",e.domid]),e.css&&n.push(["css",e.css]),e.hostPath?.length&&n.push(["shadow host",e.hostPath.join(" >> ")]),e.role&&n.push(["role",e.role]),e.accessibleName&&n.push(["name",e.accessibleName]),e.text?.exact&&n.push(["text",e.text.exact]),e.path?.length&&n.push(["path",e.path.join(" > ")]),e.rect){const t=e.rect;n.push(["rect",`${Math.round(t.x)}, ${Math.round(t.y)} \u2014 ${Math.round(t.w)} x ${Math.round(t.h)}`])}return e.breakpoint&&n.push(["breakpoint",`${e.breakpoint} at capture \xB7 you are at ${typeof window>"u"?"?":window.innerWidth}px`]),r("details",{class:"snag-dk-anchor",children:[r("summary",{children:p("detail.details")}),r("dl",{children:n.map(([t,o])=>r("div",{children:[r("dt",{children:t}),r("dd",{children:o})]},t))})]})}function dn({iso:e}){const n=Date.parse(e);if(!Number.isFinite(n))return null;const t=new Date(n),o=Math.round((n-Date.now())/1e3);let s;if(Math.abs(o)<45)s=p("time.now");else if(Math.abs(o)<7*86400){const a=new Intl.RelativeTimeFormat(void 0,{numeric:"auto",style:"short"}),[i,c]=Math.abs(o)<3600?[Math.round(o/60),"minute"]:Math.abs(o)<86400?[Math.round(o/3600),"hour"]:[Math.round(o/86400),"day"];s=a.format(i,c)}else s=t.toLocaleDateString(void 0,{day:"numeric",month:"short",...t.getFullYear()===new Date().getFullYear()?{}:{year:"numeric"}});return r("time",{class:"snag-dk-dim snag-dk-when",dateTime:t.toISOString(),title:t.toLocaleString(),children:s})}function cn({body:e,onEdit:n,deleteLabel:t,onDelete:o}){const s=e??"",[a,i]=z(!1),[c,g]=z(!1),[l,m]=z(s),x=U(null),u=f=>{f.key!=="Escape"||!c||(f.stopPropagation(),g(!1))};return j(()=>{a&&x.current?.focus()},[a]),a&&n?r("div",{class:"snag-dk-editbox",children:[r("textarea",{ref:x,class:"snag-text",rows:3,"aria-label":p("comment.edit"),value:l,onInput:f=>m(f.target.value),onKeyDown:f=>{f.key==="Enter"&&(f.metaKey||f.ctrlKey)&&(f.preventDefault(),l.trim()&&(n(l.trim()),i(!1))),f.key==="Escape"&&(f.stopPropagation(),m(s),i(!1))}}),r("div",{class:"snag-actions",children:[r("button",{type:"button",class:"snag-cancel",onClick:()=>{m(s),i(!1)},children:p("action.cancel")}),r("button",{type:"button",class:"snag-send",disabled:!l.trim()||l.trim()===s,onClick:()=>{n(l.trim()),i(!1)},children:p("action.save")})]})]}):r("div",{class:"snag-dk-acts snag-dk-menus",onKeyDown:u,children:[c&&r("div",{class:"snag-dk-menubg","aria-hidden":"true",onClick:()=>g(!1)}),r("span",{class:"snag-dk-menuwrap",children:[r("button",{type:"button",class:"snag-dk-act snag-dk-more","aria-label":p("action.more"),"aria-expanded":c,"aria-haspopup":"menu",title:p("action.more"),onClick:()=>g(!c),children:"\u22EF"}),c&&r("div",{class:"snag-dk-menu",role:"menu",children:[n&&r("button",{type:"button",role:"menuitem",title:p("comment.edit"),"aria-label":p("comment.edit"),onClick:()=>{g(!1),m(s),i(!0)},children:p("action.edit")}),o&&r(ln,{label:p("action.delete"),title:t,cls:"snag-dk-act--danger",role:"menuitem",onConfirm:o})]})]})]})}function it({snag:e}){const n=e.anchorReasons?.includes("hidden")??!1;return r("span",{class:"snag-dk-dim snag-dk-where",children:[n&&r(H,{children:[r("span",{class:"snag-dk-moved",children:p("badge.hidden")})," "]}),e.anchorState!=="anchored"&&r(H,{children:[r("span",{class:"snag-dk-moved",children:p(`badge.${e.anchorState}`)})," "]}),e.anchor.label]})}function lt(e){const n=new Map,t=new Map;for(const o of e){const s=(n.get(o.route)??0)+1;n.set(o.route,s),t.set(o.id,s)}return t}function dt(e,n){const t=new Map;for(const o of e){const s=t.get(o.route);s?s.push(o):t.set(o.route,[o])}return[...t.entries()].map(([o,s])=>({route:o,here:o===n,snags:s})).sort((o,s)=>o.route.localeCompare(s.route))}function ct({snag:e,n,here:t,unread:o,onOpen:s,onHover:a}){const i=g=>a(t?g:null),c=t?"":p("dock.goto",{route:e.route});return r("li",{children:r("button",{type:"button",class:"snag-dk-item",onClick:()=>s(e.id),onPointerEnter:()=>i(e.id),onPointerLeave:()=>i(null),onFocus:()=>i(e.id),onBlur:()=>i(null),children:[r("span",{class:`snag-dk-dot${o?" snag-dk-dot--on":""}`,role:"img","aria-label":o?p("dock.unread"):""}),r("span",{class:`snag-dk-num${e.anchorState==="anchored"?"":` snag-dk-num--${e.anchorState}`}`,style:{background:xe(e.status),color:on(e.status)},children:n}),r("span",{class:"snag-dk-main",children:[r("span",{class:`snag-dk-body${e.status==="resolved"?" snag-dk-done":""}`,children:e.comments[0]?.body??p("dock.row.empty")}),r("span",{class:"snag-dk-sub",children:r(it,{snag:e})})]}),r(at,{snag:e}),e.comments.length>1&&r("span",{class:"snag-dk-replies",role:"img","aria-label":p("dock.replies",{n:O(e.comments.length-1)}),children:O(e.comments.length-1)}),!t&&r("span",{class:"snag-dk-goto",role:"img",title:c,"aria-label":c,children:"\u2197"})]})})}const un=e=>d[`status${e[0].toUpperCase()}${e.slice(1)}`]??d.muted;function ut({round:e,filter:n,onFilter:t,rounds:o,activeRound:s,onRound:a,onClearAll:i,seenAt:c}){const g=!!o&&o.length>1&&!!a,l=e.length>0,[m,x]=z(null),u=ot(e),f=h=>{const T={...n};for(const[M,R]of Object.entries(h))R===void 0?delete T[M]:T[M]=R;t(T)},S=n.statuses.length>0,_=rt(n),y=[...new Map(e.map(h=>[h.createdBy.id,h.createdBy.name]))],$=[...new Set(e.map(h=>h.route))].sort(),v=[...u.byStatus.keys()].filter(h=>!le.includes(h)),E=r("div",{class:"snag-dk-menugroup",children:[r("div",{class:"snag-dk-chiphead",children:[r("span",{class:"snag-dk-menutitle",children:p("filter.status")}),r("button",{type:"button",class:"snag-dk-link",onClick:()=>f({statuses:[]}),children:p(S?"filter.selectall":"filter.clear")})]}),r("div",{class:"snag-dk-chips",role:"group","aria-label":p("filter.status"),children:[le.map(h=>{const T=n.statuses.includes(h);return r("button",{type:"button",class:"snag-dk-chip","aria-pressed":T,style:`border-color:color-mix(in srgb, ${un(h)} 60%, transparent);background:color-mix(in srgb, ${un(h)} ${T?28:10}%, transparent)`,onClick:()=>f({statuses:Zn(n.statuses,h)}),children:[ye(h)," ",r("span",{class:"snag-dk-dim",children:O(u.byStatus.get(h)??0)})]})}),v.map(h=>r("span",{class:"snag-dk-chip snag-dk-chip-stray",children:[h," ",r("span",{class:"snag-dk-dim",children:O(u.byStatus.get(h)??0)})]}))]})]});return r("div",{class:"snag-dk-filters",children:[l&&r("input",{class:"snag-input snag-dk-search",type:"search","aria-label":p("search.aria"),placeholder:p("search.placeholder",{n:O(e.length)}),value:n.q??"",onInput:h=>f({q:h.currentTarget.value||void 0})}),r("div",{class:"snag-dk-menus",onKeyDown:h=>{h.key!=="Escape"||!m||(h.stopPropagation(),x(null))},children:[m&&r("div",{class:"snag-dk-menubg","aria-hidden":"true",onClick:()=>x(null)}),r("span",{class:"snag-dk-menuwrap",children:[r("button",{type:"button",class:"snag-dk-link","aria-expanded":m==="filter",onClick:()=>x(m==="filter"?null:"filter"),children:_>0?p("filter.button.n",{n:O(_)}):p("filter.button")}),m==="filter"&&r("div",{class:"snag-dk-menu snag-dk-menu-form",role:"group","aria-label":p("filter.button"),children:[(g||l)&&r("div",{class:"snag-dk-menugroup",children:[!g&&r("span",{class:"snag-dk-menutitle",children:p("round.label")}),g&&r("label",{class:"snag-dk-round",children:[r("span",{class:"snag-dk-menutitle",children:p("round.label")}),r("select",{class:"snag-input",value:String(s??""),onChange:h=>a(Number(h.currentTarget.value)),children:o.map(h=>r("option",{value:String(h.number),children:[h.name,h.closed?` ${p("round.closed")}`:""]},h.number))})]}),l&&r(ln,{label:p("dock.clear"),title:p("dock.clear.aria"),cls:"snag-dk-link snag-dk-clear",onConfirm:i})]}),l&&E,l&&r("div",{class:"snag-dk-menugroup",role:"radiogroup","aria-label":p("sort.button"),children:[r("span",{class:"snag-dk-menutitle","aria-hidden":"true",children:p("sort.button")}),[["newest","sort.newest"],["oldest","sort.oldest"],["page","sort.page"]].map(([h,T])=>r("button",{type:"button",role:"radio","aria-checked":n.sort===h,onClick:()=>f({sort:h}),children:[r("span",{class:"snag-dk-tick","aria-hidden":"true",children:n.sort===h?"\u2713":"\xA0"}),p(T)]}))]}),l&&r("div",{class:"snag-dk-menugroup snag-dk-menugroup-last",children:[c&&r("label",{children:[p("filter.read"),r("select",{value:n.read,onChange:h=>f({read:h.currentTarget.value}),children:[r("option",{value:"all",children:p("filter.read.all")}),r("option",{value:"unread",children:p("filter.read.unread")}),r("option",{value:"read",children:p("filter.read.read")})]})]}),r("label",{children:[p("filter.by"),r("select",{value:n.by??"",onChange:h=>f({by:h.currentTarget.value||void 0}),children:[r("option",{value:"",children:p("filter.by.anyone")}),y.map(([h,T])=>r("option",{value:h,children:T}))]})]}),r("label",{children:[p("filter.pages"),r("select",{value:n.page??"",onChange:h=>f({page:h.currentTarget.value||void 0}),children:[r("option",{value:"",children:p("filter.pages.all")}),$.map(h=>r("option",{value:h,children:h}))]})]}),r("label",{class:"snag-dk-pageonly",children:[r("input",{type:"checkbox",checked:n.pageOnly,onChange:h=>f({pageOnly:h.currentTarget.checked})})," ",p("filter.pageonly")]})]})]})]})]})]})}function pt({snags:e,groups:n,route:t,onOpen:o,onHover:s,onExport:a,onClearAll:i,clusterFilter:c,onClusterClear:g,filter:l,onFilter:m,hiddenNote:x,onHiddenShow:u,rounds:f,activeRound:S,onRound:_,seenAt:y}){const $=lt(e),v=n.flatMap(b=>b.snags),E=l.statuses.length>0||!!l.by||!!l.page||!!l.q?.trim()||l.pageOnly||l.newOnly||l.read!=="all",h=y?e.filter(b=>de(b,y)).length:0,T=U(null),[M,R]=z(!1),I=b=>{b.key!=="Escape"||!M||(b.stopPropagation(),R(!1))},L=U(null);return j(()=>{const b=T.current,P=L.current;!b||!P||(b.scrollTop+=P.getBoundingClientRect().top-b.getBoundingClientRect().top)},[t,n.length]),r(H,{children:[(e.length>0||f&&f.length>1&&_)&&r(ut,{round:e,filter:l,onFilter:m,onClearAll:i,...y===void 0?{}:{seenAt:y},...f===void 0?{}:{rounds:f},...S===void 0?{}:{activeRound:S},..._===void 0?{}:{onRound:_}}),y&&(h>0||l.newOnly)&&r("button",{type:"button",class:"snag-dk-newpill","aria-pressed":l.newOnly,onClick:()=>m({...l,newOnly:!l.newOnly}),children:l.newOnly?p(h===0?"filter.new.none":"filter.new.on"):p("filter.new",{n:O(h)})}),e.length===0?r("div",{class:"snag-dk-empty",children:r("p",{children:p("dock.empty")})}):v.length===0&&E?r("div",{class:"snag-dk-empty",children:l.pageOnly&&e.some(b=>b.route!==t)?r("p",{children:p("dock.empty.page",{n:O(e.filter(b=>b.route!==t).length),m:O(new Set(e.filter(b=>b.route!==t).map(b=>b.route)).size)})}):r("p",{children:p("dock.empty.filter")})}):r(H,{children:[x&&r("p",{class:"snag-dk-notice",children:[p("dock.hiddenrow")," ",r("button",{type:"button",class:"snag-dk-link",onClick:()=>u(x),children:p("dock.hiddenrow.show")})]}),c&&r("p",{class:"snag-dk-notice",children:[p("dock.cluster",{n:c.length})," ",r("button",{type:"button",class:"snag-dk-link",onClick:()=>g?.(),children:p("dock.cluster.clear")})]}),e.every(b=>b.anchorState==="orphaned")&&r("p",{class:"snag-dk-notice",children:p("dock.empty.orphans")}),r("div",{class:"snag-dk-scroll",ref:T,children:n.map(b=>r("section",{class:"snag-dk-group",ref:b.here?L:null,children:[b.route!==""&&r("h3",{class:"snag-dk-grouphd",children:[r("span",{class:"snag-dk-route",children:b.route}),r("span",{class:"snag-dk-dim",children:O(b.snags.length)})]}),r("ul",{class:"snag-dk-list",children:b.snags.map(P=>r(ct,{snag:P,n:$.get(P.id),here:b.here,unread:!!y&&de(P,y),onOpen:o,onHover:s},P.id))})]},b.route))})]}),r("div",{class:"snag-dk-foot",children:r("div",{class:"snag-dk-menus snag-dk-menus-up",onKeyDown:I,children:[M&&r("div",{class:"snag-dk-menubg","aria-hidden":"true",onClick:()=>R(!1)}),r("span",{class:"snag-dk-menuwrap",children:[r("button",{type:"button",class:"snag-dk-link","aria-expanded":M,"aria-haspopup":"menu",onClick:()=>R(!M),children:p("export.button")}),M&&r("div",{class:"snag-dk-menu snag-dk-menu-up",role:"menu",children:["md","json"].map(b=>r("button",{type:"button",role:"menuitem",onClick:()=>{R(!1),a(b)},children:p(b==="md"?"export.md":"export.json")}))})]})]})})]})}const Ce=new Map;function ht(e){const n=[];try{for(const[t,o]of new URL(e).searchParams)Xn(t)||n.push(o&&o!=="[redacted]"?`${t}=${o}`:t)}catch{return null}return n.length?`?${n.join("&")}`:null}function gt({att:e,load:n}){const t=U(null),[o,s]=z(!1),[a,i]=z(null);return j(()=>{let c=!1;return n(e).then(async g=>{if(!g||c)return;const l=await createImageBitmap(g);c?l.close():i(l)}).catch(()=>{}),()=>{c=!0}},[e.id,e.url]),j(()=>{const c=t.current;if(!c||!a)return;const g=142,l=g/a.width;c.width=g,c.height=Math.min(96,Math.round(a.height*l)),c.getContext("2d").drawImage(a,0,0,a.width,Math.round(c.height/l),0,0,c.width,c.height)},[a]),a?r(H,{children:[r("button",{type:"button",class:"snag-dk-shot",onClick:()=>s(!0),"aria-label":p("shot.open"),children:r("canvas",{ref:t,width:142,height:Math.min(96,Math.round(a.height*(142/a.width)))})}),o&&r(ft,{bmp:a,onClose:()=>s(!1)})]}):null}function ft({bmp:e,onClose:n}){const t=U(null);return j(()=>{const o=t.current;o&&(o.width=e.width,o.height=e.height,o.getContext("2d").drawImage(e,0,0))},[e]),r("div",{class:"snag-dk-lightbox",role:"dialog","aria-modal":"true","aria-label":p("shot.aria"),tabIndex:-1,ref:o=>o?.focus(),onKeyDown:o=>{o.key==="Escape"&&(o.stopPropagation(),n())},onClick:n,children:[r("canvas",{ref:t}),r("button",{type:"button",class:"snag-dk-link snag-dk-lightclose",onClick:n,children:p("shot.close")})]})}function mt({snag:e,loadShot:n}){const t=e.context;if(!t)return null;const o=e.attachments?.find(c=>c.kind==="screenshot"),s=t.derived,a=t.viewport,i=a?Math.round(a.dpr*100)/100:1;return r("div",{class:"snag-dk-cap",children:[o&&n&&r(gt,{att:o,load:n}),r("p",{class:"snag-dk-caplabel",children:p("capture.label")}),t.page?.route!==void 0&&r("p",{children:p("capture.page",{route:t.page.route})}),s&&a&&r(H,{children:[r("p",{children:s.os?p("capture.agent",{browser:s.browser,os:s.os}):p("capture.agent.noos",{browser:s.browser})}),r("p",{children:i===1?p("capture.device.at1x",{device:s.device,w:a.w,h:a.h}):p("capture.device",{device:s.device,w:a.w,h:a.h,dpr:i})})]}),t.capture?.reasons?.map(c=>r("p",{class:"snag-dk-capwhy",children:c},c)),t.capture?.blindSpots?.map(c=>r("p",{class:"snag-dk-capwhy",children:c},c)),(()=>{const c=ht(t.url);return c?r("p",{class:"snag-dk-capwhy",children:[p("detail.filedat",{query:c})," ",r("a",{class:"snag-dk-openq",href:t.url,target:"_blank",rel:"noreferrer",children:p("detail.openquery")})]}):null})()]})}function pn(e){const n=e.context?.url??e.route;return`${n}${n.includes("?")?"&":"?"}${En("t")}=${e.key}`}function _t({snag:e}){const[n,t]=z(!1),o=pn(e);return navigator.clipboard?r("button",{type:"button",class:"snag-dk-link",onClick:()=>void navigator.clipboard.writeText(o).then(()=>{t(!0),setTimeout(()=>t(!1),1500)},()=>{}),children:p(n?"permalink.copied":"permalink.copy")}):null}function kt({snag:e}){return navigator.clipboard?null:r("p",{class:"snag-dk-permaline",children:[r("span",{class:"snag-dk-permalabel",children:p("permalink.copy")})," ",r("span",{class:"snag-dk-permaurl",children:pn(e)})]})}function bt({snags:e,round:n,fallbackCursor:t,openId:o,onOpen:s,onStatus:a,onReply:i,onEdit:c,onDeleteComment:g,onDeleteThread:l,isMine:m,canDeleteOwnThread:x=!0,canModerate:u=!1,onShowAnyway:f,onAnnounce:S,loadShot:_}){const y=e.findIndex(w=>w.id===o),$=y>=0,v=w=>m?m(w):!0,E=$?y:Math.min(t,e.length),h=$?e[y]:n.find(w=>w.id===o),T=o?Ce.get(o)??"":"",[M,R]=z(T),[I,L]=z(T.length>0),b=U(null);j(()=>{I&&b.current?.focus()},[I]);const P=w=>{R(w),o&&(w?Ce.set(o,w):Ce.delete(o))};if(!h)return null;const F=h.comments[0],mn=n.filter(w=>w.route===h.route).findIndex(w=>w.id===h.id)+1;return r("div",{class:"snag-dk-detail",children:[r("div",{class:"snag-dk-detailhd",children:[r("button",{type:"button",class:"snag-dk-link",onClick:()=>s(null),"aria-label":p("dock.back.aria"),children:[r("span",{"aria-hidden":"true",children:"\u2190"})," ",p("dock.back")]}),r("span",{class:"snag-dk-dim",children:p("dock.position",{n:$?O(E+1):"\u2013",total:O(e.length)})}),r("span",{class:"snag-dk-nav",children:[r("button",{type:"button",class:"snag-dk-link",disabled:E<=0,"aria-label":p("dock.prev"),onClick:()=>s(e[E-1].id),children:"\u2191"}),r("button",{type:"button",class:"snag-dk-link",disabled:$?E>=e.length-1:E>=e.length,"aria-label":p("dock.next"),onClick:()=>s(e[$?E+1:E].id),children:"\u2193"})]})]}),r("div",{class:"snag-dk-card",children:[r("div",{class:"snag-dk-meta",children:[r("span",{class:"snag-dk-num",style:{background:xe(h.status),color:on(h.status)},children:mn}),r("strong",{children:F?.author.name??p("author.unknown")}),r("span",{class:"snag-dk-dim",children:h.key}),F&&r(dn,{iso:F.createdAt}),r(_t,{snag:h})]}),r("div",{class:"snag-dk-cardbody",children:sn(F?.body??"")}),r(kt,{snag:h}),F&&(v(F.author)||u)&&r(cn,{body:F.body,...v(F.author)?{onEdit:w=>c(F.id,w)}:{},deleteLabel:p("comment.delete"),...u||x&&h.comments.every(w=>v(w.author))?{onDelete:()=>l(h.id)}:{}})]}),r("label",{class:"snag-dk-field",children:[r("span",{class:"snag-dk-dim",children:p("field.status")}),r("select",{class:"snag-dk-select",style:{borderColor:xe(h.status)},value:h.status,onChange:w=>{const V=w.target.value;a(h.id,V),S?.(p("announce.status",{key:h.key,status:ye(V)}))},children:Se.map(w=>r("option",{value:w,children:ye(w)},w))})]}),r(mt,{snag:h,..._?{loadShot:_}:{}}),h.anchorReasons?.includes("hidden")&&r("p",{class:"snag-dk-moved-note",children:[p("detail.hidden")," ",r("button",{type:"button",class:"snag-dk-link",onClick:()=>f?.(h),children:p("detail.hidden.show")})]}),h.anchorState!=="anchored"&&r("p",{class:"snag-dk-moved-note",children:[p(`detail.${h.anchorState}`,{label:h.anchor.label}),h.anchorReasons?.includes("budget-exceeded")&&` ${p("detail.unavailable")}`]}),h.anchorState!=="anchored"&&r(st,{anchor:h.anchor}),h.comments.length>1&&r("ul",{class:"snag-dk-replies-list",children:h.comments.slice(1).map(w=>r("li",{children:[r("strong",{children:w.author.name})," ",r(dn,{iso:w.createdAt}),sn(w.body??""),(v(w.author)||u)&&r(cn,{body:w.body,...v(w.author)?{onEdit:V=>c(w.id,V)}:{},deleteLabel:p("reply.delete"),onDelete:()=>g(w.id)})]},w.id))}),I?r("div",{class:"snag-dk-replybox",children:[r("textarea",{ref:b,class:"snag-text",rows:2,enterkeyhint:"enter","aria-label":p("reply.aria"),placeholder:p("reply.placeholder"),value:M,onInput:w=>P(w.target.value),onKeyDown:w=>{w.key==="Enter"&&(w.metaKey||w.ctrlKey)&&(w.preventDefault(),M.trim()&&(i(h.id,M.trim()),P(""),L(!1))),w.key==="Escape"&&(w.stopPropagation(),w.target.blur())}}),r("div",{class:"snag-actions",children:[r("button",{type:"button",class:"snag-cancel",onClick:()=>{P(""),L(!1)},children:p("action.cancel")}),r("button",{type:"button",class:"snag-send",disabled:!M.trim(),onClick:()=>{i(h.id,M.trim()),P(""),L(!1)},children:p("reply.send")})]})]}):r("button",{type:"button",class:"snag-dk-addreply",onClick:()=>L(!0),children:p("reply.add")})]})}function xt(e){const n=e.openId?e.snags.find(_=>_.id===e.openId):null,t=U(null),o=e.clusterFilter?e.snags.filter(_=>e.clusterFilter.includes(_.id)):e.snags,s=nt(o.filter(_=>et(_,e.filter,e.seenAt)),e.filter,e.route,e.seenAt),a=tt(s,e.filter.sort),i=e.filter.sort==="page"?dt(a,e.route):[{route:"",here:!1,snags:a}],c=i.flatMap(_=>_.snags),g=U(0),l=c.findIndex(_=>_.id===e.openId);l>=0&&(g.current=l);const m=U(null),[x,u]=z(null);e.openId?(m.current={id:e.openId,absent:l===-1},x&&u(null)):m.current?.absent&&x!==m.current.id&&(u(m.current.id),m.current=null),j(()=>{t.current?.focus()},[e.openId]),j(()=>{if(!(window.matchMedia?.("(pointer: coarse)").matches??!1))return;const _=t.current;return _?Un(_):void 0},[]);const f=U({snag:n,onStatus:e.onStatus});f.current={snag:n,onStatus:e.onStatus},j(()=>{const _=y=>{const{snag:$,onStatus:v}=f.current;if(!$||y.metaKey||y.ctrlKey||y.altKey||y.composedPath().some(T=>{const M=T;if(!M?.tagName)return!1;const R=M.tagName.toLowerCase();return R==="textarea"||R==="select"?!0:R==="input"?!/^(button|submit|checkbox|radio)$/i.test(M.type):M.isContentEditable?!0:/^(textbox|searchbox|combobox)$/.test(M.getAttribute?.("role")??"")}))return;const h=Number(y.key);if(h>=1&&h<=Se.length){y.preventDefault(),v($.id,Se[h-1]);return}(y.key==="r"||y.key==="R")&&(y.preventDefault(),v($.id,$.status==="resolved"?"open":"resolved"))};return document.addEventListener("keydown",_),()=>document.removeEventListener("keydown",_)},[]);const S=window.matchMedia?.("(pointer: coarse)").matches??!1;return r("aside",{ref:t,class:"snag-dk",role:"complementary","aria-label":p("dock.aria"),tabIndex:-1,onKeyDown:_=>{_.key==="Escape"&&(_.stopPropagation(),e.openId?e.onOpen(null):e.onClose())},children:[S&&r("div",{class:"snag-dk-scrim","aria-hidden":"true",onClick:e.onClose}),S&&r("div",{class:"snag-dk-grab","aria-hidden":"true",onPointerDown:_=>{const y=_.clientY,$=_.currentTarget;try{$.setPointerCapture(_.pointerId)}catch{}$.onpointermove=v=>{v.clientY-y>56&&($.onpointermove=null,e.onClose())},$.onpointerup=()=>$.onpointermove=null},children:r("span",{})}),r("header",{class:"snag-dk-hd",children:[r("strong",{children:p(n?"dock.title.detail":"dock.title.list")}),r("button",{type:"button",class:"snag-dk-link",onClick:e.onClose,"aria-label":p("dock.close"),children:"\u2715"})]}),n?r(bt,{...e,snags:c,round:e.snags,fallbackCursor:g.current},n.id):r(pt,{...e,groups:i,hiddenNote:x,onHiddenShow:_=>{u(null),e.onOpen(_)}})]})}const hn=360,yt=` .snag-dk{position:fixed;inset-block:0;inset-inline-end:0;width:${hn}px;max-width:100vw;z-index:${In.dock};background:${d.bg};color:${d.fg};display:flex;flex-direction:column;font:400 13px/1.45 ${d.font};box-shadow:${d.shadow};border-inline-start:1px solid ${d.border};pointer-events:auto;overscroll-behavior:contain}.snag-dk-filters{padding:8px 12px 6px;border-block-end:1px solid ${d.border};display:grid;gap:6px}.snag-dk-search{width:100%;box-sizing:border-box;font-size:12px;padding:5px 8px}.snag-dk-chiphead{display:flex;justify-content:space-between;align-items:center;padding-inline-end:8px}.snag-dk-chips{display:grid;grid-template-columns:1fr 1fr;gap:4px}.snag-dk-chip{font:500 11px/1.2 ${d.font};color:${d.fg};padding:5px 8px;border-radius:6px;border:1px solid ${d.border};background:none;cursor:pointer;text-align:start;display:flex;justify-content:space-between;align-items:center;gap:4px}.snag-dk-chip[aria-pressed="true"]{font-weight:600}.snag-dk-chip-stray{color:${d.muted};cursor:default}.snag-dk-menus{display:flex;gap:10px;position:relative}.snag-dk-menuwrap{position:relative}.snag-dk-menugroup{display:flex;flex-direction:column;gap:1px;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid ${d.border}}.snag-dk-menugroup-last{padding-bottom:0;margin-bottom:0;border-bottom:0}.snag-dk-menutitle{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:${d.muted};padding:2px 8px 4px}.snag-dk-menubg{position:absolute;inset:-200px -20px -2000px;background:transparent;z-index:2}.snag-dk-menu{position:absolute;inset-block-start:100%;inset-inline-start:0;z-index:3;min-width:150px;background:${d.bg};border:1px solid ${d.border};border-radius:6px;box-shadow:${d.shadow};display:grid;padding:4px}.snag-dk-menu button{font:400 12px/1.3 ${d.font};color:${d.fg};background:none;border:0;text-align:start;padding:5px 8px;border-radius:4px;cursor:pointer;display:flex;gap:4px}.snag-dk-menu button:hover{background:color-mix(in srgb,${d.fg} 8%,transparent)}.snag-dk-menus-up{position:relative}.snag-dk-menu-up{inset-block-start:auto;inset-block-end:100%;margin-block-end:4px}.snag-dk-menu-form{padding:8px;gap:6px;min-width:224px}.snag-dk-menu-form label:not(.snag-dk-pageonly){display:grid;gap:2px;font:600 10px/1.4 ${d.font};letter-spacing:.05em;text-transform:uppercase;color:${d.muted}}.snag-dk-menu-form select{font:400 12px/1.3 ${d.font};color:${d.fg};background:${d.bg};border:1px solid ${d.border};border-radius:4px;padding:4px}.snag-dk-pageonly{display:flex;align-items:center;gap:6px;font-size:12px;color:${d.fg};cursor:pointer}.snag-dk-permaline{margin:6px 0 0;font-size:11px;color:${d.muted};overflow-wrap:anywhere}.snag-dk-permalabel{font-weight:600}.snag-dk-permaurl{user-select:all}.snag-dk:focus{outline:none}@media (pointer:coarse){.snag-dk{inset-block-start:auto;inset-inline-start:0;width:auto;height:82vh;border-radius:14px 14px 0 0;box-sizing:border-box;padding-bottom:max(var(${k.tbH},68px),var(${k.kb},0px));padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}.snag-dk-scrim{position:fixed;inset:0;background:#0005;touch-action:none;z-index:-1}.snag-dk-grab{display:flex;justify-content:center;padding:10px 0 4px;touch-action:none}.snag-dk-grab span{width:36px;height:4px;border-radius:2px;background:${d.border}}.snag-dk-item{min-height:56px}.snag-dk-link{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.snag-dk-select{min-height:44px}.snag-dk-chip{min-height:44px}.snag-dk-search{min-height:44px}}@media (pointer:fine){.snag-dk-scrim,.snag-dk-grab{display:none}}.snag-dk-hd{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid ${d.border};flex:0 0 auto}.snag-dk-scroll{overflow-y:auto;flex:1 1 auto}.snag-dk-list{list-style:none;margin:0;padding:0}.snag-dk-grouphd{position:sticky;top:0;z-index:1;margin:0;display:flex;align-items:center;gap:8px;padding:7px 14px;font:600 11px/1.45 ${d.font};letter-spacing:.02em;background:${d.sunken};border-bottom:1px solid ${d.border}}.snag-dk-route{color:${d.fg};overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;direction:ltr;unicode-bidi:isolate}.snag-dk-grouphd .snag-dk-dim{margin-inline-start:auto;font-weight:400;flex:0 0 auto}.snag-dk-goto{flex:0 0 auto;color:${d.muted};font-size:13px;line-height:1}.snag-dk-dev{flex:0 0 auto;color:${d.muted};display:flex;align-items:center}.snag-dk-item:hover .snag-dk-goto,.snag-dk-item:focus-visible .snag-dk-goto{color:${d.accent}}.snag-dk-item{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:start;background:transparent;border:0;border-bottom:1px solid ${d.border};color:inherit;font:inherit;padding:11px 14px;cursor:pointer;transition:background ${d.motion}}.snag-dk-item:hover{background:${d.hover}}.snag-dk-item:focus-visible{outline:2px solid ${d.focus};outline-offset:-2px}.snag-dk-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;margin-block-start:8px;background:transparent}.snag-dk-dot--on{background:${d.accent}}.snag-dk-newpill{display:block;width:100%;box-sizing:border-box;text-align:start;background:${d.sunken};border:0;border-block-end:1px solid ${d.border};color:${d.accent};font:600 12px/1.45 ${d.font};padding:8px 14px;cursor:pointer;flex:0 0 auto}.snag-dk-newpill:hover{background:${d.hover}}.snag-dk-newpill:focus-visible{outline:2px solid ${d.focus};outline-offset:-2px}.snag-dk-num{flex:0 0 22px;height:22px;border-radius:50% 50% 50% 2px;font-weight:600;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.snag-dk-num--orphaned{border:2px solid currentColor;box-shadow:inset 0 0 0 2px currentColor}.snag-dk-num--approximate{border:2px dashed currentColor}.snag-dk-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.snag-dk-body,.snag-dk-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snag-dk-sub{font-size:11px}.snag-dk-dim{color:${d.muted}}.snag-dk-moved{color:${d.anchorOrphan};font-weight:600}.snag-dk-replies{background:${d.surface};border-radius:999px;padding:1px 7px;font-size:11px;flex:0 0 auto}.snag-dk-empty{padding:28px 16px;text-align:center;flex:1 1 auto}.snag-dk-empty p{margin:0 0 4px}.snag-dk-notice{margin:0;padding:11px 14px;font-size:12px;color:${d.muted};border-bottom:1px solid ${d.border};flex:0 0 auto}.snag-dk-foot{display:flex;gap:6px;padding:10px 14px;border-top:1px solid ${d.border};flex:0 0 auto}.snag-dk-link{background:transparent;border:0;color:${d.accent};font:inherit;cursor:pointer;padding:4px 6px;border-radius:calc(${d.radius} - 2px);transition:background ${d.motion}}.snag-dk-link:hover:not(:disabled){background:${d.hover}}.snag-dk-link:disabled{color:${d.disabled};cursor:not-allowed}.snag-dk-link:focus-visible{outline:2px solid ${d.focus};outline-offset:1px}.snag-dk-detail{padding:12px 14px;overflow-y:auto;flex:1 1 auto;display:flex;flex-direction:column;gap:12px}.snag-dk-detailhd{display:flex;align-items:center;justify-content:space-between;gap:8px}.snag-dk-nav{display:flex;gap:2px}.snag-dk-card{background:${d.surface};border-radius:${d.radius};padding:11px}.snag-dk-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:6px}.snag-md{overflow-wrap:anywhere}.snag-md>*{margin:0}.snag-md>*+*{margin-block-start:6px}.snag-md p{white-space:pre-wrap}.snag-md ul,.snag-md ol{padding-inline-start:20px}.snag-md li+li{margin-block-start:2px}.snag-md code{background:${d.sunken};border-radius:3px;padding:1px 4px;font-size:.92em;font-family:ui-monospace,monospace}.snag-md pre{background:${d.sunken};border-radius:${d.radius};padding:8px 10px;overflow-x:auto}.snag-md pre code{background:none;padding:0;font-size:.92em}.snag-md a{color:${d.accent}}.snag-dk-field{display:flex;flex-direction:column;gap:4px;font-size:12px}.snag-dk-select{background:${d.surface};color:inherit;border:2px solid;border-radius:${d.radius};padding:7px 9px;font:inherit;min-height:34px}.snag-dk-done{color:${d.muted};text-decoration:line-through}.snag-dk-meta .snag-dk-num{margin-inline-end:2px}.snag-dk-cap{background:${d.sunken};border-radius:${d.radius};padding:9px 11px;display:flex;flex-direction:column;gap:1px;font-size:12px;overflow-wrap:anywhere}.snag-dk-cap p{margin:0}.snag-dk-shot{padding:0;border:1px solid ${d.border};border-radius:calc(${d.radius} - 2px);background:none;cursor:zoom-in;overflow:hidden;line-height:0;align-self:flex-start;margin-block-end:6px}.snag-dk-shot canvas{display:block;max-width:100%}.snag-dk-lightbox{position:fixed;inset:0;z-index:1;background:#000c;display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.snag-dk-lightbox canvas{max-width:100%;max-height:100%;object-fit:contain;box-shadow:${d.shadow};background:${d.bg}}.snag-dk-lightclose{position:absolute;inset-block-start:12px;inset-inline-end:16px;color:#fff}.snag-dk-caplabel{font-weight:600;font-size:11px;letter-spacing:.02em;margin-bottom:3px!important}.snag-dk-capwhy{color:${d.muted};font-size:11px;margin-top:5px!important}.snag-dk-moved-note{margin:0;padding:8px 10px;font-size:12px;background:${d.sunken};border-inline-start:3px solid ${d.anchorOrphan};border-radius:${d.radius}}.snag-dk-anchor{font-size:12px;border:1px solid ${d.border};border-radius:${d.radius};padding:6px 10px;background:${d.sunken}}.snag-dk-anchor summary{cursor:pointer;color:${d.muted};font-weight:600;list-style:revert}.snag-dk-anchor dl{margin:8px 0 2px;display:grid;gap:6px}.snag-dk-anchor dt{color:${d.muted};font-size:11px;letter-spacing:.03em;text-transform:uppercase}.snag-dk-anchor dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;user-select:text}.snag-dk-replies-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.snag-dk-replies-list li{background:${d.sunken};border-radius:${d.radius};padding:9px;overflow-wrap:anywhere}.snag-dk-acts{display:flex;gap:2px;margin-top:6px}.snag-dk-act{background:transparent;border:0;color:${d.muted};font:inherit;font-size:11px;cursor:pointer;padding:3px 6px;border-radius:calc(${d.radius} - 3px);transition:background ${d.motion},color ${d.motion}}.snag-dk-more{font-size:14px;line-height:1;letter-spacing:1px}.snag-dk-act:hover{background:${d.hover};color:inherit}.snag-dk-act:focus-visible{outline:2px solid ${d.focus};outline-offset:1px}.snag-dk-act--danger:hover{color:${d.anchorOrphan}}.snag-dk-menu .snag-dk-act--danger{color:${d.fg}}.snag-dk-menu .snag-dk-act--danger:hover{color:${d.anchorOrphan}}.snag-dk-armed{color:${d.anchorOrphan};font-weight:600}.snag-dk-clear{margin-inline-start:auto}.snag-dk-menu .snag-dk-clear{margin-inline-start:0}.snag-dk-editbox{display:flex;flex-direction:column;gap:8px;margin-top:8px}.snag-dk-addreply{background:transparent;border:1px dashed ${d.border};color:${d.muted};border-radius:${d.radius};padding:9px;font:inherit;cursor:pointer;text-align:start;transition:border-color ${d.motion},color ${d.motion}}.snag-dk-addreply:hover{border-color:${d.accent};color:inherit}.snag-dk-replybox{display:flex;flex-direction:column;gap:8px}`;function vt(e,n,t){const o=e.ownerDocument??document;an(e,"form",Hn),an(e,"dock",yt);const s=o.createElement("div");(t??e).appendChild(s);const a=o.defaultView?.matchMedia?.("(pointer: coarse)").matches??!1,i=g=>{const l=e.host;g&&!a?l.style.setProperty(k.dockW,`${hn}px`):l.style.removeProperty(k.dockW)};i(!0);const c=g=>{Fe(r(xt,{...g}),s)};return c(n),{update:c,close(){i(!1),Fe(null,s),s.remove()}}}const gn=24;function fn(e,n){const t=e.innerHeight,o=n.querySelector(".snag-dk");if(!o)return{top:0,bottom:t};const s=o.getBoundingClientRect();return s.height>=t-1?{top:0,bottom:t}:{top:0,bottom:Math.max(0,s.top)}}function wt(e,n,t){const o=t.anchor.rect;if(!o)return;const s=t.anchor.offset??{fy:.5},a=o.y+o.h*s.fy,i=fn(e,n),c=a-e.scrollY;if(c>=i.top+gn&&c<=i.bottom-gn)return;const g=e.matchMedia?.("(prefers-reduced-motion: reduce)").matches??!1;e.scrollTo({top:Math.max(0,a-(i.top+i.bottom)/2),behavior:g?"auto":"smooth"})}export{vt as openDock,wt as scrollToSnag,fn as visibleStrip};
|