@atlasauth/embed 0.2.2 → 0.3.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.
- package/CHANGELOG.md +8 -0
- package/dist/appearance.d.ts +16 -1
- package/dist/appearance.js +20 -0
- package/dist/appearance.js.map +1 -1
- package/dist/embed.js +4 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/styles.d.ts +1 -1
- package/dist/styles.js +2 -1
- package/dist/styles.js.map +1 -1
- package/dist/widget.js +3 -0
- package/dist/widget.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlasauth/embed changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
- **The keyboard focus ring has at least 3:1 contrast.** The widget now sets
|
|
5
|
+
`--atlas-embed-color-focus-ring` to the primary when it clears 3:1 against the card and the page
|
|
6
|
+
background, otherwise to the primary's hue darkened or lightened until it does (it used to be the primary
|
|
7
|
+
unchecked — mint `#22f79a` on white is ~1.4:1).
|
|
8
|
+
- **Added** `appearance.variables.colorFocusRing` (new `WidgetVariables` type, exported): an explicit ring
|
|
9
|
+
colour, used as given.
|
|
10
|
+
|
|
3
11
|
## 0.2.2
|
|
4
12
|
- **Email-dependent UI follows the server.** The widget reads the new `email_delivery` block from
|
|
5
13
|
`GET /v1/appearance`. "Forgot password?" is hidden when `password_reset` is false, and the sign-up form
|
package/dist/appearance.d.ts
CHANGED
|
@@ -23,6 +23,14 @@ export interface DesignTokens {
|
|
|
23
23
|
borderRadius?: string;
|
|
24
24
|
fontFamily?: string;
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* The inline `appearance.variables`: the design tokens, plus the keyboard focus
|
|
28
|
+
* ring. The ring is derived (the primary, adjusted to 3:1 on the card and
|
|
29
|
+
* background) unless set here, in which case it is used as given.
|
|
30
|
+
*/
|
|
31
|
+
export interface WidgetVariables extends DesignTokens {
|
|
32
|
+
colorFocusRing?: string;
|
|
33
|
+
}
|
|
26
34
|
/** Every element a page may target with an appended class. */
|
|
27
35
|
export type ElementKey = 'root' | 'card' | 'title' | 'subtitle' | 'field' | 'label' | 'input' | 'error' | 'buttonPrimary' | 'socialButton' | 'divider' | 'footer';
|
|
28
36
|
/**
|
|
@@ -157,7 +165,7 @@ export interface WidgetAppearance {
|
|
|
157
165
|
design?: AtlasDesign;
|
|
158
166
|
/** Apply the design configured in the dashboard (default true). */
|
|
159
167
|
instanceDesign?: boolean;
|
|
160
|
-
variables?:
|
|
168
|
+
variables?: WidgetVariables;
|
|
161
169
|
elements?: Partial<Record<ElementKey, string>>;
|
|
162
170
|
/** How the social buttons look — variant, size, layout, per-provider labels. */
|
|
163
171
|
socialButtons?: SocialButtonsConfig;
|
|
@@ -314,6 +322,13 @@ export declare function cssVariables(tokens: Required<DesignTokens>): Record<str
|
|
|
314
322
|
* colour). White when the primary cannot be evaluated (`var(--brand)`).
|
|
315
323
|
*/
|
|
316
324
|
export declare function textOnPrimary(primary: string): string;
|
|
325
|
+
/**
|
|
326
|
+
* Keyboard focus-ring colour: the primary when it already has 3:1 contrast
|
|
327
|
+
* against every one of `papers` (the card and the page background), else the
|
|
328
|
+
* primary's hue darkened or lightened until it does — the same contrast-first
|
|
329
|
+
* pick as {@link textOnPrimary}. Kept as given when it cannot be evaluated.
|
|
330
|
+
*/
|
|
331
|
+
export declare function focusRingOn(primary: string, papers: readonly string[]): string;
|
|
317
332
|
/** Our base class plus the page's override, appended so theirs wins on ties. */
|
|
318
333
|
export declare function classFor(element: ElementKey, base: string, override?: WidgetAppearance): string;
|
|
319
334
|
/**
|
package/dist/appearance.js
CHANGED
|
@@ -21,6 +21,7 @@ exports.tokensFromAppearance = tokensFromAppearance;
|
|
|
21
21
|
exports.resolveTokens = resolveTokens;
|
|
22
22
|
exports.cssVariables = cssVariables;
|
|
23
23
|
exports.textOnPrimary = textOnPrimary;
|
|
24
|
+
exports.focusRingOn = focusRingOn;
|
|
24
25
|
exports.classFor = classFor;
|
|
25
26
|
exports.orderedProviders = orderedProviders;
|
|
26
27
|
exports.providerLabel = providerLabel;
|
|
@@ -161,6 +162,25 @@ function textOnPrimary(primary) {
|
|
|
161
162
|
const hex = (0, runtime_1.toHex)(parsed);
|
|
162
163
|
return (0, runtime_1.contrastRatio)('#ffffff', hex) >= (0, runtime_1.contrastRatio)('#111111', hex) ? '#ffffff' : '#111111';
|
|
163
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Keyboard focus-ring colour: the primary when it already has 3:1 contrast
|
|
167
|
+
* against every one of `papers` (the card and the page background), else the
|
|
168
|
+
* primary's hue darkened or lightened until it does — the same contrast-first
|
|
169
|
+
* pick as {@link textOnPrimary}. Kept as given when it cannot be evaluated.
|
|
170
|
+
*/
|
|
171
|
+
function focusRingOn(primary, papers) {
|
|
172
|
+
const parsed = (0, runtime_1.parseCssColor)(primary);
|
|
173
|
+
if (!parsed)
|
|
174
|
+
return primary;
|
|
175
|
+
const hex = (0, runtime_1.toHex)(parsed);
|
|
176
|
+
const solid = papers
|
|
177
|
+
.map((p) => (0, runtime_1.parseCssColor)(p))
|
|
178
|
+
.filter((c) => !!c && c.a > 0)
|
|
179
|
+
.map(runtime_1.toHex);
|
|
180
|
+
if (solid.length === 0)
|
|
181
|
+
return primary;
|
|
182
|
+
return solid.every((p) => (0, runtime_1.contrastRatio)(hex, p) >= 3) ? primary : (0, runtime_1.focusRingColor)(hex, solid);
|
|
183
|
+
}
|
|
164
184
|
/** Our base class plus the page's override, appended so theirs wins on ties. */
|
|
165
185
|
function classFor(element, base, override) {
|
|
166
186
|
const extra = override?.elements?.[element];
|
package/dist/appearance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appearance.js","sourceRoot":"","sources":["../src/appearance.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;
|
|
1
|
+
{"version":3,"file":"appearance.js","sourceRoot":"","sources":["../src/appearance.ts"],"names":[],"mappings":"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"}
|
package/dist/embed.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
"use strict";(()=>{var ko=Object.create;var Je=Object.defineProperty;var vo=Object.getOwnPropertyDescriptor;var xo=Object.getOwnPropertyNames;var wo=Object.getPrototypeOf,So=Object.prototype.hasOwnProperty;var _o=(e,t,n)=>t in e?Je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ze=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Eo=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of xo(t))!So.call(e,a)&&a!==n&&Je(e,a,{get:()=>t[a],enumerable:!(o=vo(t,a))||o.enumerable});return e};var Co=(e,t,n)=>(n=e!=null?ko(wo(e)):{},Eo(t||!e||!e.__esModule?Je(n,"default",{value:e,enumerable:!0}):n,e));var f=(e,t,n)=>_o(e,typeof t!="symbol"?t+"":t,n);var qt=Ze(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});J.ForbiddenError=void 0;J.evaluate=rt;J.hasFromClaims=Vo;J.protectFromClaims=qo;function Go(e){return e.permission!==void 0||e.role!==void 0||e.anyPermission!==void 0||e.allPermissions!==void 0}function rt(e,t={}){var o,a;if(!e)return{allowed:!1,reason:"signed_out"};if(t.plan!==void 0&&e.pla!==t.plan)return{allowed:!1,reason:"missing_entitlement"};if(t.feature!==void 0&&!((o=e.fea)!=null?o:[]).includes(t.feature))return{allowed:!1,reason:"missing_entitlement"};if(!Go(t))return{allowed:!0};if(!e.org_id)return{allowed:!1,reason:"no_organization"};let n=new Set((a=e.org_permissions)!=null?a:[]);return t.role!==void 0&&e.org_role!==t.role?{allowed:!1,reason:"missing_permission"}:t.permission!==void 0&&!n.has(t.permission)?{allowed:!1,reason:"missing_permission"}:t.anyPermission&&!t.anyPermission.some(r=>n.has(r))?{allowed:!1,reason:"missing_permission"}:t.allPermissions&&!t.allPermissions.every(r=>n.has(r))?{allowed:!1,reason:"missing_permission"}:{allowed:!0}}function Vo(e,t={}){return rt(e,t).allowed}var Ce=class extends Error{constructor(n,o){super(n==="signed_out"?"Not signed in.":n==="no_organization"?"No active organization for this authorization check.":n==="missing_entitlement"?"Missing the required plan or feature.":"Missing the required permission or role.");f(this,"reason");f(this,"condition");this.name="ForbiddenError",this.reason=n,this.condition=o}};J.ForbiddenError=Ce;function qo(e,t={}){let n=rt(e,t);if(!n.allowed)throw new Ce(n.reason,t)}});var Yt=Ze(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.PERMISSION_KEY_PATTERN=U.ROLE_KEY_PATTERN=void 0;U.isRoleKey=Yo;U.isPermissionKey=Jo;U.ROLE_KEY_PATTERN=/^org:[a-z][a-z0-9_]{1,31}$/;U.PERMISSION_KEY_PATTERN=/^org:[a-z][a-z0-9_]{1,31}:[a-z][a-z0-9_]{1,31}$/;function Yo(e){return U.ROLE_KEY_PATTERN.test(e)}function Jo(e){return U.PERMISSION_KEY_PATTERN.test(e)}});var Jt=Ze(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.isPermissionKey=D.isRoleKey=D.PERMISSION_KEY_PATTERN=D.ROLE_KEY_PATTERN=D.ForbiddenError=D.protectFromClaims=D.hasFromClaims=D.evaluate=void 0;var Ae=qt();Object.defineProperty(D,"evaluate",{enumerable:!0,get:function(){return Ae.evaluate}});Object.defineProperty(D,"hasFromClaims",{enumerable:!0,get:function(){return Ae.hasFromClaims}});Object.defineProperty(D,"protectFromClaims",{enumerable:!0,get:function(){return Ae.protectFromClaims}});Object.defineProperty(D,"ForbiddenError",{enumerable:!0,get:function(){return Ae.ForbiddenError}});var Te=Yt();Object.defineProperty(D,"ROLE_KEY_PATTERN",{enumerable:!0,get:function(){return Te.ROLE_KEY_PATTERN}});Object.defineProperty(D,"PERMISSION_KEY_PATTERN",{enumerable:!0,get:function(){return Te.PERMISSION_KEY_PATTERN}});Object.defineProperty(D,"isRoleKey",{enumerable:!0,get:function(){return Te.isRoleKey}});Object.defineProperty(D,"isPermissionKey",{enumerable:!0,get:function(){return Te.isPermissionKey}})});function B(e){var t,n;switch(e.status){case"needs_identifier":return{kind:"collect_identifier"};case"needs_first_factor":return{kind:"collect_first_factor",strategies:(t=e.supported_first_factors)!=null?t:[]};case"needs_second_factor":return{kind:"collect_second_factor"};case"needs_mfa_enrollment":return{kind:"enroll_second_factor"};case"needs_email_verification":return{kind:"collect_email_code"};case"needs_captcha":return{kind:"collect_captcha"};case"needs_oauth_callback":return{kind:"await_oauth"};case"needs_new_password":return{kind:"collect_new_password"};case"complete":return{kind:"done",sessionId:(n=e.created_session_id)!=null?n:null};case"abandoned":return{kind:"restart",reason:"abandoned"};default:return{kind:"unknown",status:e.status}}}function Lt(e){if(!e||typeof e!="object")return[];let t=e.errors;return Array.isArray(t)?t.filter(n=>!!n&&typeof n.message=="string").map(n=>({code:n.code,message:n.message,param:n.param})):[]}var Ao=["__atlas_attempt","__atlas_ticket","__atlas_status"];function Ot(e){let t=new URLSearchParams(e),n=t.get("__atlas_attempt");if(!n)return null;let o=t.get("__atlas_ticket"),a=t.get("__atlas_status");return!o&&!a?null:{attemptId:n,...o?{ticket:o}:{},...a?{status:a}:{}}}function ye(e){let t=new URL(e);for(let n of Ao)t.searchParams.delete(n);return t.toString()}var ke=class{constructor(t){this.options=t}get frontendApiOrigin(){let t=this.options.baseUrl;if(!t)return"";try{return new URL(t).origin}catch{return""}}async request(t,n={}){var s,l;let o=(s=this.options.fetchImpl)!=null?s:fetch,a;try{a=await o(`${(l=this.options.baseUrl)!=null?l:""}${t}`,{...n,credentials:"include",headers:{"x-publishable-key":this.options.publishableKey,...n.body?{"content-type":"application/json"}:{},...n.headers}})}catch{return{ok:!1,status:0,data:null,errors:[{code:"NETWORK",message:"We could not reach the server."}]}}let r=null;try{r=await a.json()}catch{}return{ok:a.ok,status:a.status,data:a.ok?r:null,errors:a.ok?[]:Lt(r)}}post(t,n){return this.request(t,{method:"POST",body:n===void 0?void 0:JSON.stringify(n)})}get(t){return this.request(t,{method:"GET"})}};var F={attempt:null,errors:[],busy:!1,pollSecret:null,ticket:null};function To(e,t){var a,r,s,l,i,c,d,p,u,m,h;if(!e)return{path:"/v1/client/sign_ins",body:{identifier:(a=t.identifier)!=null?a:"",...t.captcha_token?{captcha_token:t.captcha_token}:{}}};let n=B(e),o=(r=e.id)!=null?r:"";switch(n.kind){case"collect_identifier":return{path:"/v1/client/sign_ins",body:{identifier:(s=t.identifier)!=null?s:"",...t.captcha_token?{captcha_token:t.captcha_token}:{}}};case"collect_first_factor":return t.code?{path:`/v1/client/sign_ins/${o}/attempt_first_factor`,body:{strategy:"email_code",code:t.code}}:{path:`/v1/client/sign_ins/${o}/attempt_first_factor`,body:{strategy:"password",password:(l=t.password)!=null?l:""}};case"collect_second_factor":return{path:`/v1/client/sign_ins/${o}/attempt_second_factor`,body:{code:(i=t.code)!=null?i:"",...t.remember_device==="true"?{remember_device:!0}:{}}};case"enroll_second_factor":return{path:`/v1/client/sign_ins/${o}/attempt_mfa_enrollment`,body:{factor_id:(c=t.factorId)!=null?c:"",codes:[(d=t.code)!=null?d:"",(p=t.secondCode)!=null?p:""]}};case"collect_email_code":return{path:`/v1/client/sign_ups/${o}/attempt_verification`,body:{code:(u=t.code)!=null?u:""}};case"collect_captcha":return t.captcha_token?{path:"/v1/client/sign_ins",body:{identifier:(m=t.identifier)!=null?m:"",captcha_token:t.captcha_token}}:null;case"collect_new_password":return{path:`/v1/client/password_resets/${o}/set_new_password`,body:{password:(h=t.password)!=null?h:""}};case"await_oauth":case"done":case"restart":case"unknown":return null}}function ve(e){return e?{...F,attempt:{id:e.id,status:e.status}}:F}async function le(e,t,n){var r;let o=To(t.attempt,n);if(!o)return t;let a=await e.post(o.path,o.body);return!a.ok||!a.data?{...t,busy:!1,errors:a.errors}:{attempt:a.data,errors:[],busy:!1,pollSecret:t.pollSecret,ticket:(r=a.data.ticket)!=null?r:null}}async function Xe(e,t){var a;let n=t.fields&&Object.keys(t.fields).length>0,o=await e.post("/v1/client/sign_ups",{email:t.email,password:t.password,...n?{fields:t.fields}:{},...t.consent?{consent:!0}:{},...t.captchaToken?{captcha_token:t.captchaToken}:{}});return!o.ok||!o.data?{...F,busy:!1,errors:o.errors}:{attempt:o.data,errors:[],busy:!1,pollSecret:F.pollSecret,ticket:(a=o.data.ticket)!=null?a:null}}function Nt(e){return{provider:e.provider,id_token:e.idToken,...e.nonce?{nonce:e.nonce}:{}}}function Ut(e){if(!e||typeof e!="object")return null;let t=e;return typeof t.id!="string"||typeof t.status!="string"?null:{attemptId:t.id,status:t.status,...typeof t.ticket=="string"?{ticket:t.ticket}:{}}}var Ft="https://accounts.google.com/gsi/client",xe=null;function Ro(){return typeof process!="undefined"&&!1}var Mt=new Set,Io=!1;function Po(e){return xe||(xe=new Promise((t,n)=>{if(e.querySelector(`script[src="${Ft}"]`)){t();return}let o=e.createElement("script");o.src=Ft,o.async=!0,o.defer=!0,o.addEventListener("load",()=>t()),o.addEventListener("error",()=>n(new Error("Failed to load Google Identity Services."))),e.head.appendChild(o)}),xe)}async function Bt(e){var R,b,C,L,A,O;let t=(R=e.host)!=null?R:window,n=t.document;await Po(n);let o=(C=(b=t.google)==null?void 0:b.accounts)==null?void 0:C.id;if(!o)throw new Error("Google Identity Services unavailable.");o.initialize({client_id:e.clientId,nonce:e.nonce,callback:_=>{var P;_.credential?(Io=!0,e.onCredential(_.credential)):(P=e.onError)==null||P.call(e,new Error("Google returned no credential."))}});let a=e.wrapper.style.position!=="";a||(e.wrapper.style.position="relative");let r=(L=e.visible)!=null?L:!1,s=n.createElement("div");r||s.setAttribute("aria-hidden","true");let l=.004;s.style.cssText=`position:absolute;inset:0;z-index:2;opacity:${r?1:l};overflow:hidden;`,e.wrapper.appendChild(s);let i={provider:"google",wrapper:e.wrapper,overlay:s};Mt.add(i);let c=_=>{let P=_==null?void 0:_.style;P&&(P.width!=="100%"&&(P.width="100%"),P.height!=="100%"&&(P.height="100%"))},d=()=>{c(s.firstElementChild),c(s.querySelector("iframe"))},p=()=>{var K;let _=Math.round(e.wrapper.getBoundingClientRect().width)||320,P=Math.max(200,Math.min(400,_));s.replaceChildren(),o.renderButton(s,{type:"standard",theme:"outline",size:(K=e.size)!=null?K:"large",text:"continue_with",width:P}),d(),m()},u=_=>({width:_.width,height:_.height,top:_.top,left:_.left,right:_.right,bottom:_.bottom}),m=()=>{if(Ro()&&typeof window!="undefined")try{let _=e.wrapper.getBoundingClientRect(),P=s.getBoundingClientRect(),K=P.left<=_.left+1&&P.top<=_.top+1&&P.right>=_.right-1&&P.bottom>=_.bottom-1,te=s.querySelector("iframe"),j=te==null?void 0:te.getBoundingClientRect(),ie=!!j&&j.width>=8&&j.height>=8;(!K||!ie)&&console.warn("[atlas] Google overlay misaligned/undersized \u2014 clicks may miss the invisible GSI button",{covers:K,iframeOk:ie,wrapper:u(_),overlay:u(P),iframe:j?{width:j.width,height:j.height}:null})}catch{}};p();let h,y=(A=t.ResizeObserver)!=null?A:typeof ResizeObserver!="undefined"?ResizeObserver:void 0;y&&(h=new y(()=>p()),h.observe(e.wrapper));let k,w=(O=t.MutationObserver)!=null?O:typeof MutationObserver!="undefined"?MutationObserver:void 0;return w&&(k=new w(()=>d()),k.observe(s,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style","width","height"]})),e.oneTap&&o.prompt(),{destroy:()=>{h==null||h.disconnect(),k==null||k.disconnect(),Mt.delete(i),s.remove(),a||(e.wrapper.style.position="")}}}var Do=()=>{let e=globalThis.navigator;if(!e||!e.credentials)throw new Error("WebAuthn is not available in this environment.");return e};function we(e){let t=e instanceof Uint8Array?e:new Uint8Array(e),n="";for(let o=0;o<t.length;o+=1)n+=String.fromCharCode(t[o]);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function Ht(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=t.length%4===0?"":"=".repeat(4-t.length%4),o=atob(t+n),a=new Uint8Array(o.length);for(let r=0;r<o.length;r+=1)a[r]=o.charCodeAt(r);return a.buffer}function ne(e){return typeof(e!=null?e:globalThis.PublicKeyCredential)!="undefined"}async function Wt(){var t;let e=globalThis.PublicKeyCredential;try{return await((t=e==null?void 0:e.isConditionalMediationAvailable)==null?void 0:t.call(e))===!0}catch{return!1}}async function Qe(e,t={}){var l,i;let n=(l=t.host)!=null?l:Do(),o=(i=e.allowCredentials)!=null?i:[],a={challenge:Ht(e.challenge),rpId:e.rpId,allowCredentials:o.map(c=>({type:c.type,id:Ht(c.id)})),userVerification:e.userVerification,timeout:e.timeout},r=await n.credentials.get({publicKey:a,...t.mediation?{mediation:t.mediation}:{},...t.signal?{signal:t.signal}:{}});if(!r)throw new Error("Passkey sign-in was cancelled.");let s=r.response;return{handle:e.handle,challenge:e.challenge,credential_id:we(r.rawId),authenticator_data:we(s.authenticatorData),client_data_json:we(s.clientDataJSON),signature:we(s.signature)}}var zt=typeof window!="undefined",ce=()=>typeof navigator!="undefined"?navigator:void 0;function x(e,t){try{return e()}catch{return t}}function Lo(){return x(()=>{if(!zt||typeof document=="undefined")return{vendor:null,renderer:null};let e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(!t)return{vendor:null,renderer:null};let n=t.getExtension("WEBGL_debug_renderer_info"),o=n?t.getParameter(n.UNMASKED_VENDOR_WEBGL):null,a=n?t.getParameter(n.UNMASKED_RENDERER_WEBGL):null;return{vendor:o!=null?o:null,renderer:a!=null?a:null}},{vendor:null,renderer:null})}function Oo(){return x(()=>{if(typeof document=="undefined")return null;let e=document.createElement("canvas");e.width=220,e.height=40;let t=e.getContext("2d");return t?(t.textBaseline="top",t.font="14px 'Arial'",t.fillStyle="#f60",t.fillRect(0,0,60,20),t.fillStyle="#069",t.fillText("Atlas anti-bot \u2708 1.0",2,15),tt(e.toDataURL())):null},null)}function Fo(){var l;let e=ce(),t=zt?window:{},n=(l=e==null?void 0:e.userAgent)!=null?l:"",o=x(()=>(e==null?void 0:e.webdriver)===!0,!1),a=x(()=>"chrome"in t&&!!t.chrome,!1),r=/headless/i.test(n)||/chrome/i.test(n)&&!a&&x(()=>{var i,c;return((c=(i=e==null?void 0:e.plugins)==null?void 0:i.length)!=null?c:0)===0},!1),s=x(()=>o||"_phantom"in t||"callPhantom"in t||"__nightmare"in t||"domAutomation"in t||"domAutomationController"in t||typeof document!="undefined"&&Object.keys(document).some(i=>i.startsWith("cdc_")||i.startsWith("$cdc_"))||/electron|phantomjs|slimerjs/i.test(n),o);return{webdriver:o,headless:r,hasChrome:a,automationHint:s}}function Mo(){let e=ce(),t=Lo(),n=Fo(),o=x(()=>{var r;return Array.from((r=e==null?void 0:e.languages)!=null?r:[])},[]),a=t.renderer;return{screenWidth:x(()=>{var r,s;return(s=(r=window.screen)==null?void 0:r.width)!=null?s:null},null),screenHeight:x(()=>{var r,s;return(s=(r=window.screen)==null?void 0:r.height)!=null?s:null},null),colorDepth:x(()=>{var r,s;return(s=(r=window.screen)==null?void 0:r.colorDepth)!=null?s:null},null),pixelRatio:x(()=>{var r;return(r=window.devicePixelRatio)!=null?r:null},null),timezone:x(()=>{var r;return(r=Intl.DateTimeFormat().resolvedOptions().timeZone)!=null?r:null},null),timezoneOffset:x(()=>new Date().getTimezoneOffset(),null),language:x(()=>{var r;return(r=e==null?void 0:e.language)!=null?r:null},null),languages:o,platform:x(()=>{var r;return(r=e==null?void 0:e.platform)!=null?r:null},null),hardwareConcurrency:x(()=>{var r;return(r=e==null?void 0:e.hardwareConcurrency)!=null?r:null},null),deviceMemory:x(()=>{var r;return(r=e==null?void 0:e.deviceMemory)!=null?r:null},null),maxTouchPoints:x(()=>{var r;return(r=e==null?void 0:e.maxTouchPoints)!=null?r:null},null),touchSupport:x(()=>{var r;return((r=e==null?void 0:e.maxTouchPoints)!=null?r:0)>0||"ontouchstart"in window},!1),cookieEnabled:x(()=>{var r;return(r=e==null?void 0:e.cookieEnabled)!=null?r:null},null),doNotTrack:x(()=>(e==null?void 0:e.doNotTrack)==="1"||(e==null?void 0:e.doNotTrack)==="yes",null),webglVendor:t.vendor,webglRenderer:a,pluginCount:x(()=>{var r,s;return(s=(r=e==null?void 0:e.plugins)==null?void 0:r.length)!=null?s:null},null),pointerType:x(()=>{var r,s;return(s=(r=window.matchMedia)==null?void 0:r.call(window,"(pointer: fine)"))!=null&&s.matches?"fine":"coarse"},null),webdriver:n.webdriver,headless:n.headless,hasChrome:n.hasChrome,webglSoftware:a?/swiftshader|llvmpipe|software|basic render/i.test(a):!1,automationHint:n.automationHint}}function No(){var e;return(e=x(()=>{var a,r;let t=ce(),n=typeof window!="undefined"?window:void 0,o=(r=(a=t==null?void 0:t.doNotTrack)!=null?a:t==null?void 0:t.msDoNotTrack)!=null?r:n==null?void 0:n.doNotTrack;return o==="1"||o==="yes"},!1))!=null?e:!1}function Uo(){return x(()=>{let e=()=>{var o,a;return"d_"+tt(String(Math.random())+String(Date.now())+((a=(o=ce())==null?void 0:o.userAgent)!=null?a:""))};if(No())return e();if(typeof localStorage=="undefined")return null;let t="__atlas_did",n=localStorage.getItem(t);return n||(n=e(),localStorage.setItem(t,n)),n},null)}function Bo(e){let t=[e.timezone,e.platform,e.languages.join(","),e.webglVendor,e.webglRenderer,e.screenWidth,e.screenHeight,e.colorDepth,e.hardwareConcurrency,Oo()];return tt(t.map(n=>n==null?"":String(n)).join("|"))}function tt(e){let t=5381;for(let n=0;n<e.length;n+=1)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t.toString(16).padStart(8,"0")}var Se=e=>e.length?e.reduce((t,n)=>t+n,0)/e.length:null,et=e=>{let t=Se(e);return t===null?null:e.reduce((n,o)=>n+(o-t)**2,0)/e.length},_e=class{constructor(t){f(this,"start",Date.now());f(this,"firstInteraction",null);f(this,"moves",0);f(this,"distance",0);f(this,"maxSpeed",0);f(this,"speeds",[]);f(this,"lastX",null);f(this,"lastY",null);f(this,"lastMoveT",0);f(this,"netDx",0);f(this,"netDy",0);f(this,"keyCount",0);f(this,"downAt",new Map);f(this,"dwell",[]);f(this,"flight",[]);f(this,"lastUpAt",null);f(this,"pastes",0);f(this,"backspaces",0);f(this,"focusChanges",0);f(this,"scrolls",0);f(this,"target");f(this,"bound",[]);this.target=t!=null?t:typeof document!="undefined"?document:void 0,this.attach()}mark(){this.firstInteraction===null&&(this.firstInteraction=Date.now()-this.start)}attach(){let t=this.target;if(!t)return;let n=(o,a)=>{x(()=>t.addEventListener(o,a,{passive:!0}),void 0),this.bound.push([o,a])};n("pointermove",o=>this.onMove(o)),n("mousemove",o=>this.onMove(o)),n("keydown",o=>this.onKeyDown(o)),n("keyup",o=>this.onKeyUp(o)),n("paste",()=>{this.mark(),this.pastes+=1}),n("focusin",()=>{this.mark(),this.focusChanges+=1}),n("scroll",()=>{this.mark(),this.scrolls+=1})}onMove(t){var r,s;this.mark();let n=(r=t.clientX)!=null?r:0,o=(s=t.clientY)!=null?s:0,a=Date.now();if(this.lastX!==null&&this.lastY!==null){let l=n-this.lastX,i=o-this.lastY,c=Math.hypot(l,i);this.distance+=c,this.netDx+=l,this.netDy+=i;let d=a-this.lastMoveT;if(d>0){let p=c/d;this.speeds.push(p),p>this.maxSpeed&&(this.maxSpeed=p)}}this.moves+=1,this.lastX=n,this.lastY=o,this.lastMoveT=a}onKeyDown(t){this.mark(),this.keyCount+=1,t.key==="Backspace"&&(this.backspaces+=1),this.downAt.set(t.code||t.key||String(this.keyCount),Date.now()),this.lastUpAt!==null&&this.flight.push(Date.now()-this.lastUpAt)}onKeyUp(t){let n=t.code||t.key||"",o=this.downAt.get(n),a=Date.now();o!==void 0&&(this.dwell.push(a-o),this.downAt.delete(n)),this.lastUpAt=a}snapshot(){let t=Math.hypot(this.netDx,this.netDy);return{mouseMoves:this.moves,mouseDistance:Math.round(this.distance),mouseAvgSpeed:Se(this.speeds),mouseMaxSpeed:Math.round(this.maxSpeed*1e3)/1e3,mouseSpeedVariance:et(this.speeds),mouseStraightLineRatio:this.distance>0?Math.min(1,t/this.distance):null,keyCount:this.keyCount,keyAvgDwellMs:Se(this.dwell),keyAvgFlightMs:Se(this.flight),keyDwellVariance:et(this.dwell),keyFlightVariance:et(this.flight),pasteCount:this.pastes,backspaceCount:this.backspaces,timeToFirstInteractionMs:this.firstInteraction,timeToSubmitMs:Date.now()-this.start,focusChanges:this.focusChanges,scrollCount:this.scrolls,hadPointerMove:this.moves>0,hadKeydown:this.keyCount>0,interactionCount:this.moves+this.keyCount+this.scrolls+this.focusChanges}}stop(){let t=this.target;if(t){for(let[n,o]of this.bound)x(()=>t.removeEventListener(n,o),void 0);this.bound=[]}}};async function $t(e){return x(async()=>{var i,c,d;let t=Mo(),n={attempt_id:e.attemptId,kind:(i=e.kind)!=null?i:"telemetry",device_id:Uo(),device_fingerprint:Bo(t),device:t,behavior:(c=e.recorder)==null?void 0:c.snapshot()},o=`${e.api}/v1/client/telemetry?publishable_key=${encodeURIComponent(e.publishableKey)}`,a=JSON.stringify(n),r=ce();if(!e.fetchImpl&&r&&typeof r.sendBeacon=="function"&&typeof Blob!="undefined"&&r.sendBeacon(o,new Blob([a],{type:"application/json"})))return!0;let s=(d=e.fetchImpl)!=null?d:typeof fetch!="undefined"?fetch:void 0;return s?(await s(o,{method:"POST",headers:{"content-type":"application/json","x-publishable-key":e.publishableKey},body:a,keepalive:!0,credentials:"include"})).ok:!1},Promise.resolve(!1))}var nt={attempt:null,errors:[],busy:!1,ticket:null};async function Kt(e,t,n){let o=await e.post("/v1/client/password_resets",{email_address:t,captcha_token:n});return!o.ok||!o.data?{...nt,errors:o.errors}:{attempt:o.data,errors:[],busy:!1,ticket:null}}async function jt(e,t,n){var l,i,c,d;let o=t.attempt;if(!o)return t;let a=null,r={};switch(o.status){case"needs_email_verification":a=`/v1/client/password_resets/${o.id}/attempt_verification`,r={code:(l=n.code)!=null?l:""};break;case"needs_second_factor":a=`/v1/client/password_resets/${o.id}/attempt_second_factor`,r={code:(i=n.code)!=null?i:""};break;case"needs_new_password":a=`/v1/client/password_resets/${o.id}/set_new_password`,r={password:(c=n.password)!=null?c:""};break;default:return t}let s=await e.post(a,r);return!s.ok||!s.data?{...t,busy:!1,errors:s.errors}:{attempt:{id:s.data.id,status:s.data.status},errors:[],busy:!1,ticket:(d=s.data.ticket)!=null?d:null}}function oe(e){var n;let t=(n=e.attempt)==null?void 0:n.status;if(!t)return"request";switch(t){case"needs_email_verification":return"collect_email_code";case"needs_second_factor":return"collect_second_factor";case"needs_new_password":return"collect_new_password";case"complete":return"done";default:return"unknown"}}var Ho=new Set(["turnstile","hcaptcha","recaptcha","recaptcha_v3","recaptcha_enterprise"]);function de(e){return!!e&&Ho.has(e)}function Ee(e){return!!e&&e.enabled===!0&&de(e.provider)}var Wo={turnstile:{src:()=>"https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",global:"turnstile"},hcaptcha:{src:()=>"https://js.hcaptcha.com/1/api.js?render=explicit",global:"hcaptcha"},recaptcha:{src:()=>"https://www.google.com/recaptcha/api.js?render=explicit",global:"grecaptcha"},recaptcha_v3:{src:e=>`https://www.google.com/recaptcha/api.js?render=${encodeURIComponent(e)}`,global:"grecaptcha"},recaptcha_enterprise:{src:e=>`https://www.google.com/recaptcha/enterprise.js?render=${encodeURIComponent(e)}`,global:"grecaptcha"}};function Gt(e,t,n){let o=Wo[e];if(!o)return Promise.reject(new Error(`captcha: ${e} is not renderable`));if(n[o.global])return Promise.resolve(n[o.global]);let a=n.document,r=`__atlasCaptchaLoad_${e}`,s=n[r];if(s)return s;let l=new Promise((i,c)=>{var m,h;let d=()=>{n[o.global]?i(n[o.global]):c(new Error(`captcha: ${e} script loaded but global missing`))},p=o.src(t),u=a.querySelector(`script[src="${p}"]`);if(u){if(n[o.global])return i(n[o.global]);u.addEventListener("load",d,{once:!0}),u.addEventListener("error",()=>c(new Error(`captcha: ${e} script failed`)),{once:!0});return}u=a.createElement("script"),u.src=p,u.async=!0,u.defer=!0,u.addEventListener("load",d,{once:!0}),u.addEventListener("error",()=>c(new Error(`captcha: ${e} script failed`)),{once:!0}),((h=(m=a.head)!=null?m:a.body)!=null?h:a.documentElement).appendChild(u)});return n[r]=l,l.catch(()=>{n[r]===l&&delete n[r]}),l}function zo(e,t,n,o,a){return new Promise((r,s)=>{let l=e.render(t,{sitekey:n,appearance:o==="invisible"?"interaction-only":"always",callback:i=>r(i),"error-callback":()=>s(new Error("captcha: turnstile error")),"timeout-callback":()=>s(new Error("captcha: turnstile timeout"))});a(()=>{var i;return(i=e.remove)==null?void 0:i.call(e,l)}),o==="invisible"&&e.execute&&e.execute(l)})}function $o(e,t,n,o,a){return new Promise((r,s)=>{let l=e.render(t,{sitekey:n,size:o==="invisible"?"invisible":"normal",callback:i=>r(i),"error-callback":()=>s(new Error("captcha: hcaptcha error"))});if(a(()=>{var i;return(i=e.remove)==null?void 0:i.call(e,l)}),o==="invisible"){let i=e.execute(l,{async:!0});i&&typeof i.then=="function"&&i.then(c=>r(c.response),s)}})}function Ko(e,t,n,o,a){return new Promise((r,s)=>{let l=e.render(t,{sitekey:n,size:o==="invisible"?"invisible":"normal",callback:i=>r(i),"error-callback":()=>s(new Error("captcha: recaptcha error"))});if(a(()=>{var i;return(i=e.reset)==null?void 0:i.call(e,l)}),o==="invisible"&&e.execute){let i=e.execute(void 0,{widgetId:l});i&&typeof i.then=="function"&&i.then(r,s)}})}function jo(e,t){let n=()=>{let o=e.execute(t,{action:"submit"});return o&&typeof o.then=="function"?o:Promise.reject(new Error("captcha: recaptcha v3 execute returned no promise"))};return new Promise((o,a)=>{e.ready?e.ready(()=>n().then(o,a)):n().then(o,a)})}function Vt(e,t){var p,u,m,h,y;let n=(p=e.provider)!=null?p:"",o=(u=e.siteKey)!=null?u:"",a=(m=e.widget)!=null?m:"managed",r=(y=(h=t.ownerDocument)==null?void 0:h.defaultView)!=null?y:globalThis,s=!1,l=null,i=null,c=k=>{l=k};return{token:new Promise((k,w)=>{i=w,Gt(n,o,r).then(R=>{if(s)throw new Error("captcha: widget removed");switch(n){case"turnstile":return zo(R,t,o,a,c);case"hcaptcha":return $o(R,t,o,a,c);case"recaptcha":return Ko(R,t,o,a,c);case"recaptcha_v3":case"recaptcha_enterprise":return jo(R,o);default:throw new Error(`captcha: ${n} is not renderable`)}}).then(k,w)}),remove(){if(!s){s=!0;try{l==null||l()}catch{}for(;t.firstChild;)t.removeChild(t.firstChild);i==null||i(new Error("captcha: widget removed"))}}}}async function ot(e,t){return Vt(e,t).token}var G=Co(Jt());var Zt=["auto","light","dark"],Z=["primary","primaryInk","accent","background","surface","text","muted","border","danger","success","inputBackground","inputText"],Re=["none","uppercase"],Xt={"minor-second":1.067,"major-second":1.125,"minor-third":1.2,"major-third":1.25,"perfect-fourth":1.333,"augmented-fourth":1.414,"perfect-fifth":1.5,golden:1.618,"minor-seventh":1.778,octave:2},Qt=Object.keys(Xt),Ie=["none","sm","md","lg","xl"],Pe=["compact","comfortable","spacious"],De=["solid","glass","outline","none"],Le=["narrow","normal","wide"],Oe=["center","left","right","split"],Fe=["left","right"],Me=["card","page","hidden"],Ne=["sm","md","lg"],Ue=["solid","outline","soft","gradient"],Be=["list","grid","icons"],He=["outline","filled","underline"],en=["linear","radial"],at=["cover","contain"],st=["top-left","top","top-right","left","center","right","bottom-left","bottom","bottom-right"],pe=["none","dots","grid","noise"],We=["minimal","atlas","glass","midnight","editorial","terminal","sunrise","forest","grape","slate","split-photo","bold"],it=/^#[0-9a-fA-F]{6}$/,lt=/^dasset_[0-9A-HJKMNP-TV-Z]{26}$/;var M="system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",ze="Georgia, Cambria, 'Times New Roman', Times, serif",ct="ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace",N="wght@400;500;600;700;800",tn=[{id:"system",label:"System UI",family:null,category:"sans-serif",fallback:`-apple-system, BlinkMacSystemFont, ${M}`,google:null},{id:"system-serif",label:"System serif (Georgia)",family:null,category:"serif",fallback:ze,google:null},{id:"system-mono",label:"System monospace",family:null,category:"monospace",fallback:ct,google:null},{id:"inter",label:"Inter",family:"Inter",category:"sans-serif",fallback:M,google:`Inter:${N}`},{id:"roboto",label:"Roboto",family:"Roboto",category:"sans-serif",fallback:M,google:"Roboto:wght@400;500;700;800"},{id:"open-sans",label:"Open Sans",family:"Open Sans",category:"sans-serif",fallback:M,google:`Open+Sans:${N}`},{id:"lato",label:"Lato",family:"Lato",category:"sans-serif",fallback:M,google:"Lato:wght@400;700;900"},{id:"montserrat",label:"Montserrat",family:"Montserrat",category:"sans-serif",fallback:M,google:`Montserrat:${N}`},{id:"poppins",label:"Poppins",family:"Poppins",category:"sans-serif",fallback:M,google:`Poppins:${N}`},{id:"nunito",label:"Nunito",family:"Nunito",category:"sans-serif",fallback:M,google:`Nunito:${N}`},{id:"work-sans",label:"Work Sans",family:"Work Sans",category:"sans-serif",fallback:M,google:`Work+Sans:${N}`},{id:"dm-sans",label:"DM Sans",family:"DM Sans",category:"sans-serif",fallback:M,google:`DM+Sans:${N}`},{id:"manrope",label:"Manrope",family:"Manrope",category:"sans-serif",fallback:M,google:`Manrope:${N}`},{id:"source-serif",label:"Source Serif",family:"Source Serif 4",category:"serif",fallback:ze,google:`Source+Serif+4:${N}`},{id:"merriweather",label:"Merriweather",family:"Merriweather",category:"serif",fallback:ze,google:"Merriweather:wght@400;700;900"},{id:"playfair-display",label:"Playfair Display",family:"Playfair Display",category:"serif",fallback:ze,google:`Playfair+Display:${N}`},{id:"jetbrains-mono",label:"JetBrains Mono",family:"JetBrains Mono",category:"monospace",fallback:ct,google:`JetBrains+Mono:${N}`},{id:"ibm-plex-mono",label:"IBM Plex Mono",family:"IBM Plex Mono",category:"monospace",fallback:ct,google:"IBM+Plex+Mono:wght@400;500;600;700"}],nn=tn.map(e=>e.id),on=new Map(tn.map(e=>[e.id,e]));function dt(e){return typeof e=="string"?on.get(e):void 0}function pt(e){var n;let t=(n=dt(e))!=null?n:on.get("system");return t.family?`'${t.family}', ${t.fallback}`:t.fallback}function rn(e){let t=dt(e);return t!=null&&t.google?`/v1/design/fonts/${t.id}.css`:null}var ut=e=>{if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},X=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),I=e=>t=>typeof t=="string"&&e.includes(t),H=(e,t,n=1)=>o=>typeof o=="number"&&Number.isInteger(o)&&o>=e&&o<=t&&o%n===0,sn=(e,t)=>n=>typeof n=="number"&&!Number.isNaN(n)&&n>=e&&n<=t,ue=e=>typeof e=="string"&&it.test(e),ft=e=>typeof e=="string"&<.test(e);function V(e,t=[]){return n=>{if(!ut(n))return!1;for(let o of Object.keys(n)){if(!X(e,o))return!1;let a=n[o];if(a===void 0){if(t.includes(o))return!1;continue}if(!e[o](a))return!1}return t.every(o=>X(n,o)&&n[o]!==void 0)}}var an=I(nn),gt={palette:Object.fromEntries(Z.map(e=>[e,ue])),paletteDark:Object.fromEntries(Z.map(e=>[e,ue])),typography:{font:an,headingFont:an,baseSize:H(12,20),headingWeight:H(400,800,100),bodyWeight:H(300,600,100),letterCase:I(Re),scale:I(Qt)},shape:{radius:H(0,32),controlRadius:H(0,999),borderWidth:H(0,3)},elevation:{cardShadow:I(Ie)},spacing:{density:I(Pe)},card:{style:I(De),blur:H(0,40),width:I(Le)},layout:{position:I(Oe),splitImageSide:I(Fe),logoPlacement:I(Me),logoSize:I(Ne)},buttons:{style:I(Ue),socialLayout:I(Be)},inputs:{style:I(He)},logo:{assetId:ft,darkAssetId:ft}},Zo=e=>{if(!V({type:I(en),angle:H(0,360),stops:()=>!0},["type","stops"])(e))return!1;let t=e.stops;return Array.isArray(t)&&t.length>=2&&t.length<=4&&t.every(V({color:ue,at:sn(0,100)},["color","at"]))},Xo=V({assetId:ft,fit:I(at),position:I(st),overlay:V({color:ue,opacity:sn(0,1)},["color","opacity"]),blur:H(0,20)},["assetId"]),mt={color:ue,gradient:Zo,image:Xo,pattern:I(pe)},fe={version:e=>e===1,preset:I(We),colorScheme:I(Zt),background:V(mt),backgroundDark:V(mt),...Object.fromEntries(Object.entries(gt).map(([e,t])=>[e,V(t)]))};function ln(e,t){return X(fe,e)&&fe[e](t)}var cn=V(fe);function dn(e,t=()=>{},n=""){let o=(...r)=>[n,...r].filter(Boolean).join(".");if(e==null)return{};if(!ut(e))return t({path:n||"(root)",message:"must be an object"}),{};let a={};for(let[r,s]of Object.entries(e)){if(s===void 0)continue;if(!X(fe,r)){t({path:o(r),message:"Unknown setting."});continue}if(fe[r](s)){a[r]=s;continue}let l=X(gt,r)?gt[r]:r==="background"||r==="backgroundDark"?mt:null;if(!l||!ut(s)){t({path:o(r),message:"Invalid value."});continue}let i={};for(let[c,d]of Object.entries(s))d!==void 0&&(X(l,c)&&l[c](d)?i[c]=d:t({path:o(r,c),message:X(l,c)?"Invalid value.":"Unknown setting."}));Object.keys(i).length&&(a[r]=i)}return a}var Qo=new Set(["__proto__","constructor","prototype"]),pn=e=>!!e&&typeof e=="object"&&!Array.isArray(e);function bt(e,t){let n={...e};for(let[o,a]of Object.entries(t)){if(Qo.has(o)||a===void 0)continue;if(a===null){delete n[o];continue}let r=n[o];n[o]=pn(r)&&pn(a)?bt(r,a):a}return n}function T(e){let t=e.split(" ");if(t.length!==Z.length)throw new Error(`palette spec needs ${Z.length} slots: ${e}`);let n={};return t.forEach((o,a)=>{o!=="-"&&(n[Z[a]]=o)}),n}var un={version:1,preset:"minimal",colorScheme:"auto",palette:T("#18181b #ffffff #4f46e5 #fafafa #ffffff #18181b #71717a #e4e4e7 #dc2626 #15803d #ffffff #18181b"),paletteDark:T("#fafafa #18181b #818cf8 #09090b #18181b #fafafa #a1a1aa #3f3f46 #f87171 #4ade80 #09090b #fafafa"),typography:{font:"inter",headingFont:"inter",baseSize:15,headingWeight:600,bodyWeight:400,letterCase:"none",scale:"perfect-fourth"},shape:{radius:12,controlRadius:8,borderWidth:1},elevation:{cardShadow:"md"},spacing:{density:"comfortable"},card:{style:"solid",blur:16,width:"normal"},layout:{position:"center",splitImageSide:"left",logoPlacement:"card",logoSize:"md"},buttons:{style:"solid",socialLayout:"list"},inputs:{style:"outline"},background:{},backgroundDark:{},logo:{}},fn={minimal:{design:{}},atlas:{design:{palette:T("#6d4aff #ffffff #0e8fc7 #f6f5ff #ffffff #0b0d17 #5b6078 #e2def5 #d92d3a #0f7a52 #ffffff #0b0d17"),paletteDark:T("#7455fa #ffffff #46c7ff #070811 #0f1120 #eef0f6 #959bb0 #262a40 #ff6b6b #43d9a0 #0b0d17 #eef0f6"),typography:{font:"system",headingFont:"system",headingWeight:600},shape:{radius:14,controlRadius:9,borderWidth:1},elevation:{cardShadow:"lg"},buttons:{style:"gradient"},background:{gradient:{type:"linear",angle:160,stops:[{color:"#f6f5ff",at:0},{color:"#eef6ff",at:100}]}},backgroundDark:{gradient:{type:"radial",stops:[{color:"#1a1440",at:0},{color:"#070811",at:70}]},pattern:"grid"}}},glass:{design:{palette:T("#4338ca - #db2777 #eef2ff #ffffff #111827 #4b5563 #ffffff - - #ffffff #111827"),paletteDark:T("#a5b4fc - #f472b6 #1e1b4b #111827 #f9fafb #cbd5e1 #374151 - - #0b1120 #f9fafb"),shape:{radius:20,controlRadius:12},elevation:{cardShadow:"xl"},card:{style:"glass",blur:20},background:{gradient:{type:"linear",angle:135,stops:[{color:"#6366f1",at:0},{color:"#ec4899",at:55},{color:"#f59e0b",at:100}]}},backgroundDark:{gradient:{type:"linear",angle:135,stops:[{color:"#1e1b4b",at:0},{color:"#4c1d95",at:55},{color:"#831843",at:100}]}}}},midnight:{design:{colorScheme:"dark",palette:T("#1d4ed8 - #7c3aed #eef2f9 #ffffff #0b1020 #475569 #d5dceb - - #ffffff #0b1020"),paletteDark:T("#60a5fa - #a78bfa #0b1020 #121a2f #e6eaf5 #94a3b8 #24314f #f87171 #34d399 #0e1528 #e6eaf5"),typography:{font:"manrope",headingFont:"manrope"},shape:{radius:16,controlRadius:10},elevation:{cardShadow:"lg"},backgroundDark:{pattern:"dots"}}},editorial:{design:{palette:T("#8b2e1f - #8a6410 #f7f3ec #fffdf8 #1f1a14 #6b6157 #e3dacb - - #fffdf8 #1f1a14"),paletteDark:T("#e07a5f - #d4a64a #16130f #1f1b16 #f2ebe0 #a89f92 #3a332a - - #16130f #f2ebe0"),typography:{font:"source-serif",headingFont:"playfair-display",baseSize:16,headingWeight:700,scale:"golden"},shape:{radius:4,controlRadius:2},elevation:{cardShadow:"sm"},inputs:{style:"underline"}}},terminal:{design:{colorScheme:"dark",palette:T("#166534 - #0e7490 #f4fbf3 #ffffff #0b2a0b #3f6b3c #b7d8b4 - - #ffffff #0b2a0b"),paletteDark:T("#39ff14 #031003 #00e5ff #0a0f0a #0d140d #c8f7c5 #7fb57b #2c5a2c #ff5555 #39ff14 #050805 #c8f7c5"),typography:{font:"jetbrains-mono",headingFont:"jetbrains-mono",baseSize:14,letterCase:"uppercase",scale:"major-second"},shape:{radius:0,controlRadius:0,borderWidth:1},elevation:{cardShadow:"none"},card:{style:"outline"},buttons:{style:"outline"},backgroundDark:{pattern:"grid"}}},sunrise:{design:{palette:T("#c2410c - #be185d #fff1e6 #ffffff #2a1a12 #7c5e52 #f4d9cb - - #ffffff #2a1a12"),paletteDark:T("#fb923c - #f472b6 #1a0f0a #24150f #fdebe1 #c4a092 #4a2e22 - - #1a0f0a #fdebe1"),typography:{font:"poppins",headingFont:"poppins"},shape:{radius:20,controlRadius:999},elevation:{cardShadow:"lg"},background:{gradient:{type:"linear",angle:160,stops:[{color:"#fff1e6",at:0},{color:"#ffe4ec",at:100}]}},backgroundDark:{gradient:{type:"linear",angle:160,stops:[{color:"#2a1209",at:0},{color:"#2a0f1c",at:100}]}}}},forest:{design:{palette:T("#166534 - #a16207 #f3f7f2 #ffffff #14261a #53685a #d6e3d8 - - #f3f7f2 #14261a"),paletteDark:T("#4ade80 - #facc15 #0c1510 #13201a #e3efe6 #9db5a4 #2a3d31 - - #0c1510 #e3efe6"),typography:{font:"dm-sans",headingFont:"dm-sans"},shape:{radius:10,controlRadius:8},inputs:{style:"filled"}}},grape:{design:{palette:T("#7e22ce - #be185d #faf5ff #ffffff #2e1065 #6b5b8a #e9d5ff - - #ffffff #2e1065"),paletteDark:T("#c084fc - #f472b6 #12081f #1c1030 #f3e8ff #b4a3cf #3b2559 - - #12081f #f3e8ff"),typography:{font:"nunito",headingFont:"nunito",headingWeight:800},shape:{radius:24,controlRadius:14},buttons:{socialLayout:"grid"},background:{pattern:"dots"},backgroundDark:{pattern:"dots"}}},slate:{design:{palette:T("#334155 - #0369a1 #f1f5f9 #ffffff #0f172a #64748b #cbd5e1 - - #f8fafc #0f172a"),paletteDark:T("#cbd5e1 - #38bdf8 #0f172a #1e293b #f1f5f9 #94a3b8 #334155 - - #0f172a #f1f5f9"),typography:{font:"work-sans",headingFont:"work-sans"},shape:{radius:8,controlRadius:6},elevation:{cardShadow:"sm"},spacing:{density:"compact"},inputs:{style:"filled"}}},"split-photo":{design:{layout:{position:"split",splitImageSide:"left",logoPlacement:"page"},card:{style:"none",width:"normal"},elevation:{cardShadow:"none"},shape:{radius:0,controlRadius:8},background:{gradient:{type:"linear",angle:135,stops:[{color:"#0f172a",at:0},{color:"#334155",at:100}]}},backgroundDark:{gradient:{type:"linear",angle:135,stops:[{color:"#020617",at:0},{color:"#1e293b",at:100}]}}}},bold:{design:{palette:T("#4338ca - #ca8a04 #4338ca #ffffff #111827 #4b5563 #e5e7eb - - #ffffff #111827"),paletteDark:T("#a5b4fc - #facc15 #1e1b4b #111827 #f9fafb #cbd5e1 #374151 - - #0b1120 #f9fafb"),typography:{font:"montserrat",headingFont:"montserrat",baseSize:17,headingWeight:800,letterCase:"uppercase",scale:"octave"},shape:{radius:24,controlRadius:999,borderWidth:0},elevation:{cardShadow:"xl"},spacing:{density:"spacious"},card:{width:"wide"}}}};var ge=(e,t,n)=>Math.min(n,Math.max(t,e));function kt(e){if(!e||typeof e!="string")return null;let t=e.trim().toLowerCase();if(t==="transparent")return{r:0,g:0,b:0,a:0};let n=/^#([0-9a-f]{3,8})$/.exec(t);if(n){let i=n[1];if((i.length===3||i.length===4)&&(i=[...i].map(d=>d+d).join("")),i.length!==6&&i.length!==8)return null;let c=d=>parseInt(i.slice(d,d+2),16);return{r:c(0),g:c(2),b:c(4),a:i.length===8?c(6)/255:1}}let o=/^rgba?\(([^)]+)\)$/.exec(t);if(!o)return null;let a=o[1].replace("/"," ").split(/[\s,]+/).filter(Boolean);if(a.length<3)return null;let r=i=>i.endsWith("%")?parseFloat(i)/100*255:parseFloat(i),s=i=>i===void 0?1:i.endsWith("%")?parseFloat(i)/100:parseFloat(i),l={r:ge(r(a[0]),0,255),g:ge(r(a[1]),0,255),b:ge(r(a[2]),0,255),a:ge(s(a[3]),0,1)};return[l.r,l.g,l.b,l.a].some(Number.isNaN)?null:l}var ht=e=>ge(Math.round(e),0,255).toString(16).padStart(2,"0");function gn(e){return`#${ht(e.r)}${ht(e.g)}${ht(e.b)}`}function er(e){let t=n=>{let o=n/255;return o<=.03928?o/12.92:((o+.055)/1.055)**2.4};return .2126*t(e.r)+.7152*t(e.g)+.0722*t(e.b)}function yt(e){let t=kt(e);return t?er(t):null}function vt(e,t){let n=yt(e),o=yt(t);if(n===null||o===null)return 1;let a=Math.max(n,o),r=Math.min(n,o);return(a+.05)/(r+.05)}function mn(e){var t;return((t=yt(e))!=null?t:0)>.179?"#111827":"#ffffff"}var tr=["primary","accent","danger","success"],Y=e=>JSON.parse(JSON.stringify(e));function hn(e){if(!e||typeof e!="object"||Array.isArray(e))return{};if(cn(e))return Y(e);let t={};for(let[n,o]of Object.entries(e))o!==void 0&&ln(n,o)&&(t[n]=Y(o));return t}function bn(e,t){if(!t)return e;let n={...e};for(let[o,a]of Object.entries(t))a!==void 0&&(n[o]=a);return t.primary&&!t.primaryInk&&(n.primaryInk=mn(t.primary)),n}function xt(e,t,n){var r,s,l;t.colorScheme&&(e.colorScheme=t.colorScheme);let o=e.palette;e.palette=bn(e.palette,t.palette);let a=t.paletteDark?{...t.paletteDark}:void 0;if(n.carryBrand&&t.palette){for(let i of tr){let c=t.palette[i];c&&c!==o[i]&&!((r=t.paletteDark)!=null&&r[i])&&(a={...a!=null?a:{},[i]:c})}t.palette.primaryInk&&!((s=t.paletteDark)!=null&&s.primaryInk)&&(a!=null&&a.primary)&&(a.primaryInk=t.palette.primaryInk)}if(e.paletteDark=bn(e.paletteDark,a),t.typography){let i=t.typography;e.typography={...e.typography,...q(i),headingFont:(l=i.headingFont)!=null?l:i.font?i.font:e.typography.headingFont}}if(t.shape&&(e.shape={...e.shape,...q(t.shape)}),t.elevation&&(e.elevation={...e.elevation,...q(t.elevation)}),t.spacing&&(e.spacing={...e.spacing,...q(t.spacing)}),t.card&&(e.card={...e.card,...q(t.card)}),t.layout&&(e.layout={...e.layout,...q(t.layout)}),t.buttons&&(e.buttons={...e.buttons,...q(t.buttons)}),t.inputs&&(e.inputs={...e.inputs,...q(t.inputs)}),t.background&&(e.background=Y(t.background)),t.backgroundDark)e.backgroundDark=Y(t.backgroundDark);else if(t.background&&n.carryBrand){let i={};t.background.gradient&&(i.gradient=Y(t.background.gradient)),t.background.image&&(i.image=Y(t.background.image)),t.background.pattern&&(i.pattern=t.background.pattern),e.backgroundDark=i}t.logo&&(e.logo=Y(t.logo))}function q(e){let t={};for(let[n,o]of Object.entries(e))o!==void 0&&(t[n]=o);return t}function wt(e){return typeof e=="string"&&We.includes(e)}function me(e){let t=hn(e),n=wt(t.preset)?t.preset:"minimal",o=Y(un);return o.preset=n,xt(o,fn[n].design,{carryBrand:!1}),xt(o,t,{carryBrand:!0}),o}function yn(e,t){let n=me(e),o=hn(t);return delete o.preset,xt(n,o,{carryBrand:!0}),n}function St(e){var a,r,s,l,i,c,d,p,u,m,h,y,k,w;let t=(R,b,C)=>typeof b=="string"&&R.includes(b)?b:C,n=(a=e==null?void 0:e.background)!=null?a:{},o={"data-atlas-layout":t(Oe,(r=e==null?void 0:e.layout)==null?void 0:r.position,"center"),"data-atlas-split-side":t(Fe,(s=e==null?void 0:e.layout)==null?void 0:s.splitImageSide,"left"),"data-atlas-logo":t(Me,(l=e==null?void 0:e.layout)==null?void 0:l.logoPlacement,"card"),"data-atlas-logo-size":t(Ne,(i=e==null?void 0:e.layout)==null?void 0:i.logoSize,"md"),"data-atlas-card":t(De,(c=e==null?void 0:e.card)==null?void 0:c.style,"solid"),"data-atlas-card-width":t(Le,(d=e==null?void 0:e.card)==null?void 0:d.width,"normal"),"data-atlas-shadow":t(Ie,(p=e==null?void 0:e.elevation)==null?void 0:p.cardShadow,"md"),"data-atlas-density":t(Pe,(u=e==null?void 0:e.spacing)==null?void 0:u.density,"comfortable"),"data-atlas-button":t(Ue,(m=e==null?void 0:e.buttons)==null?void 0:m.style,"solid"),"data-atlas-social":t(Be,(h=e==null?void 0:e.buttons)==null?void 0:h.socialLayout,"list"),"data-atlas-input":t(He,(y=e==null?void 0:e.inputs)==null?void 0:y.style,"outline"),"data-atlas-pattern":t(pe,n.pattern,"none"),"data-atlas-pattern-dark":t(pe,(k=e==null?void 0:e.backgroundDark)==null?void 0:k.pattern,"none"),"data-atlas-letter-case":t(Re,(w=e==null?void 0:e.typography)==null?void 0:w.letterCase,"none")};return((e==null?void 0:e.colorScheme)==="dark"||(e==null?void 0:e.colorScheme)==="light")&&(o["data-atlas-theme"]=e.colorScheme),o}function kn(e){var n,o;let t=new Set;for(let a of[(n=e==null?void 0:e.typography)==null?void 0:n.font,(o=e==null?void 0:e.typography)==null?void 0:o.headingFont]){let r=rn(a);r&&t.add(r)}return[...t]}function _t(){try{return typeof process!="undefined"&&!1}catch{return!1}}var xn=e=>{_t()&&console.warn(`[atlas] ${e}`)},vn=e=>!!e&&typeof e=="object"&&!Array.isArray(e);function nr(e,t=xn,n="design"){return e!=null&&(typeof e!="object"||Array.isArray(e))?(t(`${n} must be an object; ignored.`),{}):dn(e,o=>t(o.message==="Unknown setting."&&o.path.split(".").length===n.split(".").length+1?`${o.path} is not a design setting; ignored.`:`${o.path} is invalid; ignored.`),n)}function wn(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(36)}var or=/^(?:https:\/\/[A-Za-z0-9.-]+(?::\d{1,5})?|http:\/\/(?:localhost|127\.0\.0\.1)(?::\d{1,5})?)$/;function rr(e,t){let n=(t!=null?t:"").replace(/\/+$/,"");return n&&!or.test(n)?[]:kn(e).map(o=>`${n}${o}`)}function ar(e){if(!(!vn(e)||!vn(e.resolved)))return e.resolved}function Sn(e){var c,d,p;let t=(c=e.warn)!=null?c:xn,n=ar(e.instance),o=nr(e.design,t,"appearance.design"),a,r=(d=e.preset)!=null?d:o.preset;r!==void 0&&(wt(r)?a=r:t(`appearance.preset "${String(r)}" is not a preset; ignored.`));let s=a!==void 0||Object.keys(o).some(u=>u!=="preset");if(!n&&!s)return null;let l=a?me({preset:a}):n?me(n):me({}),i=bt((p=e.tokensDesign)!=null?p:{},o);return yn(l,i)}function _n(e,t){return rr(e,t)}var En=new Set,Cn=e=>{var t;!_t()||En.has(e)||(En.add(e),(t=globalThis.console)==null||t.warn(`[atlas] ${e}`))};function An(e){var o,a;if(!e||typeof e!="object")return null;let t=e,n=(a=t.design)!=null?a:(o=t.appearance)==null?void 0:o.design;return n&&typeof n=="object"&&n.resolved?n:null}function Tn(e,t,n,o){var a,r;for(let s of(a=o==null?void 0:o.attributes)!=null?a:[])s in n.attributes||t.removeAttribute(s);for(let s of(r=o==null?void 0:o.style)!=null?r:[])s in n.style||t.style.removeProperty(s);for(let[s,l]of Object.entries(n.style))t.style.setProperty(s,l);for(let[s,l]of Object.entries(n.attributes))t.setAttribute(s,l);if(n.css&&!Array.from(e.head.querySelectorAll("style[data-atlas-design]")).some(l=>l.getAttribute("data-atlas-design")===n.key)){let l=e.createElement("style");l.setAttribute("data-atlas-design",n.key),l.textContent=n.css,e.head.appendChild(l)}if(n.fontStylesheets.length){let s=new Set(Array.from(e.head.querySelectorAll("link[data-atlas-font]")).map(l=>l.getAttribute("href")));for(let l of n.fontStylesheets){if(s.has(l))continue;let i=e.createElement("link");i.setAttribute("rel","stylesheet"),i.setAttribute("href",l),i.setAttribute("data-atlas-font",""),e.head.appendChild(i)}}return{attributes:Object.keys(n.attributes),style:Object.keys(n.style)}}var sr=["boxes","single"];function In(e,t){for(let n of[t,e])if(n&&sr.includes(n))return n;return"boxes"}var Pn=8,ir=["solid","outline","soft","ghost"],lr=["none","scale","lift","glow","ripple"],cr=["none","sm","md","lg"],dr=["comfortable","compact"],pr=["outline","filled","underline"],ur=["slow","normal","fast"],fr=["spinner","skeleton","dots","bar"],Dn={slow:280,normal:160,fast:80};function $e(e,t){let n=(o,a,...r)=>{for(let s of r)if(s!==void 0&&o.includes(s))return s;return a};return{buttonStyle:n(ir,"solid",t==null?void 0:t.buttonStyle,e==null?void 0:e.buttonStyle),buttonEffect:n(lr,"scale",t==null?void 0:t.buttonEffect,e==null?void 0:e.buttonEffect),shadow:n(cr,"md",t==null?void 0:t.shadow,e==null?void 0:e.shadow),density:n(dr,"comfortable",t==null?void 0:t.density,e==null?void 0:e.density),inputStyle:n(pr,"outline",t==null?void 0:t.inputStyle,e==null?void 0:e.inputStyle),animations:typeof(t==null?void 0:t.animations)=="boolean"?t.animations:typeof(e==null?void 0:e.animations)=="boolean"?e.animations:!0,motionSpeed:n(ur,"normal",t==null?void 0:t.motionSpeed,e==null?void 0:e.motionSpeed),loading:n(fr,"spinner",t==null?void 0:t.loading,e==null?void 0:e.loading)}}var gr=["block","compact","icon"],mr=["sm","md","lg"],br=["list","grid","carousel"],hr=["auto","always","never"];function Et(e,t){var o,a,r;let n=(s,...l)=>{for(let i of l)if(i!==void 0&&s.includes(i))return i;return s[0]};return{variant:n(gr,t==null?void 0:t.variant,e==null?void 0:e.variant),size:n(mr,(o=t==null?void 0:t.size)!=null?o:"md",e==null?void 0:e.size,"md"),layout:n(br,t==null?void 0:t.layout,e==null?void 0:e.layout),labels:{...(a=e==null?void 0:e.labels)!=null?a:{},...(r=t==null?void 0:t.labels)!=null?r:{}},search:n(hr,t==null?void 0:t.search,e==null?void 0:e.search)}}var W={colorPrimary:"#5b5bd6",colorText:"#1c1c1f",colorBackground:"#ffffff",colorAccent:"#5b5bd6",colorCard:"#ffffff",colorBorder:"#e4e4e9",borderRadius:"10px",fontFamily:'ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif'};function yr(e){return e?{colorPrimary:e.colorPrimary||W.colorPrimary,colorText:e.colorText||W.colorText,colorBackground:e.colorBackground||W.colorBackground,colorAccent:e.colorAccent||e.colorPrimary||W.colorAccent,colorCard:e.colorCard||e.colorBackground||W.colorCard,colorBorder:e.colorBorder||W.colorBorder,borderRadius:e.borderRadius||W.borderRadius,fontFamily:e.fontStack||W.fontFamily}:W}function Ln(e,t){var a;let n={...yr(e)},o=(a=t==null?void 0:t.variables)!=null?a:{};for(let[r,s]of Object.entries(o))s!==void 0&&(n[r]=s);return n}function On(e){let t={};for(let[n,o]of Object.entries(e))t[`--atlas-embed-${n.replace(/[A-Z]/g,a=>`-${a.toLowerCase()}`)}`]=o;return t}function Fn(e){let t=kt(e);if(!t)return"#ffffff";let n=gn(t);return vt("#ffffff",n)>=vt("#111111",n)?"#ffffff":"#111111"}function Mn(e,t,n){var a;let o=(a=n==null?void 0:n.elements)==null?void 0:a[e];return o?`${t} ${o}`:t}function Nn(e,t){var s,l;let n=(s=t==null?void 0:t.providerOrder)!=null?s:[],o=new Set((l=t==null?void 0:t.providerHidden)!=null?l:[]),a=new Set(e.filter(i=>!o.has(i))),r=[];for(let i of n)a.has(i)&&!r.includes(i)&&r.push(i);for(let i of e)a.has(i)&&!r.includes(i)&&r.push(i);return r}var Rn={google:"Google",github:"GitHub",gitlab:"GitLab",facebook:"Facebook",apple:"Apple",microsoft:"Microsoft",discord:"Discord",linkedin:"LinkedIn",twitter:"X",twitter_v1:"X",x:"X",slack:"Slack",spotify:"Spotify",twitch:"Twitch",notion:"Notion",linear:"Linear",steam:"Steam"};function Ke(e){return Rn[e]?Rn[e]:e.split(/[_-]/).map(t=>t&&t[0].toUpperCase()+t.slice(1)).join(" ")}function kr(e,t){return(n,o)=>{let a=typeof n=="string"?n:n.toString(),r;try{r=new URL(a)}catch{return t(n,o)}return r.searchParams.has("publishable_key")||r.searchParams.set("publishable_key",e),t(r.toString(),o)}}function Un(e){var n;let t=(n=e.fetchImpl)!=null?n:fetch;return new ke({publishableKey:e.publishableKey,baseUrl:e.frontendApi.replace(/\/$/,""),fetchImpl:kr(e.publishableKey,t)})}async function Bn(e){let t=await e.get("/v1/appearance");return t.ok?t.data:null}var Hn="atlas-embed-styles",vr=`
|
|
1
|
+
"use strict";(()=>{var xo=Object.create;var tt=Object.defineProperty;var wo=Object.getOwnPropertyDescriptor;var So=Object.getOwnPropertyNames;var _o=Object.getPrototypeOf,Eo=Object.prototype.hasOwnProperty;var Co=(e,t,n)=>t in e?tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var nt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ao=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of So(t))!Eo.call(e,a)&&a!==n&&tt(e,a,{get:()=>t[a],enumerable:!(o=wo(t,a))||o.enumerable});return e};var To=(e,t,n)=>(n=e!=null?xo(_o(e)):{},Ao(t||!e||!e.__esModule?tt(n,"default",{value:e,enumerable:!0}):n,e));var g=(e,t,n)=>Co(e,typeof t!="symbol"?t+"":t,n);var Yt=nt(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});J.ForbiddenError=void 0;J.evaluate=ct;J.hasFromClaims=Yo;J.protectFromClaims=Jo;function qo(e){return e.permission!==void 0||e.role!==void 0||e.anyPermission!==void 0||e.allPermissions!==void 0}function ct(e,t={}){var o,a;if(!e)return{allowed:!1,reason:"signed_out"};if(t.plan!==void 0&&e.pla!==t.plan)return{allowed:!1,reason:"missing_entitlement"};if(t.feature!==void 0&&!((o=e.fea)!=null?o:[]).includes(t.feature))return{allowed:!1,reason:"missing_entitlement"};if(!qo(t))return{allowed:!0};if(!e.org_id)return{allowed:!1,reason:"no_organization"};let n=new Set((a=e.org_permissions)!=null?a:[]);return t.role!==void 0&&e.org_role!==t.role?{allowed:!1,reason:"missing_permission"}:t.permission!==void 0&&!n.has(t.permission)?{allowed:!1,reason:"missing_permission"}:t.anyPermission&&!t.anyPermission.some(r=>n.has(r))?{allowed:!1,reason:"missing_permission"}:t.allPermissions&&!t.allPermissions.every(r=>n.has(r))?{allowed:!1,reason:"missing_permission"}:{allowed:!0}}function Yo(e,t={}){return ct(e,t).allowed}var Te=class extends Error{constructor(n,o){super(n==="signed_out"?"Not signed in.":n==="no_organization"?"No active organization for this authorization check.":n==="missing_entitlement"?"Missing the required plan or feature.":"Missing the required permission or role.");g(this,"reason");g(this,"condition");this.name="ForbiddenError",this.reason=n,this.condition=o}};J.ForbiddenError=Te;function Jo(e,t={}){let n=ct(e,t);if(!n.allowed)throw new Te(n.reason,t)}});var Jt=nt(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.PERMISSION_KEY_PATTERN=U.ROLE_KEY_PATTERN=void 0;U.isRoleKey=Zo;U.isPermissionKey=Xo;U.ROLE_KEY_PATTERN=/^org:[a-z][a-z0-9_]{1,31}$/;U.PERMISSION_KEY_PATTERN=/^org:[a-z][a-z0-9_]{1,31}:[a-z][a-z0-9_]{1,31}$/;function Zo(e){return U.ROLE_KEY_PATTERN.test(e)}function Xo(e){return U.PERMISSION_KEY_PATTERN.test(e)}});var Zt=nt(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.isPermissionKey=D.isRoleKey=D.PERMISSION_KEY_PATTERN=D.ROLE_KEY_PATTERN=D.ForbiddenError=D.protectFromClaims=D.hasFromClaims=D.evaluate=void 0;var Re=Yt();Object.defineProperty(D,"evaluate",{enumerable:!0,get:function(){return Re.evaluate}});Object.defineProperty(D,"hasFromClaims",{enumerable:!0,get:function(){return Re.hasFromClaims}});Object.defineProperty(D,"protectFromClaims",{enumerable:!0,get:function(){return Re.protectFromClaims}});Object.defineProperty(D,"ForbiddenError",{enumerable:!0,get:function(){return Re.ForbiddenError}});var Pe=Jt();Object.defineProperty(D,"ROLE_KEY_PATTERN",{enumerable:!0,get:function(){return Pe.ROLE_KEY_PATTERN}});Object.defineProperty(D,"PERMISSION_KEY_PATTERN",{enumerable:!0,get:function(){return Pe.PERMISSION_KEY_PATTERN}});Object.defineProperty(D,"isRoleKey",{enumerable:!0,get:function(){return Pe.isRoleKey}});Object.defineProperty(D,"isPermissionKey",{enumerable:!0,get:function(){return Pe.isPermissionKey}})});var qr=30*24*60*60*1e3;function B(e){var t,n;switch(e.status){case"needs_identifier":return{kind:"collect_identifier"};case"needs_first_factor":return{kind:"collect_first_factor",strategies:(t=e.supported_first_factors)!=null?t:[]};case"needs_second_factor":return{kind:"collect_second_factor"};case"needs_mfa_enrollment":return{kind:"enroll_second_factor"};case"needs_email_verification":return{kind:"collect_email_code"};case"needs_captcha":return{kind:"collect_captcha"};case"needs_oauth_callback":return{kind:"await_oauth"};case"needs_new_password":return{kind:"collect_new_password"};case"complete":return{kind:"done",sessionId:(n=e.created_session_id)!=null?n:null};case"abandoned":return{kind:"restart",reason:"abandoned"};default:return{kind:"unknown",status:e.status}}}function Ot(e){if(!e||typeof e!="object")return[];let t=e.errors;return Array.isArray(t)?t.filter(n=>!!n&&typeof n.message=="string").map(n=>({code:n.code,message:n.message,param:n.param})):[]}var Ro=["__atlas_attempt","__atlas_ticket","__atlas_status"];var ca=5*6e4;function Mt(e){let t=new URLSearchParams(e),n=t.get("__atlas_attempt");if(!n)return null;let o=t.get("__atlas_ticket"),a=t.get("__atlas_status");return!o&&!a?null:{attemptId:n,...o?{ticket:o}:{},...a?{status:a}:{}}}function ke(e){let t=new URL(e);for(let n of Ro)t.searchParams.delete(n);return t.toString()}var xe=class{constructor(t){this.options=t}get frontendApiOrigin(){let t=this.options.baseUrl;if(!t)return"";try{return new URL(t).origin}catch{return""}}async request(t,n={}){var s,l;let o=(s=this.options.fetchImpl)!=null?s:fetch,a;try{a=await o(`${(l=this.options.baseUrl)!=null?l:""}${t}`,{...n,credentials:"include",headers:{"x-publishable-key":this.options.publishableKey,...n.body?{"content-type":"application/json"}:{},...n.headers}})}catch{return{ok:!1,status:0,data:null,errors:[{code:"NETWORK",message:"We could not reach the server."}]}}let r=null;try{r=await a.json()}catch{}return{ok:a.ok,status:a.status,data:a.ok?r:null,errors:a.ok?[]:Ot(r)}}post(t,n){return this.request(t,{method:"POST",body:n===void 0?void 0:JSON.stringify(n)})}get(t){return this.request(t,{method:"GET"})}};var M={attempt:null,errors:[],busy:!1,pollSecret:null,ticket:null};function Po(e,t){var a,r,s,l,i,c,d,u,p,f,h;if(!e)return{path:"/v1/client/sign_ins",body:{identifier:(a=t.identifier)!=null?a:"",...t.captcha_token?{captcha_token:t.captcha_token}:{}}};let n=B(e),o=(r=e.id)!=null?r:"";switch(n.kind){case"collect_identifier":return{path:"/v1/client/sign_ins",body:{identifier:(s=t.identifier)!=null?s:"",...t.captcha_token?{captcha_token:t.captcha_token}:{}}};case"collect_first_factor":return t.code?{path:`/v1/client/sign_ins/${o}/attempt_first_factor`,body:{strategy:"email_code",code:t.code}}:{path:`/v1/client/sign_ins/${o}/attempt_first_factor`,body:{strategy:"password",password:(l=t.password)!=null?l:""}};case"collect_second_factor":return{path:`/v1/client/sign_ins/${o}/attempt_second_factor`,body:{code:(i=t.code)!=null?i:"",...t.remember_device==="true"?{remember_device:!0}:{}}};case"enroll_second_factor":return{path:`/v1/client/sign_ins/${o}/attempt_mfa_enrollment`,body:{factor_id:(c=t.factorId)!=null?c:"",codes:[(d=t.code)!=null?d:"",(u=t.secondCode)!=null?u:""]}};case"collect_email_code":return{path:`/v1/client/sign_ups/${o}/attempt_verification`,body:{code:(p=t.code)!=null?p:""}};case"collect_captcha":return t.captcha_token?{path:"/v1/client/sign_ins",body:{identifier:(f=t.identifier)!=null?f:"",captcha_token:t.captcha_token}}:null;case"collect_new_password":return{path:`/v1/client/password_resets/${o}/set_new_password`,body:{password:(h=t.password)!=null?h:""}};case"await_oauth":case"done":case"restart":case"unknown":return null}}function we(e){return e?{...M,attempt:{id:e.id,status:e.status}}:M}async function de(e,t,n){var r;let o=Po(t.attempt,n);if(!o)return t;let a=await e.post(o.path,o.body);return!a.ok||!a.data?{...t,busy:!1,errors:a.errors}:{attempt:a.data,errors:[],busy:!1,pollSecret:t.pollSecret,ticket:(r=a.data.ticket)!=null?r:null}}async function ot(e,t){var a;let n=t.fields&&Object.keys(t.fields).length>0,o=await e.post("/v1/client/sign_ups",{email:t.email,password:t.password,...n?{fields:t.fields}:{},...t.consent?{consent:!0}:{},...t.captchaToken?{captcha_token:t.captchaToken}:{}});return!o.ok||!o.data?{...M,busy:!1,errors:o.errors}:{attempt:o.data,errors:[],busy:!1,pollSecret:M.pollSecret,ticket:(a=o.data.ticket)!=null?a:null}}function Ut(e){return{provider:e.provider,id_token:e.idToken,...e.nonce?{nonce:e.nonce}:{}}}function Bt(e){if(!e||typeof e!="object")return null;let t=e;return typeof t.id!="string"||typeof t.status!="string"?null:{attemptId:t.id,status:t.status,...typeof t.ticket=="string"?{ticket:t.ticket}:{}}}var Ft="https://accounts.google.com/gsi/client",Se=null;function Io(){return typeof process!="undefined"&&!1}var Nt=new Set,Do=!1;function Lo(e){return Se||(Se=new Promise((t,n)=>{if(e.querySelector(`script[src="${Ft}"]`)){t();return}let o=e.createElement("script");o.src=Ft,o.async=!0,o.defer=!0,o.addEventListener("load",()=>t()),o.addEventListener("error",()=>n(new Error("Failed to load Google Identity Services."))),e.head.appendChild(o)}),Se)}async function Wt(e){var R,b,C,L,A,O;let t=(R=e.host)!=null?R:window,n=t.document;await Lo(n);let o=(C=(b=t.google)==null?void 0:b.accounts)==null?void 0:C.id;if(!o)throw new Error("Google Identity Services unavailable.");o.initialize({client_id:e.clientId,nonce:e.nonce,callback:_=>{var I;_.credential?(Do=!0,e.onCredential(_.credential)):(I=e.onError)==null||I.call(e,new Error("Google returned no credential."))}});let a=e.wrapper.style.position!=="";a||(e.wrapper.style.position="relative");let r=(L=e.visible)!=null?L:!1,s=n.createElement("div");r||s.setAttribute("aria-hidden","true");let l=.004;s.style.cssText=`position:absolute;inset:0;z-index:2;opacity:${r?1:l};overflow:hidden;`,e.wrapper.appendChild(s);let i={provider:"google",wrapper:e.wrapper,overlay:s};Nt.add(i);let c=_=>{let I=_==null?void 0:_.style;I&&(I.width!=="100%"&&(I.width="100%"),I.height!=="100%"&&(I.height="100%"))},d=()=>{c(s.firstElementChild),c(s.querySelector("iframe"))},u=()=>{var K;let _=Math.round(e.wrapper.getBoundingClientRect().width)||320,I=Math.max(200,Math.min(400,_));s.replaceChildren(),o.renderButton(s,{type:"standard",theme:"outline",size:(K=e.size)!=null?K:"large",text:"continue_with",width:I}),d(),f()},p=_=>({width:_.width,height:_.height,top:_.top,left:_.left,right:_.right,bottom:_.bottom}),f=()=>{if(Io()&&typeof window!="undefined")try{let _=e.wrapper.getBoundingClientRect(),I=s.getBoundingClientRect(),K=I.left<=_.left+1&&I.top<=_.top+1&&I.right>=_.right-1&&I.bottom>=_.bottom-1,te=s.querySelector("iframe"),j=te==null?void 0:te.getBoundingClientRect(),ce=!!j&&j.width>=8&&j.height>=8;(!K||!ce)&&console.warn("[atlas] Google overlay misaligned/undersized \u2014 clicks may miss the invisible GSI button",{covers:K,iframeOk:ce,wrapper:p(_),overlay:p(I),iframe:j?{width:j.width,height:j.height}:null})}catch{}};u();let h,y=(A=t.ResizeObserver)!=null?A:typeof ResizeObserver!="undefined"?ResizeObserver:void 0;y&&(h=new y(()=>u()),h.observe(e.wrapper));let v,w=(O=t.MutationObserver)!=null?O:typeof MutationObserver!="undefined"?MutationObserver:void 0;return w&&(v=new w(()=>d()),v.observe(s,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style","width","height"]})),e.oneTap&&o.prompt(),{destroy:()=>{h==null||h.disconnect(),v==null||v.disconnect(),Nt.delete(i),s.remove(),a||(e.wrapper.style.position="")}}}var Oo=()=>{let e=globalThis.navigator;if(!e||!e.credentials)throw new Error("WebAuthn is not available in this environment.");return e};function _e(e){let t=e instanceof Uint8Array?e:new Uint8Array(e),n="";for(let o=0;o<t.length;o+=1)n+=String.fromCharCode(t[o]);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function Ht(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=t.length%4===0?"":"=".repeat(4-t.length%4),o=atob(t+n),a=new Uint8Array(o.length);for(let r=0;r<o.length;r+=1)a[r]=o.charCodeAt(r);return a.buffer}function ne(e){return typeof(e!=null?e:globalThis.PublicKeyCredential)!="undefined"}async function zt(){var t;let e=globalThis.PublicKeyCredential;try{return await((t=e==null?void 0:e.isConditionalMediationAvailable)==null?void 0:t.call(e))===!0}catch{return!1}}async function rt(e,t={}){var l,i;let n=(l=t.host)!=null?l:Oo(),o=(i=e.allowCredentials)!=null?i:[],a={challenge:Ht(e.challenge),rpId:e.rpId,allowCredentials:o.map(c=>({type:c.type,id:Ht(c.id)})),userVerification:e.userVerification,timeout:e.timeout},r=await n.credentials.get({publicKey:a,...t.mediation?{mediation:t.mediation}:{},...t.signal?{signal:t.signal}:{}});if(!r)throw new Error("Passkey sign-in was cancelled.");let s=r.response;return{handle:e.handle,challenge:e.challenge,credential_id:_e(r.rawId),authenticator_data:_e(s.authenticatorData),client_data_json:_e(s.clientDataJSON),signature:_e(s.signature)}}var $t=typeof window!="undefined",ue=()=>typeof navigator!="undefined"?navigator:void 0;function x(e,t){try{return e()}catch{return t}}function Mo(){return x(()=>{if(!$t||typeof document=="undefined")return{vendor:null,renderer:null};let e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(!t)return{vendor:null,renderer:null};let n=t.getExtension("WEBGL_debug_renderer_info"),o=n?t.getParameter(n.UNMASKED_VENDOR_WEBGL):null,a=n?t.getParameter(n.UNMASKED_RENDERER_WEBGL):null;return{vendor:o!=null?o:null,renderer:a!=null?a:null}},{vendor:null,renderer:null})}function Fo(){return x(()=>{if(typeof document=="undefined")return null;let e=document.createElement("canvas");e.width=220,e.height=40;let t=e.getContext("2d");return t?(t.textBaseline="top",t.font="14px 'Arial'",t.fillStyle="#f60",t.fillRect(0,0,60,20),t.fillStyle="#069",t.fillText("Atlas anti-bot \u2708 1.0",2,15),st(e.toDataURL())):null},null)}function No(){var l;let e=ue(),t=$t?window:{},n=(l=e==null?void 0:e.userAgent)!=null?l:"",o=x(()=>(e==null?void 0:e.webdriver)===!0,!1),a=x(()=>"chrome"in t&&!!t.chrome,!1),r=/headless/i.test(n)||/chrome/i.test(n)&&!a&&x(()=>{var i,c;return((c=(i=e==null?void 0:e.plugins)==null?void 0:i.length)!=null?c:0)===0},!1),s=x(()=>o||"_phantom"in t||"callPhantom"in t||"__nightmare"in t||"domAutomation"in t||"domAutomationController"in t||typeof document!="undefined"&&Object.keys(document).some(i=>i.startsWith("cdc_")||i.startsWith("$cdc_"))||/electron|phantomjs|slimerjs/i.test(n),o);return{webdriver:o,headless:r,hasChrome:a,automationHint:s}}function Uo(){let e=ue(),t=Mo(),n=No(),o=x(()=>{var r;return Array.from((r=e==null?void 0:e.languages)!=null?r:[])},[]),a=t.renderer;return{screenWidth:x(()=>{var r,s;return(s=(r=window.screen)==null?void 0:r.width)!=null?s:null},null),screenHeight:x(()=>{var r,s;return(s=(r=window.screen)==null?void 0:r.height)!=null?s:null},null),colorDepth:x(()=>{var r,s;return(s=(r=window.screen)==null?void 0:r.colorDepth)!=null?s:null},null),pixelRatio:x(()=>{var r;return(r=window.devicePixelRatio)!=null?r:null},null),timezone:x(()=>{var r;return(r=Intl.DateTimeFormat().resolvedOptions().timeZone)!=null?r:null},null),timezoneOffset:x(()=>new Date().getTimezoneOffset(),null),language:x(()=>{var r;return(r=e==null?void 0:e.language)!=null?r:null},null),languages:o,platform:x(()=>{var r;return(r=e==null?void 0:e.platform)!=null?r:null},null),hardwareConcurrency:x(()=>{var r;return(r=e==null?void 0:e.hardwareConcurrency)!=null?r:null},null),deviceMemory:x(()=>{var r;return(r=e==null?void 0:e.deviceMemory)!=null?r:null},null),maxTouchPoints:x(()=>{var r;return(r=e==null?void 0:e.maxTouchPoints)!=null?r:null},null),touchSupport:x(()=>{var r;return((r=e==null?void 0:e.maxTouchPoints)!=null?r:0)>0||"ontouchstart"in window},!1),cookieEnabled:x(()=>{var r;return(r=e==null?void 0:e.cookieEnabled)!=null?r:null},null),doNotTrack:x(()=>(e==null?void 0:e.doNotTrack)==="1"||(e==null?void 0:e.doNotTrack)==="yes",null),webglVendor:t.vendor,webglRenderer:a,pluginCount:x(()=>{var r,s;return(s=(r=e==null?void 0:e.plugins)==null?void 0:r.length)!=null?s:null},null),pointerType:x(()=>{var r,s;return(s=(r=window.matchMedia)==null?void 0:r.call(window,"(pointer: fine)"))!=null&&s.matches?"fine":"coarse"},null),webdriver:n.webdriver,headless:n.headless,hasChrome:n.hasChrome,webglSoftware:a?/swiftshader|llvmpipe|software|basic render/i.test(a):!1,automationHint:n.automationHint}}function Bo(){var e;return(e=x(()=>{var a,r;let t=ue(),n=typeof window!="undefined"?window:void 0,o=(r=(a=t==null?void 0:t.doNotTrack)!=null?a:t==null?void 0:t.msDoNotTrack)!=null?r:n==null?void 0:n.doNotTrack;return o==="1"||o==="yes"},!1))!=null?e:!1}function Wo(){return x(()=>{let e=()=>{var o,a;return"d_"+st(String(Math.random())+String(Date.now())+((a=(o=ue())==null?void 0:o.userAgent)!=null?a:""))};if(Bo())return e();if(typeof localStorage=="undefined")return null;let t="__atlas_did",n=localStorage.getItem(t);return n||(n=e(),localStorage.setItem(t,n)),n},null)}function Ho(e){let t=[e.timezone,e.platform,e.languages.join(","),e.webglVendor,e.webglRenderer,e.screenWidth,e.screenHeight,e.colorDepth,e.hardwareConcurrency,Fo()];return st(t.map(n=>n==null?"":String(n)).join("|"))}function st(e){let t=5381;for(let n=0;n<e.length;n+=1)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t.toString(16).padStart(8,"0")}var Ee=e=>e.length?e.reduce((t,n)=>t+n,0)/e.length:null,at=e=>{let t=Ee(e);return t===null?null:e.reduce((n,o)=>n+(o-t)**2,0)/e.length},Ce=class{constructor(t){g(this,"start",Date.now());g(this,"firstInteraction",null);g(this,"moves",0);g(this,"distance",0);g(this,"maxSpeed",0);g(this,"speeds",[]);g(this,"lastX",null);g(this,"lastY",null);g(this,"lastMoveT",0);g(this,"netDx",0);g(this,"netDy",0);g(this,"keyCount",0);g(this,"downAt",new Map);g(this,"dwell",[]);g(this,"flight",[]);g(this,"lastUpAt",null);g(this,"pastes",0);g(this,"backspaces",0);g(this,"focusChanges",0);g(this,"scrolls",0);g(this,"target");g(this,"bound",[]);this.target=t!=null?t:typeof document!="undefined"?document:void 0,this.attach()}mark(){this.firstInteraction===null&&(this.firstInteraction=Date.now()-this.start)}attach(){let t=this.target;if(!t)return;let n=(o,a)=>{x(()=>t.addEventListener(o,a,{passive:!0}),void 0),this.bound.push([o,a])};n("pointermove",o=>this.onMove(o)),n("mousemove",o=>this.onMove(o)),n("keydown",o=>this.onKeyDown(o)),n("keyup",o=>this.onKeyUp(o)),n("paste",()=>{this.mark(),this.pastes+=1}),n("focusin",()=>{this.mark(),this.focusChanges+=1}),n("scroll",()=>{this.mark(),this.scrolls+=1})}onMove(t){var r,s;this.mark();let n=(r=t.clientX)!=null?r:0,o=(s=t.clientY)!=null?s:0,a=Date.now();if(this.lastX!==null&&this.lastY!==null){let l=n-this.lastX,i=o-this.lastY,c=Math.hypot(l,i);this.distance+=c,this.netDx+=l,this.netDy+=i;let d=a-this.lastMoveT;if(d>0){let u=c/d;this.speeds.push(u),u>this.maxSpeed&&(this.maxSpeed=u)}}this.moves+=1,this.lastX=n,this.lastY=o,this.lastMoveT=a}onKeyDown(t){this.mark(),this.keyCount+=1,t.key==="Backspace"&&(this.backspaces+=1),this.downAt.set(t.code||t.key||String(this.keyCount),Date.now()),this.lastUpAt!==null&&this.flight.push(Date.now()-this.lastUpAt)}onKeyUp(t){let n=t.code||t.key||"",o=this.downAt.get(n),a=Date.now();o!==void 0&&(this.dwell.push(a-o),this.downAt.delete(n)),this.lastUpAt=a}snapshot(){let t=Math.hypot(this.netDx,this.netDy);return{mouseMoves:this.moves,mouseDistance:Math.round(this.distance),mouseAvgSpeed:Ee(this.speeds),mouseMaxSpeed:Math.round(this.maxSpeed*1e3)/1e3,mouseSpeedVariance:at(this.speeds),mouseStraightLineRatio:this.distance>0?Math.min(1,t/this.distance):null,keyCount:this.keyCount,keyAvgDwellMs:Ee(this.dwell),keyAvgFlightMs:Ee(this.flight),keyDwellVariance:at(this.dwell),keyFlightVariance:at(this.flight),pasteCount:this.pastes,backspaceCount:this.backspaces,timeToFirstInteractionMs:this.firstInteraction,timeToSubmitMs:Date.now()-this.start,focusChanges:this.focusChanges,scrollCount:this.scrolls,hadPointerMove:this.moves>0,hadKeydown:this.keyCount>0,interactionCount:this.moves+this.keyCount+this.scrolls+this.focusChanges}}stop(){let t=this.target;if(t){for(let[n,o]of this.bound)x(()=>t.removeEventListener(n,o),void 0);this.bound=[]}}};async function Kt(e){return x(async()=>{var i,c,d;let t=Uo(),n={attempt_id:e.attemptId,kind:(i=e.kind)!=null?i:"telemetry",device_id:Wo(),device_fingerprint:Ho(t),device:t,behavior:(c=e.recorder)==null?void 0:c.snapshot()},o=`${e.api}/v1/client/telemetry?publishable_key=${encodeURIComponent(e.publishableKey)}`,a=JSON.stringify(n),r=ue();if(!e.fetchImpl&&r&&typeof r.sendBeacon=="function"&&typeof Blob!="undefined"&&r.sendBeacon(o,new Blob([a],{type:"application/json"})))return!0;let s=(d=e.fetchImpl)!=null?d:typeof fetch!="undefined"?fetch:void 0;return s?(await s(o,{method:"POST",headers:{"content-type":"application/json","x-publishable-key":e.publishableKey},body:a,keepalive:!0,credentials:"include"})).ok:!1},Promise.resolve(!1))}var it={attempt:null,errors:[],busy:!1,ticket:null};async function jt(e,t,n){let o=await e.post("/v1/client/password_resets",{email_address:t,captcha_token:n});return!o.ok||!o.data?{...it,errors:o.errors}:{attempt:o.data,errors:[],busy:!1,ticket:null}}async function Vt(e,t,n){var l,i,c,d;let o=t.attempt;if(!o)return t;let a=null,r={};switch(o.status){case"needs_email_verification":a=`/v1/client/password_resets/${o.id}/attempt_verification`,r={code:(l=n.code)!=null?l:""};break;case"needs_second_factor":a=`/v1/client/password_resets/${o.id}/attempt_second_factor`,r={code:(i=n.code)!=null?i:""};break;case"needs_new_password":a=`/v1/client/password_resets/${o.id}/set_new_password`,r={password:(c=n.password)!=null?c:""};break;default:return t}let s=await e.post(a,r);return!s.ok||!s.data?{...t,busy:!1,errors:s.errors}:{attempt:{id:s.data.id,status:s.data.status},errors:[],busy:!1,ticket:(d=s.data.ticket)!=null?d:null}}function oe(e){var n;let t=(n=e.attempt)==null?void 0:n.status;if(!t)return"request";switch(t){case"needs_email_verification":return"collect_email_code";case"needs_second_factor":return"collect_second_factor";case"needs_new_password":return"collect_new_password";case"complete":return"done";default:return"unknown"}}var zo=new Set(["turnstile","hcaptcha","recaptcha","recaptcha_v3","recaptcha_enterprise"]);function pe(e){return!!e&&zo.has(e)}function Ae(e){return!!e&&e.enabled===!0&&pe(e.provider)}var $o={turnstile:{src:()=>"https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",global:"turnstile"},hcaptcha:{src:()=>"https://js.hcaptcha.com/1/api.js?render=explicit",global:"hcaptcha"},recaptcha:{src:()=>"https://www.google.com/recaptcha/api.js?render=explicit",global:"grecaptcha"},recaptcha_v3:{src:e=>`https://www.google.com/recaptcha/api.js?render=${encodeURIComponent(e)}`,global:"grecaptcha"},recaptcha_enterprise:{src:e=>`https://www.google.com/recaptcha/enterprise.js?render=${encodeURIComponent(e)}`,global:"grecaptcha"}};function Gt(e,t,n){let o=$o[e];if(!o)return Promise.reject(new Error(`captcha: ${e} is not renderable`));if(n[o.global])return Promise.resolve(n[o.global]);let a=n.document,r=`__atlasCaptchaLoad_${e}`,s=n[r];if(s)return s;let l=new Promise((i,c)=>{var f,h;let d=()=>{n[o.global]?i(n[o.global]):c(new Error(`captcha: ${e} script loaded but global missing`))},u=o.src(t),p=a.querySelector(`script[src="${u}"]`);if(p){if(n[o.global])return i(n[o.global]);p.addEventListener("load",d,{once:!0}),p.addEventListener("error",()=>c(new Error(`captcha: ${e} script failed`)),{once:!0});return}p=a.createElement("script"),p.src=u,p.async=!0,p.defer=!0,p.addEventListener("load",d,{once:!0}),p.addEventListener("error",()=>c(new Error(`captcha: ${e} script failed`)),{once:!0}),((h=(f=a.head)!=null?f:a.body)!=null?h:a.documentElement).appendChild(p)});return n[r]=l,l.catch(()=>{n[r]===l&&delete n[r]}),l}function Ko(e,t,n,o,a){return new Promise((r,s)=>{let l=e.render(t,{sitekey:n,appearance:o==="invisible"?"interaction-only":"always",callback:i=>r(i),"error-callback":()=>s(new Error("captcha: turnstile error")),"timeout-callback":()=>s(new Error("captcha: turnstile timeout"))});a(()=>{var i;return(i=e.remove)==null?void 0:i.call(e,l)}),o==="invisible"&&e.execute&&e.execute(l)})}function jo(e,t,n,o,a){return new Promise((r,s)=>{let l=e.render(t,{sitekey:n,size:o==="invisible"?"invisible":"normal",callback:i=>r(i),"error-callback":()=>s(new Error("captcha: hcaptcha error"))});if(a(()=>{var i;return(i=e.remove)==null?void 0:i.call(e,l)}),o==="invisible"){let i=e.execute(l,{async:!0});i&&typeof i.then=="function"&&i.then(c=>r(c.response),s)}})}function Vo(e,t,n,o,a){return new Promise((r,s)=>{let l=e.render(t,{sitekey:n,size:o==="invisible"?"invisible":"normal",callback:i=>r(i),"error-callback":()=>s(new Error("captcha: recaptcha error"))});if(a(()=>{var i;return(i=e.reset)==null?void 0:i.call(e,l)}),o==="invisible"&&e.execute){let i=e.execute(void 0,{widgetId:l});i&&typeof i.then=="function"&&i.then(r,s)}})}function Go(e,t){let n=()=>{let o=e.execute(t,{action:"submit"});return o&&typeof o.then=="function"?o:Promise.reject(new Error("captcha: recaptcha v3 execute returned no promise"))};return new Promise((o,a)=>{e.ready?e.ready(()=>n().then(o,a)):n().then(o,a)})}function qt(e,t){var u,p,f,h,y;let n=(u=e.provider)!=null?u:"",o=(p=e.siteKey)!=null?p:"",a=(f=e.widget)!=null?f:"managed",r=(y=(h=t.ownerDocument)==null?void 0:h.defaultView)!=null?y:globalThis,s=!1,l=null,i=null,c=v=>{l=v};return{token:new Promise((v,w)=>{i=w,Gt(n,o,r).then(R=>{if(s)throw new Error("captcha: widget removed");switch(n){case"turnstile":return Ko(R,t,o,a,c);case"hcaptcha":return jo(R,t,o,a,c);case"recaptcha":return Vo(R,t,o,a,c);case"recaptcha_v3":case"recaptcha_enterprise":return Go(R,o);default:throw new Error(`captcha: ${n} is not renderable`)}}).then(v,w)}),remove(){if(!s){s=!0;try{l==null||l()}catch{}for(;t.firstChild;)t.removeChild(t.firstChild);i==null||i(new Error("captcha: widget removed"))}}}}async function lt(e,t){return qt(e,t).token}var V=To(Zt());var Xt=["auto","light","dark"],Z=["primary","primaryInk","accent","background","surface","text","muted","border","danger","success","inputBackground","inputText"],Ie=["none","uppercase"],Qt={"minor-second":1.067,"major-second":1.125,"minor-third":1.2,"major-third":1.25,"perfect-fourth":1.333,"augmented-fourth":1.414,"perfect-fifth":1.5,golden:1.618,"minor-seventh":1.778,octave:2},en=Object.keys(Qt),De=["none","sm","md","lg","xl"],Le=["compact","comfortable","spacious"],Oe=["solid","glass","outline","none"],Me=["narrow","normal","wide"],Fe=["center","left","right","split"],Ne=["left","right"],Ue=["card","page","hidden"],Be=["sm","md","lg"],We=["solid","outline","soft","gradient"],He=["list","grid","icons"],ze=["outline","filled","underline"],tn=["linear","radial"],dt=["cover","contain"],ut=["top-left","top","top-right","left","center","right","bottom-left","bottom","bottom-right"],fe=["none","dots","grid","noise"],$e=["minimal","atlas","glass","midnight","editorial","terminal","sunrise","forest","grape","slate","split-photo","bold"],pt=/^#[0-9a-fA-F]{6}$/,ft=/^dasset_[0-9A-HJKMNP-TV-Z]{26}$/;var F="system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",Ke="Georgia, Cambria, 'Times New Roman', Times, serif",gt="ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace",N="wght@400;500;600;700;800",nn=[{id:"system",label:"System UI",family:null,category:"sans-serif",fallback:`-apple-system, BlinkMacSystemFont, ${F}`,google:null},{id:"system-serif",label:"System serif (Georgia)",family:null,category:"serif",fallback:Ke,google:null},{id:"system-mono",label:"System monospace",family:null,category:"monospace",fallback:gt,google:null},{id:"inter",label:"Inter",family:"Inter",category:"sans-serif",fallback:F,google:`Inter:${N}`},{id:"roboto",label:"Roboto",family:"Roboto",category:"sans-serif",fallback:F,google:"Roboto:wght@400;500;700;800"},{id:"open-sans",label:"Open Sans",family:"Open Sans",category:"sans-serif",fallback:F,google:`Open+Sans:${N}`},{id:"lato",label:"Lato",family:"Lato",category:"sans-serif",fallback:F,google:"Lato:wght@400;700;900"},{id:"montserrat",label:"Montserrat",family:"Montserrat",category:"sans-serif",fallback:F,google:`Montserrat:${N}`},{id:"poppins",label:"Poppins",family:"Poppins",category:"sans-serif",fallback:F,google:`Poppins:${N}`},{id:"nunito",label:"Nunito",family:"Nunito",category:"sans-serif",fallback:F,google:`Nunito:${N}`},{id:"work-sans",label:"Work Sans",family:"Work Sans",category:"sans-serif",fallback:F,google:`Work+Sans:${N}`},{id:"dm-sans",label:"DM Sans",family:"DM Sans",category:"sans-serif",fallback:F,google:`DM+Sans:${N}`},{id:"manrope",label:"Manrope",family:"Manrope",category:"sans-serif",fallback:F,google:`Manrope:${N}`},{id:"source-serif",label:"Source Serif",family:"Source Serif 4",category:"serif",fallback:Ke,google:`Source+Serif+4:${N}`},{id:"merriweather",label:"Merriweather",family:"Merriweather",category:"serif",fallback:Ke,google:"Merriweather:wght@400;700;900"},{id:"playfair-display",label:"Playfair Display",family:"Playfair Display",category:"serif",fallback:Ke,google:`Playfair+Display:${N}`},{id:"jetbrains-mono",label:"JetBrains Mono",family:"JetBrains Mono",category:"monospace",fallback:gt,google:`JetBrains+Mono:${N}`},{id:"ibm-plex-mono",label:"IBM Plex Mono",family:"IBM Plex Mono",category:"monospace",fallback:gt,google:"IBM+Plex+Mono:wght@400;500;600;700"}],on=nn.map(e=>e.id),rn=new Map(nn.map(e=>[e.id,e]));function mt(e){return typeof e=="string"?rn.get(e):void 0}function bt(e){var n;let t=(n=mt(e))!=null?n:rn.get("system");return t.family?`'${t.family}', ${t.fallback}`:t.fallback}function an(e){let t=mt(e);return t!=null&&t.google?`/v1/design/fonts/${t.id}.css`:null}var ht=e=>{if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},X=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),P=e=>t=>typeof t=="string"&&e.includes(t),W=(e,t,n=1)=>o=>typeof o=="number"&&Number.isInteger(o)&&o>=e&&o<=t&&o%n===0,ln=(e,t)=>n=>typeof n=="number"&&!Number.isNaN(n)&&n>=e&&n<=t,ge=e=>typeof e=="string"&&pt.test(e),yt=e=>typeof e=="string"&&ft.test(e);function G(e,t=[]){return n=>{if(!ht(n))return!1;for(let o of Object.keys(n)){if(!X(e,o))return!1;let a=n[o];if(a===void 0){if(t.includes(o))return!1;continue}if(!e[o](a))return!1}return t.every(o=>X(n,o)&&n[o]!==void 0)}}var sn=P(on),vt={palette:Object.fromEntries(Z.map(e=>[e,ge])),paletteDark:Object.fromEntries(Z.map(e=>[e,ge])),typography:{font:sn,headingFont:sn,baseSize:W(12,20),headingWeight:W(400,800,100),bodyWeight:W(300,600,100),letterCase:P(Ie),scale:P(en)},shape:{radius:W(0,32),controlRadius:W(0,999),borderWidth:W(0,3)},elevation:{cardShadow:P(De)},spacing:{density:P(Le)},card:{style:P(Oe),blur:W(0,40),width:P(Me)},layout:{position:P(Fe),splitImageSide:P(Ne),logoPlacement:P(Ue),logoSize:P(Be)},buttons:{style:P(We),socialLayout:P(He)},inputs:{style:P(ze)},logo:{assetId:yt,darkAssetId:yt}},Qo=e=>{if(!G({type:P(tn),angle:W(0,360),stops:()=>!0},["type","stops"])(e))return!1;let t=e.stops;return Array.isArray(t)&&t.length>=2&&t.length<=4&&t.every(G({color:ge,at:ln(0,100)},["color","at"]))},er=G({assetId:yt,fit:P(dt),position:P(ut),overlay:G({color:ge,opacity:ln(0,1)},["color","opacity"]),blur:W(0,20)},["assetId"]),kt={color:ge,gradient:Qo,image:er,pattern:P(fe)},me={version:e=>e===1,preset:P($e),colorScheme:P(Xt),background:G(kt),backgroundDark:G(kt),...Object.fromEntries(Object.entries(vt).map(([e,t])=>[e,G(t)]))};function cn(e,t){return X(me,e)&&me[e](t)}var dn=G(me);function un(e,t=()=>{},n=""){let o=(...r)=>[n,...r].filter(Boolean).join(".");if(e==null)return{};if(!ht(e))return t({path:n||"(root)",message:"must be an object"}),{};let a={};for(let[r,s]of Object.entries(e)){if(s===void 0)continue;if(!X(me,r)){t({path:o(r),message:"Unknown setting."});continue}if(me[r](s)){a[r]=s;continue}let l=X(vt,r)?vt[r]:r==="background"||r==="backgroundDark"?kt:null;if(!l||!ht(s)){t({path:o(r),message:"Invalid value."});continue}let i={};for(let[c,d]of Object.entries(s))d!==void 0&&(X(l,c)&&l[c](d)?i[c]=d:t({path:o(r,c),message:X(l,c)?"Invalid value.":"Unknown setting."}));Object.keys(i).length&&(a[r]=i)}return a}var tr=new Set(["__proto__","constructor","prototype"]),pn=e=>!!e&&typeof e=="object"&&!Array.isArray(e);function xt(e,t){let n={...e};for(let[o,a]of Object.entries(t)){if(tr.has(o)||a===void 0)continue;if(a===null){delete n[o];continue}let r=n[o];n[o]=pn(r)&&pn(a)?xt(r,a):a}return n}function T(e){let t=e.split(" ");if(t.length!==Z.length)throw new Error(`palette spec needs ${Z.length} slots: ${e}`);let n={};return t.forEach((o,a)=>{o!=="-"&&(n[Z[a]]=o)}),n}var fn={version:1,preset:"minimal",colorScheme:"auto",palette:T("#18181b #ffffff #4f46e5 #fafafa #ffffff #18181b #71717a #e4e4e7 #dc2626 #15803d #ffffff #18181b"),paletteDark:T("#fafafa #18181b #818cf8 #09090b #18181b #fafafa #a1a1aa #3f3f46 #f87171 #4ade80 #09090b #fafafa"),typography:{font:"inter",headingFont:"inter",baseSize:15,headingWeight:600,bodyWeight:400,letterCase:"none",scale:"perfect-fourth"},shape:{radius:12,controlRadius:8,borderWidth:1},elevation:{cardShadow:"md"},spacing:{density:"comfortable"},card:{style:"solid",blur:16,width:"normal"},layout:{position:"center",splitImageSide:"left",logoPlacement:"card",logoSize:"md"},buttons:{style:"solid",socialLayout:"list"},inputs:{style:"outline"},background:{},backgroundDark:{},logo:{}},gn={minimal:{design:{}},atlas:{design:{palette:T("#6d4aff #ffffff #0e8fc7 #f6f5ff #ffffff #0b0d17 #5b6078 #e2def5 #d92d3a #0f7a52 #ffffff #0b0d17"),paletteDark:T("#7455fa #ffffff #46c7ff #070811 #0f1120 #eef0f6 #959bb0 #262a40 #ff6b6b #43d9a0 #0b0d17 #eef0f6"),typography:{font:"system",headingFont:"system",headingWeight:600},shape:{radius:14,controlRadius:9,borderWidth:1},elevation:{cardShadow:"lg"},buttons:{style:"gradient"},background:{gradient:{type:"linear",angle:160,stops:[{color:"#f6f5ff",at:0},{color:"#eef6ff",at:100}]}},backgroundDark:{gradient:{type:"radial",stops:[{color:"#1a1440",at:0},{color:"#070811",at:70}]},pattern:"grid"}}},glass:{design:{palette:T("#4338ca - #db2777 #eef2ff #ffffff #111827 #4b5563 #ffffff - - #ffffff #111827"),paletteDark:T("#a5b4fc - #f472b6 #1e1b4b #111827 #f9fafb #cbd5e1 #374151 - - #0b1120 #f9fafb"),shape:{radius:20,controlRadius:12},elevation:{cardShadow:"xl"},card:{style:"glass",blur:20},background:{gradient:{type:"linear",angle:135,stops:[{color:"#6366f1",at:0},{color:"#ec4899",at:55},{color:"#f59e0b",at:100}]}},backgroundDark:{gradient:{type:"linear",angle:135,stops:[{color:"#1e1b4b",at:0},{color:"#4c1d95",at:55},{color:"#831843",at:100}]}}}},midnight:{design:{colorScheme:"dark",palette:T("#1d4ed8 - #7c3aed #eef2f9 #ffffff #0b1020 #475569 #d5dceb - - #ffffff #0b1020"),paletteDark:T("#60a5fa - #a78bfa #0b1020 #121a2f #e6eaf5 #94a3b8 #24314f #f87171 #34d399 #0e1528 #e6eaf5"),typography:{font:"manrope",headingFont:"manrope"},shape:{radius:16,controlRadius:10},elevation:{cardShadow:"lg"},backgroundDark:{pattern:"dots"}}},editorial:{design:{palette:T("#8b2e1f - #8a6410 #f7f3ec #fffdf8 #1f1a14 #6b6157 #e3dacb - - #fffdf8 #1f1a14"),paletteDark:T("#e07a5f - #d4a64a #16130f #1f1b16 #f2ebe0 #a89f92 #3a332a - - #16130f #f2ebe0"),typography:{font:"source-serif",headingFont:"playfair-display",baseSize:16,headingWeight:700,scale:"golden"},shape:{radius:4,controlRadius:2},elevation:{cardShadow:"sm"},inputs:{style:"underline"}}},terminal:{design:{colorScheme:"dark",palette:T("#166534 - #0e7490 #f4fbf3 #ffffff #0b2a0b #3f6b3c #b7d8b4 - - #ffffff #0b2a0b"),paletteDark:T("#39ff14 #031003 #00e5ff #0a0f0a #0d140d #c8f7c5 #7fb57b #2c5a2c #ff5555 #39ff14 #050805 #c8f7c5"),typography:{font:"jetbrains-mono",headingFont:"jetbrains-mono",baseSize:14,letterCase:"uppercase",scale:"major-second"},shape:{radius:0,controlRadius:0,borderWidth:1},elevation:{cardShadow:"none"},card:{style:"outline"},buttons:{style:"outline"},backgroundDark:{pattern:"grid"}}},sunrise:{design:{palette:T("#c2410c - #be185d #fff1e6 #ffffff #2a1a12 #7c5e52 #f4d9cb - - #ffffff #2a1a12"),paletteDark:T("#fb923c - #f472b6 #1a0f0a #24150f #fdebe1 #c4a092 #4a2e22 - - #1a0f0a #fdebe1"),typography:{font:"poppins",headingFont:"poppins"},shape:{radius:20,controlRadius:999},elevation:{cardShadow:"lg"},background:{gradient:{type:"linear",angle:160,stops:[{color:"#fff1e6",at:0},{color:"#ffe4ec",at:100}]}},backgroundDark:{gradient:{type:"linear",angle:160,stops:[{color:"#2a1209",at:0},{color:"#2a0f1c",at:100}]}}}},forest:{design:{palette:T("#166534 - #a16207 #f3f7f2 #ffffff #14261a #53685a #d6e3d8 - - #f3f7f2 #14261a"),paletteDark:T("#4ade80 - #facc15 #0c1510 #13201a #e3efe6 #9db5a4 #2a3d31 - - #0c1510 #e3efe6"),typography:{font:"dm-sans",headingFont:"dm-sans"},shape:{radius:10,controlRadius:8},inputs:{style:"filled"}}},grape:{design:{palette:T("#7e22ce - #be185d #faf5ff #ffffff #2e1065 #6b5b8a #e9d5ff - - #ffffff #2e1065"),paletteDark:T("#c084fc - #f472b6 #12081f #1c1030 #f3e8ff #b4a3cf #3b2559 - - #12081f #f3e8ff"),typography:{font:"nunito",headingFont:"nunito",headingWeight:800},shape:{radius:24,controlRadius:14},buttons:{socialLayout:"grid"},background:{pattern:"dots"},backgroundDark:{pattern:"dots"}}},slate:{design:{palette:T("#334155 - #0369a1 #f1f5f9 #ffffff #0f172a #64748b #cbd5e1 - - #f8fafc #0f172a"),paletteDark:T("#cbd5e1 - #38bdf8 #0f172a #1e293b #f1f5f9 #94a3b8 #334155 - - #0f172a #f1f5f9"),typography:{font:"work-sans",headingFont:"work-sans"},shape:{radius:8,controlRadius:6},elevation:{cardShadow:"sm"},spacing:{density:"compact"},inputs:{style:"filled"}}},"split-photo":{design:{layout:{position:"split",splitImageSide:"left",logoPlacement:"page"},card:{style:"none",width:"normal"},elevation:{cardShadow:"none"},shape:{radius:0,controlRadius:8},background:{gradient:{type:"linear",angle:135,stops:[{color:"#0f172a",at:0},{color:"#334155",at:100}]}},backgroundDark:{gradient:{type:"linear",angle:135,stops:[{color:"#020617",at:0},{color:"#1e293b",at:100}]}}}},bold:{design:{palette:T("#4338ca - #ca8a04 #4338ca #ffffff #111827 #4b5563 #e5e7eb - - #ffffff #111827"),paletteDark:T("#a5b4fc - #facc15 #1e1b4b #111827 #f9fafb #cbd5e1 #374151 - - #0b1120 #f9fafb"),typography:{font:"montserrat",headingFont:"montserrat",baseSize:17,headingWeight:800,letterCase:"uppercase",scale:"octave"},shape:{radius:24,controlRadius:999,borderWidth:0},elevation:{cardShadow:"xl"},spacing:{density:"spacious"},card:{width:"wide"}}}};var re=(e,t,n)=>Math.min(n,Math.max(t,e));function ae(e){if(!e||typeof e!="string")return null;let t=e.trim().toLowerCase();if(t==="transparent")return{r:0,g:0,b:0,a:0};let n=/^#([0-9a-f]{3,8})$/.exec(t);if(n){let i=n[1];if((i.length===3||i.length===4)&&(i=[...i].map(d=>d+d).join("")),i.length!==6&&i.length!==8)return null;let c=d=>parseInt(i.slice(d,d+2),16);return{r:c(0),g:c(2),b:c(4),a:i.length===8?c(6)/255:1}}let o=/^rgba?\(([^)]+)\)$/.exec(t);if(!o)return null;let a=o[1].replace("/"," ").split(/[\s,]+/).filter(Boolean);if(a.length<3)return null;let r=i=>i.endsWith("%")?parseFloat(i)/100*255:parseFloat(i),s=i=>i===void 0?1:i.endsWith("%")?parseFloat(i)/100:parseFloat(i),l={r:re(r(a[0]),0,255),g:re(r(a[1]),0,255),b:re(r(a[2]),0,255),a:re(s(a[3]),0,1)};return[l.r,l.g,l.b,l.a].some(Number.isNaN)?null:l}var je=e=>re(Math.round(e),0,255).toString(16).padStart(2,"0");function Ge(e){return`#${je(e.r)}${je(e.g)}${je(e.b)}`}function nr(e){let t=n=>{let o=n/255;return o<=.03928?o/12.92:((o+.055)/1.055)**2.4};return .2126*t(e.r)+.7152*t(e.g)+.0722*t(e.b)}function Ve(e){let t=ae(e);return t?nr(t):null}function be(e,t){let n=Ve(e),o=Ve(t);if(n===null||o===null)return 1;let a=Math.max(n,o),r=Math.min(n,o);return(a+.05)/(r+.05)}var or=4.5,rr=3;function mn(e){var t;return((t=Ve(e))!=null?t:0)>.179?"#111827":"#ffffff"}function ar(e,t,n){let o=e/255,a=t/255,r=n/255,s=Math.max(o,a,r),l=Math.min(o,a,r),i=(s+l)/2;if(s===l)return[0,0,i];let c=s-l,d=i>.5?c/(2-s-l):c/(s+l);return[s===o?((a-r)/c+(a<r?6:0))/6:s===a?((r-o)/c+2)/6:((o-a)/c+4)/6,d,i]}function sr(e,t,n){let o=n<.5?n*(1+t):n+t-n*t,a=2*n-o,r=l=>{let i=l;return i<0&&(i+=1),i>1&&(i-=1),i<1/6?a+(o-a)*6*i:i<1/2?o:i<2/3?a+(o-a)*(2/3-i)*6:a};return`#${(t===0?[n,n,n]:[r(e+1/3),r(e),r(e-1/3)]).map(l=>je(re(l,0,1)*255)).join("")}`}function ir(e,t,n=or){var u;let o=ae(e);if(!o||t.length===0)return e;let a=p=>t.every(f=>be(p,f)>=n);if(a(e))return e;let s=((u=Ve(t[0]))!=null?u:1)>.179?-.01:.01,[l,i,c]=ar(o.r,o.g,o.b),d=e;for(let p=1;p<=100;p+=1){let f=c+s*p;if(f<0||f>1)break;if(d=sr(l,i,f),a(d))return d}return d}function bn(e,t){return ir(e,t,rr)}var lr=["primary","accent","danger","success"],Y=e=>JSON.parse(JSON.stringify(e));function yn(e){if(!e||typeof e!="object"||Array.isArray(e))return{};if(dn(e))return Y(e);let t={};for(let[n,o]of Object.entries(e))o!==void 0&&cn(n,o)&&(t[n]=Y(o));return t}function hn(e,t){if(!t)return e;let n={...e};for(let[o,a]of Object.entries(t))a!==void 0&&(n[o]=a);return t.primary&&!t.primaryInk&&(n.primaryInk=mn(t.primary)),n}function wt(e,t,n){var r,s,l;t.colorScheme&&(e.colorScheme=t.colorScheme);let o=e.palette;e.palette=hn(e.palette,t.palette);let a=t.paletteDark?{...t.paletteDark}:void 0;if(n.carryBrand&&t.palette){for(let i of lr){let c=t.palette[i];c&&c!==o[i]&&!((r=t.paletteDark)!=null&&r[i])&&(a={...a!=null?a:{},[i]:c})}t.palette.primaryInk&&!((s=t.paletteDark)!=null&&s.primaryInk)&&(a!=null&&a.primary)&&(a.primaryInk=t.palette.primaryInk)}if(e.paletteDark=hn(e.paletteDark,a),t.typography){let i=t.typography;e.typography={...e.typography,...q(i),headingFont:(l=i.headingFont)!=null?l:i.font?i.font:e.typography.headingFont}}if(t.shape&&(e.shape={...e.shape,...q(t.shape)}),t.elevation&&(e.elevation={...e.elevation,...q(t.elevation)}),t.spacing&&(e.spacing={...e.spacing,...q(t.spacing)}),t.card&&(e.card={...e.card,...q(t.card)}),t.layout&&(e.layout={...e.layout,...q(t.layout)}),t.buttons&&(e.buttons={...e.buttons,...q(t.buttons)}),t.inputs&&(e.inputs={...e.inputs,...q(t.inputs)}),t.background&&(e.background=Y(t.background)),t.backgroundDark)e.backgroundDark=Y(t.backgroundDark);else if(t.background&&n.carryBrand){let i={};t.background.gradient&&(i.gradient=Y(t.background.gradient)),t.background.image&&(i.image=Y(t.background.image)),t.background.pattern&&(i.pattern=t.background.pattern),e.backgroundDark=i}t.logo&&(e.logo=Y(t.logo))}function q(e){let t={};for(let[n,o]of Object.entries(e))o!==void 0&&(t[n]=o);return t}function St(e){return typeof e=="string"&&$e.includes(e)}function he(e){let t=yn(e),n=St(t.preset)?t.preset:"minimal",o=Y(fn);return o.preset=n,wt(o,gn[n].design,{carryBrand:!1}),wt(o,t,{carryBrand:!0}),o}function vn(e,t){let n=he(e),o=yn(t);return delete o.preset,wt(n,o,{carryBrand:!0}),n}function _t(e){var a,r,s,l,i,c,d,u,p,f,h,y,v,w;let t=(R,b,C)=>typeof b=="string"&&R.includes(b)?b:C,n=(a=e==null?void 0:e.background)!=null?a:{},o={"data-atlas-layout":t(Fe,(r=e==null?void 0:e.layout)==null?void 0:r.position,"center"),"data-atlas-split-side":t(Ne,(s=e==null?void 0:e.layout)==null?void 0:s.splitImageSide,"left"),"data-atlas-logo":t(Ue,(l=e==null?void 0:e.layout)==null?void 0:l.logoPlacement,"card"),"data-atlas-logo-size":t(Be,(i=e==null?void 0:e.layout)==null?void 0:i.logoSize,"md"),"data-atlas-card":t(Oe,(c=e==null?void 0:e.card)==null?void 0:c.style,"solid"),"data-atlas-card-width":t(Me,(d=e==null?void 0:e.card)==null?void 0:d.width,"normal"),"data-atlas-shadow":t(De,(u=e==null?void 0:e.elevation)==null?void 0:u.cardShadow,"md"),"data-atlas-density":t(Le,(p=e==null?void 0:e.spacing)==null?void 0:p.density,"comfortable"),"data-atlas-button":t(We,(f=e==null?void 0:e.buttons)==null?void 0:f.style,"solid"),"data-atlas-social":t(He,(h=e==null?void 0:e.buttons)==null?void 0:h.socialLayout,"list"),"data-atlas-input":t(ze,(y=e==null?void 0:e.inputs)==null?void 0:y.style,"outline"),"data-atlas-pattern":t(fe,n.pattern,"none"),"data-atlas-pattern-dark":t(fe,(v=e==null?void 0:e.backgroundDark)==null?void 0:v.pattern,"none"),"data-atlas-letter-case":t(Ie,(w=e==null?void 0:e.typography)==null?void 0:w.letterCase,"none")};return((e==null?void 0:e.colorScheme)==="dark"||(e==null?void 0:e.colorScheme)==="light")&&(o["data-atlas-theme"]=e.colorScheme),o}function kn(e){var n,o;let t=new Set;for(let a of[(n=e==null?void 0:e.typography)==null?void 0:n.font,(o=e==null?void 0:e.typography)==null?void 0:o.headingFont]){let r=an(a);r&&t.add(r)}return[...t]}function Et(){try{return typeof process!="undefined"&&!1}catch{return!1}}var wn=e=>{Et()&&console.warn(`[atlas] ${e}`)},xn=e=>!!e&&typeof e=="object"&&!Array.isArray(e);function cr(e,t=wn,n="design"){return e!=null&&(typeof e!="object"||Array.isArray(e))?(t(`${n} must be an object; ignored.`),{}):un(e,o=>t(o.message==="Unknown setting."&&o.path.split(".").length===n.split(".").length+1?`${o.path} is not a design setting; ignored.`:`${o.path} is invalid; ignored.`),n)}function Sn(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(36)}var dr=/^(?:https:\/\/[A-Za-z0-9.-]+(?::\d{1,5})?|http:\/\/(?:localhost|127\.0\.0\.1)(?::\d{1,5})?)$/;function ur(e,t){let n=(t!=null?t:"").replace(/\/+$/,"");return n&&!dr.test(n)?[]:kn(e).map(o=>`${n}${o}`)}function pr(e){if(!(!xn(e)||!xn(e.resolved)))return e.resolved}function _n(e){var c,d,u;let t=(c=e.warn)!=null?c:wn,n=pr(e.instance),o=cr(e.design,t,"appearance.design"),a,r=(d=e.preset)!=null?d:o.preset;r!==void 0&&(St(r)?a=r:t(`appearance.preset "${String(r)}" is not a preset; ignored.`));let s=a!==void 0||Object.keys(o).some(p=>p!=="preset");if(!n&&!s)return null;let l=a?he({preset:a}):n?he(n):he({}),i=xt((u=e.tokensDesign)!=null?u:{},o);return vn(l,i)}function En(e,t){return ur(e,t)}var Cn=new Set,An=e=>{var t;!Et()||Cn.has(e)||(Cn.add(e),(t=globalThis.console)==null||t.warn(`[atlas] ${e}`))};function Tn(e){var o,a;if(!e||typeof e!="object")return null;let t=e,n=(a=t.design)!=null?a:(o=t.appearance)==null?void 0:o.design;return n&&typeof n=="object"&&n.resolved?n:null}function Rn(e,t,n,o){var a,r;for(let s of(a=o==null?void 0:o.attributes)!=null?a:[])s in n.attributes||t.removeAttribute(s);for(let s of(r=o==null?void 0:o.style)!=null?r:[])s in n.style||t.style.removeProperty(s);for(let[s,l]of Object.entries(n.style))t.style.setProperty(s,l);for(let[s,l]of Object.entries(n.attributes))t.setAttribute(s,l);if(n.css&&!Array.from(e.head.querySelectorAll("style[data-atlas-design]")).some(l=>l.getAttribute("data-atlas-design")===n.key)){let l=e.createElement("style");l.setAttribute("data-atlas-design",n.key),l.textContent=n.css,e.head.appendChild(l)}if(n.fontStylesheets.length){let s=new Set(Array.from(e.head.querySelectorAll("link[data-atlas-font]")).map(l=>l.getAttribute("href")));for(let l of n.fontStylesheets){if(s.has(l))continue;let i=e.createElement("link");i.setAttribute("rel","stylesheet"),i.setAttribute("href",l),i.setAttribute("data-atlas-font",""),e.head.appendChild(i)}}return{attributes:Object.keys(n.attributes),style:Object.keys(n.style)}}var fr=["boxes","single"];function In(e,t){for(let n of[t,e])if(n&&fr.includes(n))return n;return"boxes"}var Dn=8,gr=["solid","outline","soft","ghost"],mr=["none","scale","lift","glow","ripple"],br=["none","sm","md","lg"],hr=["comfortable","compact"],yr=["outline","filled","underline"],vr=["slow","normal","fast"],kr=["spinner","skeleton","dots","bar"],Ln={slow:280,normal:160,fast:80};function qe(e,t){let n=(o,a,...r)=>{for(let s of r)if(s!==void 0&&o.includes(s))return s;return a};return{buttonStyle:n(gr,"solid",t==null?void 0:t.buttonStyle,e==null?void 0:e.buttonStyle),buttonEffect:n(mr,"scale",t==null?void 0:t.buttonEffect,e==null?void 0:e.buttonEffect),shadow:n(br,"md",t==null?void 0:t.shadow,e==null?void 0:e.shadow),density:n(hr,"comfortable",t==null?void 0:t.density,e==null?void 0:e.density),inputStyle:n(yr,"outline",t==null?void 0:t.inputStyle,e==null?void 0:e.inputStyle),animations:typeof(t==null?void 0:t.animations)=="boolean"?t.animations:typeof(e==null?void 0:e.animations)=="boolean"?e.animations:!0,motionSpeed:n(vr,"normal",t==null?void 0:t.motionSpeed,e==null?void 0:e.motionSpeed),loading:n(kr,"spinner",t==null?void 0:t.loading,e==null?void 0:e.loading)}}var xr=["block","compact","icon"],wr=["sm","md","lg"],Sr=["list","grid","carousel"],_r=["auto","always","never"];function Ct(e,t){var o,a,r;let n=(s,...l)=>{for(let i of l)if(i!==void 0&&s.includes(i))return i;return s[0]};return{variant:n(xr,t==null?void 0:t.variant,e==null?void 0:e.variant),size:n(wr,(o=t==null?void 0:t.size)!=null?o:"md",e==null?void 0:e.size,"md"),layout:n(Sr,t==null?void 0:t.layout,e==null?void 0:e.layout),labels:{...(a=e==null?void 0:e.labels)!=null?a:{},...(r=t==null?void 0:t.labels)!=null?r:{}},search:n(_r,t==null?void 0:t.search,e==null?void 0:e.search)}}var H={colorPrimary:"#5b5bd6",colorText:"#1c1c1f",colorBackground:"#ffffff",colorAccent:"#5b5bd6",colorCard:"#ffffff",colorBorder:"#e4e4e9",borderRadius:"10px",fontFamily:'ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif'};function Er(e){return e?{colorPrimary:e.colorPrimary||H.colorPrimary,colorText:e.colorText||H.colorText,colorBackground:e.colorBackground||H.colorBackground,colorAccent:e.colorAccent||e.colorPrimary||H.colorAccent,colorCard:e.colorCard||e.colorBackground||H.colorCard,colorBorder:e.colorBorder||H.colorBorder,borderRadius:e.borderRadius||H.borderRadius,fontFamily:e.fontStack||H.fontFamily}:H}function On(e,t){var a;let n={...Er(e)},o=(a=t==null?void 0:t.variables)!=null?a:{};for(let[r,s]of Object.entries(o))s!==void 0&&(n[r]=s);return n}function Mn(e){let t={};for(let[n,o]of Object.entries(e))t[`--atlas-embed-${n.replace(/[A-Z]/g,a=>`-${a.toLowerCase()}`)}`]=o;return t}function Fn(e){let t=ae(e);if(!t)return"#ffffff";let n=Ge(t);return be("#ffffff",n)>=be("#111111",n)?"#ffffff":"#111111"}function Nn(e,t){let n=ae(e);if(!n)return e;let o=Ge(n),a=t.map(r=>ae(r)).filter(r=>!!r&&r.a>0).map(Ge);return a.length===0||a.every(r=>be(o,r)>=3)?e:bn(o,a)}function Un(e,t,n){var a;let o=(a=n==null?void 0:n.elements)==null?void 0:a[e];return o?`${t} ${o}`:t}function Bn(e,t){var s,l;let n=(s=t==null?void 0:t.providerOrder)!=null?s:[],o=new Set((l=t==null?void 0:t.providerHidden)!=null?l:[]),a=new Set(e.filter(i=>!o.has(i))),r=[];for(let i of n)a.has(i)&&!r.includes(i)&&r.push(i);for(let i of e)a.has(i)&&!r.includes(i)&&r.push(i);return r}var Pn={google:"Google",github:"GitHub",gitlab:"GitLab",facebook:"Facebook",apple:"Apple",microsoft:"Microsoft",discord:"Discord",linkedin:"LinkedIn",twitter:"X",twitter_v1:"X",x:"X",slack:"Slack",spotify:"Spotify",twitch:"Twitch",notion:"Notion",linear:"Linear",steam:"Steam"};function Ye(e){return Pn[e]?Pn[e]:e.split(/[_-]/).map(t=>t&&t[0].toUpperCase()+t.slice(1)).join(" ")}function Cr(e,t){return(n,o)=>{let a=typeof n=="string"?n:n.toString(),r;try{r=new URL(a)}catch{return t(n,o)}return r.searchParams.has("publishable_key")||r.searchParams.set("publishable_key",e),t(r.toString(),o)}}function Wn(e){var n;let t=(n=e.fetchImpl)!=null?n:fetch;return new xe({publishableKey:e.publishableKey,baseUrl:e.frontendApi.replace(/\/$/,""),fetchImpl:Cr(e.publishableKey,t)})}async function Hn(e){let t=await e.get("/v1/appearance");return t.ok?t.data:null}var zn="atlas-embed-styles",Ar=`
|
|
2
2
|
.atlas-embed-root {
|
|
3
3
|
--_bg: var(--atlas-embed-color-background, #ffffff);
|
|
4
4
|
--_card: var(--atlas-embed-color-card, #ffffff);
|
|
5
5
|
--_text: var(--atlas-embed-color-text, #1c1c1f);
|
|
6
6
|
--_primary: var(--atlas-embed-color-primary, #5b5bd6);
|
|
7
7
|
--_on-primary: var(--atlas-embed-color-text-on-primary, #ffffff);
|
|
8
|
-
/* Keyboard focus ring \u2014 a solid outline
|
|
8
|
+
/* Keyboard focus ring \u2014 a solid outline. The widget sets it to the primary
|
|
9
|
+
adjusted to 3:1 on the card/background (or the page's explicit ring). */
|
|
9
10
|
--_focus: var(--atlas-embed-color-focus-ring, var(--_primary));
|
|
10
11
|
--_border: var(--atlas-embed-color-border, #e4e4e9);
|
|
11
12
|
--_radius: var(--atlas-embed-border-radius, 10px);
|
|
@@ -367,4 +368,4 @@ form > .atlas-embed-step-back { display: block; width: 100%; text-align: center;
|
|
|
367
368
|
.atlas-embed-loadbar::before { position: static; width: 100%; }
|
|
368
369
|
}
|
|
369
370
|
@keyframes atlas-embed-pulse { 0%,100% { opacity: 0.4; } 50% { opacity: 1; } }
|
|
370
|
-
`;function Wn(e=document){var n;if(e.querySelector(`style[data-${Hn}]`))return;let t=e.createElement("style");t.setAttribute(`data-${Hn}`,""),t.textContent=vr,((n=e.head)!=null?n:e.documentElement).appendChild(t)}function zn(e,t,n={}){var p;let o=Sn({instance:(t==null?void 0:t.instanceDesign)===!1?null:e,preset:t==null?void 0:t.preset,design:t==null?void 0:t.design,warn:Cn});if(!o)return null;let r=o.colorScheme==="dark"||o.colorScheme==="auto"&&!!n.prefersDark?o.paletteDark:o.palette,s={colorPrimary:r.primary,colorText:r.text,colorBackground:r.background,colorAccent:r.accent,colorCard:r.surface,colorBorder:r.border,borderRadius:`${Math.min(o.shape.controlRadius,24)}px`,fontFamily:pt(o.typography.font)};for(let[u,m]of Object.entries((p=t==null?void 0:t.variables)!=null?p:{}))m!==void 0&&(s[u]=m);let l=o.elevation.cardShadow==="xl"?"lg":o.elevation.cardShadow,i={buttonStyle:o.buttons.style==="gradient"?"solid":o.buttons.style,shadow:o.card.style==="outline"||o.card.style==="none"?"none":l,density:o.spacing.density==="compact"?"compact":"comfortable",inputStyle:o.inputs.style},c=o.buttons.socialLayout==="icons"?{variant:"icon",layout:"grid"}:{layout:o.buttons.socialLayout==="grid"?"grid":"list"},d=wn(JSON.stringify(o));return{render:{style:{},attributes:{...St(o),"data-atlas-design":d},css:"",key:d,fontStylesheets:_n(o,n.frontendApi)},tokens:s,interaction:i,socialButtons:c,resolved:o}}var $n=new Set(["bluesky"]),Kn='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M15 18l-6-6 6-6"/></svg>',jn='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 18l6-6-6-6"/></svg>',Q={"sign-in":{title:"Sign in",submit:"Continue"},"sign-up":{title:"Create your account",submit:"Continue"}};function E(e){var t;return(t=e.root.ownerDocument)!=null?t:document}function g(e,t,n,o){let a=E(e).createElement(t);return n&&(a.className=n),o!=null&&(a.textContent=o),(a.classList.contains("atlas-embed-button")||a.classList.contains("atlas-embed-social-button"))&&xr(e,a),a}function v(e,t,n){return Mn(t,n,e.options.appearance)}function xr(e,t){e.interaction.buttonEffect!=="ripple"||!e.interaction.animations||t.addEventListener("pointerdown",n=>{let o=t.getBoundingClientRect(),a=Math.max(o.width,o.height),r=E(e).createElement("span");r.className="atlas-embed-ripple",r.style.width=r.style.height=`${a}px`,r.style.left=`${n.clientX-o.left-a/2}px`,r.style.top=`${n.clientY-o.top-a/2}px`,r.addEventListener("animationend",()=>r.remove()),t.appendChild(r)})}function re(e,t){let n=g(e,"button",v(e,"buttonPrimary","atlas-embed-button"));if(n.type="submit",n.disabled=e.busy,e.busy){n.setAttribute("data-busy",""),n.setAttribute("aria-label",t);let o=g(e,"span","atlas-embed-btn-spinner");o.setAttribute("aria-hidden","true"),n.appendChild(o)}else n.textContent=t;return n}function Gn(e,t=typeof window!="undefined"?window.location.origin:""){if(!e||typeof e!="string")return null;if(e.startsWith("/")&&!e.startsWith("//"))try{return t?new URL(e,t).toString():e}catch{return null}let n;try{n=new URL(e)}catch{return null}return t&&n.origin===t||n.protocol==="https:"?n.toString():null}async function Ct(e,t,n=!1){var l,i,c;let o=e.captchaFlows[t];if(!(n?!!o&&de(o.provider):Ee(o))||!o)return null;let r=(l=e.root.ownerDocument)!=null?l:document,s=r.createElement("div");s.className="atlas-embed-captcha",((c=(i=e.root.parentElement)!=null?i:r.body)!=null?c:r.documentElement).appendChild(s);try{return await ot(o,s)}catch{return null}finally{s.remove()}}async function qn(e){var o,a;let t=(a=(o=e.root.ownerDocument)==null?void 0:o.defaultView)!=null?a:typeof window!="undefined"?window:null;if(!t)return!1;let n=Ot(t.location.search);return n?n.ticket?(await ae(e,n.attemptId,n.ticket),Vn(e,t),await $(e,n.attemptId),!0):(n.status&&(e.state=ve({id:n.attemptId,status:n.status}),Vn(e,t)),!1):!1}function Vn(e,t){try{t.history.replaceState({},t.document.title,ye(t.location.href))}catch{}}async function ae(e,t,n){e.options.preview||await e.client.post("/v1/client/tickets/exchange",{attempt_id:t,ticket:n,remember:e.remember})}async function $(e,t){var a,r;let n=(r=(a=e.root.ownerDocument)==null?void 0:a.defaultView)!=null?r:typeof window!="undefined"?window:null,o=Gn(e.options.redirect,n?n.location.origin:void 0);if(e.root.dispatchEvent(new CustomEvent("atlas:complete",{bubbles:!0,detail:{attemptId:t,redirected:!!o}})),e.options.preview){be(e,"Sign-in works \u2014 this is a preview, so no session was created.");return}if(o&&n){n.location.assign(o);return}be(e,"You are signed in.")}function he(e,t){$t({api:e.options.frontendApi,publishableKey:e.options.publishableKey,attemptId:t!=null?t:void 0,kind:e.mode==="sign-up"?"sign_up":"sign_in",recorder:e.recorder,fetchImpl:e.options.fetchImpl})}async function Yn(e,t){var r,s,l,i,c;if(e.busy)return;if((r=e.conditionalAbort)==null||r.abort(),e.flash=null,typeof t.identifier=="string"&&t.identifier.trim()&&(e.enteredIdentifier=t.identifier.trim()),e.busy=!0,he(e,(s=e.state.attempt)==null?void 0:s.id),S(e),e.state=await le(e.client,e.state,t),e.state.attempt&&B(e.state.attempt).kind==="collect_captcha"){let d=await Ct(e,"signIn",!0);d&&(e.state=await le(e.client,e.state,{identifier:(i=(l=e.enteredIdentifier)!=null?l:t.identifier)!=null?i:"",captcha_token:d}))}let n=e.state.attempt?B(e.state.attempt):null;(n==null?void 0:n.kind)==="collect_first_factor"&&t.password&&e.state.errors.length===0&&(e.state=await le(e.client,e.state,{password:t.password})),e.busy=!1;let o=e.state.attempt?B(e.state.attempt):null;e.mode==="sign-in"&&e.passwordEnabled&&(o==null?void 0:o.kind)==="collect_first_factor"&&(e.state={...F,errors:e.state.errors});let a=e.state.attempt;if((a==null?void 0:a.status)==="complete"){let d=(c=a.id)!=null?c:null;e.state.ticket&&d&&await ae(e,d,e.state.ticket),await $(e,d);return}S(e)}async function je(e,t,n){var l,i,c;he(e);let o=(i=(l=e.root.ownerDocument)==null?void 0:l.defaultView)!=null?i:typeof window!="undefined"?window:null,a=o?ye(o.location.href):e.options.frontendApi,r=await e.client.post("/v1/client/sign_ins/oauth",{provider:t,redirect_url:a,...n?{identifier:n}:{}}),s=(c=r.data)==null?void 0:c.authorization_url;s&&o?o.location.assign(s):(e.handlePrompt=null,z(e,r.errors))}async function At(e,t,n={}){var l,i,c;he(e);let o=(i=(l=e.root.ownerDocument)==null?void 0:l.defaultView)!=null?i:typeof window!="undefined"?window:null,a=o?ye(o.location.href):e.options.frontendApi;if(n.popup&&o){await Sr(e,t,o,a);return}let r=await e.client.post("/v1/client/sign_ins/sso",{connection_id:t,redirect_url:a}),s=(c=r.data)==null?void 0:c.authorization_url;s&&o?o.location.assign(s):z(e,r.errors)}function wr(e){let t=e.options.frontendApi;try{return new URL(/^https?:\/\//.test(t)?t:`https://${t}`).origin}catch{return t}}async function Sr(e,t,n,o){var p;let a=n.open("about:blank","atlas-sso","width=480,height=640,menubar=no,toolbar=no,location=no,status=no");if(!a){await At(e,t);return}let r=o.includes("?")?"&":"?",s=`${o}${r}__atlas_display=popup`,l=wr(e),i=u=>{if(u.origin!==l)return;let m=u.data;if(!(!m||m.type!=="atlas-sso")){n.removeEventListener("message",i);try{a.close()}catch{}if(m.error){z(e,[{code:"sso_popup_cancelled",message:"Sign-in was cancelled."}]);return}if(m.status==="complete"&&m.ticket&&m.attempt_id){let h=m.attempt_id,y=m.ticket;(async()=>(await ae(e,h,y),await $(e,h)))();return}m.attempt_id&&m.status&&(e.state=ve({id:m.attempt_id,status:m.status}),S(e))}};n.addEventListener("message",i);let c=await e.client.post("/v1/client/sign_ins/sso",{connection_id:t,redirect_url:s}),d=(p=c.data)==null?void 0:p.authorization_url;if(d)try{a.location.assign(d)}catch{try{a.close()}catch{}n.removeEventListener("message",i),n.location.assign(d)}else{n.removeEventListener("message",i);try{a.close()}catch{}z(e,c.errors)}}async function Jn(e,t,n){let o=await e.client.post("/v1/client/sign_ins/id_token",Nt({provider:t,idToken:n})),a=Ut(o.data);if(!a){z(e,o.errors);return}if(a.status==="complete"&&a.ticket){await ae(e,a.attemptId,a.ticket),await $(e,a.attemptId);return}e.state=ve({id:a.attemptId,status:a.status}),S(e)}function Zn(e){e.resetFlow={...nt},S(e)}async function Xn(e,t){var o,a;if(e.busy||!e.resetFlow)return;if(e.busy=!0,he(e),S(e),oe(e.resetFlow)==="request"){typeof t.email=="string"&&t.email.trim()&&(e.enteredIdentifier=t.email.trim());let r=await Ct(e,"passwordReset");e.resetFlow=await Kt(e.client,(o=t.email)!=null?o:"",r!=null?r:void 0)}else e.resetFlow=await jt(e.client,e.resetFlow,{code:t.code,password:t.password});e.busy=!1;let n=e.resetFlow;if(((a=n==null?void 0:n.attempt)==null?void 0:a.status)==="complete"){let r=n.attempt.id;e.resetFlow=null,n.ticket?(await ae(e,r,n.ticket),await $(e,r)):(e.flash="Password updated. Sign in with your new password.",e.state=F,S(e));return}S(e)}async function Qn(e,t,n=!0){var c;if(e.busy)return;e.busy=!0,he(e),S(e);let{identifier:o,password:a,...r}=t,s={};for(let[d,p]of Object.entries(r))p&&(s[d]=p);let l=await Ct(e,"signUp");e.state=await Xe(e.client,{email:o!=null?o:"",password:a!=null?a:"",fields:s,consent:n,captchaToken:l!=null?l:void 0}),e.busy=!1;let i=e.state.attempt;if((i==null?void 0:i.status)==="complete"){let d=(c=i.id)!=null?c:null;e.state.ticket&&d&&await ae(e,d,e.state.ticket),await $(e,d);return}S(e)}function eo(e){var u;let t=e.resetFlow,n=oe(t),o=g(e,"div","atlas-embed-reset");o.appendChild(g(e,"h1",v(e,"title","atlas-embed-title"),"Reset your password"));let a=E(e).createElement("form"),r=t.errors,s=new Map,l=r.find(m=>!m.param);l&&a.appendChild(g(e,"div","atlas-embed-form-error",l.message));let i=null,c="Continue",d=!0;switch(n){case"request":i="Enter your email and we\u2019ll send you a reset code.",c="Send reset code",Ge(e,a,s,r,"email","Email address","email","username");{let m=s.get("email");m&&(e.enteredIdentifier&&(m.value=e.enteredIdentifier),m.setAttribute("data-atlas-autofocus",""))}break;case"collect_email_code":i=e.enteredIdentifier?`Enter the code we sent to ${e.enteredIdentifier}`:"Enter the code we sent to your email",Tt(e,a,s,r,"code","Reset code",!0);break;case"collect_second_factor":i="Enter the code from your authenticator app",Tt(e,a,s,r,"code","Two-factor code",!0);break;case"collect_new_password":i="Choose a new password",c="Set new password",Ge(e,a,s,r,"password","New password","password","new-password"),(u=s.get("password"))==null||u.setAttribute("data-atlas-autofocus","");break;default:d=!1,a.appendChild(g(e,"p","atlas-embed-note","You\u2019re all set."))}i&&o.appendChild(g(e,"p",v(e,"subtitle","atlas-embed-subtitle"),i)),o.appendChild(a),d&&a.appendChild(re(e,c));let p=g(e,"button","atlas-embed-step-back","Back to sign in");return p.type="button",p.addEventListener("click",()=>{e.resetFlow=null,S(e)}),a.appendChild(p),a.addEventListener("submit",m=>{m.preventDefault();let h={};for(let[y,k]of s)h[y]=k.value;Xn(e,h)}),o}function Ge(e,t,n,o,a,r,s,l){let i=g(e,"label",v(e,"field","atlas-embed-field"));i.appendChild(g(e,"span",v(e,"label","atlas-embed-label"),r));let c=E(e).createElement("input");if(c.className=v(e,"input","atlas-embed-input"),c.type=s,c.name=a,c.setAttribute("autocomplete",l),s==="password"){let d=g(e,"div","atlas-embed-password");d.appendChild(c);let p=g(e,"button","atlas-embed-password-toggle","Show");p.type="button",p.setAttribute("aria-label","Show password"),p.addEventListener("click",u=>{u.preventDefault();let m=c.type==="password";c.type=m?"text":"password",p.textContent=m?"Hide":"Show",p.setAttribute("aria-label",m?"Hide password":"Show password")}),d.appendChild(p),i.appendChild(d)}else i.appendChild(c);for(let d of o.filter(p=>p.param===a))i.appendChild(g(e,"span",v(e,"error","atlas-embed-error"),d.message));n.set(a,c),t.appendChild(i)}function Tt(e,t,n,o,a,r,s){var h;if(e.codeInputStyle==="single"){Ge(e,t,n,o,a,r,"text","one-time-code"),s&&((h=n.get(a))==null||h.setAttribute("data-atlas-autofocus",""));return}let i=g(e,"div",v(e,"field","atlas-embed-field"));i.appendChild(g(e,"span",v(e,"label","atlas-embed-label"),r));let c=g(e,"div","atlas-embed-code");c.setAttribute("role","group"),c.setAttribute("aria-label",r);let d=E(e).createElement("input");d.type="hidden",d.name=a,n.set(a,d);let p=[],u=()=>{d.value=p.map(y=>y.value).join("")},m=()=>{d.value.length!==6||e.busy||t.dispatchEvent(new Event("submit",{cancelable:!0,bubbles:!0}))};for(let y=0;y<6;y++){let k=E(e).createElement("input");k.className="atlas-embed-code-box",k.type="text",k.setAttribute("inputmode","numeric"),k.setAttribute("autocomplete",y===0?"one-time-code":"off"),k.setAttribute("aria-label",`${r} digit ${y+1}`),k.maxLength=1,s&&y===0&&k.setAttribute("data-atlas-autofocus",""),k.addEventListener("input",()=>{k.value=k.value.replace(/\D/g,"").slice(0,1),u(),k.value&&y<5&&p[y+1].focus(),m()}),k.addEventListener("keydown",w=>{w.key==="Backspace"&&!k.value&&y>0&&p[y-1].focus()}),k.addEventListener("paste",w=>{var b,C,L;w.preventDefault();let R=((C=(b=w.clipboardData)==null?void 0:b.getData("text"))!=null?C:"").replace(/\D/g,"").slice(0,6);for(let A=0;A<6;A++)p[A].value=(L=R[A])!=null?L:"";u(),p[Math.min(R.length,5)].focus(),m()}),p.push(k),c.appendChild(k)}i.appendChild(c),i.appendChild(d);for(let y of o.filter(k=>k.param===a))i.appendChild(g(e,"span",v(e,"error","atlas-embed-error"),y.message));t.appendChild(i)}function to(e,t){let n=E(e).createElement("form"),o=e.state.errors.find(d=>!d.param);o&&n.appendChild(g(e,"div","atlas-embed-form-error",o.message));let a=new Map,r=e.state.errors,s=(d,p,u,m)=>Ge(e,n,a,r,d,p,u,m),l=(d,p,u)=>Tt(e,n,a,r,d,p,u),i=!0;switch(t){case"collect_identifier":if(s("identifier","Email address","email",e.passkeyEnabled&&ne()?"username webauthn":"username"),e.enteredIdentifier&&(a.get("identifier").value=e.enteredIdentifier),e.mode==="sign-in"&&e.passwordEnabled&&s("password","Password","password","current-password"),e.mode==="sign-in"&&e.rememberMeEnabled){let d=g(e,"label","atlas-embed-remember"),p=E(e).createElement("input");p.type="checkbox",p.className="atlas-embed-remember-check",p.checked=e.remember,p.addEventListener("change",()=>{e.remember=p.checked}),d.appendChild(p),d.appendChild(g(e,"span","atlas-embed-remember-text","Remember me")),n.appendChild(d)}break;case"collect_first_factor":s("password","Password","password","current-password");break;case"collect_second_factor":if(e.backupCodeMode?s("code","Backup code","text","one-time-code"):l("code","Two-factor code",!0),e.trustedDeviceEnabled){let d=g(e,"label","atlas-embed-remember"),p=E(e).createElement("input");p.type="checkbox",p.className="atlas-embed-remember-check",p.checked=e.rememberDevice,p.addEventListener("change",()=>{e.rememberDevice=p.checked}),d.appendChild(p),d.appendChild(g(e,"span","atlas-embed-remember-text","Remember this device")),n.appendChild(d)}break;case"collect_email_code":l("code","Verification code",!0);break;case"collect_new_password":s("password","New password","password","new-password");break;case"enroll_second_factor":l("code","Authenticator code",!0),l("secondCode","Next code",!1);break;default:i=!1,n.appendChild(g(e,"p","atlas-embed-note","Please continue in your application."))}if(i&&n.appendChild(re(e,Q[e.mode].submit)),t==="collect_second_factor"){let d=g(e,"button","atlas-embed-step-back",e.backupCodeMode?"Use your authenticator app":"Use a backup code instead");d.type="button",d.addEventListener("click",()=>{e.backupCodeMode=!e.backupCodeMode,S(e)}),n.appendChild(d)}if((t==="collect_identifier"&&e.mode==="sign-in"&&e.passwordEnabled||t==="collect_first_factor")&&e.passwordResetEnabled){let d=g(e,"button","atlas-embed-step-back","Forgot password?");d.type="button",d.addEventListener("click",()=>Zn(e)),n.appendChild(d)}return n.addEventListener("submit",d=>{d.preventDefault();let p={};for(let[u,m]of a)p[u]=m.value;t==="collect_second_factor"&&e.trustedDeviceEnabled&&e.rememberDevice&&(p.remember_device="true"),Yn(e,p)}),n}function _r(e){var i;let t=(i=e.appearance)==null?void 0:i.legal;if(!t||!t.termsUrl&&!t.privacyUrl)return null;let n=E(e),o=g(e,"div","atlas-embed-consent"),a=null;t.required&&(a=n.createElement("input"),a.type="checkbox",a.className="atlas-embed-consent-check",a.setAttribute("aria-label","Agree to the terms and privacy policy"),o.appendChild(a));let r=g(e,"span","atlas-embed-consent-text"),s=(c,d)=>{let p=n.createElement("a");return p.href=c,p.textContent=d,p.target="_blank",p.rel="noopener noreferrer",p.className="atlas-embed-consent-link",p};r.appendChild(n.createTextNode(t.required?"I agree to the ":"By continuing you agree to the "));let l=[];return t.termsUrl&&l.push(s(t.termsUrl,"Terms of Service")),t.privacyUrl&&l.push(s(t.privacyUrl,"Privacy Policy")),l.forEach((c,d)=>{d>0&&r.appendChild(n.createTextNode(" and ")),r.appendChild(c)}),r.appendChild(n.createTextNode(".")),o.appendChild(r),{row:o,checkbox:a}}var Er="This app can't send email right now. Try another sign-in method or contact the app owner.";function no(e){var i;let t=E(e).createElement("form");if(!e.passwordSignUpEnabled)return t.appendChild(g(e,"div","atlas-embed-form-error",Er)),t;let n=e.state.errors.find(c=>!c.param);n&&t.appendChild(g(e,"div","atlas-embed-form-error",n.message));let o=new Map,a=(c,d,p)=>{var k,w,R;let u=(k=p.type)!=null?k:"text",m=u==="radio"||u==="multiselect",h=g(e,m?"fieldset":"label",v(e,"field","atlas-embed-field"));h.appendChild(g(e,m?"legend":"span",v(e,"label","atlas-embed-label"),p.required?d:`${d} (optional)`));let y=E(e);if(u==="select"){let b=y.createElement("select");b.className=v(e,"input","atlas-embed-input"),b.name=c;let C=y.createElement("option");C.value="",C.textContent=p.placeholder||"Select\u2026",b.appendChild(C);for(let L of(w=p.options)!=null?w:[]){let A=y.createElement("option");A.value=L,A.textContent=L,b.appendChild(A)}h.appendChild(b),o.set(c,()=>b.value)}else if(u==="textarea"){let b=y.createElement("textarea");b.className=v(e,"input","atlas-embed-input"),b.name=c,b.rows=3,p.placeholder&&b.setAttribute("placeholder",p.placeholder),h.appendChild(b),o.set(c,()=>b.value)}else if(u==="checkbox"){let b=y.createElement("input");b.type="checkbox",b.name=c,b.className="atlas-embed-checkbox",h.classList.add("atlas-embed-field-checkbox"),h.appendChild(b),o.set(c,()=>b.checked?"true":"")}else if(u==="radio"||u==="multiselect"){let b=y.createElement("div");b.className="atlas-embed-choices";let C=[];for(let L of(R=p.options)!=null?R:[]){let A=y.createElement("label");A.className="atlas-embed-choice";let O=y.createElement("input");O.type=u==="radio"?"radio":"checkbox",O.name=c,O.value=L,C.push(O),A.appendChild(O),A.appendChild(g(e,"span",void 0,L)),b.appendChild(A)}h.appendChild(b),o.set(c,()=>{var L,A;return u==="radio"?(A=(L=C.find(O=>O.checked))==null?void 0:L.value)!=null?A:"":C.filter(O=>O.checked).map(O=>O.value).join(", ")})}else{let b=y.createElement("input");b.className=v(e,"input","atlas-embed-input"),b.type=u,b.name=c,p.autocomplete&&b.setAttribute("autocomplete",p.autocomplete),p.placeholder&&b.setAttribute("placeholder",p.placeholder),h.appendChild(b),o.set(c,()=>b.value)}for(let b of e.state.errors.filter(C=>C.param===c))h.appendChild(g(e,"span",v(e,"error","atlas-embed-error"),b.message));t.appendChild(h)};for(let c of e.signUpFields)a(c.key,c.label,{type:c.type,required:c.required,placeholder:c.placeholder,options:c.options});a("identifier","Email address",{type:"email",required:!0,autocomplete:"email"}),a("password","Password",{type:"password",required:!0,autocomplete:"new-password"});let r=_r(e);r&&t.appendChild(r.row);let s=re(e,Q[e.mode].submit),l=()=>!(r!=null&&r.checkbox)||r.checkbox.checked;return s.disabled=e.busy||!l(),(i=r==null?void 0:r.checkbox)==null||i.addEventListener("change",()=>{s.disabled=e.busy||!l()}),t.appendChild(s),t.addEventListener("submit",c=>{c.preventDefault();let d={};for(let[p,u]of o)d[p]=u();Qn(e,d,l())}),t}var Cr={google:'<path fill="#4285F4" d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"/><path fill="#34A853" d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"/><path fill="#FBBC05" d="M5.84 14.1c-.22-.66-.35-1.36-.35-2.1s.13-1.44.35-2.1V7.06H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.94l3.66-2.84z"/><path fill="#EA4335" d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.06l3.66 2.84C6.71 7.31 9.14 5.38 12 5.38z"/>',microsoft:'<path fill="#F25022" d="M2 2h9.3v9.3H2z"/><path fill="#7FBA00" d="M12.7 2H22v9.3h-9.3z"/><path fill="#00A4EF" d="M2 12.7h9.3V22H2z"/><path fill="#FFB900" d="M12.7 12.7H22V22h-9.3z"/>'},Ar={github:{fill:"currentColor",path:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"},apple:{fill:"currentColor",path:"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"},x:{fill:"currentColor",path:"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z"},notion:{fill:"currentColor",path:"M4.459 4.208c.746.606 1.026.56 2.428.466l13.215-.793c.28 0 .047-.28-.046-.326L17.86 1.968c-.42-.326-.981-.7-2.055-.607L3.01 2.295c-.466.046-.56.28-.374.466zm.793 3.08v13.904c0 .747.373 1.027 1.214.98l14.523-.84c.841-.046.935-.56.935-1.167V6.354c0-.606-.233-.933-.748-.887l-15.177.887c-.56.047-.747.327-.747.933zm14.337.745c.093.42 0 .84-.42.888l-.7.14v10.264c-.608.327-1.168.514-1.635.514-.748 0-.935-.234-1.495-.933l-4.577-7.186v6.952L12.21 19s0 .84-1.168.84l-3.222.186c-.093-.186 0-.653.327-.746l.84-.233V9.854L7.822 9.76c-.094-.42.14-1.026.793-1.073l3.456-.233 4.764 7.279v-6.44l-1.215-.139c-.093-.514.28-.887.747-.933zM1.936 1.035l13.31-.98c1.634-.14 2.055-.047 3.082.7l4.249 2.986c.7.513.934.653.934 1.213v16.378c0 1.026-.373 1.634-1.68 1.726l-15.458.934c-.98.047-1.448-.093-1.962-.747l-3.129-4.06c-.56-.747-.793-1.306-.793-1.96V2.667c0-.839.374-1.54 1.447-1.632z"},facebook:{fill:"#0866FF",path:"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"},discord:{fill:"#5865F2",path:"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"},gitlab:{fill:"#FC6D26",path:"m23.6004 9.5927-.0337-.0862L20.3.9814a.851.851 0 0 0-.3362-.405.8748.8748 0 0 0-.9997.0539.8748.8748 0 0 0-.29.4399l-2.2055 6.748H7.5375l-2.2057-6.748a.8573.8573 0 0 0-.29-.4412.8748.8748 0 0 0-.9997-.0537.8585.8585 0 0 0-.3362.4049L.4332 9.5015l-.0325.0862a6.0657 6.0657 0 0 0 2.0119 7.0105l.0113.0087.03.0213 4.976 3.7264 2.462 1.8633 1.4995 1.1321a1.0085 1.0085 0 0 0 1.2197 0l1.4995-1.1321 2.4619-1.8633 5.006-3.7489.0125-.01a6.0682 6.0682 0 0 0 2.0094-7.003z"},spotify:{fill:"#1ED760",path:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"},twitch:{fill:"#9146FF",path:"M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"},reddit:{fill:"#FF4500",path:"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z"},figma:{fill:"#F24E1E",path:"M15.852 8.981h-4.588V0h4.588c2.476 0 4.49 2.014 4.49 4.49s-2.014 4.491-4.49 4.491zM12.735 7.51h3.117c1.665 0 3.019-1.355 3.019-3.019s-1.355-3.019-3.019-3.019h-3.117V7.51zm0 1.471H8.148c-2.476 0-4.49-2.014-4.49-4.49S5.672 0 8.148 0h4.588v8.981zm-4.587-7.51c-1.665 0-3.019 1.355-3.019 3.019s1.354 3.02 3.019 3.02h3.117V1.471H8.148zm4.587 15.019H8.148c-2.476 0-4.49-2.014-4.49-4.49s2.014-4.49 4.49-4.49h4.588v8.98zM8.148 8.981c-1.665 0-3.019 1.355-3.019 3.019s1.355 3.019 3.019 3.019h3.117V8.981H8.148zM8.172 24c-2.489 0-4.515-2.014-4.515-4.49s2.014-4.49 4.49-4.49h4.588v4.441c0 2.503-2.047 4.539-4.563 4.539zm-.024-7.51a3.023 3.023 0 0 0-3.019 3.019c0 1.665 1.365 3.019 3.044 3.019 1.705 0 3.093-1.376 3.093-3.068v-2.97H8.148zm7.704 0h-.098c-2.476 0-4.49-2.014-4.49-4.49s2.014-4.49 4.49-4.49h.098c2.476 0 4.49 2.014 4.49 4.49s-2.014 4.49-4.49 4.49zm-.097-7.509c-1.665 0-3.019 1.355-3.019 3.019s1.355 3.019 3.019 3.019h.098c1.665 0 3.019-1.355 3.019-3.019s-1.355-3.019-3.019-3.019h-.098z"},dropbox:{fill:"#0061FF",path:"M6 1.807L0 5.629l6 3.822 6.001-3.822L6 1.807zM18 1.807l-6 3.822 6 3.822 6-3.822-6-3.822zM0 13.274l6 3.822 6.001-3.822L6 9.452l-6 3.822zM18 9.452l-6 3.822 6 3.822 6-3.822-6-3.822zM6 18.371l6.001 3.822 6-3.822-6-3.822L6 18.371z"},gitee:{fill:"#C71D23",path:"M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.016 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.592.592 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"}};function oo(e){let t=Cr[e];if(t)return`<svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true" focusable="false">${t}</svg>`;let n=Ar[e];return n?`<svg viewBox="0 0 24 24" width="18" height="18" fill="${n.fill}" aria-hidden="true" focusable="false"><path d="${n.path}"/></svg>`:null}async function ro(e){var a,r,s;if(e.busy)return;(a=e.conditionalAbort)==null||a.abort(),e.busy=!0,S(e);let t=await e.client.post("/v1/client/sign_ins/passkey/begin",{});if(!t.ok||!t.data){e.busy=!1,z(e,t.errors);return}let n;try{n=await Qe(t.data)}catch{e.busy=!1,S(e);return}let o=await e.client.post("/v1/client/sign_ins/passkey/finish",n);if(e.busy=!1,o.ok&&((r=o.data)==null?void 0:r.status)==="complete"){await $(e,(s=o.data.created_session_id)!=null?s:null);return}z(e,o.errors)}async function ao(e){var o,a,r;if(e.mode!=="sign-in"||!e.passkeyEnabled||!ne())return;let t=!1;try{t=await Wt()}catch{t=!1}if(!t)return;(o=e.conditionalAbort)==null||o.abort();let n=new AbortController;e.conditionalAbort=n;try{let s=await e.client.post("/v1/client/sign_ins/passkey/begin",{});if(!s.ok||!s.data||n.signal.aborted)return;let l=await Qe(s.data,{mediation:"conditional",signal:n.signal});if(n.signal.aborted)return;let i=await e.client.post("/v1/client/sign_ins/passkey/finish",l);i.ok&&((a=i.data)==null?void 0:a.status)==="complete"&&await $(e,(r=i.data.created_session_id)!=null?r:null)}catch{}}function so(e){let t=g(e,"button",v(e,"socialButton","atlas-embed-social-button"),"Sign in with a passkey");return t.type="button",t.setAttribute("data-atlas-passkey",""),t.disabled=e.busy,t.addEventListener("click",()=>{ro(e)}),t}function Rt(e){let t=[...e.providers];for(let n of e.nativeProviders)t.includes(n.provider)||t.push(n.provider);return t}var Tr='<svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true" fill="none"><path d="M12 2 3 21h4l5-11 5 11h4L12 2z" fill="currentColor"/></svg>';function Rr(e,t){var l;let{variant:n,labels:o}=e.social,a=(l=o.atlas)!=null?l:n==="block"?"Continue with Atlas":"Atlas",r=g(e,"button",v(e,"socialButton","atlas-embed-social-button"));r.type="button",r.setAttribute("data-atlas-provider","atlas"),r.setAttribute("data-variant",n);let s=E(e).createElement("span");if(s.className="atlas-embed-social-icon",s.innerHTML=Tr,r.appendChild(s),n==="icon")r.setAttribute("aria-label","Continue with Atlas"),r.setAttribute("title","Atlas");else{let i=E(e).createElement("span");i.className="atlas-embed-social-label",i.textContent=a,r.appendChild(i)}return r.addEventListener("click",()=>{At(e,t,{popup:!0})}),r}function io(e){let t=Rt(e),n=g(e,"div","atlas-embed-social");n.setAttribute("data-layout",e.social.layout),n.setAttribute("data-size",e.social.size),n.setAttribute("data-variant",e.social.variant),e.signInWithAtlas.enabled&&e.signInWithAtlas.connection_id&&n.appendChild(Rr(e,e.signInWithAtlas.connection_id));for(let c of t){let d=e.nativeProviders.find(u=>u.provider===c),p=c==="google"&&(d!=null&&d.client_id)?Dr(e,d.client_id):Pr(e,c);p.getAttribute("data-atlas-provider")||p.setAttribute("data-atlas-provider",c),n.appendChild(p)}let o=e.social.layout==="carousel"?Ir(e,n):n;if(!(e.social.search==="always"||e.social.search==="auto"&&t.length>Pn))return o;let r=g(e,"div","atlas-embed-social-field"),s=E(e).createElement("input");s.type="search",s.className="atlas-embed-social-search",s.setAttribute("placeholder","Search sign-in options\u2026"),s.setAttribute("aria-label","Search sign-in options"),s.autocomplete="off";let l=g(e,"div","atlas-embed-social-empty");l.textContent="No matching sign-in options.",l.setAttribute("hidden","");let i=Array.from(n.children);return s.addEventListener("input",()=>{var p;let c=s.value.trim().toLowerCase(),d=0;for(let u of i){let m=(p=u.getAttribute("data-atlas-provider"))!=null?p:"",h=c===""||Ke(m).toLowerCase().includes(c)||m.toLowerCase().includes(c);u.toggleAttribute("hidden",!h),h&&(d+=1)}l.toggleAttribute("hidden",d!==0),n.dispatchEvent(new Event("scroll"))}),r.appendChild(s),r.appendChild(o),r.appendChild(l),r}function Ir(e,t){var c;let n=(c=E(e).defaultView)!=null?c:typeof window!="undefined"?window:null,o=g(e,"div","atlas-embed-carousel"),a=d=>{let p=g(e,"button","atlas-embed-carousel-nav");return p.type="button",p.setAttribute("data-dir",d),p.setAttribute("aria-label",d==="prev"?"Scroll to previous sign-in options":"Scroll to more sign-in options"),p.innerHTML=d==="prev"?Kn:jn,p.addEventListener("click",()=>{let u=Math.max(t.clientWidth*.8,140);typeof t.scrollBy=="function"&&t.scrollBy({left:(d==="prev"?-1:1)*u,behavior:"smooth"})}),p},r=a("prev"),s=a("next"),l=()=>{let d=t.scrollWidth-t.clientWidth,p=d>2;o.setAttribute("data-overflow",p?"true":"false"),r.disabled=!p||t.scrollLeft<=1,s.disabled=!p||t.scrollLeft>=d-1};t.addEventListener("scroll",l,{passive:!0});let i=n&&n.ResizeObserver;return i?new i(l).observe(t):n&&n.addEventListener("resize",l),n!=null&&n.requestAnimationFrame&&n.requestAnimationFrame(l),l(),o.appendChild(r),o.appendChild(t),o.appendChild(s),o}function lo(e,t,n="button"){var c;let{variant:o,labels:a}=e.social,r=Ke(t),s=(c=a[t])!=null?c:o==="block"?`Continue with ${r}`:r,l=g(e,n,v(e,"socialButton","atlas-embed-social-button"));n==="button"&&(l.type="button"),l.setAttribute("data-atlas-provider",t),l.setAttribute("data-variant",o);let i=oo(t);if(i){let d=E(e).createElement("span");d.className="atlas-embed-social-icon",d.innerHTML=i,l.appendChild(d)}if(o==="icon")l.setAttribute("aria-label",`Continue with ${r}`),l.setAttribute("title",r);else{let d=E(e).createElement("span");d.className="atlas-embed-social-label",d.textContent=s,l.appendChild(d)}return l}function Pr(e,t){let n=lo(e,t);return n.addEventListener("click",()=>{$n.has(t)?(e.handlePrompt=t,S(e)):je(e,t)}),n}function co(e,t){let n=Ke(t),o=E(e).createElement("form");o.className="atlas-embed-form",o.setAttribute("novalidate","true");for(let i of e.state.errors.filter(c=>!c.param))o.appendChild(g(e,"div","atlas-embed-form-error",i.message));let a=g(e,"label",v(e,"field","atlas-embed-field"));a.appendChild(g(e,"span",v(e,"label","atlas-embed-label"),`${n} handle`));let r=E(e).createElement("input");r.className=v(e,"input","atlas-embed-input"),r.type="text",r.name="identifier",r.placeholder="you.bsky.social",r.setAttribute("autocomplete","username"),r.setAttribute("autocapitalize","none"),r.setAttribute("spellcheck","false"),a.appendChild(r),o.appendChild(a);let s=re(e,Q[e.mode].submit);o.appendChild(s);let l=g(e,"button","atlas-embed-handle-back","Back");return l.type="button",l.addEventListener("click",()=>{e.handlePrompt=null,e.state={...e.state,errors:[]},S(e)}),o.appendChild(l),o.addEventListener("submit",i=>{i.preventDefault();let c=r.value.trim();if(!c){e.state={...e.state,errors:[{code:"validation_error",message:`Enter your ${n} handle.`}]},S(e);return}je(e,t,c)}),o}function Dr(e,t){let n=lo(e,"google","div");return n.setAttribute("role","button"),n.setAttribute("tabindex","0"),Bt({wrapper:n,clientId:t,onCredential:o=>void Jn(e,"google",o),onError:()=>be(e,"Google sign-in could not start.")}).catch(()=>{n.addEventListener("click",()=>void je(e,"google"))}),n}function be(e,t){e.root.textContent="";let n=g(e,"div",v(e,"card","atlas-embed-card"));n.appendChild(g(e,"p","atlas-embed-note",t)),e.root.appendChild(n)}function po(e){e.root.textContent="";let t=g(e,"div",v(e,"card","atlas-embed-card")),n=e.interaction.loading,o=g(e,"div","atlas-embed-loading");if(o.setAttribute("data-loading",n),o.setAttribute("role","status"),o.setAttribute("aria-label","Loading"),n==="skeleton")for(let r of["title","sub","input","input","button"])o.appendChild(g(e,"div",`atlas-embed-skel atlas-embed-skel-${r}`));else if(n==="dots")for(let r=0;r<3;r+=1)o.appendChild(g(e,"span","atlas-embed-dot"));else n==="bar"?o.appendChild(g(e,"span","atlas-embed-loadbar")):o.appendChild(g(e,"span","atlas-embed-spinner"));let a=g(e,"span","atlas-embed-sr","Loading\u2026");o.appendChild(a),t.appendChild(o),e.root.appendChild(t)}function z(e,t){e.state={...e.state,errors:[...t]},S(e)}function S(e){var c,d,p,u,m,h,y,k,w,R;e.root.textContent="";let t=g(e,"div",v(e,"card","atlas-embed-card")),n=(d=(c=e.appearance)==null?void 0:c.logoUrl)!=null?d:null;if(n){let b=E(e).createElement("img");b.className="atlas-embed-logo",b.src=n,b.alt=(u=(p=e.appearance)==null?void 0:p.applicationName)!=null?u:"",t.appendChild(b)}if(e.resetFlow){let b=`reset_${oe(e.resetFlow)}`;if(t.setAttribute("data-step",b),b!==e.lastStepKind&&t.setAttribute("data-enter",""),e.lastStepKind=b,t.appendChild(eo(e)),(m=e.appearance)!=null&&m.footer&&t.appendChild(g(e,"p",v(e,"footer","atlas-embed-footer"),e.appearance.footer)),e.root.appendChild(t),t.hasAttribute("data-enter")){let C=t.querySelector("[data-atlas-autofocus]");C instanceof HTMLElement&&C.focus()}return}let o=e.state.attempt?B(e.state.attempt):{kind:"collect_identifier"},a=e.mode==="sign-up"&&!e.state.attempt,r=a||o.kind==="collect_identifier",s=e.handlePrompt?"handle":o.kind;t.setAttribute("data-step",s),s!==e.lastStepKind&&t.setAttribute("data-enter",""),e.lastStepKind=s;let l=(y=(h=e.appearance)==null?void 0:h.headline)!=null?y:Q[e.mode].title;t.appendChild(g(e,"h1",v(e,"title","atlas-embed-title"),l));let i=r?null:Lr(e,o.kind);if(i?t.appendChild(i):(k=e.appearance)!=null&&k.subheadline&&t.appendChild(g(e,"p",v(e,"subtitle","atlas-embed-subtitle"),e.appearance.subheadline)),e.flash&&t.appendChild(g(e,"div","atlas-embed-flash",e.flash)),e.handlePrompt){t.appendChild(co(e,e.handlePrompt)),(w=e.appearance)!=null&&w.footer&&t.appendChild(g(e,"p",v(e,"footer","atlas-embed-footer"),e.appearance.footer)),e.root.appendChild(t);return}if(r&&(Rt(e).length>0||e.signInWithAtlas.enabled)&&(t.appendChild(io(e)),t.appendChild(g(e,"div",v(e,"divider","atlas-embed-divider"),"or"))),t.appendChild(a?no(e):to(e,o.kind)),r&&e.mode==="sign-in"&&e.passkeyEnabled&&ne()&&t.appendChild(so(e)),(R=e.appearance)!=null&&R.footer&&t.appendChild(g(e,"p",v(e,"footer","atlas-embed-footer"),e.appearance.footer)),e.root.appendChild(t),t.hasAttribute("data-enter")){let b=t.querySelector("[data-atlas-autofocus]");b instanceof HTMLElement&&b.focus()}}function Lr(e,t){let n=e.enteredIdentifier,o=null,a=!1;switch(t){case"collect_email_code":o=n?`Enter the code we sent to ${n}`:"Enter the code we sent to your email",a=!0;break;case"collect_first_factor":o=n?`Enter the password for ${n}`:"Enter your password",a=!0;break;case"collect_second_factor":o=e.backupCodeMode?"Enter one of your backup codes":"Enter the code from your authenticator app";break;case"collect_new_password":o="Choose a new password";break;case"enroll_second_factor":o="Enter two codes from your authenticator app to finish setup";break;default:return null}let r=g(e,"div","atlas-embed-step-context");if(r.appendChild(g(e,"p",v(e,"subtitle","atlas-embed-subtitle"),o)),a){let s=g(e,"button","atlas-embed-step-back","Use a different email");s.type="button",s.addEventListener("click",()=>Or(e)),r.appendChild(s)}return r}function Or(e){e.state=F,e.backupCodeMode=!1,e.handlePrompt=null,e.enteredIdentifier=null,S(e)}var se=class{constructor(t,n){this.root=t;this.options=n;f(this,"client");f(this,"mode");f(this,"appearance",null);f(this,"design",null);f(this,"appliedDesign");f(this,"providers",[]);f(this,"nativeProviders",[]);f(this,"signInWithAtlas",{enabled:!1});f(this,"social",Et(void 0,void 0));f(this,"codeInputStyle","boxes");f(this,"interaction",$e(void 0,void 0));f(this,"backupCodeMode",!1);f(this,"enteredIdentifier",null);f(this,"lastStepKind",null);f(this,"signUpFields",[]);f(this,"passwordEnabled",!0);f(this,"passkeyEnabled",!1);f(this,"passwordResetEnabled",!0);f(this,"passwordSignUpEnabled",!0);f(this,"conditionalAbort");f(this,"rememberMeEnabled",!1);f(this,"remember",!0);f(this,"trustedDeviceEnabled",!1);f(this,"rememberDevice",!1);f(this,"captchaFlows",{});f(this,"captchaHost");f(this,"state",F);f(this,"resetFlow",null);f(this,"flash",null);f(this,"handlePrompt",null);f(this,"busy",!1);f(this,"recorder");var o,a;this.mode=(o=n.mode)!=null?o:"sign-in",this.interaction=$e(void 0,(a=n.appearance)==null?void 0:a.interaction),this.client=Un({publishableKey:n.publishableKey,frontendApi:n.frontendApi,fetchImpl:n.fetchImpl})}async mount(){var o,a,r,s,l,i,c,d,p,u,m,h,y,k,w,R,b,C,L,A,O,_,P,K,te;if(Wn((o=this.root.ownerDocument)!=null?o:document),this.root.classList.add("atlas-embed-root"),this.resolveDesign(null),this.applyTheme(),this.applyInteraction(),po(this),await qn(this))return;let n=await Bn(this.client);if(n){this.appearance=n.appearance;let j=(a=n.provider_scopes)!=null?a:{},ie=qe=>{let Ye=j[qe];return Ye?this.mode==="sign-up"?Ye.sign_up:Ye.sign_in:!0};this.providers=Nn((r=n.providers)!=null?r:[],n.appearance).filter(ie),this.nativeProviders=((s=n.native_providers)!=null?s:[]).filter(qe=>ie(qe.provider)),this.passwordEnabled=(i=(l=n.strategies)==null?void 0:l.password)!=null?i:!0,this.passkeyEnabled=(d=(c=n.strategies)==null?void 0:c.passkey)!=null?d:!1,this.passwordResetEnabled=(u=(p=n.email_delivery)==null?void 0:p.password_reset)!=null?u:!0,this.passwordSignUpEnabled=(h=(m=n.email_delivery)==null?void 0:m.password_sign_up)!=null?h:!0,this.signInWithAtlas=(y=n.sign_in_with_atlas)!=null?y:{enabled:!1},this.rememberMeEnabled=n.rememberMe===!0,this.trustedDeviceEnabled=n.rememberDevice===!0,this.captchaFlows=(k=n.captchaFlows)!=null?k:{},this.resolveDesign(An(n)),this.applyTheme()}this.social=Et(this.design?{...(w=this.appearance)==null?void 0:w.socialButtons,...this.design.socialButtons}:(R=this.appearance)==null?void 0:R.socialButtons,(b=this.options.appearance)==null?void 0:b.socialButtons),this.codeInputStyle=In((C=this.appearance)==null?void 0:C.codeInput,(L=this.options.appearance)==null?void 0:L.codeInput),this.interaction=$e(this.design?{...(A=this.appearance)==null?void 0:A.interaction,...this.design.interaction}:(O=this.appearance)==null?void 0:O.interaction,(_=this.options.appearance)==null?void 0:_.interaction),this.applyInteraction(),this.signUpFields=(K=(P=this.appearance)==null?void 0:P.signUpFields)!=null?K:[];try{this.recorder=new _e((te=this.root.ownerDocument)!=null?te:document)}catch{}S(this),ao(this)}applyTheme(){var o,a,r;let t=(a=(o=this.design)==null?void 0:o.tokens)!=null?a:Ln(this.appearance,this.options.appearance),n=On(t);for(let[s,l]of Object.entries(n))this.root.style.setProperty(s,l);this.root.style.setProperty("--atlas-embed-color-text-on-primary",Fn(t.colorPrimary)),this.design&&(this.appliedDesign=Tn((r=this.root.ownerDocument)!=null?r:document,this.root,this.design.render,this.appliedDesign))}resolveDesign(t){var a,r,s;let n=(r=(a=this.root.ownerDocument)==null?void 0:a.defaultView)!=null?r:typeof window!="undefined"?window:null,o=!1;try{o=!!((s=n==null?void 0:n.matchMedia)!=null&&s.call(n,"(prefers-color-scheme: dark)").matches)}catch{}this.design=zn(t,this.options.appearance,{frontendApi:this.options.frontendApi,prefersDark:o})}applyInteraction(){let t=this.interaction;this.root.setAttribute("data-button-style",t.buttonStyle),this.root.setAttribute("data-button-effect",t.buttonEffect),this.root.setAttribute("data-shadow",t.shadow),this.root.setAttribute("data-density",t.density),this.root.setAttribute("data-input-style",t.inputStyle);let n=t.animations?Dn[t.motionSpeed]:0;this.root.style.setProperty("--atlas-embed-motion",`${n}ms`)}};var ee={};function uo(e){ee=e}function fo(e){if(!e)return{};let t=e.dataset,n={};return t.atlasKey&&(n.publishableKey=t.atlasKey),t.atlasFapi&&(n.frontendApi=t.atlasFapi),t.atlasRedirect&&(n.redirect=t.atlasRedirect),n}function go(e,t){var c,d,p,u,m,h,y;let n=e.dataset,o=k=>{var w;return(w=e.getAttribute(k))!=null?w:void 0},a=(d=(c=n.atlasKey)!=null?c:o("publishable-key"))!=null?d:ee.publishableKey,r=(u=(p=n.atlasFapi)!=null?p:o("frontend-api"))!=null?u:ee.frontendApi,s=(h=(m=n.atlasRedirect)!=null?m:o("redirect"))!=null?h:ee.redirect;if(!a||!r)return null;let l={publishableKey:a,frontendApi:r,mode:t};s&&(l.redirect=s);let i=(y=n.atlasPreset)!=null?y:o("preset");return i&&(l.appearance={preset:i}),l}function mo(e,t={}){var a,r,s;let n=(a=t.publishableKey)!=null?a:ee.publishableKey,o=(r=t.frontendApi)!=null?r:ee.frontendApi;return!n||!o?null:{...t,publishableKey:n,frontendApi:o,redirect:(s=t.redirect)!=null?s:ee.redirect,mode:e}}var Ve=class extends HTMLElement{constructor(){super(...arguments);f(this,"widget",null)}connectedCallback(){if(this.widget)return;let n=go(this,this.mode);if(!n){this.textContent="Atlas: set data-atlas-key (publishable key) and data-atlas-fapi (frontend API origin).";return}this.widget=new se(this,n),this.widget.mount()}},It=class extends Ve{constructor(){super(...arguments);f(this,"mode","sign-in")}},Pt=class extends Ve{constructor(){super(...arguments);f(this,"mode","sign-up")}};function Dt(){typeof customElements!="undefined"&&(customElements.get("atlas-sign-in")||customElements.define("atlas-sign-in",It),customElements.get("atlas-sign-up")||customElements.define("atlas-sign-up",Pt))}function Fr(e){let t=typeof e=="string"?document.querySelector(e):e;return t instanceof HTMLElement?t:null}function bo(e,t,n){let o=Fr(t);if(!o)return null;let a=mo(e,n);if(!a)return o.textContent="Atlas: a publishable key and a frontend API origin are required to mount the widget.",null;let r=new se(o,a);return r.mount(),r}function ho(e,t={}){return bo("sign-in",e,t)}function yo(e,t={}){return bo("sign-up",e,t)}function Mr(){var t;let e=document.currentScript;return e instanceof HTMLScriptElement?e:(t=document.querySelector("script[data-atlas-key]"))!=null?t:document.querySelector('script[src*="embed.js"]')}function Nr(){uo(fo(Mr())),Dt(),window.Atlas={mountSignIn:ho,mountSignUp:yo,defineElements:Dt}}Nr();})();
|
|
371
|
+
`;function $n(e=document){var n;if(e.querySelector(`style[data-${zn}]`))return;let t=e.createElement("style");t.setAttribute(`data-${zn}`,""),t.textContent=Ar,((n=e.head)!=null?n:e.documentElement).appendChild(t)}function Kn(e,t,n={}){var u;let o=_n({instance:(t==null?void 0:t.instanceDesign)===!1?null:e,preset:t==null?void 0:t.preset,design:t==null?void 0:t.design,warn:An});if(!o)return null;let r=o.colorScheme==="dark"||o.colorScheme==="auto"&&!!n.prefersDark?o.paletteDark:o.palette,s={colorPrimary:r.primary,colorText:r.text,colorBackground:r.background,colorAccent:r.accent,colorCard:r.surface,colorBorder:r.border,borderRadius:`${Math.min(o.shape.controlRadius,24)}px`,fontFamily:bt(o.typography.font)};for(let[p,f]of Object.entries((u=t==null?void 0:t.variables)!=null?u:{}))f!==void 0&&(s[p]=f);let l=o.elevation.cardShadow==="xl"?"lg":o.elevation.cardShadow,i={buttonStyle:o.buttons.style==="gradient"?"solid":o.buttons.style,shadow:o.card.style==="outline"||o.card.style==="none"?"none":l,density:o.spacing.density==="compact"?"compact":"comfortable",inputStyle:o.inputs.style},c=o.buttons.socialLayout==="icons"?{variant:"icon",layout:"grid"}:{layout:o.buttons.socialLayout==="grid"?"grid":"list"},d=Sn(JSON.stringify(o));return{render:{style:{},attributes:{..._t(o),"data-atlas-design":d},css:"",key:d,fontStylesheets:En(o,n.frontendApi)},tokens:s,interaction:i,socialButtons:c,resolved:o}}var jn=new Set(["bluesky"]),Vn='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M15 18l-6-6 6-6"/></svg>',Gn='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 18l6-6-6-6"/></svg>',Q={"sign-in":{title:"Sign in",submit:"Continue"},"sign-up":{title:"Create your account",submit:"Continue"}};function E(e){var t;return(t=e.root.ownerDocument)!=null?t:document}function m(e,t,n,o){let a=E(e).createElement(t);return n&&(a.className=n),o!=null&&(a.textContent=o),(a.classList.contains("atlas-embed-button")||a.classList.contains("atlas-embed-social-button"))&&Tr(e,a),a}function k(e,t,n){return Un(t,n,e.options.appearance)}function Tr(e,t){e.interaction.buttonEffect!=="ripple"||!e.interaction.animations||t.addEventListener("pointerdown",n=>{let o=t.getBoundingClientRect(),a=Math.max(o.width,o.height),r=E(e).createElement("span");r.className="atlas-embed-ripple",r.style.width=r.style.height=`${a}px`,r.style.left=`${n.clientX-o.left-a/2}px`,r.style.top=`${n.clientY-o.top-a/2}px`,r.addEventListener("animationend",()=>r.remove()),t.appendChild(r)})}function se(e,t){let n=m(e,"button",k(e,"buttonPrimary","atlas-embed-button"));if(n.type="submit",n.disabled=e.busy,e.busy){n.setAttribute("data-busy",""),n.setAttribute("aria-label",t);let o=m(e,"span","atlas-embed-btn-spinner");o.setAttribute("aria-hidden","true"),n.appendChild(o)}else n.textContent=t;return n}function qn(e,t=typeof window!="undefined"?window.location.origin:""){if(!e||typeof e!="string")return null;if(e.startsWith("/")&&!e.startsWith("//"))try{return t?new URL(e,t).toString():e}catch{return null}let n;try{n=new URL(e)}catch{return null}return t&&n.origin===t||n.protocol==="https:"?n.toString():null}async function At(e,t,n=!1){var l,i,c;let o=e.captchaFlows[t];if(!(n?!!o&&pe(o.provider):Ae(o))||!o)return null;let r=(l=e.root.ownerDocument)!=null?l:document,s=r.createElement("div");s.className="atlas-embed-captcha",((c=(i=e.root.parentElement)!=null?i:r.body)!=null?c:r.documentElement).appendChild(s);try{return await lt(o,s)}catch{return null}finally{s.remove()}}async function Jn(e){var o,a;let t=(a=(o=e.root.ownerDocument)==null?void 0:o.defaultView)!=null?a:typeof window!="undefined"?window:null;if(!t)return!1;let n=Mt(t.location.search);return n?n.ticket?(await ie(e,n.attemptId,n.ticket),Yn(e,t),await $(e,n.attemptId),!0):(n.status&&(e.state=we({id:n.attemptId,status:n.status}),Yn(e,t)),!1):!1}function Yn(e,t){try{t.history.replaceState({},t.document.title,ke(t.location.href))}catch{}}async function ie(e,t,n){e.options.preview||await e.client.post("/v1/client/tickets/exchange",{attempt_id:t,ticket:n,remember:e.remember})}async function $(e,t){var a,r;let n=(r=(a=e.root.ownerDocument)==null?void 0:a.defaultView)!=null?r:typeof window!="undefined"?window:null,o=qn(e.options.redirect,n?n.location.origin:void 0);if(e.root.dispatchEvent(new CustomEvent("atlas:complete",{bubbles:!0,detail:{attemptId:t,redirected:!!o}})),e.options.preview){ye(e,"Sign-in works \u2014 this is a preview, so no session was created.");return}if(o&&n){n.location.assign(o);return}ye(e,"You are signed in.")}function ve(e,t){Kt({api:e.options.frontendApi,publishableKey:e.options.publishableKey,attemptId:t!=null?t:void 0,kind:e.mode==="sign-up"?"sign_up":"sign_in",recorder:e.recorder,fetchImpl:e.options.fetchImpl})}async function Zn(e,t){var r,s,l,i,c;if(e.busy)return;if((r=e.conditionalAbort)==null||r.abort(),e.flash=null,typeof t.identifier=="string"&&t.identifier.trim()&&(e.enteredIdentifier=t.identifier.trim()),e.busy=!0,ve(e,(s=e.state.attempt)==null?void 0:s.id),S(e),e.state=await de(e.client,e.state,t),e.state.attempt&&B(e.state.attempt).kind==="collect_captcha"){let d=await At(e,"signIn",!0);d&&(e.state=await de(e.client,e.state,{identifier:(i=(l=e.enteredIdentifier)!=null?l:t.identifier)!=null?i:"",captcha_token:d}))}let n=e.state.attempt?B(e.state.attempt):null;(n==null?void 0:n.kind)==="collect_first_factor"&&t.password&&e.state.errors.length===0&&(e.state=await de(e.client,e.state,{password:t.password})),e.busy=!1;let o=e.state.attempt?B(e.state.attempt):null;e.mode==="sign-in"&&e.passwordEnabled&&(o==null?void 0:o.kind)==="collect_first_factor"&&(e.state={...M,errors:e.state.errors});let a=e.state.attempt;if((a==null?void 0:a.status)==="complete"){let d=(c=a.id)!=null?c:null;e.state.ticket&&d&&await ie(e,d,e.state.ticket),await $(e,d);return}S(e)}async function Je(e,t,n){var l,i,c;ve(e);let o=(i=(l=e.root.ownerDocument)==null?void 0:l.defaultView)!=null?i:typeof window!="undefined"?window:null,a=o?ke(o.location.href):e.options.frontendApi,r=await e.client.post("/v1/client/sign_ins/oauth",{provider:t,redirect_url:a,...n?{identifier:n}:{}}),s=(c=r.data)==null?void 0:c.authorization_url;s&&o?o.location.assign(s):(e.handlePrompt=null,z(e,r.errors))}async function Tt(e,t,n={}){var l,i,c;ve(e);let o=(i=(l=e.root.ownerDocument)==null?void 0:l.defaultView)!=null?i:typeof window!="undefined"?window:null,a=o?ke(o.location.href):e.options.frontendApi;if(n.popup&&o){await Pr(e,t,o,a);return}let r=await e.client.post("/v1/client/sign_ins/sso",{connection_id:t,redirect_url:a}),s=(c=r.data)==null?void 0:c.authorization_url;s&&o?o.location.assign(s):z(e,r.errors)}function Rr(e){let t=e.options.frontendApi;try{return new URL(/^https?:\/\//.test(t)?t:`https://${t}`).origin}catch{return t}}async function Pr(e,t,n,o){var u;let a=n.open("about:blank","atlas-sso","width=480,height=640,menubar=no,toolbar=no,location=no,status=no");if(!a){await Tt(e,t);return}let r=o.includes("?")?"&":"?",s=`${o}${r}__atlas_display=popup`,l=Rr(e),i=p=>{if(p.origin!==l)return;let f=p.data;if(!(!f||f.type!=="atlas-sso")){n.removeEventListener("message",i);try{a.close()}catch{}if(f.error){z(e,[{code:"sso_popup_cancelled",message:"Sign-in was cancelled."}]);return}if(f.status==="complete"&&f.ticket&&f.attempt_id){let h=f.attempt_id,y=f.ticket;(async()=>(await ie(e,h,y),await $(e,h)))();return}f.attempt_id&&f.status&&(e.state=we({id:f.attempt_id,status:f.status}),S(e))}};n.addEventListener("message",i);let c=await e.client.post("/v1/client/sign_ins/sso",{connection_id:t,redirect_url:s}),d=(u=c.data)==null?void 0:u.authorization_url;if(d)try{a.location.assign(d)}catch{try{a.close()}catch{}n.removeEventListener("message",i),n.location.assign(d)}else{n.removeEventListener("message",i);try{a.close()}catch{}z(e,c.errors)}}async function Xn(e,t,n){let o=await e.client.post("/v1/client/sign_ins/id_token",Ut({provider:t,idToken:n})),a=Bt(o.data);if(!a){z(e,o.errors);return}if(a.status==="complete"&&a.ticket){await ie(e,a.attemptId,a.ticket),await $(e,a.attemptId);return}e.state=we({id:a.attemptId,status:a.status}),S(e)}function Qn(e){e.resetFlow={...it},S(e)}async function eo(e,t){var o,a;if(e.busy||!e.resetFlow)return;if(e.busy=!0,ve(e),S(e),oe(e.resetFlow)==="request"){typeof t.email=="string"&&t.email.trim()&&(e.enteredIdentifier=t.email.trim());let r=await At(e,"passwordReset");e.resetFlow=await jt(e.client,(o=t.email)!=null?o:"",r!=null?r:void 0)}else e.resetFlow=await Vt(e.client,e.resetFlow,{code:t.code,password:t.password});e.busy=!1;let n=e.resetFlow;if(((a=n==null?void 0:n.attempt)==null?void 0:a.status)==="complete"){let r=n.attempt.id;e.resetFlow=null,n.ticket?(await ie(e,r,n.ticket),await $(e,r)):(e.flash="Password updated. Sign in with your new password.",e.state=M,S(e));return}S(e)}async function to(e,t,n=!0){var c;if(e.busy)return;e.busy=!0,ve(e),S(e);let{identifier:o,password:a,...r}=t,s={};for(let[d,u]of Object.entries(r))u&&(s[d]=u);let l=await At(e,"signUp");e.state=await ot(e.client,{email:o!=null?o:"",password:a!=null?a:"",fields:s,consent:n,captchaToken:l!=null?l:void 0}),e.busy=!1;let i=e.state.attempt;if((i==null?void 0:i.status)==="complete"){let d=(c=i.id)!=null?c:null;e.state.ticket&&d&&await ie(e,d,e.state.ticket),await $(e,d);return}S(e)}function no(e){var p;let t=e.resetFlow,n=oe(t),o=m(e,"div","atlas-embed-reset");o.appendChild(m(e,"h1",k(e,"title","atlas-embed-title"),"Reset your password"));let a=E(e).createElement("form"),r=t.errors,s=new Map,l=r.find(f=>!f.param);l&&a.appendChild(m(e,"div","atlas-embed-form-error",l.message));let i=null,c="Continue",d=!0;switch(n){case"request":i="Enter your email and we\u2019ll send you a reset code.",c="Send reset code",Ze(e,a,s,r,"email","Email address","email","username");{let f=s.get("email");f&&(e.enteredIdentifier&&(f.value=e.enteredIdentifier),f.setAttribute("data-atlas-autofocus",""))}break;case"collect_email_code":i=e.enteredIdentifier?`Enter the code we sent to ${e.enteredIdentifier}`:"Enter the code we sent to your email",Rt(e,a,s,r,"code","Reset code",!0);break;case"collect_second_factor":i="Enter the code from your authenticator app",Rt(e,a,s,r,"code","Two-factor code",!0);break;case"collect_new_password":i="Choose a new password",c="Set new password",Ze(e,a,s,r,"password","New password","password","new-password"),(p=s.get("password"))==null||p.setAttribute("data-atlas-autofocus","");break;default:d=!1,a.appendChild(m(e,"p","atlas-embed-note","You\u2019re all set."))}i&&o.appendChild(m(e,"p",k(e,"subtitle","atlas-embed-subtitle"),i)),o.appendChild(a),d&&a.appendChild(se(e,c));let u=m(e,"button","atlas-embed-step-back","Back to sign in");return u.type="button",u.addEventListener("click",()=>{e.resetFlow=null,S(e)}),a.appendChild(u),a.addEventListener("submit",f=>{f.preventDefault();let h={};for(let[y,v]of s)h[y]=v.value;eo(e,h)}),o}function Ze(e,t,n,o,a,r,s,l){let i=m(e,"label",k(e,"field","atlas-embed-field"));i.appendChild(m(e,"span",k(e,"label","atlas-embed-label"),r));let c=E(e).createElement("input");if(c.className=k(e,"input","atlas-embed-input"),c.type=s,c.name=a,c.setAttribute("autocomplete",l),s==="password"){let d=m(e,"div","atlas-embed-password");d.appendChild(c);let u=m(e,"button","atlas-embed-password-toggle","Show");u.type="button",u.setAttribute("aria-label","Show password"),u.addEventListener("click",p=>{p.preventDefault();let f=c.type==="password";c.type=f?"text":"password",u.textContent=f?"Hide":"Show",u.setAttribute("aria-label",f?"Hide password":"Show password")}),d.appendChild(u),i.appendChild(d)}else i.appendChild(c);for(let d of o.filter(u=>u.param===a))i.appendChild(m(e,"span",k(e,"error","atlas-embed-error"),d.message));n.set(a,c),t.appendChild(i)}function Rt(e,t,n,o,a,r,s){var h;if(e.codeInputStyle==="single"){Ze(e,t,n,o,a,r,"text","one-time-code"),s&&((h=n.get(a))==null||h.setAttribute("data-atlas-autofocus",""));return}let i=m(e,"div",k(e,"field","atlas-embed-field"));i.appendChild(m(e,"span",k(e,"label","atlas-embed-label"),r));let c=m(e,"div","atlas-embed-code");c.setAttribute("role","group"),c.setAttribute("aria-label",r);let d=E(e).createElement("input");d.type="hidden",d.name=a,n.set(a,d);let u=[],p=()=>{d.value=u.map(y=>y.value).join("")},f=()=>{d.value.length!==6||e.busy||t.dispatchEvent(new Event("submit",{cancelable:!0,bubbles:!0}))};for(let y=0;y<6;y++){let v=E(e).createElement("input");v.className="atlas-embed-code-box",v.type="text",v.setAttribute("inputmode","numeric"),v.setAttribute("autocomplete",y===0?"one-time-code":"off"),v.setAttribute("aria-label",`${r} digit ${y+1}`),v.maxLength=1,s&&y===0&&v.setAttribute("data-atlas-autofocus",""),v.addEventListener("input",()=>{v.value=v.value.replace(/\D/g,"").slice(0,1),p(),v.value&&y<5&&u[y+1].focus(),f()}),v.addEventListener("keydown",w=>{w.key==="Backspace"&&!v.value&&y>0&&u[y-1].focus()}),v.addEventListener("paste",w=>{var b,C,L;w.preventDefault();let R=((C=(b=w.clipboardData)==null?void 0:b.getData("text"))!=null?C:"").replace(/\D/g,"").slice(0,6);for(let A=0;A<6;A++)u[A].value=(L=R[A])!=null?L:"";p(),u[Math.min(R.length,5)].focus(),f()}),u.push(v),c.appendChild(v)}i.appendChild(c),i.appendChild(d);for(let y of o.filter(v=>v.param===a))i.appendChild(m(e,"span",k(e,"error","atlas-embed-error"),y.message));t.appendChild(i)}function oo(e,t){let n=E(e).createElement("form"),o=e.state.errors.find(d=>!d.param);o&&n.appendChild(m(e,"div","atlas-embed-form-error",o.message));let a=new Map,r=e.state.errors,s=(d,u,p,f)=>Ze(e,n,a,r,d,u,p,f),l=(d,u,p)=>Rt(e,n,a,r,d,u,p),i=!0;switch(t){case"collect_identifier":if(s("identifier","Email address","email",e.passkeyEnabled&&ne()?"username webauthn":"username"),e.enteredIdentifier&&(a.get("identifier").value=e.enteredIdentifier),e.mode==="sign-in"&&e.passwordEnabled&&s("password","Password","password","current-password"),e.mode==="sign-in"&&e.rememberMeEnabled){let d=m(e,"label","atlas-embed-remember"),u=E(e).createElement("input");u.type="checkbox",u.className="atlas-embed-remember-check",u.checked=e.remember,u.addEventListener("change",()=>{e.remember=u.checked}),d.appendChild(u),d.appendChild(m(e,"span","atlas-embed-remember-text","Remember me")),n.appendChild(d)}break;case"collect_first_factor":s("password","Password","password","current-password");break;case"collect_second_factor":if(e.backupCodeMode?s("code","Backup code","text","one-time-code"):l("code","Two-factor code",!0),e.trustedDeviceEnabled){let d=m(e,"label","atlas-embed-remember"),u=E(e).createElement("input");u.type="checkbox",u.className="atlas-embed-remember-check",u.checked=e.rememberDevice,u.addEventListener("change",()=>{e.rememberDevice=u.checked}),d.appendChild(u),d.appendChild(m(e,"span","atlas-embed-remember-text","Remember this device")),n.appendChild(d)}break;case"collect_email_code":l("code","Verification code",!0);break;case"collect_new_password":s("password","New password","password","new-password");break;case"enroll_second_factor":l("code","Authenticator code",!0),l("secondCode","Next code",!1);break;default:i=!1,n.appendChild(m(e,"p","atlas-embed-note","Please continue in your application."))}if(i&&n.appendChild(se(e,Q[e.mode].submit)),t==="collect_second_factor"){let d=m(e,"button","atlas-embed-step-back",e.backupCodeMode?"Use your authenticator app":"Use a backup code instead");d.type="button",d.addEventListener("click",()=>{e.backupCodeMode=!e.backupCodeMode,S(e)}),n.appendChild(d)}if((t==="collect_identifier"&&e.mode==="sign-in"&&e.passwordEnabled||t==="collect_first_factor")&&e.passwordResetEnabled){let d=m(e,"button","atlas-embed-step-back","Forgot password?");d.type="button",d.addEventListener("click",()=>Qn(e)),n.appendChild(d)}return n.addEventListener("submit",d=>{d.preventDefault();let u={};for(let[p,f]of a)u[p]=f.value;t==="collect_second_factor"&&e.trustedDeviceEnabled&&e.rememberDevice&&(u.remember_device="true"),Zn(e,u)}),n}function Ir(e){var i;let t=(i=e.appearance)==null?void 0:i.legal;if(!t||!t.termsUrl&&!t.privacyUrl)return null;let n=E(e),o=m(e,"div","atlas-embed-consent"),a=null;t.required&&(a=n.createElement("input"),a.type="checkbox",a.className="atlas-embed-consent-check",a.setAttribute("aria-label","Agree to the terms and privacy policy"),o.appendChild(a));let r=m(e,"span","atlas-embed-consent-text"),s=(c,d)=>{let u=n.createElement("a");return u.href=c,u.textContent=d,u.target="_blank",u.rel="noopener noreferrer",u.className="atlas-embed-consent-link",u};r.appendChild(n.createTextNode(t.required?"I agree to the ":"By continuing you agree to the "));let l=[];return t.termsUrl&&l.push(s(t.termsUrl,"Terms of Service")),t.privacyUrl&&l.push(s(t.privacyUrl,"Privacy Policy")),l.forEach((c,d)=>{d>0&&r.appendChild(n.createTextNode(" and ")),r.appendChild(c)}),r.appendChild(n.createTextNode(".")),o.appendChild(r),{row:o,checkbox:a}}var Dr="This app can't send email right now. Try another sign-in method or contact the app owner.";function ro(e){var i;let t=E(e).createElement("form");if(!e.passwordSignUpEnabled)return t.appendChild(m(e,"div","atlas-embed-form-error",Dr)),t;let n=e.state.errors.find(c=>!c.param);n&&t.appendChild(m(e,"div","atlas-embed-form-error",n.message));let o=new Map,a=(c,d,u)=>{var v,w,R;let p=(v=u.type)!=null?v:"text",f=p==="radio"||p==="multiselect",h=m(e,f?"fieldset":"label",k(e,"field","atlas-embed-field"));h.appendChild(m(e,f?"legend":"span",k(e,"label","atlas-embed-label"),u.required?d:`${d} (optional)`));let y=E(e);if(p==="select"){let b=y.createElement("select");b.className=k(e,"input","atlas-embed-input"),b.name=c;let C=y.createElement("option");C.value="",C.textContent=u.placeholder||"Select\u2026",b.appendChild(C);for(let L of(w=u.options)!=null?w:[]){let A=y.createElement("option");A.value=L,A.textContent=L,b.appendChild(A)}h.appendChild(b),o.set(c,()=>b.value)}else if(p==="textarea"){let b=y.createElement("textarea");b.className=k(e,"input","atlas-embed-input"),b.name=c,b.rows=3,u.placeholder&&b.setAttribute("placeholder",u.placeholder),h.appendChild(b),o.set(c,()=>b.value)}else if(p==="checkbox"){let b=y.createElement("input");b.type="checkbox",b.name=c,b.className="atlas-embed-checkbox",h.classList.add("atlas-embed-field-checkbox"),h.appendChild(b),o.set(c,()=>b.checked?"true":"")}else if(p==="radio"||p==="multiselect"){let b=y.createElement("div");b.className="atlas-embed-choices";let C=[];for(let L of(R=u.options)!=null?R:[]){let A=y.createElement("label");A.className="atlas-embed-choice";let O=y.createElement("input");O.type=p==="radio"?"radio":"checkbox",O.name=c,O.value=L,C.push(O),A.appendChild(O),A.appendChild(m(e,"span",void 0,L)),b.appendChild(A)}h.appendChild(b),o.set(c,()=>{var L,A;return p==="radio"?(A=(L=C.find(O=>O.checked))==null?void 0:L.value)!=null?A:"":C.filter(O=>O.checked).map(O=>O.value).join(", ")})}else{let b=y.createElement("input");b.className=k(e,"input","atlas-embed-input"),b.type=p,b.name=c,u.autocomplete&&b.setAttribute("autocomplete",u.autocomplete),u.placeholder&&b.setAttribute("placeholder",u.placeholder),h.appendChild(b),o.set(c,()=>b.value)}for(let b of e.state.errors.filter(C=>C.param===c))h.appendChild(m(e,"span",k(e,"error","atlas-embed-error"),b.message));t.appendChild(h)};for(let c of e.signUpFields)a(c.key,c.label,{type:c.type,required:c.required,placeholder:c.placeholder,options:c.options});a("identifier","Email address",{type:"email",required:!0,autocomplete:"email"}),a("password","Password",{type:"password",required:!0,autocomplete:"new-password"});let r=Ir(e);r&&t.appendChild(r.row);let s=se(e,Q[e.mode].submit),l=()=>!(r!=null&&r.checkbox)||r.checkbox.checked;return s.disabled=e.busy||!l(),(i=r==null?void 0:r.checkbox)==null||i.addEventListener("change",()=>{s.disabled=e.busy||!l()}),t.appendChild(s),t.addEventListener("submit",c=>{c.preventDefault();let d={};for(let[u,p]of o)d[u]=p();to(e,d,l())}),t}var Lr={google:'<path fill="#4285F4" d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"/><path fill="#34A853" d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"/><path fill="#FBBC05" d="M5.84 14.1c-.22-.66-.35-1.36-.35-2.1s.13-1.44.35-2.1V7.06H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.94l3.66-2.84z"/><path fill="#EA4335" d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.06l3.66 2.84C6.71 7.31 9.14 5.38 12 5.38z"/>',microsoft:'<path fill="#F25022" d="M2 2h9.3v9.3H2z"/><path fill="#7FBA00" d="M12.7 2H22v9.3h-9.3z"/><path fill="#00A4EF" d="M2 12.7h9.3V22H2z"/><path fill="#FFB900" d="M12.7 12.7H22V22h-9.3z"/>'},Or={github:{fill:"currentColor",path:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"},apple:{fill:"currentColor",path:"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"},x:{fill:"currentColor",path:"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z"},notion:{fill:"currentColor",path:"M4.459 4.208c.746.606 1.026.56 2.428.466l13.215-.793c.28 0 .047-.28-.046-.326L17.86 1.968c-.42-.326-.981-.7-2.055-.607L3.01 2.295c-.466.046-.56.28-.374.466zm.793 3.08v13.904c0 .747.373 1.027 1.214.98l14.523-.84c.841-.046.935-.56.935-1.167V6.354c0-.606-.233-.933-.748-.887l-15.177.887c-.56.047-.747.327-.747.933zm14.337.745c.093.42 0 .84-.42.888l-.7.14v10.264c-.608.327-1.168.514-1.635.514-.748 0-.935-.234-1.495-.933l-4.577-7.186v6.952L12.21 19s0 .84-1.168.84l-3.222.186c-.093-.186 0-.653.327-.746l.84-.233V9.854L7.822 9.76c-.094-.42.14-1.026.793-1.073l3.456-.233 4.764 7.279v-6.44l-1.215-.139c-.093-.514.28-.887.747-.933zM1.936 1.035l13.31-.98c1.634-.14 2.055-.047 3.082.7l4.249 2.986c.7.513.934.653.934 1.213v16.378c0 1.026-.373 1.634-1.68 1.726l-15.458.934c-.98.047-1.448-.093-1.962-.747l-3.129-4.06c-.56-.747-.793-1.306-.793-1.96V2.667c0-.839.374-1.54 1.447-1.632z"},facebook:{fill:"#0866FF",path:"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"},discord:{fill:"#5865F2",path:"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"},gitlab:{fill:"#FC6D26",path:"m23.6004 9.5927-.0337-.0862L20.3.9814a.851.851 0 0 0-.3362-.405.8748.8748 0 0 0-.9997.0539.8748.8748 0 0 0-.29.4399l-2.2055 6.748H7.5375l-2.2057-6.748a.8573.8573 0 0 0-.29-.4412.8748.8748 0 0 0-.9997-.0537.8585.8585 0 0 0-.3362.4049L.4332 9.5015l-.0325.0862a6.0657 6.0657 0 0 0 2.0119 7.0105l.0113.0087.03.0213 4.976 3.7264 2.462 1.8633 1.4995 1.1321a1.0085 1.0085 0 0 0 1.2197 0l1.4995-1.1321 2.4619-1.8633 5.006-3.7489.0125-.01a6.0682 6.0682 0 0 0 2.0094-7.003z"},spotify:{fill:"#1ED760",path:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"},twitch:{fill:"#9146FF",path:"M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"},reddit:{fill:"#FF4500",path:"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z"},figma:{fill:"#F24E1E",path:"M15.852 8.981h-4.588V0h4.588c2.476 0 4.49 2.014 4.49 4.49s-2.014 4.491-4.49 4.491zM12.735 7.51h3.117c1.665 0 3.019-1.355 3.019-3.019s-1.355-3.019-3.019-3.019h-3.117V7.51zm0 1.471H8.148c-2.476 0-4.49-2.014-4.49-4.49S5.672 0 8.148 0h4.588v8.981zm-4.587-7.51c-1.665 0-3.019 1.355-3.019 3.019s1.354 3.02 3.019 3.02h3.117V1.471H8.148zm4.587 15.019H8.148c-2.476 0-4.49-2.014-4.49-4.49s2.014-4.49 4.49-4.49h4.588v8.98zM8.148 8.981c-1.665 0-3.019 1.355-3.019 3.019s1.355 3.019 3.019 3.019h3.117V8.981H8.148zM8.172 24c-2.489 0-4.515-2.014-4.515-4.49s2.014-4.49 4.49-4.49h4.588v4.441c0 2.503-2.047 4.539-4.563 4.539zm-.024-7.51a3.023 3.023 0 0 0-3.019 3.019c0 1.665 1.365 3.019 3.044 3.019 1.705 0 3.093-1.376 3.093-3.068v-2.97H8.148zm7.704 0h-.098c-2.476 0-4.49-2.014-4.49-4.49s2.014-4.49 4.49-4.49h.098c2.476 0 4.49 2.014 4.49 4.49s-2.014 4.49-4.49 4.49zm-.097-7.509c-1.665 0-3.019 1.355-3.019 3.019s1.355 3.019 3.019 3.019h.098c1.665 0 3.019-1.355 3.019-3.019s-1.355-3.019-3.019-3.019h-.098z"},dropbox:{fill:"#0061FF",path:"M6 1.807L0 5.629l6 3.822 6.001-3.822L6 1.807zM18 1.807l-6 3.822 6 3.822 6-3.822-6-3.822zM0 13.274l6 3.822 6.001-3.822L6 9.452l-6 3.822zM18 9.452l-6 3.822 6 3.822 6-3.822-6-3.822zM6 18.371l6.001 3.822 6-3.822-6-3.822L6 18.371z"},gitee:{fill:"#C71D23",path:"M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.016 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.592.592 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"}};function ao(e){let t=Lr[e];if(t)return`<svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true" focusable="false">${t}</svg>`;let n=Or[e];return n?`<svg viewBox="0 0 24 24" width="18" height="18" fill="${n.fill}" aria-hidden="true" focusable="false"><path d="${n.path}"/></svg>`:null}async function so(e){var a,r,s;if(e.busy)return;(a=e.conditionalAbort)==null||a.abort(),e.busy=!0,S(e);let t=await e.client.post("/v1/client/sign_ins/passkey/begin",{});if(!t.ok||!t.data){e.busy=!1,z(e,t.errors);return}let n;try{n=await rt(t.data)}catch{e.busy=!1,S(e);return}let o=await e.client.post("/v1/client/sign_ins/passkey/finish",n);if(e.busy=!1,o.ok&&((r=o.data)==null?void 0:r.status)==="complete"){await $(e,(s=o.data.created_session_id)!=null?s:null);return}z(e,o.errors)}async function io(e){var o,a,r;if(e.mode!=="sign-in"||!e.passkeyEnabled||!ne())return;let t=!1;try{t=await zt()}catch{t=!1}if(!t)return;(o=e.conditionalAbort)==null||o.abort();let n=new AbortController;e.conditionalAbort=n;try{let s=await e.client.post("/v1/client/sign_ins/passkey/begin",{});if(!s.ok||!s.data||n.signal.aborted)return;let l=await rt(s.data,{mediation:"conditional",signal:n.signal});if(n.signal.aborted)return;let i=await e.client.post("/v1/client/sign_ins/passkey/finish",l);i.ok&&((a=i.data)==null?void 0:a.status)==="complete"&&await $(e,(r=i.data.created_session_id)!=null?r:null)}catch{}}function lo(e){let t=m(e,"button",k(e,"socialButton","atlas-embed-social-button"),"Sign in with a passkey");return t.type="button",t.setAttribute("data-atlas-passkey",""),t.disabled=e.busy,t.addEventListener("click",()=>{so(e)}),t}function Pt(e){let t=[...e.providers];for(let n of e.nativeProviders)t.includes(n.provider)||t.push(n.provider);return t}var Mr='<svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true" fill="none"><path d="M12 2 3 21h4l5-11 5 11h4L12 2z" fill="currentColor"/></svg>';function Fr(e,t){var l;let{variant:n,labels:o}=e.social,a=(l=o.atlas)!=null?l:n==="block"?"Continue with Atlas":"Atlas",r=m(e,"button",k(e,"socialButton","atlas-embed-social-button"));r.type="button",r.setAttribute("data-atlas-provider","atlas"),r.setAttribute("data-variant",n);let s=E(e).createElement("span");if(s.className="atlas-embed-social-icon",s.innerHTML=Mr,r.appendChild(s),n==="icon")r.setAttribute("aria-label","Continue with Atlas"),r.setAttribute("title","Atlas");else{let i=E(e).createElement("span");i.className="atlas-embed-social-label",i.textContent=a,r.appendChild(i)}return r.addEventListener("click",()=>{Tt(e,t,{popup:!0})}),r}function co(e){let t=Pt(e),n=m(e,"div","atlas-embed-social");n.setAttribute("data-layout",e.social.layout),n.setAttribute("data-size",e.social.size),n.setAttribute("data-variant",e.social.variant),e.signInWithAtlas.enabled&&e.signInWithAtlas.connection_id&&n.appendChild(Fr(e,e.signInWithAtlas.connection_id));for(let c of t){let d=e.nativeProviders.find(p=>p.provider===c),u=c==="google"&&(d!=null&&d.client_id)?Br(e,d.client_id):Ur(e,c);u.getAttribute("data-atlas-provider")||u.setAttribute("data-atlas-provider",c),n.appendChild(u)}let o=e.social.layout==="carousel"?Nr(e,n):n;if(!(e.social.search==="always"||e.social.search==="auto"&&t.length>Dn))return o;let r=m(e,"div","atlas-embed-social-field"),s=E(e).createElement("input");s.type="search",s.className="atlas-embed-social-search",s.setAttribute("placeholder","Search sign-in options\u2026"),s.setAttribute("aria-label","Search sign-in options"),s.autocomplete="off";let l=m(e,"div","atlas-embed-social-empty");l.textContent="No matching sign-in options.",l.setAttribute("hidden","");let i=Array.from(n.children);return s.addEventListener("input",()=>{var u;let c=s.value.trim().toLowerCase(),d=0;for(let p of i){let f=(u=p.getAttribute("data-atlas-provider"))!=null?u:"",h=c===""||Ye(f).toLowerCase().includes(c)||f.toLowerCase().includes(c);p.toggleAttribute("hidden",!h),h&&(d+=1)}l.toggleAttribute("hidden",d!==0),n.dispatchEvent(new Event("scroll"))}),r.appendChild(s),r.appendChild(o),r.appendChild(l),r}function Nr(e,t){var c;let n=(c=E(e).defaultView)!=null?c:typeof window!="undefined"?window:null,o=m(e,"div","atlas-embed-carousel"),a=d=>{let u=m(e,"button","atlas-embed-carousel-nav");return u.type="button",u.setAttribute("data-dir",d),u.setAttribute("aria-label",d==="prev"?"Scroll to previous sign-in options":"Scroll to more sign-in options"),u.innerHTML=d==="prev"?Vn:Gn,u.addEventListener("click",()=>{let p=Math.max(t.clientWidth*.8,140);typeof t.scrollBy=="function"&&t.scrollBy({left:(d==="prev"?-1:1)*p,behavior:"smooth"})}),u},r=a("prev"),s=a("next"),l=()=>{let d=t.scrollWidth-t.clientWidth,u=d>2;o.setAttribute("data-overflow",u?"true":"false"),r.disabled=!u||t.scrollLeft<=1,s.disabled=!u||t.scrollLeft>=d-1};t.addEventListener("scroll",l,{passive:!0});let i=n&&n.ResizeObserver;return i?new i(l).observe(t):n&&n.addEventListener("resize",l),n!=null&&n.requestAnimationFrame&&n.requestAnimationFrame(l),l(),o.appendChild(r),o.appendChild(t),o.appendChild(s),o}function uo(e,t,n="button"){var c;let{variant:o,labels:a}=e.social,r=Ye(t),s=(c=a[t])!=null?c:o==="block"?`Continue with ${r}`:r,l=m(e,n,k(e,"socialButton","atlas-embed-social-button"));n==="button"&&(l.type="button"),l.setAttribute("data-atlas-provider",t),l.setAttribute("data-variant",o);let i=ao(t);if(i){let d=E(e).createElement("span");d.className="atlas-embed-social-icon",d.innerHTML=i,l.appendChild(d)}if(o==="icon")l.setAttribute("aria-label",`Continue with ${r}`),l.setAttribute("title",r);else{let d=E(e).createElement("span");d.className="atlas-embed-social-label",d.textContent=s,l.appendChild(d)}return l}function Ur(e,t){let n=uo(e,t);return n.addEventListener("click",()=>{jn.has(t)?(e.handlePrompt=t,S(e)):Je(e,t)}),n}function po(e,t){let n=Ye(t),o=E(e).createElement("form");o.className="atlas-embed-form",o.setAttribute("novalidate","true");for(let i of e.state.errors.filter(c=>!c.param))o.appendChild(m(e,"div","atlas-embed-form-error",i.message));let a=m(e,"label",k(e,"field","atlas-embed-field"));a.appendChild(m(e,"span",k(e,"label","atlas-embed-label"),`${n} handle`));let r=E(e).createElement("input");r.className=k(e,"input","atlas-embed-input"),r.type="text",r.name="identifier",r.placeholder="you.bsky.social",r.setAttribute("autocomplete","username"),r.setAttribute("autocapitalize","none"),r.setAttribute("spellcheck","false"),a.appendChild(r),o.appendChild(a);let s=se(e,Q[e.mode].submit);o.appendChild(s);let l=m(e,"button","atlas-embed-handle-back","Back");return l.type="button",l.addEventListener("click",()=>{e.handlePrompt=null,e.state={...e.state,errors:[]},S(e)}),o.appendChild(l),o.addEventListener("submit",i=>{i.preventDefault();let c=r.value.trim();if(!c){e.state={...e.state,errors:[{code:"validation_error",message:`Enter your ${n} handle.`}]},S(e);return}Je(e,t,c)}),o}function Br(e,t){let n=uo(e,"google","div");return n.setAttribute("role","button"),n.setAttribute("tabindex","0"),Wt({wrapper:n,clientId:t,onCredential:o=>void Xn(e,"google",o),onError:()=>ye(e,"Google sign-in could not start.")}).catch(()=>{n.addEventListener("click",()=>void Je(e,"google"))}),n}function ye(e,t){e.root.textContent="";let n=m(e,"div",k(e,"card","atlas-embed-card"));n.appendChild(m(e,"p","atlas-embed-note",t)),e.root.appendChild(n)}function fo(e){e.root.textContent="";let t=m(e,"div",k(e,"card","atlas-embed-card")),n=e.interaction.loading,o=m(e,"div","atlas-embed-loading");if(o.setAttribute("data-loading",n),o.setAttribute("role","status"),o.setAttribute("aria-label","Loading"),n==="skeleton")for(let r of["title","sub","input","input","button"])o.appendChild(m(e,"div",`atlas-embed-skel atlas-embed-skel-${r}`));else if(n==="dots")for(let r=0;r<3;r+=1)o.appendChild(m(e,"span","atlas-embed-dot"));else n==="bar"?o.appendChild(m(e,"span","atlas-embed-loadbar")):o.appendChild(m(e,"span","atlas-embed-spinner"));let a=m(e,"span","atlas-embed-sr","Loading\u2026");o.appendChild(a),t.appendChild(o),e.root.appendChild(t)}function z(e,t){e.state={...e.state,errors:[...t]},S(e)}function S(e){var c,d,u,p,f,h,y,v,w,R;e.root.textContent="";let t=m(e,"div",k(e,"card","atlas-embed-card")),n=(d=(c=e.appearance)==null?void 0:c.logoUrl)!=null?d:null;if(n){let b=E(e).createElement("img");b.className="atlas-embed-logo",b.src=n,b.alt=(p=(u=e.appearance)==null?void 0:u.applicationName)!=null?p:"",t.appendChild(b)}if(e.resetFlow){let b=`reset_${oe(e.resetFlow)}`;if(t.setAttribute("data-step",b),b!==e.lastStepKind&&t.setAttribute("data-enter",""),e.lastStepKind=b,t.appendChild(no(e)),(f=e.appearance)!=null&&f.footer&&t.appendChild(m(e,"p",k(e,"footer","atlas-embed-footer"),e.appearance.footer)),e.root.appendChild(t),t.hasAttribute("data-enter")){let C=t.querySelector("[data-atlas-autofocus]");C instanceof HTMLElement&&C.focus()}return}let o=e.state.attempt?B(e.state.attempt):{kind:"collect_identifier"},a=e.mode==="sign-up"&&!e.state.attempt,r=a||o.kind==="collect_identifier",s=e.handlePrompt?"handle":o.kind;t.setAttribute("data-step",s),s!==e.lastStepKind&&t.setAttribute("data-enter",""),e.lastStepKind=s;let l=(y=(h=e.appearance)==null?void 0:h.headline)!=null?y:Q[e.mode].title;t.appendChild(m(e,"h1",k(e,"title","atlas-embed-title"),l));let i=r?null:Wr(e,o.kind);if(i?t.appendChild(i):(v=e.appearance)!=null&&v.subheadline&&t.appendChild(m(e,"p",k(e,"subtitle","atlas-embed-subtitle"),e.appearance.subheadline)),e.flash&&t.appendChild(m(e,"div","atlas-embed-flash",e.flash)),e.handlePrompt){t.appendChild(po(e,e.handlePrompt)),(w=e.appearance)!=null&&w.footer&&t.appendChild(m(e,"p",k(e,"footer","atlas-embed-footer"),e.appearance.footer)),e.root.appendChild(t);return}if(r&&(Pt(e).length>0||e.signInWithAtlas.enabled)&&(t.appendChild(co(e)),t.appendChild(m(e,"div",k(e,"divider","atlas-embed-divider"),"or"))),t.appendChild(a?ro(e):oo(e,o.kind)),r&&e.mode==="sign-in"&&e.passkeyEnabled&&ne()&&t.appendChild(lo(e)),(R=e.appearance)!=null&&R.footer&&t.appendChild(m(e,"p",k(e,"footer","atlas-embed-footer"),e.appearance.footer)),e.root.appendChild(t),t.hasAttribute("data-enter")){let b=t.querySelector("[data-atlas-autofocus]");b instanceof HTMLElement&&b.focus()}}function Wr(e,t){let n=e.enteredIdentifier,o=null,a=!1;switch(t){case"collect_email_code":o=n?`Enter the code we sent to ${n}`:"Enter the code we sent to your email",a=!0;break;case"collect_first_factor":o=n?`Enter the password for ${n}`:"Enter your password",a=!0;break;case"collect_second_factor":o=e.backupCodeMode?"Enter one of your backup codes":"Enter the code from your authenticator app";break;case"collect_new_password":o="Choose a new password";break;case"enroll_second_factor":o="Enter two codes from your authenticator app to finish setup";break;default:return null}let r=m(e,"div","atlas-embed-step-context");if(r.appendChild(m(e,"p",k(e,"subtitle","atlas-embed-subtitle"),o)),a){let s=m(e,"button","atlas-embed-step-back","Use a different email");s.type="button",s.addEventListener("click",()=>Hr(e)),r.appendChild(s)}return r}function Hr(e){e.state=M,e.backupCodeMode=!1,e.handlePrompt=null,e.enteredIdentifier=null,S(e)}var le=class{constructor(t,n){this.root=t;this.options=n;g(this,"client");g(this,"mode");g(this,"appearance",null);g(this,"design",null);g(this,"appliedDesign");g(this,"providers",[]);g(this,"nativeProviders",[]);g(this,"signInWithAtlas",{enabled:!1});g(this,"social",Ct(void 0,void 0));g(this,"codeInputStyle","boxes");g(this,"interaction",qe(void 0,void 0));g(this,"backupCodeMode",!1);g(this,"enteredIdentifier",null);g(this,"lastStepKind",null);g(this,"signUpFields",[]);g(this,"passwordEnabled",!0);g(this,"passkeyEnabled",!1);g(this,"passwordResetEnabled",!0);g(this,"passwordSignUpEnabled",!0);g(this,"conditionalAbort");g(this,"rememberMeEnabled",!1);g(this,"remember",!0);g(this,"trustedDeviceEnabled",!1);g(this,"rememberDevice",!1);g(this,"captchaFlows",{});g(this,"captchaHost");g(this,"state",M);g(this,"resetFlow",null);g(this,"flash",null);g(this,"handlePrompt",null);g(this,"busy",!1);g(this,"recorder");var o,a;this.mode=(o=n.mode)!=null?o:"sign-in",this.interaction=qe(void 0,(a=n.appearance)==null?void 0:a.interaction),this.client=Wn({publishableKey:n.publishableKey,frontendApi:n.frontendApi,fetchImpl:n.fetchImpl})}async mount(){var o,a,r,s,l,i,c,d,u,p,f,h,y,v,w,R,b,C,L,A,O,_,I,K,te;if($n((o=this.root.ownerDocument)!=null?o:document),this.root.classList.add("atlas-embed-root"),this.resolveDesign(null),this.applyTheme(),this.applyInteraction(),fo(this),await Jn(this))return;let n=await Hn(this.client);if(n){this.appearance=n.appearance;let j=(a=n.provider_scopes)!=null?a:{},ce=Qe=>{let et=j[Qe];return et?this.mode==="sign-up"?et.sign_up:et.sign_in:!0};this.providers=Bn((r=n.providers)!=null?r:[],n.appearance).filter(ce),this.nativeProviders=((s=n.native_providers)!=null?s:[]).filter(Qe=>ce(Qe.provider)),this.passwordEnabled=(i=(l=n.strategies)==null?void 0:l.password)!=null?i:!0,this.passkeyEnabled=(d=(c=n.strategies)==null?void 0:c.passkey)!=null?d:!1,this.passwordResetEnabled=(p=(u=n.email_delivery)==null?void 0:u.password_reset)!=null?p:!0,this.passwordSignUpEnabled=(h=(f=n.email_delivery)==null?void 0:f.password_sign_up)!=null?h:!0,this.signInWithAtlas=(y=n.sign_in_with_atlas)!=null?y:{enabled:!1},this.rememberMeEnabled=n.rememberMe===!0,this.trustedDeviceEnabled=n.rememberDevice===!0,this.captchaFlows=(v=n.captchaFlows)!=null?v:{},this.resolveDesign(Tn(n)),this.applyTheme()}this.social=Ct(this.design?{...(w=this.appearance)==null?void 0:w.socialButtons,...this.design.socialButtons}:(R=this.appearance)==null?void 0:R.socialButtons,(b=this.options.appearance)==null?void 0:b.socialButtons),this.codeInputStyle=In((C=this.appearance)==null?void 0:C.codeInput,(L=this.options.appearance)==null?void 0:L.codeInput),this.interaction=qe(this.design?{...(A=this.appearance)==null?void 0:A.interaction,...this.design.interaction}:(O=this.appearance)==null?void 0:O.interaction,(_=this.options.appearance)==null?void 0:_.interaction),this.applyInteraction(),this.signUpFields=(K=(I=this.appearance)==null?void 0:I.signUpFields)!=null?K:[];try{this.recorder=new Ce((te=this.root.ownerDocument)!=null?te:document)}catch{}S(this),io(this)}applyTheme(){var o,a,r,s,l,i;let t=(a=(o=this.design)==null?void 0:o.tokens)!=null?a:On(this.appearance,this.options.appearance),n=Mn(t);for(let[c,d]of Object.entries(n))this.root.style.setProperty(c,d);this.root.style.setProperty("--atlas-embed-color-text-on-primary",Fn(t.colorPrimary)),this.root.style.setProperty("--atlas-embed-color-focus-ring",(l=(s=(r=this.options.appearance)==null?void 0:r.variables)==null?void 0:s.colorFocusRing)!=null?l:Nn(t.colorPrimary,[t.colorCard,t.colorBackground])),this.design&&(this.appliedDesign=Rn((i=this.root.ownerDocument)!=null?i:document,this.root,this.design.render,this.appliedDesign))}resolveDesign(t){var a,r,s;let n=(r=(a=this.root.ownerDocument)==null?void 0:a.defaultView)!=null?r:typeof window!="undefined"?window:null,o=!1;try{o=!!((s=n==null?void 0:n.matchMedia)!=null&&s.call(n,"(prefers-color-scheme: dark)").matches)}catch{}this.design=Kn(t,this.options.appearance,{frontendApi:this.options.frontendApi,prefersDark:o})}applyInteraction(){let t=this.interaction;this.root.setAttribute("data-button-style",t.buttonStyle),this.root.setAttribute("data-button-effect",t.buttonEffect),this.root.setAttribute("data-shadow",t.shadow),this.root.setAttribute("data-density",t.density),this.root.setAttribute("data-input-style",t.inputStyle);let n=t.animations?Ln[t.motionSpeed]:0;this.root.style.setProperty("--atlas-embed-motion",`${n}ms`)}};var ee={};function go(e){ee=e}function mo(e){if(!e)return{};let t=e.dataset,n={};return t.atlasKey&&(n.publishableKey=t.atlasKey),t.atlasFapi&&(n.frontendApi=t.atlasFapi),t.atlasRedirect&&(n.redirect=t.atlasRedirect),n}function bo(e,t){var c,d,u,p,f,h,y;let n=e.dataset,o=v=>{var w;return(w=e.getAttribute(v))!=null?w:void 0},a=(d=(c=n.atlasKey)!=null?c:o("publishable-key"))!=null?d:ee.publishableKey,r=(p=(u=n.atlasFapi)!=null?u:o("frontend-api"))!=null?p:ee.frontendApi,s=(h=(f=n.atlasRedirect)!=null?f:o("redirect"))!=null?h:ee.redirect;if(!a||!r)return null;let l={publishableKey:a,frontendApi:r,mode:t};s&&(l.redirect=s);let i=(y=n.atlasPreset)!=null?y:o("preset");return i&&(l.appearance={preset:i}),l}function ho(e,t={}){var a,r,s;let n=(a=t.publishableKey)!=null?a:ee.publishableKey,o=(r=t.frontendApi)!=null?r:ee.frontendApi;return!n||!o?null:{...t,publishableKey:n,frontendApi:o,redirect:(s=t.redirect)!=null?s:ee.redirect,mode:e}}var Xe=class extends HTMLElement{constructor(){super(...arguments);g(this,"widget",null)}connectedCallback(){if(this.widget)return;let n=bo(this,this.mode);if(!n){this.textContent="Atlas: set data-atlas-key (publishable key) and data-atlas-fapi (frontend API origin).";return}this.widget=new le(this,n),this.widget.mount()}},It=class extends Xe{constructor(){super(...arguments);g(this,"mode","sign-in")}},Dt=class extends Xe{constructor(){super(...arguments);g(this,"mode","sign-up")}};function Lt(){typeof customElements!="undefined"&&(customElements.get("atlas-sign-in")||customElements.define("atlas-sign-in",It),customElements.get("atlas-sign-up")||customElements.define("atlas-sign-up",Dt))}function zr(e){let t=typeof e=="string"?document.querySelector(e):e;return t instanceof HTMLElement?t:null}function yo(e,t,n){let o=zr(t);if(!o)return null;let a=ho(e,n);if(!a)return o.textContent="Atlas: a publishable key and a frontend API origin are required to mount the widget.",null;let r=new le(o,a);return r.mount(),r}function vo(e,t={}){return yo("sign-in",e,t)}function ko(e,t={}){return yo("sign-up",e,t)}function $r(){var t;let e=document.currentScript;return e instanceof HTMLScriptElement?e:(t=document.querySelector("script[data-atlas-key]"))!=null?t:document.querySelector('script[src*="embed.js"]')}function Kr(){go(mo($r())),Lt(),window.Atlas={mountSignIn:vo,mountSignUp:ko,defineElements:Lt}}Kr();})();
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,6 @@ export { defineElements, AtlasSignInElement, AtlasSignUpElement } from './elemen
|
|
|
15
15
|
export { mountSignIn, mountSignUp, type MountTarget } from './mount';
|
|
16
16
|
export { setScriptDefaults, readScriptTag, type ScriptDefaults } from './config';
|
|
17
17
|
export { validateRedirect } from './redirect';
|
|
18
|
-
export { resolveTokens, cssVariables, orderedProviders, providerLabel, classFor, resolveSocialButtons, type DesignTokens, type ElementKey, type WidgetAppearance, type PublicAppearance, type PublicStrategies, type AppearanceResponse, type EmailDeliveryAvailability, type SocialButtonsConfig, type SocialButtonVariant, type SocialButtonSize, type SocialButtonLayout, type ResolvedSocialButtons, } from './appearance';
|
|
18
|
+
export { resolveTokens, cssVariables, orderedProviders, providerLabel, classFor, resolveSocialButtons, type DesignTokens, type ElementKey, type WidgetAppearance, type WidgetVariables, type PublicAppearance, type PublicStrategies, type AppearanceResponse, type EmailDeliveryAvailability, type SocialButtonsConfig, type SocialButtonVariant, type SocialButtonSize, type SocialButtonLayout, type ResolvedSocialButtons, } from './appearance';
|
|
19
19
|
export { providerIcon } from './icons';
|
|
20
20
|
export { widgetDesign, type WidgetDesign } from './design';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,mCAA2D;AAAlD,qGAAA,WAAW,OAAA;AACpB,qCAAmF;AAA1E,yGAAA,cAAc,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAC/D,iCAAqE;AAA5D,oGAAA,WAAW,OAAA;AAAE,oGAAA,WAAW,OAAA;AACjC,mCAAiF;AAAxE,2GAAA,iBAAiB,OAAA;AAAE,uGAAA,aAAa,OAAA;AACzC,uCAA8C;AAArC,4GAAA,gBAAgB,OAAA;AACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,mCAA2D;AAAlD,qGAAA,WAAW,OAAA;AACpB,qCAAmF;AAA1E,yGAAA,cAAc,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAC/D,iCAAqE;AAA5D,oGAAA,WAAW,OAAA;AAAE,oGAAA,WAAW,OAAA;AACjC,mCAAiF;AAAxE,2GAAA,iBAAiB,OAAA;AAAE,uGAAA,aAAa,OAAA;AACzC,uCAA8C;AAArC,4GAAA,gBAAgB,OAAA;AACzB,2CAoBsB;AAnBpB,2GAAA,aAAa,OAAA;AACb,0GAAA,YAAY,OAAA;AACZ,8GAAA,gBAAgB,OAAA;AAChB,2GAAA,aAAa,OAAA;AACb,sGAAA,QAAQ,OAAA;AACR,kHAAA,oBAAoB,OAAA;AAetB,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AACrB,mCAA2D;AAAlD,sGAAA,YAAY,OAAA"}
|
package/dist/styles.d.ts
CHANGED
|
@@ -12,6 +12,6 @@
|
|
|
12
12
|
* before `GET /v1/appearance` resolves — and re-themes when it does.
|
|
13
13
|
*/
|
|
14
14
|
export declare const STYLE_MARKER = "atlas-embed-styles";
|
|
15
|
-
export declare const EMBED_CSS = "\n.atlas-embed-root {\n --_bg: var(--atlas-embed-color-background, #ffffff);\n --_card: var(--atlas-embed-color-card, #ffffff);\n --_text: var(--atlas-embed-color-text, #1c1c1f);\n --_primary: var(--atlas-embed-color-primary, #5b5bd6);\n --_on-primary: var(--atlas-embed-color-text-on-primary, #ffffff);\n /* Keyboard focus ring \u2014 a solid outline (3:1 on the default background). */\n --_focus: var(--atlas-embed-color-focus-ring, var(--_primary));\n --_border: var(--atlas-embed-color-border, #e4e4e9);\n --_radius: var(--atlas-embed-border-radius, 10px);\n /* Transition tempo \u2014 the widget sets --atlas-embed-motion from motionSpeed and\n to 0s when animations are off; reduced-motion forces 0s below regardless. */\n --_motion: var(--atlas-embed-motion, 0.16s);\n font-family: var(--atlas-embed-font-family, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif);\n color: var(--_text);\n box-sizing: border-box;\n display: block;\n}\n.atlas-embed-root *, .atlas-embed-root *::before, .atlas-embed-root *::after { box-sizing: border-box; }\n.atlas-embed-card {\n max-width: 400px;\n margin: 0 auto;\n padding: 28px 26px;\n background: var(--_card);\n border: 1px solid var(--_border);\n border-radius: calc(var(--_radius) + 4px);\n box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 8px 28px rgba(0,0,0,0.06);\n}\n.atlas-embed-logo { display: block; max-height: 40px; margin: 0 auto 16px; }\n.atlas-embed-title { font-size: 20px; font-weight: 650; text-align: center; margin: 0 0 4px; }\n.atlas-embed-subtitle { font-size: 14px; color: #6b7280; text-align: center; margin: 0 0 20px; }\n.atlas-embed-social { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }\n.atlas-embed-social-button {\n display: flex; align-items: center; justify-content: center; gap: 8px;\n width: 100%; padding: 10px 12px; font-size: 14px; font-weight: 550; cursor: pointer;\n color: var(--_text); background: var(--_card);\n border: 1px solid var(--_border); border-radius: var(--_radius);\n}\n.atlas-embed-social-button:hover { filter: brightness(0.97); }\n.atlas-embed-social-icon { display: inline-flex; flex: none; line-height: 0; }\n.atlas-embed-social-icon svg { width: 18px; height: 18px; display: block; }\n.atlas-embed-social-label { display: inline-block; }\n\n/* Size \u2014 button scale and icon size together. */\n.atlas-embed-social[data-size=\"sm\"] .atlas-embed-social-button { padding: 8px 10px; font-size: 13px; }\n.atlas-embed-social[data-size=\"sm\"] .atlas-embed-social-icon svg { width: 16px; height: 16px; }\n.atlas-embed-social[data-size=\"lg\"] .atlas-embed-social-button { padding: 13px 16px; font-size: 15px; }\n.atlas-embed-social[data-size=\"lg\"] .atlas-embed-social-icon svg { width: 22px; height: 22px; }\n\n/* Icon-only variant: a square button, name in the tooltip. Always laid out as a\n centred wrap (or a carousel), never a full-width bar. */\n.atlas-embed-social-button[data-variant=\"icon\"] { width: auto; padding: 10px; aspect-ratio: 1; }\n.atlas-embed-social[data-size=\"sm\"] .atlas-embed-social-button[data-variant=\"icon\"] { padding: 8px; }\n.atlas-embed-social[data-size=\"lg\"] .atlas-embed-social-button[data-variant=\"icon\"] { padding: 13px; }\n.atlas-embed-social[data-variant=\"icon\"]:not([data-layout=\"carousel\"]) {\n flex-direction: row; flex-wrap: wrap; justify-content: center;\n}\n\n/* Grid \u2014 bars share a row and wrap. */\n.atlas-embed-social[data-layout=\"grid\"] { flex-direction: row; flex-wrap: wrap; }\n.atlas-embed-social[data-layout=\"grid\"] .atlas-embed-social-button { width: auto; flex: 1 1 auto; }\n.atlas-embed-social[data-layout=\"grid\"] .atlas-embed-social-button[data-variant=\"icon\"] { flex: 0 0 auto; }\n\n/* Carousel \u2014 one swipeable, scroll-snapped row. The raw scrollbar is hidden; the\n arrow buttons (below) are the affordance instead. */\n.atlas-embed-social[data-layout=\"carousel\"] {\n flex-direction: row; flex-wrap: nowrap; overflow-x: auto;\n scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scroll-behavior: smooth;\n scrollbar-width: none;\n}\n.atlas-embed-social[data-layout=\"carousel\"]::-webkit-scrollbar { display: none; }\n.atlas-embed-social[data-layout=\"carousel\"] .atlas-embed-social-button { width: auto; flex: 0 0 auto; scroll-snap-align: start; }\n.atlas-embed-social[data-layout=\"carousel\"] .atlas-embed-social-button[data-variant=\"block\"] { min-width: 60%; }\n\n/* Carousel shell \u2014 prev/next controls flanking the scroll row. */\n.atlas-embed-carousel { position: relative; display: flex; align-items: center; gap: 4px; margin-bottom: 16px; }\n.atlas-embed-carousel .atlas-embed-social { flex: 1 1 auto; min-width: 0; margin-bottom: 0; }\n.atlas-embed-carousel-nav {\n flex: none; display: inline-flex; align-items: center; justify-content: center;\n width: 30px; height: 30px; padding: 0; cursor: pointer;\n color: var(--_text); background: var(--_card);\n border: 1px solid var(--_border); border-radius: 999px; transition: opacity 0.15s;\n}\n.atlas-embed-carousel-nav svg { width: 16px; height: 16px; display: block; }\n.atlas-embed-carousel-nav:hover:not(:disabled) { filter: brightness(0.97); }\n.atlas-embed-carousel-nav:disabled { opacity: 0.35; cursor: default; }\n/* Nothing overflows \u2192 no controls at all. */\n.atlas-embed-carousel[data-overflow=\"false\"] .atlas-embed-carousel-nav { display: none; }\n/* When the carousel sits inside a search field, the field owns the bottom margin. */\n.atlas-embed-social-field .atlas-embed-carousel { margin-bottom: 0; }\n\n/* Search \u2014 a filter box above a long provider list (socialButtons.search). The\n field wraps the button container so its own margin replaces the button block's. */\n.atlas-embed-social-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }\n.atlas-embed-social-field .atlas-embed-social { margin-bottom: 0; }\n.atlas-embed-social-search {\n width: 100%; padding: 9px 12px; font-size: 16px; color: var(--_text);\n background: var(--_bg); border: 1px solid var(--_border); border-radius: var(--_radius);\n}\n.atlas-embed-social-search:focus { outline: 2px solid var(--_focus); outline-offset: -1px; }\n.atlas-embed-social-button[hidden] { display: none; }\n.atlas-embed-social-empty { font-size: 13px; color: #9ca3af; text-align: center; padding: 6px 0; }\n.atlas-embed-social-empty[hidden] { display: none; }\n.atlas-embed-divider {\n display: flex; align-items: center; text-align: center; gap: 10px;\n color: #9ca3af; font-size: 12px; margin: 14px 0;\n}\n.atlas-embed-divider::before, .atlas-embed-divider::after {\n content: \"\"; flex: 1; height: 1px; background: var(--_border);\n}\n.atlas-embed-field { display: block; margin: 0 0 12px; }\n.atlas-embed-label { display: block; font-size: 13px; margin: 0 0 5px; color: var(--_text); }\n.atlas-embed-input {\n /* 16px: iOS Safari zooms the page when a smaller field takes focus. */\n width: 100%; padding: 10px 12px; font-size: 16px; color: var(--_text);\n background: var(--_bg); border: 1px solid var(--_border); border-radius: var(--_radius);\n}\n.atlas-embed-input:focus { outline: 2px solid var(--_focus); outline-offset: -1px; }\n/* Password field with a show/hide toggle. */\n.atlas-embed-password { position: relative; display: flex; align-items: center; }\n.atlas-embed-password .atlas-embed-input { width: 100%; padding-right: 54px; }\n.atlas-embed-password-toggle {\n position: absolute; right: 6px; padding: 4px 7px; font: inherit; font-size: 12px; font-weight: 600;\n cursor: pointer; color: var(--_primary); background: none; border: 0; border-radius: 6px;\n}\n.atlas-embed-password-toggle:hover { text-decoration: underline; }\nselect.atlas-embed-input { appearance: auto; }\n.atlas-embed-field-checkbox { display: flex; flex-direction: row-reverse; align-items: center; justify-content: flex-end; gap: 8px; }\n.atlas-embed-field-checkbox .atlas-embed-label { margin: 0; }\n.atlas-embed-checkbox { width: 16px; height: 16px; margin: 0; flex: none; }\ntextarea.atlas-embed-input { min-height: 72px; resize: vertical; font-family: inherit; }\nfieldset.atlas-embed-field { border: 0; padding: 0; margin: 0 0 12px; }\n.atlas-embed-choices { display: flex; flex-direction: column; gap: 6px; }\n.atlas-embed-choice { display: flex; flex-direction: row; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; }\n.atlas-embed-choice input { width: 16px; height: 16px; margin: 0; flex: none; accent-color: var(--_primary); }\n.atlas-embed-button {\n width: 100%; margin-top: 6px; padding: 11px 12px; font-size: 14px; font-weight: 650;\n cursor: pointer; color: var(--_on-primary); background: var(--_primary);\n border: 0; border-radius: var(--_radius);\n}\n.atlas-embed-button:disabled { opacity: 0.6; cursor: default; }\n.atlas-embed-button:focus-visible, .atlas-embed-social-button:focus-visible,\n.atlas-embed-handle-back:focus-visible, .atlas-embed-step-back:focus-visible,\n.atlas-embed-password-toggle:focus-visible, .atlas-embed-carousel-nav:focus-visible {\n outline: 2px solid var(--_focus); outline-offset: 2px;\n}\n.atlas-embed-handle-back {\n width: 100%; margin-top: 8px; padding: 6px; font-size: 13px; font-weight: 550;\n cursor: pointer; color: #6b7280; background: none; border: 0;\n}\n.atlas-embed-handle-back:hover { color: #374151; }\n.atlas-embed-error { display: block; font-size: 13px; color: #d64545; margin: 6px 0 0; }\n.atlas-embed-form-error { font-size: 13px; color: #d64545; margin: 0 0 12px; min-height: 0; }\n/* A success/confirmation banner (e.g. after a force-login password reset). */\n.atlas-embed-flash {\n font-size: 13px; color: #0f7a4d; background: rgba(16,163,101,0.08);\n border: 1px solid rgba(16,163,101,0.25); border-radius: var(--_radius);\n padding: 9px 11px; margin: 0 0 14px; text-align: center;\n}\n.atlas-embed-footer { font-size: 13px; color: #6b7280; text-align: center; margin: 16px 0 0; }\n/* \u00A75.1 legal consent row on sign-up. */\n.atlas-embed-consent { display: flex; align-items: flex-start; gap: 8px; margin: 2px 0 14px; font-size: 13px; color: #6b7280; }\n.atlas-embed-consent-check { margin: 2px 0 0; width: 15px; height: 15px; flex: none; accent-color: var(--_primary); cursor: pointer; }\n.atlas-embed-consent-link { color: var(--_primary); text-decoration: underline; }\n/* \u00A77.5 Remember-me row. */\n.atlas-embed-remember { display: flex; align-items: center; gap: 8px; margin: -2px 0 14px; font-size: 13px; color: var(--_text); cursor: pointer; }\n.atlas-embed-remember-check { width: 15px; height: 15px; flex: none; accent-color: var(--_primary); cursor: pointer; }\n.atlas-embed-note { font-size: 14px; color: #6b7280; text-align: center; margin: 8px 0; }\n\n/* Verification step \u2014 a continuation of the email panel, not a new screen: the\n context line (\"Enter the code we sent to \u2026\") + a way back, then a segmented\n one-box-per-digit code input that spawns in. */\n.atlas-embed-step-context { text-align: center; margin: 0 0 20px; }\n.atlas-embed-step-context .atlas-embed-subtitle { margin: 0 0 6px; }\n.atlas-embed-step-back {\n display: inline-block; padding: 2px 4px; font: inherit; font-size: 13px; font-weight: 550;\n cursor: pointer; color: var(--_primary); background: none; border: 0;\n}\n.atlas-embed-step-back:hover { text-decoration: underline; }\n/* A standalone action under the submit button (Forgot password?, Back to sign in,\n the 2FA toggle) reads as a centred link, not a left-aligned fragment. */\nform > .atlas-embed-step-back { display: block; width: 100%; text-align: center; margin-top: 10px; }\n.atlas-embed-code { display: flex; gap: 8px; justify-content: space-between; }\n.atlas-embed-code-box {\n flex: 1 1 0; min-width: 0; aspect-ratio: 1 / 1.15; padding: 0; text-align: center;\n font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--_text);\n background: var(--_bg); border: 1px solid var(--_border); border-radius: var(--_radius);\n}\n.atlas-embed-code-box:focus { outline: 2px solid var(--_focus); outline-offset: -1px; }\n/* A real step change eases its content in; error/busy re-renders (same step) do\n not, and a reduced-motion viewer gets no animation at all. */\n@media (prefers-reduced-motion: no-preference) {\n .atlas-embed-card[data-enter] > form,\n .atlas-embed-card[data-enter] > .atlas-embed-step-context {\n animation: atlas-embed-spawn 0.26s cubic-bezier(0.22, 0.61, 0.36, 1) both;\n }\n}\n@keyframes atlas-embed-spawn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Interaction / polish layer \u2014 how controls FEEL. Driven by data-attributes on\n the root (data-button-style / -button-effect / -shadow / -density /\n -input-style) that the widget sets from the resolved interaction config, plus\n the --_motion tempo var. Every rule is additive: with no attributes set the\n widget looks exactly as it did before this layer existed.\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n/* Smooth every interactive control at the configured tempo. */\n.atlas-embed-button, .atlas-embed-social-button, .atlas-embed-carousel-nav,\n.atlas-embed-handle-back, .atlas-embed-step-back, .atlas-embed-password-toggle,\n.atlas-embed-input, .atlas-embed-code-box {\n transition:\n transform var(--_motion) ease, box-shadow var(--_motion) ease,\n background-color var(--_motion) ease, border-color var(--_motion) ease,\n color var(--_motion) ease, filter var(--_motion) ease, outline-color var(--_motion) ease;\n}\n\n/* Primary CTA \u2014 a subtle hover darken by default (was static). */\n.atlas-embed-button:hover:not(:disabled) { filter: brightness(1.06); }\n\n/* Button fill style (primary CTA only \u2014 social buttons keep provider styling). */\n.atlas-embed-root[data-button-style=\"outline\"] .atlas-embed-button {\n background: transparent; color: var(--_primary); border: 1px solid var(--_primary);\n}\n.atlas-embed-root[data-button-style=\"outline\"] .atlas-embed-button:hover:not(:disabled) {\n filter: none; background: color-mix(in srgb, var(--_primary) 10%, transparent);\n}\n.atlas-embed-root[data-button-style=\"soft\"] .atlas-embed-button {\n background: color-mix(in srgb, var(--_primary) 14%, transparent); color: var(--_primary);\n}\n.atlas-embed-root[data-button-style=\"soft\"] .atlas-embed-button:hover:not(:disabled) {\n filter: none; background: color-mix(in srgb, var(--_primary) 22%, transparent);\n}\n.atlas-embed-root[data-button-style=\"ghost\"] .atlas-embed-button {\n background: transparent; color: var(--_primary);\n}\n.atlas-embed-root[data-button-style=\"ghost\"] .atlas-embed-button:hover:not(:disabled) {\n filter: none; background: color-mix(in srgb, var(--_primary) 12%, transparent);\n}\n\n/* Press/hover effect \u2014 applies to every button. */\n.atlas-embed-root[data-button-effect=\"scale\"] .atlas-embed-button:active:not(:disabled),\n.atlas-embed-root[data-button-effect=\"scale\"] .atlas-embed-social-button:active,\n.atlas-embed-root[data-button-effect=\"scale\"] .atlas-embed-carousel-nav:active:not(:disabled) {\n transform: scale(0.97);\n}\n.atlas-embed-root[data-button-effect=\"lift\"] .atlas-embed-button:hover:not(:disabled),\n.atlas-embed-root[data-button-effect=\"lift\"] .atlas-embed-social-button:hover {\n transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,0.14); filter: none;\n}\n.atlas-embed-root[data-button-effect=\"lift\"] .atlas-embed-button:active:not(:disabled),\n.atlas-embed-root[data-button-effect=\"lift\"] .atlas-embed-social-button:active { transform: translateY(0); }\n.atlas-embed-root[data-button-effect=\"glow\"] .atlas-embed-button:hover:not(:disabled),\n.atlas-embed-root[data-button-effect=\"glow\"] .atlas-embed-social-button:hover {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--_primary) 35%, transparent); filter: none;\n}\n/* Ripple \u2014 the widget appends a span on pointer-down; buttons must clip it. */\n.atlas-embed-root[data-button-effect=\"ripple\"] .atlas-embed-button,\n.atlas-embed-root[data-button-effect=\"ripple\"] .atlas-embed-social-button {\n position: relative; overflow: hidden;\n}\n.atlas-embed-ripple {\n position: absolute; border-radius: 50%; transform: scale(0);\n background: currentColor; opacity: 0.28; pointer-events: none;\n animation: atlas-embed-ripple 0.55s ease-out;\n}\n@keyframes atlas-embed-ripple { to { transform: scale(2.6); opacity: 0; } }\n\n/* Card + solid-button elevation. */\n.atlas-embed-root[data-shadow=\"none\"] .atlas-embed-card { box-shadow: none; }\n.atlas-embed-root[data-shadow=\"sm\"] .atlas-embed-card { box-shadow: 0 1px 2px rgba(0,0,0,0.05); }\n.atlas-embed-root[data-shadow=\"lg\"] .atlas-embed-card {\n box-shadow: 0 4px 12px rgba(0,0,0,0.08), 0 16px 48px rgba(0,0,0,0.12);\n}\n\n/* Density \u2014 compact tightens padding and gaps. */\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-card { padding: 20px 18px; }\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-social { gap: 6px; margin-bottom: 12px; }\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-field { margin-bottom: 9px; }\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-button { padding: 9px 12px; }\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-social-button { padding: 8px 10px; }\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-subtitle { margin-bottom: 14px; }\n\n/* Input style \u2014 filled and underline treatments (default is the outlined field). */\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-input,\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-code-box,\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-social-search {\n background: color-mix(in srgb, var(--_border) 24%, transparent); border-color: transparent;\n}\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-input:focus,\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-code-box:focus,\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-social-search:focus {\n background: var(--_bg); border-color: var(--_primary);\n}\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-input,\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-code-box,\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-social-search {\n background: transparent; border: 0; border-bottom: 1.5px solid var(--_border);\n border-radius: 0; padding-left: 2px; padding-right: 2px;\n}\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-input:focus,\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-code-box:focus,\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-social-search:focus {\n outline: none; border-bottom-color: var(--_primary);\n}\n\n/* \u2500\u2500 Loading states \u2014 spinner / skeleton / dots / bar (interaction.loading).\n Shown while appearance resolves, while a redirect ticket is exchanged, and the\n button spinner while a form submits \u2014 so the widget never flashes blank. \u2500\u2500 */\n.atlas-embed-button { display: flex; align-items: center; justify-content: center; gap: 8px; }\n.atlas-embed-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 168px; padding: 12px 0; }\n.atlas-embed-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }\n\n/* Spinner (default) + the in-button spinner. */\n.atlas-embed-spinner, .atlas-embed-btn-spinner {\n border-radius: 50%; border-style: solid; flex: none;\n animation: atlas-embed-spin 0.7s linear infinite;\n}\n.atlas-embed-spinner { width: 30px; height: 30px; border-width: 3px;\n border-color: color-mix(in srgb, var(--_primary) 22%, transparent); border-top-color: var(--_primary); }\n.atlas-embed-btn-spinner { width: 17px; height: 17px; border-width: 2px;\n border-color: color-mix(in srgb, currentColor 35%, transparent); border-top-color: currentColor; }\n@keyframes atlas-embed-spin { to { transform: rotate(360deg); } }\n\n/* Dots. */\n.atlas-embed-loading[data-loading=\"dots\"] { flex-direction: row; }\n.atlas-embed-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--_primary);\n animation: atlas-embed-bounce 1.2s ease-in-out infinite; }\n.atlas-embed-dot:nth-child(2) { animation-delay: 0.15s; }\n.atlas-embed-dot:nth-child(3) { animation-delay: 0.30s; }\n@keyframes atlas-embed-bounce { 0%,80%,100% { transform: scale(0.5); opacity: 0.4; } 40% { transform: scale(1); opacity: 1; } }\n\n/* Indeterminate bar. */\n.atlas-embed-loading[data-loading=\"bar\"] { min-height: 132px; }\n.atlas-embed-loadbar { position: relative; width: 64%; height: 4px; border-radius: 999px; overflow: hidden;\n background: color-mix(in srgb, var(--_border) 60%, transparent); }\n.atlas-embed-loadbar::before { content: \"\"; position: absolute; top: 0; bottom: 0; width: 40%; border-radius: 999px;\n background: var(--_primary); animation: atlas-embed-slide 1.1s ease-in-out infinite; }\n@keyframes atlas-embed-slide { 0% { left: -45%; } 100% { left: 105%; } }\n\n/* Skeleton \u2014 placeholders shaped like the form. */\n.atlas-embed-loading[data-loading=\"skeleton\"] { align-items: stretch; min-height: 0; gap: 12px; }\n.atlas-embed-skel { border-radius: var(--_radius); position: relative; overflow: hidden;\n background: color-mix(in srgb, var(--_border) 55%, transparent); }\n.atlas-embed-skel::after { content: \"\"; position: absolute; inset: 0; transform: translateX(-100%);\n background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--_text) 8%, transparent), transparent);\n animation: atlas-embed-shimmer 1.3s infinite; }\n.atlas-embed-skel-title { height: 22px; width: 55%; margin: 2px auto 2px; }\n.atlas-embed-skel-sub { height: 13px; width: 75%; margin: 0 auto 8px; }\n.atlas-embed-skel-input { height: 42px; }\n.atlas-embed-skel-button { height: 44px; margin-top: 6px; }\n@keyframes atlas-embed-shimmer { to { transform: translateX(100%); } }\n\n/* Reduced motion always wins \u2014 no transitions, presses, ripples, or spawn; and\n loaders swap their spin/bounce/slide/shimmer for a minimal opacity pulse. */\n@media (prefers-reduced-motion: reduce) {\n .atlas-embed-root { --_motion: 0s; }\n .atlas-embed-root [class^=\"atlas-embed-\"] { transition: none !important; }\n .atlas-embed-root .atlas-embed-button:active,\n .atlas-embed-root .atlas-embed-social-button:active { transform: none !important; }\n .atlas-embed-ripple { display: none; }\n .atlas-embed-spinner, .atlas-embed-btn-spinner, .atlas-embed-dot,\n .atlas-embed-loadbar::before, .atlas-embed-skel::after {\n animation: atlas-embed-pulse 1.4s ease-in-out infinite !important;\n }\n .atlas-embed-loadbar::before { position: static; width: 100%; }\n}\n@keyframes atlas-embed-pulse { 0%,100% { opacity: 0.4; } 50% { opacity: 1; } }\n";
|
|
15
|
+
export declare const EMBED_CSS = "\n.atlas-embed-root {\n --_bg: var(--atlas-embed-color-background, #ffffff);\n --_card: var(--atlas-embed-color-card, #ffffff);\n --_text: var(--atlas-embed-color-text, #1c1c1f);\n --_primary: var(--atlas-embed-color-primary, #5b5bd6);\n --_on-primary: var(--atlas-embed-color-text-on-primary, #ffffff);\n /* Keyboard focus ring \u2014 a solid outline. The widget sets it to the primary\n adjusted to 3:1 on the card/background (or the page's explicit ring). */\n --_focus: var(--atlas-embed-color-focus-ring, var(--_primary));\n --_border: var(--atlas-embed-color-border, #e4e4e9);\n --_radius: var(--atlas-embed-border-radius, 10px);\n /* Transition tempo \u2014 the widget sets --atlas-embed-motion from motionSpeed and\n to 0s when animations are off; reduced-motion forces 0s below regardless. */\n --_motion: var(--atlas-embed-motion, 0.16s);\n font-family: var(--atlas-embed-font-family, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif);\n color: var(--_text);\n box-sizing: border-box;\n display: block;\n}\n.atlas-embed-root *, .atlas-embed-root *::before, .atlas-embed-root *::after { box-sizing: border-box; }\n.atlas-embed-card {\n max-width: 400px;\n margin: 0 auto;\n padding: 28px 26px;\n background: var(--_card);\n border: 1px solid var(--_border);\n border-radius: calc(var(--_radius) + 4px);\n box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 8px 28px rgba(0,0,0,0.06);\n}\n.atlas-embed-logo { display: block; max-height: 40px; margin: 0 auto 16px; }\n.atlas-embed-title { font-size: 20px; font-weight: 650; text-align: center; margin: 0 0 4px; }\n.atlas-embed-subtitle { font-size: 14px; color: #6b7280; text-align: center; margin: 0 0 20px; }\n.atlas-embed-social { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }\n.atlas-embed-social-button {\n display: flex; align-items: center; justify-content: center; gap: 8px;\n width: 100%; padding: 10px 12px; font-size: 14px; font-weight: 550; cursor: pointer;\n color: var(--_text); background: var(--_card);\n border: 1px solid var(--_border); border-radius: var(--_radius);\n}\n.atlas-embed-social-button:hover { filter: brightness(0.97); }\n.atlas-embed-social-icon { display: inline-flex; flex: none; line-height: 0; }\n.atlas-embed-social-icon svg { width: 18px; height: 18px; display: block; }\n.atlas-embed-social-label { display: inline-block; }\n\n/* Size \u2014 button scale and icon size together. */\n.atlas-embed-social[data-size=\"sm\"] .atlas-embed-social-button { padding: 8px 10px; font-size: 13px; }\n.atlas-embed-social[data-size=\"sm\"] .atlas-embed-social-icon svg { width: 16px; height: 16px; }\n.atlas-embed-social[data-size=\"lg\"] .atlas-embed-social-button { padding: 13px 16px; font-size: 15px; }\n.atlas-embed-social[data-size=\"lg\"] .atlas-embed-social-icon svg { width: 22px; height: 22px; }\n\n/* Icon-only variant: a square button, name in the tooltip. Always laid out as a\n centred wrap (or a carousel), never a full-width bar. */\n.atlas-embed-social-button[data-variant=\"icon\"] { width: auto; padding: 10px; aspect-ratio: 1; }\n.atlas-embed-social[data-size=\"sm\"] .atlas-embed-social-button[data-variant=\"icon\"] { padding: 8px; }\n.atlas-embed-social[data-size=\"lg\"] .atlas-embed-social-button[data-variant=\"icon\"] { padding: 13px; }\n.atlas-embed-social[data-variant=\"icon\"]:not([data-layout=\"carousel\"]) {\n flex-direction: row; flex-wrap: wrap; justify-content: center;\n}\n\n/* Grid \u2014 bars share a row and wrap. */\n.atlas-embed-social[data-layout=\"grid\"] { flex-direction: row; flex-wrap: wrap; }\n.atlas-embed-social[data-layout=\"grid\"] .atlas-embed-social-button { width: auto; flex: 1 1 auto; }\n.atlas-embed-social[data-layout=\"grid\"] .atlas-embed-social-button[data-variant=\"icon\"] { flex: 0 0 auto; }\n\n/* Carousel \u2014 one swipeable, scroll-snapped row. The raw scrollbar is hidden; the\n arrow buttons (below) are the affordance instead. */\n.atlas-embed-social[data-layout=\"carousel\"] {\n flex-direction: row; flex-wrap: nowrap; overflow-x: auto;\n scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scroll-behavior: smooth;\n scrollbar-width: none;\n}\n.atlas-embed-social[data-layout=\"carousel\"]::-webkit-scrollbar { display: none; }\n.atlas-embed-social[data-layout=\"carousel\"] .atlas-embed-social-button { width: auto; flex: 0 0 auto; scroll-snap-align: start; }\n.atlas-embed-social[data-layout=\"carousel\"] .atlas-embed-social-button[data-variant=\"block\"] { min-width: 60%; }\n\n/* Carousel shell \u2014 prev/next controls flanking the scroll row. */\n.atlas-embed-carousel { position: relative; display: flex; align-items: center; gap: 4px; margin-bottom: 16px; }\n.atlas-embed-carousel .atlas-embed-social { flex: 1 1 auto; min-width: 0; margin-bottom: 0; }\n.atlas-embed-carousel-nav {\n flex: none; display: inline-flex; align-items: center; justify-content: center;\n width: 30px; height: 30px; padding: 0; cursor: pointer;\n color: var(--_text); background: var(--_card);\n border: 1px solid var(--_border); border-radius: 999px; transition: opacity 0.15s;\n}\n.atlas-embed-carousel-nav svg { width: 16px; height: 16px; display: block; }\n.atlas-embed-carousel-nav:hover:not(:disabled) { filter: brightness(0.97); }\n.atlas-embed-carousel-nav:disabled { opacity: 0.35; cursor: default; }\n/* Nothing overflows \u2192 no controls at all. */\n.atlas-embed-carousel[data-overflow=\"false\"] .atlas-embed-carousel-nav { display: none; }\n/* When the carousel sits inside a search field, the field owns the bottom margin. */\n.atlas-embed-social-field .atlas-embed-carousel { margin-bottom: 0; }\n\n/* Search \u2014 a filter box above a long provider list (socialButtons.search). The\n field wraps the button container so its own margin replaces the button block's. */\n.atlas-embed-social-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }\n.atlas-embed-social-field .atlas-embed-social { margin-bottom: 0; }\n.atlas-embed-social-search {\n width: 100%; padding: 9px 12px; font-size: 16px; color: var(--_text);\n background: var(--_bg); border: 1px solid var(--_border); border-radius: var(--_radius);\n}\n.atlas-embed-social-search:focus { outline: 2px solid var(--_focus); outline-offset: -1px; }\n.atlas-embed-social-button[hidden] { display: none; }\n.atlas-embed-social-empty { font-size: 13px; color: #9ca3af; text-align: center; padding: 6px 0; }\n.atlas-embed-social-empty[hidden] { display: none; }\n.atlas-embed-divider {\n display: flex; align-items: center; text-align: center; gap: 10px;\n color: #9ca3af; font-size: 12px; margin: 14px 0;\n}\n.atlas-embed-divider::before, .atlas-embed-divider::after {\n content: \"\"; flex: 1; height: 1px; background: var(--_border);\n}\n.atlas-embed-field { display: block; margin: 0 0 12px; }\n.atlas-embed-label { display: block; font-size: 13px; margin: 0 0 5px; color: var(--_text); }\n.atlas-embed-input {\n /* 16px: iOS Safari zooms the page when a smaller field takes focus. */\n width: 100%; padding: 10px 12px; font-size: 16px; color: var(--_text);\n background: var(--_bg); border: 1px solid var(--_border); border-radius: var(--_radius);\n}\n.atlas-embed-input:focus { outline: 2px solid var(--_focus); outline-offset: -1px; }\n/* Password field with a show/hide toggle. */\n.atlas-embed-password { position: relative; display: flex; align-items: center; }\n.atlas-embed-password .atlas-embed-input { width: 100%; padding-right: 54px; }\n.atlas-embed-password-toggle {\n position: absolute; right: 6px; padding: 4px 7px; font: inherit; font-size: 12px; font-weight: 600;\n cursor: pointer; color: var(--_primary); background: none; border: 0; border-radius: 6px;\n}\n.atlas-embed-password-toggle:hover { text-decoration: underline; }\nselect.atlas-embed-input { appearance: auto; }\n.atlas-embed-field-checkbox { display: flex; flex-direction: row-reverse; align-items: center; justify-content: flex-end; gap: 8px; }\n.atlas-embed-field-checkbox .atlas-embed-label { margin: 0; }\n.atlas-embed-checkbox { width: 16px; height: 16px; margin: 0; flex: none; }\ntextarea.atlas-embed-input { min-height: 72px; resize: vertical; font-family: inherit; }\nfieldset.atlas-embed-field { border: 0; padding: 0; margin: 0 0 12px; }\n.atlas-embed-choices { display: flex; flex-direction: column; gap: 6px; }\n.atlas-embed-choice { display: flex; flex-direction: row; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; }\n.atlas-embed-choice input { width: 16px; height: 16px; margin: 0; flex: none; accent-color: var(--_primary); }\n.atlas-embed-button {\n width: 100%; margin-top: 6px; padding: 11px 12px; font-size: 14px; font-weight: 650;\n cursor: pointer; color: var(--_on-primary); background: var(--_primary);\n border: 0; border-radius: var(--_radius);\n}\n.atlas-embed-button:disabled { opacity: 0.6; cursor: default; }\n.atlas-embed-button:focus-visible, .atlas-embed-social-button:focus-visible,\n.atlas-embed-handle-back:focus-visible, .atlas-embed-step-back:focus-visible,\n.atlas-embed-password-toggle:focus-visible, .atlas-embed-carousel-nav:focus-visible {\n outline: 2px solid var(--_focus); outline-offset: 2px;\n}\n.atlas-embed-handle-back {\n width: 100%; margin-top: 8px; padding: 6px; font-size: 13px; font-weight: 550;\n cursor: pointer; color: #6b7280; background: none; border: 0;\n}\n.atlas-embed-handle-back:hover { color: #374151; }\n.atlas-embed-error { display: block; font-size: 13px; color: #d64545; margin: 6px 0 0; }\n.atlas-embed-form-error { font-size: 13px; color: #d64545; margin: 0 0 12px; min-height: 0; }\n/* A success/confirmation banner (e.g. after a force-login password reset). */\n.atlas-embed-flash {\n font-size: 13px; color: #0f7a4d; background: rgba(16,163,101,0.08);\n border: 1px solid rgba(16,163,101,0.25); border-radius: var(--_radius);\n padding: 9px 11px; margin: 0 0 14px; text-align: center;\n}\n.atlas-embed-footer { font-size: 13px; color: #6b7280; text-align: center; margin: 16px 0 0; }\n/* \u00A75.1 legal consent row on sign-up. */\n.atlas-embed-consent { display: flex; align-items: flex-start; gap: 8px; margin: 2px 0 14px; font-size: 13px; color: #6b7280; }\n.atlas-embed-consent-check { margin: 2px 0 0; width: 15px; height: 15px; flex: none; accent-color: var(--_primary); cursor: pointer; }\n.atlas-embed-consent-link { color: var(--_primary); text-decoration: underline; }\n/* \u00A77.5 Remember-me row. */\n.atlas-embed-remember { display: flex; align-items: center; gap: 8px; margin: -2px 0 14px; font-size: 13px; color: var(--_text); cursor: pointer; }\n.atlas-embed-remember-check { width: 15px; height: 15px; flex: none; accent-color: var(--_primary); cursor: pointer; }\n.atlas-embed-note { font-size: 14px; color: #6b7280; text-align: center; margin: 8px 0; }\n\n/* Verification step \u2014 a continuation of the email panel, not a new screen: the\n context line (\"Enter the code we sent to \u2026\") + a way back, then a segmented\n one-box-per-digit code input that spawns in. */\n.atlas-embed-step-context { text-align: center; margin: 0 0 20px; }\n.atlas-embed-step-context .atlas-embed-subtitle { margin: 0 0 6px; }\n.atlas-embed-step-back {\n display: inline-block; padding: 2px 4px; font: inherit; font-size: 13px; font-weight: 550;\n cursor: pointer; color: var(--_primary); background: none; border: 0;\n}\n.atlas-embed-step-back:hover { text-decoration: underline; }\n/* A standalone action under the submit button (Forgot password?, Back to sign in,\n the 2FA toggle) reads as a centred link, not a left-aligned fragment. */\nform > .atlas-embed-step-back { display: block; width: 100%; text-align: center; margin-top: 10px; }\n.atlas-embed-code { display: flex; gap: 8px; justify-content: space-between; }\n.atlas-embed-code-box {\n flex: 1 1 0; min-width: 0; aspect-ratio: 1 / 1.15; padding: 0; text-align: center;\n font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--_text);\n background: var(--_bg); border: 1px solid var(--_border); border-radius: var(--_radius);\n}\n.atlas-embed-code-box:focus { outline: 2px solid var(--_focus); outline-offset: -1px; }\n/* A real step change eases its content in; error/busy re-renders (same step) do\n not, and a reduced-motion viewer gets no animation at all. */\n@media (prefers-reduced-motion: no-preference) {\n .atlas-embed-card[data-enter] > form,\n .atlas-embed-card[data-enter] > .atlas-embed-step-context {\n animation: atlas-embed-spawn 0.26s cubic-bezier(0.22, 0.61, 0.36, 1) both;\n }\n}\n@keyframes atlas-embed-spawn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Interaction / polish layer \u2014 how controls FEEL. Driven by data-attributes on\n the root (data-button-style / -button-effect / -shadow / -density /\n -input-style) that the widget sets from the resolved interaction config, plus\n the --_motion tempo var. Every rule is additive: with no attributes set the\n widget looks exactly as it did before this layer existed.\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n/* Smooth every interactive control at the configured tempo. */\n.atlas-embed-button, .atlas-embed-social-button, .atlas-embed-carousel-nav,\n.atlas-embed-handle-back, .atlas-embed-step-back, .atlas-embed-password-toggle,\n.atlas-embed-input, .atlas-embed-code-box {\n transition:\n transform var(--_motion) ease, box-shadow var(--_motion) ease,\n background-color var(--_motion) ease, border-color var(--_motion) ease,\n color var(--_motion) ease, filter var(--_motion) ease, outline-color var(--_motion) ease;\n}\n\n/* Primary CTA \u2014 a subtle hover darken by default (was static). */\n.atlas-embed-button:hover:not(:disabled) { filter: brightness(1.06); }\n\n/* Button fill style (primary CTA only \u2014 social buttons keep provider styling). */\n.atlas-embed-root[data-button-style=\"outline\"] .atlas-embed-button {\n background: transparent; color: var(--_primary); border: 1px solid var(--_primary);\n}\n.atlas-embed-root[data-button-style=\"outline\"] .atlas-embed-button:hover:not(:disabled) {\n filter: none; background: color-mix(in srgb, var(--_primary) 10%, transparent);\n}\n.atlas-embed-root[data-button-style=\"soft\"] .atlas-embed-button {\n background: color-mix(in srgb, var(--_primary) 14%, transparent); color: var(--_primary);\n}\n.atlas-embed-root[data-button-style=\"soft\"] .atlas-embed-button:hover:not(:disabled) {\n filter: none; background: color-mix(in srgb, var(--_primary) 22%, transparent);\n}\n.atlas-embed-root[data-button-style=\"ghost\"] .atlas-embed-button {\n background: transparent; color: var(--_primary);\n}\n.atlas-embed-root[data-button-style=\"ghost\"] .atlas-embed-button:hover:not(:disabled) {\n filter: none; background: color-mix(in srgb, var(--_primary) 12%, transparent);\n}\n\n/* Press/hover effect \u2014 applies to every button. */\n.atlas-embed-root[data-button-effect=\"scale\"] .atlas-embed-button:active:not(:disabled),\n.atlas-embed-root[data-button-effect=\"scale\"] .atlas-embed-social-button:active,\n.atlas-embed-root[data-button-effect=\"scale\"] .atlas-embed-carousel-nav:active:not(:disabled) {\n transform: scale(0.97);\n}\n.atlas-embed-root[data-button-effect=\"lift\"] .atlas-embed-button:hover:not(:disabled),\n.atlas-embed-root[data-button-effect=\"lift\"] .atlas-embed-social-button:hover {\n transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,0.14); filter: none;\n}\n.atlas-embed-root[data-button-effect=\"lift\"] .atlas-embed-button:active:not(:disabled),\n.atlas-embed-root[data-button-effect=\"lift\"] .atlas-embed-social-button:active { transform: translateY(0); }\n.atlas-embed-root[data-button-effect=\"glow\"] .atlas-embed-button:hover:not(:disabled),\n.atlas-embed-root[data-button-effect=\"glow\"] .atlas-embed-social-button:hover {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--_primary) 35%, transparent); filter: none;\n}\n/* Ripple \u2014 the widget appends a span on pointer-down; buttons must clip it. */\n.atlas-embed-root[data-button-effect=\"ripple\"] .atlas-embed-button,\n.atlas-embed-root[data-button-effect=\"ripple\"] .atlas-embed-social-button {\n position: relative; overflow: hidden;\n}\n.atlas-embed-ripple {\n position: absolute; border-radius: 50%; transform: scale(0);\n background: currentColor; opacity: 0.28; pointer-events: none;\n animation: atlas-embed-ripple 0.55s ease-out;\n}\n@keyframes atlas-embed-ripple { to { transform: scale(2.6); opacity: 0; } }\n\n/* Card + solid-button elevation. */\n.atlas-embed-root[data-shadow=\"none\"] .atlas-embed-card { box-shadow: none; }\n.atlas-embed-root[data-shadow=\"sm\"] .atlas-embed-card { box-shadow: 0 1px 2px rgba(0,0,0,0.05); }\n.atlas-embed-root[data-shadow=\"lg\"] .atlas-embed-card {\n box-shadow: 0 4px 12px rgba(0,0,0,0.08), 0 16px 48px rgba(0,0,0,0.12);\n}\n\n/* Density \u2014 compact tightens padding and gaps. */\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-card { padding: 20px 18px; }\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-social { gap: 6px; margin-bottom: 12px; }\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-field { margin-bottom: 9px; }\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-button { padding: 9px 12px; }\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-social-button { padding: 8px 10px; }\n.atlas-embed-root[data-density=\"compact\"] .atlas-embed-subtitle { margin-bottom: 14px; }\n\n/* Input style \u2014 filled and underline treatments (default is the outlined field). */\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-input,\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-code-box,\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-social-search {\n background: color-mix(in srgb, var(--_border) 24%, transparent); border-color: transparent;\n}\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-input:focus,\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-code-box:focus,\n.atlas-embed-root[data-input-style=\"filled\"] .atlas-embed-social-search:focus {\n background: var(--_bg); border-color: var(--_primary);\n}\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-input,\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-code-box,\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-social-search {\n background: transparent; border: 0; border-bottom: 1.5px solid var(--_border);\n border-radius: 0; padding-left: 2px; padding-right: 2px;\n}\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-input:focus,\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-code-box:focus,\n.atlas-embed-root[data-input-style=\"underline\"] .atlas-embed-social-search:focus {\n outline: none; border-bottom-color: var(--_primary);\n}\n\n/* \u2500\u2500 Loading states \u2014 spinner / skeleton / dots / bar (interaction.loading).\n Shown while appearance resolves, while a redirect ticket is exchanged, and the\n button spinner while a form submits \u2014 so the widget never flashes blank. \u2500\u2500 */\n.atlas-embed-button { display: flex; align-items: center; justify-content: center; gap: 8px; }\n.atlas-embed-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 168px; padding: 12px 0; }\n.atlas-embed-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }\n\n/* Spinner (default) + the in-button spinner. */\n.atlas-embed-spinner, .atlas-embed-btn-spinner {\n border-radius: 50%; border-style: solid; flex: none;\n animation: atlas-embed-spin 0.7s linear infinite;\n}\n.atlas-embed-spinner { width: 30px; height: 30px; border-width: 3px;\n border-color: color-mix(in srgb, var(--_primary) 22%, transparent); border-top-color: var(--_primary); }\n.atlas-embed-btn-spinner { width: 17px; height: 17px; border-width: 2px;\n border-color: color-mix(in srgb, currentColor 35%, transparent); border-top-color: currentColor; }\n@keyframes atlas-embed-spin { to { transform: rotate(360deg); } }\n\n/* Dots. */\n.atlas-embed-loading[data-loading=\"dots\"] { flex-direction: row; }\n.atlas-embed-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--_primary);\n animation: atlas-embed-bounce 1.2s ease-in-out infinite; }\n.atlas-embed-dot:nth-child(2) { animation-delay: 0.15s; }\n.atlas-embed-dot:nth-child(3) { animation-delay: 0.30s; }\n@keyframes atlas-embed-bounce { 0%,80%,100% { transform: scale(0.5); opacity: 0.4; } 40% { transform: scale(1); opacity: 1; } }\n\n/* Indeterminate bar. */\n.atlas-embed-loading[data-loading=\"bar\"] { min-height: 132px; }\n.atlas-embed-loadbar { position: relative; width: 64%; height: 4px; border-radius: 999px; overflow: hidden;\n background: color-mix(in srgb, var(--_border) 60%, transparent); }\n.atlas-embed-loadbar::before { content: \"\"; position: absolute; top: 0; bottom: 0; width: 40%; border-radius: 999px;\n background: var(--_primary); animation: atlas-embed-slide 1.1s ease-in-out infinite; }\n@keyframes atlas-embed-slide { 0% { left: -45%; } 100% { left: 105%; } }\n\n/* Skeleton \u2014 placeholders shaped like the form. */\n.atlas-embed-loading[data-loading=\"skeleton\"] { align-items: stretch; min-height: 0; gap: 12px; }\n.atlas-embed-skel { border-radius: var(--_radius); position: relative; overflow: hidden;\n background: color-mix(in srgb, var(--_border) 55%, transparent); }\n.atlas-embed-skel::after { content: \"\"; position: absolute; inset: 0; transform: translateX(-100%);\n background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--_text) 8%, transparent), transparent);\n animation: atlas-embed-shimmer 1.3s infinite; }\n.atlas-embed-skel-title { height: 22px; width: 55%; margin: 2px auto 2px; }\n.atlas-embed-skel-sub { height: 13px; width: 75%; margin: 0 auto 8px; }\n.atlas-embed-skel-input { height: 42px; }\n.atlas-embed-skel-button { height: 44px; margin-top: 6px; }\n@keyframes atlas-embed-shimmer { to { transform: translateX(100%); } }\n\n/* Reduced motion always wins \u2014 no transitions, presses, ripples, or spawn; and\n loaders swap their spin/bounce/slide/shimmer for a minimal opacity pulse. */\n@media (prefers-reduced-motion: reduce) {\n .atlas-embed-root { --_motion: 0s; }\n .atlas-embed-root [class^=\"atlas-embed-\"] { transition: none !important; }\n .atlas-embed-root .atlas-embed-button:active,\n .atlas-embed-root .atlas-embed-social-button:active { transform: none !important; }\n .atlas-embed-ripple { display: none; }\n .atlas-embed-spinner, .atlas-embed-btn-spinner, .atlas-embed-dot,\n .atlas-embed-loadbar::before, .atlas-embed-skel::after {\n animation: atlas-embed-pulse 1.4s ease-in-out infinite !important;\n }\n .atlas-embed-loadbar::before { position: static; width: 100%; }\n}\n@keyframes atlas-embed-pulse { 0%,100% { opacity: 0.4; } 50% { opacity: 1; } }\n";
|
|
16
16
|
/** Inject the sheet once per document. Safe to call on every mount. */
|
|
17
17
|
export declare function injectStyles(doc?: Document): void;
|
package/dist/styles.js
CHANGED
|
@@ -23,7 +23,8 @@ exports.EMBED_CSS = `
|
|
|
23
23
|
--_text: var(--atlas-embed-color-text, #1c1c1f);
|
|
24
24
|
--_primary: var(--atlas-embed-color-primary, #5b5bd6);
|
|
25
25
|
--_on-primary: var(--atlas-embed-color-text-on-primary, #ffffff);
|
|
26
|
-
/* Keyboard focus ring — a solid outline
|
|
26
|
+
/* Keyboard focus ring — a solid outline. The widget sets it to the primary
|
|
27
|
+
adjusted to 3:1 on the card/background (or the page's explicit ring). */
|
|
27
28
|
--_focus: var(--atlas-embed-color-focus-ring, var(--_primary));
|
|
28
29
|
--_border: var(--atlas-embed-color-border, #e4e4e9);
|
|
29
30
|
--_radius: var(--atlas-embed-border-radius, 10px);
|
package/dist/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":";;;AAoYA,oCAMC;AA1YD;;;;;;;;;;;;GAYG;AACU,QAAA,YAAY,GAAG,oBAAoB,CAAC;AAEpC,QAAA,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkXxB,CAAC;AAEF,uEAAuE;AACvE,SAAgB,YAAY,CAAC,MAAgB,QAAQ;IACnD,IAAI,GAAG,CAAC,aAAa,CAAC,cAAc,oBAAY,GAAG,CAAC;QAAE,OAAO;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,YAAY,CAAC,QAAQ,oBAAY,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,WAAW,GAAG,iBAAS,CAAC;IAC9B,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC"}
|
package/dist/widget.js
CHANGED
|
@@ -185,6 +185,9 @@ class AtlasWidget {
|
|
|
185
185
|
this.root.style.setProperty(key, value);
|
|
186
186
|
// Derived, not a token: the primary button's label follows the primary's contrast.
|
|
187
187
|
this.root.style.setProperty('--atlas-embed-color-text-on-primary', (0, appearance_1.textOnPrimary)(tokens.colorPrimary));
|
|
188
|
+
// Derived too, unless set explicitly: a focus ring with 3:1 on the card/page.
|
|
189
|
+
this.root.style.setProperty('--atlas-embed-color-focus-ring', this.options.appearance?.variables?.colorFocusRing ??
|
|
190
|
+
(0, appearance_1.focusRingOn)(tokens.colorPrimary, [tokens.colorCard, tokens.colorBackground]));
|
|
188
191
|
if (this.design) {
|
|
189
192
|
this.appliedDesign = (0, runtime_1.applyAppearanceToDom)(this.root.ownerDocument ?? document, this.root, this.design.render, this.appliedDesign);
|
|
190
193
|
}
|
package/dist/widget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":";;;AAAA,sCAMuB;AACvB,
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlasauth/embed",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@atlasauth/design": "0.
|
|
8
|
-
"@atlasauth/js": "0.
|
|
7
|
+
"@atlasauth/design": "0.2.0",
|
|
8
|
+
"@atlasauth/js": "0.7.0"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"esbuild": "^0.21.5",
|