@atproto/oauth-provider-ui 0.5.2 → 0.6.0

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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"cookie-error-page-BaAfiN7q.js","sources":["../src/cookie-error-page.tsx"],"sourcesContent":["import './style.css'\n\nimport { msg } from '@lingui/core/macro'\nimport { Trans } from '@lingui/react/macro'\nimport { StrictMode } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { Button } from '#/components/forms/button.tsx'\nimport { FormCard } from '#/components/forms/form-card.tsx'\nimport { Admonition } from '#/components/utils/admonition.tsx'\nimport { CustomizationProvider } from '#/contexts/customization.tsx'\nimport type { HydrationData } from '#/hydration-data.d.ts'\nimport { LocaleProvider } from '#/locales/locale-provider.tsx'\nimport { LayoutApp } from './components/layouts/layout-app'\n\nconst {\n //\n __continueUrl: continueUrl,\n __customizationData: customizationData,\n} = window as typeof window & HydrationData['cookie-error-page']\n\nconst container = document.getElementById('root')!\n\ncreateRoot(container).render(\n <StrictMode>\n <CustomizationProvider value={customizationData}>\n <LocaleProvider>\n <CookieErrorView />\n </LocaleProvider>\n </CustomizationProvider>\n </StrictMode>,\n)\n\nfunction CookieErrorView() {\n const url = new URL(continueUrl)\n\n return (\n <LayoutApp title={msg`Cookie Error`}>\n <FormCard\n action={url.origin}\n method=\"GET\"\n actions={\n <Button type=\"submit\" color=\"primary\">\n <Trans>Continue</Trans>\n </Button>\n }\n className=\"w-xl\"\n >\n {Array.from(new Map(url.searchParams)).map(([key, value]) => (\n <input key={key} type=\"hidden\" name={key} value={value} />\n ))}\n <Admonition\n role=\"alert\"\n variant=\"warning\"\n title={<Trans>Cookie Error</Trans>}\n >\n <Trans>\n It seems that your browser is not accepting cookies. Press\n \"Continue\" to try again. If the error persists, please ensure that\n your privacy settings allow cookies for the \"{url.hostname}\"\n website.\n </Trans>\n </Admonition>\n </FormCard>\n </LayoutApp>\n )\n}\n"],"names":["__continueUrl","continueUrl","__customizationData","customizationData","window","container","document","getElementById","createRoot","render","_jsx","StrictMode","CustomizationProvider","value","LocaleProvider","CookieErrorView","url","URL","LayoutApp","title","FormCard","action","origin","method","actions","Button","type","color","Trans_","className","Array","from","Map","searchParams","map","key","input","name","Admonition","role","variant","hostname"],"mappings":"iJAcA,KAAM,CAEJA,cAAeC,EACfC,oBAAqBC,GACnBC,OAEEC,EAAYC,SAASC,eAAe,MAAA,EAE1CC,EAAAA,WAAWH,CAAAA,EAAWI,OACpBC,EAAAA,IAACC,EAAAA,WAAAA,CACC,eAACC,EAAAA,CAAsBC,MAAOV,EAC5B,eAACW,EAAAA,CACC,SAAAJ,EAAAA,IAACK,EAAAA,CAAAA,CAAAA,SAMT,SAASA,GAAAA,CACDC,MAAAA,EAAM,IAAIC,IAAIhB,CAAAA,EAEpB,aACGiB,EAAAA,CAAUC,MAAK,cACd,gBAACC,EAAAA,CACCC,OAAQL,EAAIM,OACZC,OAAO,MACPC,cACGC,EAAAA,CAAOC,KAAK,SAASC,MAAM,yBAC1BC,EAAA,iBAGJC,UAAU,iBAETC,MAAMC,KAAK,IAAIC,IAAIhB,EAAIiB,YAAY,CAAA,EAAGC,IAAI,CAAC,CAACC,EAAKtB,CAAAA,UAC/CuB,QAAAA,CAAgBV,KAAK,SAASW,KAAMF,EAAKtB,MAAAA,CAA9BsB,EAAAA,CAAAA,CAAAA,QAEbG,EAAAA,CACCC,KAAK,QACLC,QAAQ,UACRrB,YAAOS,EAAA,8BAEPA,EAAA,qBAGgDZ,EAAAA,EAAIyB,QAAAA,UAO9D"}
@@ -1,2 +0,0 @@
1
- var F=Object.defineProperty;var D=(r,e,t)=>e in r?F(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var p=(r,e,t)=>D(r,typeof e!="symbol"?e+"":e,t);import{u as J,r as g,j as s,c as $,T as h,A as M,e as V,L as K}from"./admonition-CynrBtB4.js";const L=(r=document.cookie)=>Object.fromEntries(r.split(";").filter(Boolean).map(e=>e.split("=",2).map(t=>decodeURIComponent(t.trim()))));function W(r,e=document.cookie){return L(e)[r]}class G{constructor(e,t){p(this,"baseUrl");p(this,"options");this.baseUrl=e,this.options=t}async fetch(e,t,n,i){var a,x,m,u,A;try{const l=new URL(`${this.baseUrl}${t}`);if(e==="GET"&&n)for(const[w,T]of Object.entries(n))l.searchParams.set(w,T);const f=e==="POST"?JSON.stringify(n):void 0,N=await((x=(a=this.options)==null?void 0:a.headers)==null?void 0:x.call(a)),E=new Headers(N?Object.entries(N).filter(w=>w[1]!=null):void 0);f&&!E.has("content-type")&&E.set("content-type","application/json");const o=await fetch(l,{method:e,headers:E,mode:"same-origin",body:f,signal:i==null?void 0:i.signal});if(o.status===204)return;const U=o.headers.get("content-type");if(U!=="application/json")throw await((m=o.body)==null?void 0:m.cancel()),new Error(`Invalid content type "${U}"`,{cause:o});const O=await o.json();if(o.ok)return O;throw this.parseError(o,O)}catch(l){const f={method:e,path:t,input:n,options:i};throw console.warn("API request failed",l,f),(A=(u=this.options)==null?void 0:u.onFetchError)==null||A.call(u,l,f),l}}parseError(e,t){const i=this.constructor.parseError(t);return i||new Error("Invalid JSON response",{cause:e})}static parseError(e){if(c.is(e))return new c(e)}}class c extends Error{constructor(t,n=t.error_description,i){super(n||`Error "${t.error}"`,i);p(this,"payload");p(this,"name","JsonErrorResponse");this.payload=t}get error(){return this.payload.error}get description(){return this.payload.error_description}static is(t){return t!=null&&typeof t=="object"&&typeof t.error=="string"&&(t.error_description===void 0||typeof t.error_description=="string")}}const H="csrf-token",z="x-csrf-token",B="/@atproto/oauth-provider/~api";class re extends G{constructor(e){const t=new URL(B,window.origin).toString();super(t,{...e,headers:async()=>{var n;return{...await((n=e==null?void 0:e.headers)==null?void 0:n.call(e)),[z]:W(H)}}})}static parseError(e){return y.is(e)?new y(e):S.is(e)?new S(e):C.is(e)?new C(e):v.is(e)?new v(e):I.is(e)?new I(e):R.is(e)?new R(e):k.is(e)?new k(e):b.is(e)?new b(e):d.is(e)?new d(e):_.is(e)?new _(e):super.parseError(e)}}class y extends c{constructor(e){super(e,e.error_description||"Unauthorized")}static is(e){return super.is(e)&&e.error==="unauthorized"}}class _ extends c{constructor(e,t=e.error_description||"Access denied"){super(e,t)}static is(e){return super.is(e)&&e.error==="access_denied"}}class d extends c{constructor(e,t=e.error_description||"Invalid request"){super(e,t)}static is(e){return super.is(e)&&e.error==="invalid_request"}}class v extends d{constructor(e){super(e)}static is(e){return super.is(e)&&e.error_description!=null&&e.error_description.startsWith("This invite code is invalid.")}}class k extends _{static is(e){return super.is(e)&&e.error_description==="This request has expired"}}class C extends d{static is(e){return super.is(e)&&e.error_description==="Invalid identifier or password"}}class b extends d{static is(e){return super.is(e)&&e.error_description==="Unknown request_uri"}}class R extends d{static is(e){return super.is(e)&&e.error_description==="Email already taken"}}class I extends c{constructor(e,t=e.error_description||"That handle cannot be used"){super(e,t)}get reason(){return this.payload.reason}static is(e){return super.is(e)&&e.error==="handle_unavailable"&&"reason"in e&&(e.reason==="syntax"||e.reason==="domain"||e.reason==="slur"||e.reason==="taken")}}class S extends c{constructor(e,t=e.error_description||`${e.type} authentication factor required (hint: ${e.hint})`){super(e,t)}get type(){return this.payload.type}get hint(){return this.payload.hint}static is(e){return super.is(e)&&e.error==="second_authentication_factor_required"&&"type"in e&&e.type==="emailOtp"&&"hint"in e&&typeof e.hint=="string"}}function Y(r){const{i18n:e,_:t}=J();if(r instanceof S)return e._({id:"S90jaV"});if(r instanceof C)return e._({id:"jSVjfa"});if(r instanceof v)return e._({id:"+lWheC"});if(r instanceof I)switch(r.reason){case"syntax":return e._({id:"LSPrK4"});case"domain":return e._({id:"qDdKKD"});case"slur":return e._({id:"we0QGx"});case"taken":return r.description==="Reserved handle"?e._({id:"T61uiW"}):e._({id:"kPGuFg"});default:return e._({id:"D00bHj"})}return r instanceof R?e._({id:"SZKM0t"}):r instanceof y||r instanceof b||r instanceof k?e._({id:"5OVfoe"}):r instanceof d?e._({id:"qrCiCk"}):r instanceof _?e._({id:"oYKcFO"}):r instanceof c?e._({id:"Jja+Vn"}):e._({id:"vW+T+d"})}function Q(r){if(r instanceof c)return{name:r.name,code:r.error,message:r.description,details:q(r.payload)}}function X({error:r,parser:e=Q,className:t,...n}){const i=g.useMemo(()=>{const a=e==null?void 0:e(r);return a||(r instanceof Error?{name:r.name,message:r.message,details:r.stack}:{name:"UnknownError",details:q(r)})},[r,e]);return s.jsxs("dl",{className:$("mt-2 grid max-w-full grid-cols-[auto_1fr] gap-x-2 text-sm",t),...n,children:[s.jsx("dt",{className:"font-semibold",children:s.jsx(h,{id:"6YtxFj"})}),s.jsx("dd",{children:s.jsx("code",{children:i.name})}),i.code&&s.jsxs(s.Fragment,{children:[s.jsx("dt",{className:"font-semibold",children:s.jsx(h,{id:"EWPtMO"})}),s.jsx("dd",{children:s.jsx("code",{children:i.code})})]}),i.message&&s.jsxs(s.Fragment,{children:[s.jsx("dt",{className:"font-semibold",children:s.jsx(h,{id:"xDAtGP"})}),s.jsx("dd",{children:i.message})]}),i.details&&s.jsxs(s.Fragment,{children:[s.jsx("dt",{className:"font-semibold",children:s.jsx(h,{id:"P9fBwv"})}),s.jsx("dd",{className:"max-h-[200px] overflow-auto",children:s.jsx("code",{children:s.jsx("pre",{children:i.details})})})]})]})}function q(r){try{return JSON.stringify(r,null,2)}catch{return}}function P({error:r,reset:e,className:t,children:n}){const[i,a]=g.useState(0),x=(i/5|0)%2===1,m=Y(r);return g.useEffect(()=>{console.warn("Displayed error details:",r),a(0)},[r]),s.jsx(M,{role:"alert",className:t,onClick:()=>a(u=>u+1),title:m,append:x&&s.jsx(X,{error:r}),action:e!=null&&s.jsx(V,{onClick:()=>e(),children:s.jsx(h,{id:"6gRgw8"})}),children:n})}const te=r=>s.jsx(P,{...r});function Z({error:r,reset:e,title:t={id:"Vw8l6h"},...n}){return s.jsx(K,{title:t,...n,children:s.jsx("div",{className:"w-[500px] max-w-full",children:s.jsx(P,{className:"mx-5",error:r,reset:e})})})}const se=r=>s.jsx(Z,{...r});export{re as A,Z as E,C as I,S,b as U,y as a,te as b,se as e};
2
- //# sourceMappingURL=error-view-Bn_MnV68.js.map