puredocs_v2 1.0.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/LICENSE +46 -0
- package/README.md +164 -0
- package/dist/api/http-client.d.ts +14 -0
- package/dist/api/snippets.d.ts +15 -0
- package/dist/components/app.d.ts +7 -0
- package/dist/components/layout/empty-state-page.d.ts +11 -0
- package/dist/components/layout/page-layout.d.ts +9 -0
- package/dist/components/modals/auth-modal.d.ts +17 -0
- package/dist/components/modals/modal-base.d.ts +15 -0
- package/dist/components/modals/search-modal.d.ts +6 -0
- package/dist/components/nav/route-nav.d.ts +2 -0
- package/dist/components/nav/sidebar.d.ts +13 -0
- package/dist/components/pages/endpoint.d.ts +3 -0
- package/dist/components/pages/overview.d.ts +2 -0
- package/dist/components/pages/tag-page.d.ts +2 -0
- package/dist/components/pages/webhook.d.ts +3 -0
- package/dist/components/shared/connection-settings.d.ts +2 -0
- package/dist/components/shared/copy-button.d.ts +12 -0
- package/dist/components/shared/editor-panel.d.ts +14 -0
- package/dist/components/shared/example-picker.d.ts +20 -0
- package/dist/components/shared/responses.d.ts +27 -0
- package/dist/components/shared/schema-viewer.d.ts +17 -0
- package/dist/components/shared/summary.d.ts +5 -0
- package/dist/components/shared/try-it.d.ts +20 -0
- package/dist/components/ui/badge.d.ts +24 -0
- package/dist/components/ui/breadcrumb.d.ts +12 -0
- package/dist/components/ui/button.d.ts +17 -0
- package/dist/components/ui/card.d.ts +25 -0
- package/dist/components/ui/index.d.ts +20 -0
- package/dist/components/ui/input.d.ts +20 -0
- package/dist/components/ui/lock-icon.d.ts +8 -0
- package/dist/components/ui/section.d.ts +8 -0
- package/dist/components/ui/select.d.ts +20 -0
- package/dist/core/auth-storage.d.ts +3 -0
- package/dist/core/effects.d.ts +33 -0
- package/dist/core/parser.d.ts +7 -0
- package/dist/core/persistence.d.ts +12 -0
- package/dist/core/router.d.ts +40 -0
- package/dist/core/search.d.ts +5 -0
- package/dist/core/security.d.ts +16 -0
- package/dist/core/state.d.ts +24 -0
- package/dist/core/theme.d.ts +9 -0
- package/dist/core/types.d.ts +291 -0
- package/dist/core/validation.d.ts +17 -0
- package/dist/helpers/debounce.d.ts +1 -0
- package/dist/helpers/schema-utils.d.ts +2 -0
- package/dist/helpers/text.d.ts +2 -0
- package/dist/helpers/validation-ui.d.ts +4 -0
- package/dist/index.d.ts +34 -0
- package/dist/lib/dom.d.ts +17 -0
- package/dist/lib/highlight.d.ts +8 -0
- package/dist/lib/icons.d.ts +24 -0
- package/dist/puredocs.cjs +49 -0
- package/dist/puredocs.cjs.map +1 -0
- package/dist/puredocs.css +1 -0
- package/dist/puredocs.js +5324 -0
- package/dist/puredocs.js.map +1 -0
- package/dist/puredocs.umd.js +49 -0
- package/dist/puredocs.umd.js.map +1 -0
- package/dist/server.cjs +117 -0
- package/dist/server.cjs.map +1 -0
- package/dist/server.d.ts +43 -0
- package/dist/server.js +116 -0
- package/dist/server.js.map +1 -0
- package/dist/services/env.d.ts +7 -0
- package/package.json +84 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
(function(ye,Je){typeof exports=="object"&&typeof module<"u"?Je(exports):typeof define=="function"&&define.amd?define(["exports"],Je):(ye=typeof globalThis<"u"?globalThis:ye||self,Je(ye.PureDocs={}))})(this,(function(ye){"use strict";class Je{constructor(){this.listeners=new Set,this.state=this.defaultState()}defaultState(){return{spec:null,loading:!0,error:null,route:{type:"overview"},theme:"light",sidebarOpen:!0,searchOpen:!1,activeEnvironment:"default",environments:[{name:"default",baseUrl:""}],initialEnvironments:[{name:"default",baseUrl:""}],auth:{schemes:{},activeScheme:"",token:"",locked:!1,source:"manual"},tryItState:null}}get(){return this.state}set(t){this.state={...this.state,...t},this.notify()}setAuth(t){this.state={...this.state,auth:{...this.state.auth,...t}},this.notify()}setSchemeValue(t,n){const a={...this.state.auth.schemes,[t]:n},r=t,o=n;this.state={...this.state,auth:{...this.state.auth,schemes:a,activeScheme:r,token:o,source:"manual"}},this.notify()}setTryIt(t){t===null?this.state={...this.state,tryItState:null}:this.state={...this.state,tryItState:{...this.state.tryItState,...t}},this.notify()}setRoute(t){this.state={...this.state,route:t},this.notify()}setActiveEnvironment(t){this.state={...this.state,activeEnvironment:t},this.notify()}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}notify(){for(const t of this.listeners)try{t(this.state)}catch(n){console.error("[ApiPortal] Subscriber error:",n)}}reset(){this.state=this.defaultState(),this.listeners.clear()}}const k=new Je,Jr=new Set(["get","post","put","patch","delete","head","options","trace"]);function Zr(e=""){window.addEventListener("hashchange",Dt),Dt()}function Xr(){window.removeEventListener("hashchange",Dt)}function M(e){const t=e.startsWith("/")?e:`/${e}`;window.location.hash=t}function H(e){switch(e.type){case"overview":return"/";case"tag":return`/${Z(e.tag||"")}`;case"endpoint":{const t=e.tag||"default",n=(e.method||"get").toLowerCase(),a=e.path||"/";return`/${Z(t)}/${n}${a}`}case"schema":return e.schemaName?`/schemas/${encodeURIComponent(e.schemaName)}`:"/schemas";case"webhook":return e.webhookName?`/webhooks/${encodeURIComponent(e.webhookName)}`:"/webhooks";case"guide":return`/guides/${encodeURIComponent(e.guidePath||"")}`;default:return"/"}}function An(e){const t=ea(e);if(t==="/"||t==="")return{type:"overview"};const n=t.slice(1).split("/");if(n.length===0)return{type:"overview"};const a=be(n[0]).toLowerCase();if(a==="schemas")return n.length>=2?{type:"schema",schemaName:be(n.slice(1).join("/"))}:{type:"schema"};if(a==="webhooks")return n.length>=2?{type:"webhook",webhookName:be(n.slice(1).join("/"))}:{type:"webhook"};if(a==="guides"&&n.length>=2)return{type:"guide",guidePath:be(n.slice(1).join("/"))};if(n.length===1)return{type:"tag",tag:be(n[0])};const r=n[1].toLowerCase();if(Jr.has(r)){const o=be(n[0]),i=r,s=n.length>2?"/"+n.slice(2).map(be).join("/"):"/";return{type:"endpoint",tag:o,method:i,path:s}}return{type:"tag",tag:be(n[0])}}function Z(e){return e.toLowerCase().replace(/\s+/g,"-").replace(/[^\w-]/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function be(e){try{return decodeURIComponent(e)}catch{return e}}function Qr(){const e=window.location.hash;return!e||e==="#"||e==="#/"?"/":e.slice(1)}function Dt(){const e=Qr(),t=An(e);k.setRoute(t)}function ea(e){const t=e.split("?")[0]||"/";return(t.startsWith("/")?t:`/${t}`).replace(/\/+/g,"/").replace(/\/+$/,"")||"/"}function Ze(e){if(e===void 0)return;if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||typeof n!="object"||Array.isArray(n))continue;const a={};for(const[r,o]of Object.entries(n)){const i=Array.isArray(o)?o.map(s=>String(s)):[];a[r]=i}t.push(a)}return t}function Ut(e,t,n){if(!e||e.length===0)return{explicitlyNoAuth:n,requirements:[]};const a=e.map(r=>Object.entries(r).map(([o,i])=>({schemeName:o,scopes:Array.isArray(i)?i:[],scheme:t[o]})));return{explicitlyNoAuth:n,requirements:a}}function _(e){return!!(e&&!e.explicitlyNoAuth&&e.requirements.length>0)}function zt(e){if(!e)return"Auth";if(e.type==="http"){const t=(e.scheme||"").toLowerCase();return t==="bearer"?"Bearer":t==="basic"?"Basic":"HTTP"}return e.type==="apiKey"?"API Key":e.type==="oauth2"?"OAuth2":e.type==="openIdConnect"?"OpenID Connect":e.type||"Auth"}function ta(e){if(!_(e))return[];const t=new Set,n=[];for(const a of e.requirements)for(const r of a){const o=zt(r.scheme);t.has(o)||(t.add(o),n.push(o))}return n}function En(e){const t=ta(e);return t.length===0?null:t.length===1?`${t[0]} required`:`${t[0]} +${t.length-1} required`}function Me(e){return _(e)?`Requires authentication: ${e.requirements.map(n=>n.map(a=>{const r=zt(a.scheme);return a.scopes.length>0?`${r} [${a.scopes.join(", ")}]`:r}).join(" + ")).join(" OR ")}`:"Authentication not required"}function ut(e,t,n,a){const r={headers:{},query:{},cookies:{},matchedSchemeNames:[]};if(!_(e))return r;for(const s of e.requirements){if(!s.every(d=>!!t[d.schemeName])&&s.length>0)continue;const u=Ln(s,t);if(Object.keys(u.headers).length>0||Object.keys(u.query).length>0||Object.keys(u.cookies).length>0)return u}return!a||!n?r:Ln([{schemeName:n,scopes:[]}],{...t,[n]:a})}function na(e){const t={};if(!_(e))return t;const n=e.requirements[0]||[];for(const a of n){const r=a.scheme;if(r){if(r.type==="http"){const o=(r.scheme||"").toLowerCase();o==="bearer"?t.Authorization="Bearer <token>":o==="basic"?t.Authorization="Basic <credentials>":t.Authorization="<token>";continue}r.type==="apiKey"&&r.in==="header"&&r.name&&(t[r.name]=`<${r.name}>`)}}return t}function Ln(e,t){const n={headers:{},query:{},cookies:{},matchedSchemeNames:[]};for(const a of e){const r=a.scheme,o=t[a.schemeName];if(!(!r||!o)){if(n.matchedSchemeNames.push(a.schemeName),r.type==="http"){const i=(r.scheme||"").toLowerCase();i==="bearer"?n.headers.Authorization=`Bearer ${o}`:i==="basic"?n.headers.Authorization=`Basic ${o}`:n.headers.Authorization=o;continue}if(r.type==="oauth2"||r.type==="openIdConnect"){n.headers.Authorization=`Bearer ${o}`;continue}r.type==="apiKey"&&r.name&&(r.in==="query"?n.query[r.name]=o:r.in==="cookie"?n.cookies[r.name]=o:n.headers[r.name]=o)}}return n}/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */function On(e){return typeof e>"u"||e===null}function ra(e){return typeof e=="object"&&e!==null}function aa(e){return Array.isArray(e)?e:On(e)?[]:[e]}function oa(e,t){var n,a,r,o;if(t)for(o=Object.keys(t),n=0,a=o.length;n<a;n+=1)r=o[n],e[r]=t[r];return e}function ia(e,t){var n="",a;for(a=0;a<t;a+=1)n+=e;return n}function sa(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var ca=On,la=ra,ua=aa,da=ia,pa=sa,fa=oa,G={isNothing:ca,isObject:la,toArray:ua,repeat:da,isNegativeZero:pa,extend:fa};function Tn(e,t){var n="",a=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(n+=`
|
|
2
|
+
|
|
3
|
+
`+e.mark.snippet),a+" "+n):a}function Xe(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=Tn(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Xe.prototype=Object.create(Error.prototype),Xe.prototype.constructor=Xe,Xe.prototype.toString=function(t){return this.name+": "+Tn(this,t)};var pe=Xe;function Wt(e,t,n,a,r){var o="",i="",s=Math.floor(r/2)-1;return a-t>s&&(o=" ... ",t=a-s+o.length),n-a>s&&(i=" ...",n=a+s-i.length),{str:o+e.slice(t,n).replace(/\t/g,"→")+i,pos:a-t+o.length}}function Vt(e,t){return G.repeat(" ",t-e.length)+e}function ma(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var n=/\r?\n|\r|\0/g,a=[0],r=[],o,i=-1;o=n.exec(e.buffer);)r.push(o.index),a.push(o.index+o[0].length),e.position<=o.index&&i<0&&(i=a.length-2);i<0&&(i=a.length-1);var s="",l,u,d=Math.min(e.line+t.linesAfter,r.length).toString().length,p=t.maxLength-(t.indent+d+3);for(l=1;l<=t.linesBefore&&!(i-l<0);l++)u=Wt(e.buffer,a[i-l],r[i-l],e.position-(a[i]-a[i-l]),p),s=G.repeat(" ",t.indent)+Vt((e.line-l+1).toString(),d)+" | "+u.str+`
|
|
4
|
+
`+s;for(u=Wt(e.buffer,a[i],r[i],e.position,p),s+=G.repeat(" ",t.indent)+Vt((e.line+1).toString(),d)+" | "+u.str+`
|
|
5
|
+
`,s+=G.repeat("-",t.indent+d+3+u.pos)+`^
|
|
6
|
+
`,l=1;l<=t.linesAfter&&!(i+l>=r.length);l++)u=Wt(e.buffer,a[i+l],r[i+l],e.position-(a[i]-a[i+l]),p),s+=G.repeat(" ",t.indent)+Vt((e.line+l+1).toString(),d)+" | "+u.str+`
|
|
7
|
+
`;return s.replace(/\n$/,"")}var ha=ma,ga=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],va=["scalar","sequence","mapping"];function ya(e){var t={};return e!==null&&Object.keys(e).forEach(function(n){e[n].forEach(function(a){t[String(a)]=n})}),t}function ba(e,t){if(t=t||{},Object.keys(t).forEach(function(n){if(ga.indexOf(n)===-1)throw new pe('Unknown option "'+n+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(n){return n},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=ya(t.styleAliases||null),va.indexOf(this.kind)===-1)throw new pe('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var V=ba;function qn(e,t){var n=[];return e[t].forEach(function(a){var r=n.length;n.forEach(function(o,i){o.tag===a.tag&&o.kind===a.kind&&o.multi===a.multi&&(r=i)}),n[r]=a}),n}function xa(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,n;function a(r){r.multi?(e.multi[r.kind].push(r),e.multi.fallback.push(r)):e[r.kind][r.tag]=e.fallback[r.tag]=r}for(t=0,n=arguments.length;t<n;t+=1)arguments[t].forEach(a);return e}function Yt(e){return this.extend(e)}Yt.prototype.extend=function(t){var n=[],a=[];if(t instanceof V)a.push(t);else if(Array.isArray(t))a=a.concat(t);else if(t&&(Array.isArray(t.implicit)||Array.isArray(t.explicit)))t.implicit&&(n=n.concat(t.implicit)),t.explicit&&(a=a.concat(t.explicit));else throw new pe("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");n.forEach(function(o){if(!(o instanceof V))throw new pe("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(o.loadKind&&o.loadKind!=="scalar")throw new pe("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(o.multi)throw new pe("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),a.forEach(function(o){if(!(o instanceof V))throw new pe("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var r=Object.create(Yt.prototype);return r.implicit=(this.implicit||[]).concat(n),r.explicit=(this.explicit||[]).concat(a),r.compiledImplicit=qn(r,"implicit"),r.compiledExplicit=qn(r,"explicit"),r.compiledTypeMap=xa(r.compiledImplicit,r.compiledExplicit),r};var ka=Yt,Ca=new V("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),wa=new V("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),Na=new V("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),Sa=new ka({explicit:[Ca,wa,Na]});function Aa(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function Ea(){return null}function La(e){return e===null}var Oa=new V("tag:yaml.org,2002:null",{kind:"scalar",resolve:Aa,construct:Ea,predicate:La,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function Ta(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function qa(e){return e==="true"||e==="True"||e==="TRUE"}function Ia(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var $a=new V("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Ta,construct:qa,predicate:Ia,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function ja(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function Ba(e){return 48<=e&&e<=55}function Ma(e){return 48<=e&&e<=57}function Pa(e){if(e===null)return!1;var t=e.length,n=0,a=!1,r;if(!t)return!1;if(r=e[n],(r==="-"||r==="+")&&(r=e[++n]),r==="0"){if(n+1===t)return!0;if(r=e[++n],r==="b"){for(n++;n<t;n++)if(r=e[n],r!=="_"){if(r!=="0"&&r!=="1")return!1;a=!0}return a&&r!=="_"}if(r==="x"){for(n++;n<t;n++)if(r=e[n],r!=="_"){if(!ja(e.charCodeAt(n)))return!1;a=!0}return a&&r!=="_"}if(r==="o"){for(n++;n<t;n++)if(r=e[n],r!=="_"){if(!Ba(e.charCodeAt(n)))return!1;a=!0}return a&&r!=="_"}}if(r==="_")return!1;for(;n<t;n++)if(r=e[n],r!=="_"){if(!Ma(e.charCodeAt(n)))return!1;a=!0}return!(!a||r==="_")}function Ra(e){var t=e,n=1,a;if(t.indexOf("_")!==-1&&(t=t.replace(/_/g,"")),a=t[0],(a==="-"||a==="+")&&(a==="-"&&(n=-1),t=t.slice(1),a=t[0]),t==="0")return 0;if(a==="0"){if(t[1]==="b")return n*parseInt(t.slice(2),2);if(t[1]==="x")return n*parseInt(t.slice(2),16);if(t[1]==="o")return n*parseInt(t.slice(2),8)}return n*parseInt(t,10)}function Ha(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!G.isNegativeZero(e)}var Fa=new V("tag:yaml.org,2002:int",{kind:"scalar",resolve:Pa,construct:Ra,predicate:Ha,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),_a=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Da(e){return!(e===null||!_a.test(e)||e[e.length-1]==="_")}function Ua(e){var t,n;return t=e.replace(/_/g,"").toLowerCase(),n=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?n===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:n*parseFloat(t,10)}var za=/^[-+]?[0-9]+e/;function Wa(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(G.isNegativeZero(e))return"-0.0";return n=e.toString(10),za.test(n)?n.replace("e",".e"):n}function Va(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||G.isNegativeZero(e))}var Ya=new V("tag:yaml.org,2002:float",{kind:"scalar",resolve:Da,construct:Ua,predicate:Va,represent:Wa,defaultStyle:"lowercase"}),Ga=Sa.extend({implicit:[Oa,$a,Fa,Ya]}),Ka=Ga,In=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),$n=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Ja(e){return e===null?!1:In.exec(e)!==null||$n.exec(e)!==null}function Za(e){var t,n,a,r,o,i,s,l=0,u=null,d,p,m;if(t=In.exec(e),t===null&&(t=$n.exec(e)),t===null)throw new Error("Date resolve error");if(n=+t[1],a=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,a,r));if(o=+t[4],i=+t[5],s=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(d=+t[10],p=+(t[11]||0),u=(d*60+p)*6e4,t[9]==="-"&&(u=-u)),m=new Date(Date.UTC(n,a,r,o,i,s,l)),u&&m.setTime(m.getTime()-u),m}function Xa(e){return e.toISOString()}var Qa=new V("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Ja,construct:Za,instanceOf:Date,represent:Xa});function eo(e){return e==="<<"||e===null}var to=new V("tag:yaml.org,2002:merge",{kind:"scalar",resolve:eo}),Gt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
8
|
+
\r`;function no(e){if(e===null)return!1;var t,n,a=0,r=e.length,o=Gt;for(n=0;n<r;n++)if(t=o.indexOf(e.charAt(n)),!(t>64)){if(t<0)return!1;a+=6}return a%8===0}function ro(e){var t,n,a=e.replace(/[\r\n=]/g,""),r=a.length,o=Gt,i=0,s=[];for(t=0;t<r;t++)t%4===0&&t&&(s.push(i>>16&255),s.push(i>>8&255),s.push(i&255)),i=i<<6|o.indexOf(a.charAt(t));return n=r%4*6,n===0?(s.push(i>>16&255),s.push(i>>8&255),s.push(i&255)):n===18?(s.push(i>>10&255),s.push(i>>2&255)):n===12&&s.push(i>>4&255),new Uint8Array(s)}function ao(e){var t="",n=0,a,r,o=e.length,i=Gt;for(a=0;a<o;a++)a%3===0&&a&&(t+=i[n>>18&63],t+=i[n>>12&63],t+=i[n>>6&63],t+=i[n&63]),n=(n<<8)+e[a];return r=o%3,r===0?(t+=i[n>>18&63],t+=i[n>>12&63],t+=i[n>>6&63],t+=i[n&63]):r===2?(t+=i[n>>10&63],t+=i[n>>4&63],t+=i[n<<2&63],t+=i[64]):r===1&&(t+=i[n>>2&63],t+=i[n<<4&63],t+=i[64],t+=i[64]),t}function oo(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var io=new V("tag:yaml.org,2002:binary",{kind:"scalar",resolve:no,construct:ro,predicate:oo,represent:ao}),so=Object.prototype.hasOwnProperty,co=Object.prototype.toString;function lo(e){if(e===null)return!0;var t=[],n,a,r,o,i,s=e;for(n=0,a=s.length;n<a;n+=1){if(r=s[n],i=!1,co.call(r)!=="[object Object]")return!1;for(o in r)if(so.call(r,o))if(!i)i=!0;else return!1;if(!i)return!1;if(t.indexOf(o)===-1)t.push(o);else return!1}return!0}function uo(e){return e!==null?e:[]}var po=new V("tag:yaml.org,2002:omap",{kind:"sequence",resolve:lo,construct:uo}),fo=Object.prototype.toString;function mo(e){if(e===null)return!0;var t,n,a,r,o,i=e;for(o=new Array(i.length),t=0,n=i.length;t<n;t+=1){if(a=i[t],fo.call(a)!=="[object Object]"||(r=Object.keys(a),r.length!==1))return!1;o[t]=[r[0],a[r[0]]]}return!0}function ho(e){if(e===null)return[];var t,n,a,r,o,i=e;for(o=new Array(i.length),t=0,n=i.length;t<n;t+=1)a=i[t],r=Object.keys(a),o[t]=[r[0],a[r[0]]];return o}var go=new V("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:mo,construct:ho}),vo=Object.prototype.hasOwnProperty;function yo(e){if(e===null)return!0;var t,n=e;for(t in n)if(vo.call(n,t)&&n[t]!==null)return!1;return!0}function bo(e){return e!==null?e:{}}var xo=new V("tag:yaml.org,2002:set",{kind:"mapping",resolve:yo,construct:bo}),ko=Ka.extend({implicit:[Qa,to],explicit:[io,po,go,xo]}),xe=Object.prototype.hasOwnProperty,dt=1,jn=2,Bn=3,pt=4,Kt=1,Co=2,Mn=3,wo=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,No=/[\x85\u2028\u2029]/,So=/[,\[\]\{\}]/,Pn=/^(?:!|!!|![a-z\-]+!)$/i,Rn=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Hn(e){return Object.prototype.toString.call(e)}function se(e){return e===10||e===13}function Oe(e){return e===9||e===32}function X(e){return e===9||e===32||e===10||e===13}function Pe(e){return e===44||e===91||e===93||e===123||e===125}function Ao(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function Eo(e){return e===120?2:e===117?4:e===85?8:0}function Lo(e){return 48<=e&&e<=57?e-48:-1}function Fn(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
|
|
9
|
+
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"
":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function Oo(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function _n(e,t,n){t==="__proto__"?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):e[t]=n}for(var Dn=new Array(256),Un=new Array(256),Re=0;Re<256;Re++)Dn[Re]=Fn(Re)?1:0,Un[Re]=Fn(Re);function To(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||ko,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function zn(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=ha(n),new pe(t,n)}function S(e,t){throw zn(e,t)}function ft(e,t){e.onWarning&&e.onWarning.call(null,zn(e,t))}var Wn={YAML:function(t,n,a){var r,o,i;t.version!==null&&S(t,"duplication of %YAML directive"),a.length!==1&&S(t,"YAML directive accepts exactly one argument"),r=/^([0-9]+)\.([0-9]+)$/.exec(a[0]),r===null&&S(t,"ill-formed argument of the YAML directive"),o=parseInt(r[1],10),i=parseInt(r[2],10),o!==1&&S(t,"unacceptable YAML version of the document"),t.version=a[0],t.checkLineBreaks=i<2,i!==1&&i!==2&&ft(t,"unsupported YAML version of the document")},TAG:function(t,n,a){var r,o;a.length!==2&&S(t,"TAG directive accepts exactly two arguments"),r=a[0],o=a[1],Pn.test(r)||S(t,"ill-formed tag handle (first argument) of the TAG directive"),xe.call(t.tagMap,r)&&S(t,'there is a previously declared suffix for "'+r+'" tag handle'),Rn.test(o)||S(t,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{S(t,"tag prefix is malformed: "+o)}t.tagMap[r]=o}};function ke(e,t,n,a){var r,o,i,s;if(t<n){if(s=e.input.slice(t,n),a)for(r=0,o=s.length;r<o;r+=1)i=s.charCodeAt(r),i===9||32<=i&&i<=1114111||S(e,"expected valid JSON character");else wo.test(s)&&S(e,"the stream contains non-printable characters");e.result+=s}}function Vn(e,t,n,a){var r,o,i,s;for(G.isObject(n)||S(e,"cannot merge mappings; the provided source object is unacceptable"),r=Object.keys(n),i=0,s=r.length;i<s;i+=1)o=r[i],xe.call(t,o)||(_n(t,o,n[o]),a[o]=!0)}function He(e,t,n,a,r,o,i,s,l){var u,d;if(Array.isArray(r))for(r=Array.prototype.slice.call(r),u=0,d=r.length;u<d;u+=1)Array.isArray(r[u])&&S(e,"nested arrays are not supported inside keys"),typeof r=="object"&&Hn(r[u])==="[object Object]"&&(r[u]="[object Object]");if(typeof r=="object"&&Hn(r)==="[object Object]"&&(r="[object Object]"),r=String(r),t===null&&(t={}),a==="tag:yaml.org,2002:merge")if(Array.isArray(o))for(u=0,d=o.length;u<d;u+=1)Vn(e,t,o[u],n);else Vn(e,t,o,n);else!e.json&&!xe.call(n,r)&&xe.call(t,r)&&(e.line=i||e.line,e.lineStart=s||e.lineStart,e.position=l||e.position,S(e,"duplicated mapping key")),_n(t,r,o),delete n[r];return t}function Jt(e){var t;t=e.input.charCodeAt(e.position),t===10?e.position++:t===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):S(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function F(e,t,n){for(var a=0,r=e.input.charCodeAt(e.position);r!==0;){for(;Oe(r);)r===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),r=e.input.charCodeAt(++e.position);if(t&&r===35)do r=e.input.charCodeAt(++e.position);while(r!==10&&r!==13&&r!==0);if(se(r))for(Jt(e),r=e.input.charCodeAt(e.position),a++,e.lineIndent=0;r===32;)e.lineIndent++,r=e.input.charCodeAt(++e.position);else break}return n!==-1&&a!==0&&e.lineIndent<n&&ft(e,"deficient indentation"),a}function mt(e){var t=e.position,n;return n=e.input.charCodeAt(t),!!((n===45||n===46)&&n===e.input.charCodeAt(t+1)&&n===e.input.charCodeAt(t+2)&&(t+=3,n=e.input.charCodeAt(t),n===0||X(n)))}function Zt(e,t){t===1?e.result+=" ":t>1&&(e.result+=G.repeat(`
|
|
10
|
+
`,t-1))}function qo(e,t,n){var a,r,o,i,s,l,u,d,p=e.kind,m=e.result,f;if(f=e.input.charCodeAt(e.position),X(f)||Pe(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(r=e.input.charCodeAt(e.position+1),X(r)||n&&Pe(r)))return!1;for(e.kind="scalar",e.result="",o=i=e.position,s=!1;f!==0;){if(f===58){if(r=e.input.charCodeAt(e.position+1),X(r)||n&&Pe(r))break}else if(f===35){if(a=e.input.charCodeAt(e.position-1),X(a))break}else{if(e.position===e.lineStart&&mt(e)||n&&Pe(f))break;if(se(f))if(l=e.line,u=e.lineStart,d=e.lineIndent,F(e,!1,-1),e.lineIndent>=t){s=!0,f=e.input.charCodeAt(e.position);continue}else{e.position=i,e.line=l,e.lineStart=u,e.lineIndent=d;break}}s&&(ke(e,o,i,!1),Zt(e,e.line-l),o=i=e.position,s=!1),Oe(f)||(i=e.position+1),f=e.input.charCodeAt(++e.position)}return ke(e,o,i,!1),e.result?!0:(e.kind=p,e.result=m,!1)}function Io(e,t){var n,a,r;if(n=e.input.charCodeAt(e.position),n!==39)return!1;for(e.kind="scalar",e.result="",e.position++,a=r=e.position;(n=e.input.charCodeAt(e.position))!==0;)if(n===39)if(ke(e,a,e.position,!0),n=e.input.charCodeAt(++e.position),n===39)a=e.position,e.position++,r=e.position;else return!0;else se(n)?(ke(e,a,r,!0),Zt(e,F(e,!1,t)),a=r=e.position):e.position===e.lineStart&&mt(e)?S(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);S(e,"unexpected end of the stream within a single quoted scalar")}function $o(e,t){var n,a,r,o,i,s;if(s=e.input.charCodeAt(e.position),s!==34)return!1;for(e.kind="scalar",e.result="",e.position++,n=a=e.position;(s=e.input.charCodeAt(e.position))!==0;){if(s===34)return ke(e,n,e.position,!0),e.position++,!0;if(s===92){if(ke(e,n,e.position,!0),s=e.input.charCodeAt(++e.position),se(s))F(e,!1,t);else if(s<256&&Dn[s])e.result+=Un[s],e.position++;else if((i=Eo(s))>0){for(r=i,o=0;r>0;r--)s=e.input.charCodeAt(++e.position),(i=Ao(s))>=0?o=(o<<4)+i:S(e,"expected hexadecimal character");e.result+=Oo(o),e.position++}else S(e,"unknown escape sequence");n=a=e.position}else se(s)?(ke(e,n,a,!0),Zt(e,F(e,!1,t)),n=a=e.position):e.position===e.lineStart&&mt(e)?S(e,"unexpected end of the document within a double quoted scalar"):(e.position++,a=e.position)}S(e,"unexpected end of the stream within a double quoted scalar")}function jo(e,t){var n=!0,a,r,o,i=e.tag,s,l=e.anchor,u,d,p,m,f,h=Object.create(null),v,y,b,g;if(g=e.input.charCodeAt(e.position),g===91)d=93,f=!1,s=[];else if(g===123)d=125,f=!0,s={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=s),g=e.input.charCodeAt(++e.position);g!==0;){if(F(e,!0,t),g=e.input.charCodeAt(e.position),g===d)return e.position++,e.tag=i,e.anchor=l,e.kind=f?"mapping":"sequence",e.result=s,!0;n?g===44&&S(e,"expected the node content, but found ','"):S(e,"missed comma between flow collection entries"),y=v=b=null,p=m=!1,g===63&&(u=e.input.charCodeAt(e.position+1),X(u)&&(p=m=!0,e.position++,F(e,!0,t))),a=e.line,r=e.lineStart,o=e.position,Fe(e,t,dt,!1,!0),y=e.tag,v=e.result,F(e,!0,t),g=e.input.charCodeAt(e.position),(m||e.line===a)&&g===58&&(p=!0,g=e.input.charCodeAt(++e.position),F(e,!0,t),Fe(e,t,dt,!1,!0),b=e.result),f?He(e,s,h,y,v,b,a,r,o):p?s.push(He(e,null,h,y,v,b,a,r,o)):s.push(v),F(e,!0,t),g=e.input.charCodeAt(e.position),g===44?(n=!0,g=e.input.charCodeAt(++e.position)):n=!1}S(e,"unexpected end of the stream within a flow collection")}function Bo(e,t){var n,a,r=Kt,o=!1,i=!1,s=t,l=0,u=!1,d,p;if(p=e.input.charCodeAt(e.position),p===124)a=!1;else if(p===62)a=!0;else return!1;for(e.kind="scalar",e.result="";p!==0;)if(p=e.input.charCodeAt(++e.position),p===43||p===45)Kt===r?r=p===43?Mn:Co:S(e,"repeat of a chomping mode identifier");else if((d=Lo(p))>=0)d===0?S(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):i?S(e,"repeat of an indentation width identifier"):(s=t+d-1,i=!0);else break;if(Oe(p)){do p=e.input.charCodeAt(++e.position);while(Oe(p));if(p===35)do p=e.input.charCodeAt(++e.position);while(!se(p)&&p!==0)}for(;p!==0;){for(Jt(e),e.lineIndent=0,p=e.input.charCodeAt(e.position);(!i||e.lineIndent<s)&&p===32;)e.lineIndent++,p=e.input.charCodeAt(++e.position);if(!i&&e.lineIndent>s&&(s=e.lineIndent),se(p)){l++;continue}if(e.lineIndent<s){r===Mn?e.result+=G.repeat(`
|
|
11
|
+
`,o?1+l:l):r===Kt&&o&&(e.result+=`
|
|
12
|
+
`);break}for(a?Oe(p)?(u=!0,e.result+=G.repeat(`
|
|
13
|
+
`,o?1+l:l)):u?(u=!1,e.result+=G.repeat(`
|
|
14
|
+
`,l+1)):l===0?o&&(e.result+=" "):e.result+=G.repeat(`
|
|
15
|
+
`,l):e.result+=G.repeat(`
|
|
16
|
+
`,o?1+l:l),o=!0,i=!0,l=0,n=e.position;!se(p)&&p!==0;)p=e.input.charCodeAt(++e.position);ke(e,n,e.position,!1)}return!0}function Yn(e,t){var n,a=e.tag,r=e.anchor,o=[],i,s=!1,l;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),l=e.input.charCodeAt(e.position);l!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,S(e,"tab characters must not be used in indentation")),!(l!==45||(i=e.input.charCodeAt(e.position+1),!X(i))));){if(s=!0,e.position++,F(e,!0,-1)&&e.lineIndent<=t){o.push(null),l=e.input.charCodeAt(e.position);continue}if(n=e.line,Fe(e,t,Bn,!1,!0),o.push(e.result),F(e,!0,-1),l=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&l!==0)S(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break}return s?(e.tag=a,e.anchor=r,e.kind="sequence",e.result=o,!0):!1}function Mo(e,t,n){var a,r,o,i,s,l,u=e.tag,d=e.anchor,p={},m=Object.create(null),f=null,h=null,v=null,y=!1,b=!1,g;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=p),g=e.input.charCodeAt(e.position);g!==0;){if(!y&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,S(e,"tab characters must not be used in indentation")),a=e.input.charCodeAt(e.position+1),o=e.line,(g===63||g===58)&&X(a))g===63?(y&&(He(e,p,m,f,h,null,i,s,l),f=h=v=null),b=!0,y=!0,r=!0):y?(y=!1,r=!0):S(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,g=a;else{if(i=e.line,s=e.lineStart,l=e.position,!Fe(e,n,jn,!1,!0))break;if(e.line===o){for(g=e.input.charCodeAt(e.position);Oe(g);)g=e.input.charCodeAt(++e.position);if(g===58)g=e.input.charCodeAt(++e.position),X(g)||S(e,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(He(e,p,m,f,h,null,i,s,l),f=h=v=null),b=!0,y=!1,r=!1,f=e.tag,h=e.result;else if(b)S(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=u,e.anchor=d,!0}else if(b)S(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=u,e.anchor=d,!0}if((e.line===o||e.lineIndent>t)&&(y&&(i=e.line,s=e.lineStart,l=e.position),Fe(e,t,pt,!0,r)&&(y?h=e.result:v=e.result),y||(He(e,p,m,f,h,v,i,s,l),f=h=v=null),F(e,!0,-1),g=e.input.charCodeAt(e.position)),(e.line===o||e.lineIndent>t)&&g!==0)S(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return y&&He(e,p,m,f,h,null,i,s,l),b&&(e.tag=u,e.anchor=d,e.kind="mapping",e.result=p),b}function Po(e){var t,n=!1,a=!1,r,o,i;if(i=e.input.charCodeAt(e.position),i!==33)return!1;if(e.tag!==null&&S(e,"duplication of a tag property"),i=e.input.charCodeAt(++e.position),i===60?(n=!0,i=e.input.charCodeAt(++e.position)):i===33?(a=!0,r="!!",i=e.input.charCodeAt(++e.position)):r="!",t=e.position,n){do i=e.input.charCodeAt(++e.position);while(i!==0&&i!==62);e.position<e.length?(o=e.input.slice(t,e.position),i=e.input.charCodeAt(++e.position)):S(e,"unexpected end of the stream within a verbatim tag")}else{for(;i!==0&&!X(i);)i===33&&(a?S(e,"tag suffix cannot contain exclamation marks"):(r=e.input.slice(t-1,e.position+1),Pn.test(r)||S(e,"named tag handle cannot contain such characters"),a=!0,t=e.position+1)),i=e.input.charCodeAt(++e.position);o=e.input.slice(t,e.position),So.test(o)&&S(e,"tag suffix cannot contain flow indicator characters")}o&&!Rn.test(o)&&S(e,"tag name cannot contain such characters: "+o);try{o=decodeURIComponent(o)}catch{S(e,"tag name is malformed: "+o)}return n?e.tag=o:xe.call(e.tagMap,r)?e.tag=e.tagMap[r]+o:r==="!"?e.tag="!"+o:r==="!!"?e.tag="tag:yaml.org,2002:"+o:S(e,'undeclared tag handle "'+r+'"'),!0}function Ro(e){var t,n;if(n=e.input.charCodeAt(e.position),n!==38)return!1;for(e.anchor!==null&&S(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;n!==0&&!X(n)&&!Pe(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&S(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function Ho(e){var t,n,a;if(a=e.input.charCodeAt(e.position),a!==42)return!1;for(a=e.input.charCodeAt(++e.position),t=e.position;a!==0&&!X(a)&&!Pe(a);)a=e.input.charCodeAt(++e.position);return e.position===t&&S(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),xe.call(e.anchorMap,n)||S(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],F(e,!0,-1),!0}function Fe(e,t,n,a,r){var o,i,s,l=1,u=!1,d=!1,p,m,f,h,v,y;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=i=s=pt===n||Bn===n,a&&F(e,!0,-1)&&(u=!0,e.lineIndent>t?l=1:e.lineIndent===t?l=0:e.lineIndent<t&&(l=-1)),l===1)for(;Po(e)||Ro(e);)F(e,!0,-1)?(u=!0,s=o,e.lineIndent>t?l=1:e.lineIndent===t?l=0:e.lineIndent<t&&(l=-1)):s=!1;if(s&&(s=u||r),(l===1||pt===n)&&(dt===n||jn===n?v=t:v=t+1,y=e.position-e.lineStart,l===1?s&&(Yn(e,y)||Mo(e,y,v))||jo(e,v)?d=!0:(i&&Bo(e,v)||Io(e,v)||$o(e,v)?d=!0:Ho(e)?(d=!0,(e.tag!==null||e.anchor!==null)&&S(e,"alias node should not have any properties")):qo(e,v,dt===n)&&(d=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):l===0&&(d=s&&Yn(e,y))),e.tag===null)e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);else if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&S(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),p=0,m=e.implicitTypes.length;p<m;p+=1)if(h=e.implicitTypes[p],h.resolve(e.result)){e.result=h.construct(e.result),e.tag=h.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(xe.call(e.typeMap[e.kind||"fallback"],e.tag))h=e.typeMap[e.kind||"fallback"][e.tag];else for(h=null,f=e.typeMap.multi[e.kind||"fallback"],p=0,m=f.length;p<m;p+=1)if(e.tag.slice(0,f[p].tag.length)===f[p].tag){h=f[p];break}h||S(e,"unknown tag !<"+e.tag+">"),e.result!==null&&h.kind!==e.kind&&S(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+h.kind+'", not "'+e.kind+'"'),h.resolve(e.result,e.tag)?(e.result=h.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):S(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||d}function Fo(e){var t=e.position,n,a,r,o=!1,i;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(i=e.input.charCodeAt(e.position))!==0&&(F(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||i!==37));){for(o=!0,i=e.input.charCodeAt(++e.position),n=e.position;i!==0&&!X(i);)i=e.input.charCodeAt(++e.position);for(a=e.input.slice(n,e.position),r=[],a.length<1&&S(e,"directive name must not be less than one character in length");i!==0;){for(;Oe(i);)i=e.input.charCodeAt(++e.position);if(i===35){do i=e.input.charCodeAt(++e.position);while(i!==0&&!se(i));break}if(se(i))break;for(n=e.position;i!==0&&!X(i);)i=e.input.charCodeAt(++e.position);r.push(e.input.slice(n,e.position))}i!==0&&Jt(e),xe.call(Wn,a)?Wn[a](e,a,r):ft(e,'unknown document directive "'+a+'"')}if(F(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,F(e,!0,-1)):o&&S(e,"directives end mark is expected"),Fe(e,e.lineIndent-1,pt,!1,!0),F(e,!0,-1),e.checkLineBreaks&&No.test(e.input.slice(t,e.position))&&ft(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&mt(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,F(e,!0,-1));return}if(e.position<e.length-1)S(e,"end of the stream or a document separator is expected");else return}function _o(e,t){e=String(e),t=t||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
|
17
|
+
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var n=new To(e,t),a=e.indexOf("\0");for(a!==-1&&(n.position=a,S(n,"null byte is not allowed in input")),n.input+="\0";n.input.charCodeAt(n.position)===32;)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)Fo(n);return n.documents}function Do(e,t){var n=_o(e,t);if(n.length!==0){if(n.length===1)return n[0];throw new pe("expected a single document in the stream, but found more")}}var Uo=Do,zo={load:Uo},Wo=zo.load;const Vo=50,Yo=200;function Go(e){const t=Ko(e.info||{}),n=Jo(e.servers||[]),a=e.components||{},r=Qo(a.schemas||{},e),o=Zo(a.securitySchemes||{}),i=Ze(e.security),s=e.paths||{},l={};for(const[m,f]of Object.entries(s))m.startsWith("/docs")||(l[m]=f);const u=ei(l,e,i,o),d=ai(u,e.tags||[]),p=ti(e.webhooks||{},e,i,o);return{raw:e,info:t,servers:n,tags:d,operations:u,schemas:r,securitySchemes:o,webhooks:p}}function Ko(e){return{title:String(e.title||"API"),description:e.description?String(e.description):void 0,version:String(e.version||"1.0.0"),contact:e.contact,license:e.license}}function Jo(e){return e.map(t=>({url:String(t.url||"/"),description:t.description?String(t.description):void 0,variables:t.variables}))}function Zo(e){const t={};for(const[n,a]of Object.entries(e)){const r=a;t[n]={type:String(r.type||""),scheme:r.scheme?String(r.scheme):void 0,bearerFormat:r.bearerFormat?String(r.bearerFormat):void 0,description:r.description?String(r.description):void 0,in:r.in?String(r.in):void 0,name:r.name?String(r.name):void 0,openIdConnectUrl:r.openIdConnectUrl?String(r.openIdConnectUrl):void 0,flows:r.flows&&typeof r.flows=="object"?r.flows:void 0}}return t}const Qe=new Map;let Xt=0;function Xo(e,t){if(Qe.has(e))return Qe.get(e);if(++Xt>Yo)return{type:"object",description:"[Circular reference]"};const n=e.replace(/^#\//,"").split("/").map(r=>decodeURIComponent(r.replace(/~1/g,"/").replace(/~0/g,"~")));let a=t;for(const r of n)if(a&&typeof a=="object"&&!Array.isArray(a))a=a[r];else return;return Qe.set(e,a),a}function K(e,t,n=0,a=new Set){if(n>Vo||!e||typeof e!="object")return e;if(Array.isArray(e))return e.map(i=>K(i,t,n+1,a));const r=e;if(typeof r.$ref=="string"){const i=r.$ref;if(a.has(i))return{type:"object",description:"[Circular reference]"};const s=new Set(a);s.add(i);const l=Xo(i,t);return l&&typeof l=="object"?K(l,t,n+1,s):l}const o={};for(const[i,s]of Object.entries(r))o[i]=K(s,t,n+1,a);return o}function Qo(e,t){Qe.clear(),Xt=0;const n={};for(const[a,r]of Object.entries(e))n[a]=K(r,t);return n}function ei(e,t,n,a){Qe.clear(),Xt=0;const r=[],o=["get","post","put","patch","delete","head","options","trace"];for(const[i,s]of Object.entries(e)){if(!s||typeof s!="object")continue;const l=Ze(s.security),u=Array.isArray(s.parameters)?s.parameters.map(d=>K(d,t)):[];for(const d of o){const p=s[d];if(!p)continue;const m=Gn(d,i,p,u,t,l,n,a);r.push(m)}}return r}function Gn(e,t,n,a,r,o=void 0,i=void 0,s={}){const l=Array.isArray(n.parameters)?n.parameters.map(x=>K(x,r)):[],u=[...a];for(const x of l){const L=u.findIndex(C=>C.name===x.name&&C.in===x.in);L>=0?u[L]=x:u.push(x)}const d=Kn(u,r);let p=Jn(n.requestBody,r);if(Array.isArray(n["x-doc-examples"])){const x=n["x-doc-examples"],L=[];for(let C=0;C<x.length;C++){const w=x[C],$=w.scenario?String(w.scenario):`Example ${C+1}`,R=w.request?.body;R!==void 0&&L.push({summary:$,value:R})}if(L.length>0){p||(p={required:!1,content:{}});const C=p.content["application/json"]||p.content["application/vnd.api+json"]||{};p.content["application/json"]||(p.content["application/json"]=C);const w=p.content["application/json"];w.examples||(w.examples={});for(let $=0;$<L.length;$++){const I=L[$],J=`${I.summary.replace(/[^a-zA-Z0-9\u0430-\u044f\u0410-\u042f\u0451\u0401]/g,"-").replace(/-+/g,"-").slice(0,40)||"ex"}-${$}`.replace(/^-/,"");w.examples[J]={summary:I.summary,description:I.summary,value:I.value}}}}const m=Zn(n.responses,r),f=Array.isArray(n.tags)?n.tags.map(String):["default"],h=String(n.operationId||`${e}_${t.replace(/[^a-zA-Z0-9]/g,"_")}`),v=Object.prototype.hasOwnProperty.call(n,"security"),y=Ze(n.security),b=v?y:o??i,g=v&&Array.isArray(y)&&y.length===0,A=ri(n.callbacks,r,s),O={operationId:h,method:e,path:t,summary:n.summary?String(n.summary):void 0,description:n.description?String(n.description):void 0,tags:f,deprecated:!!n.deprecated,security:b,resolvedSecurity:Ut(b,s,g),parameters:d,requestBody:p,responses:m};return A.length>0&&(O.callbacks=A),O}function ti(e,t,n,a){if(!e||typeof e!="object")return[];const r=[],o=["get","post","put","patch","delete","head","options","trace"];for(const[i,s]of Object.entries(e)){if(!s||typeof s!="object")continue;const l=K(s,t),u=Ze(l.security);for(const d of o){const p=l[d];if(!p)continue;const m=Object.prototype.hasOwnProperty.call(p,"security"),f=Ze(p.security),h=m?f:u??n,v=m&&Array.isArray(f)&&f.length===0,y=Array.isArray(p.parameters)?p.parameters.map(O=>K(O,t)):[],b=Kn(y,t),g=Jn(p.requestBody,t),A=Zn(p.responses,t);r.push({name:i,method:d,path:i,summary:p.summary?String(p.summary):void 0,description:p.description?String(p.description):void 0,security:h,resolvedSecurity:Ut(h,a,v),parameters:b,requestBody:g,responses:A})}}return r}function Kn(e,t){return e.map(n=>({name:String(n.name||""),in:String(n.in||"query"),required:!!n.required,description:n.description?String(n.description):void 0,schema:n.schema?K(n.schema,t):void 0,example:n.example,examples:n.examples?Qn(n.examples):void 0,deprecated:!!n.deprecated}))}function Jn(e,t){if(!e)return;const n=K(e,t);return{description:n.description?String(n.description):void 0,required:!!n.required,content:Xn(n.content||{},t)}}function ni(e,t){const n={};if(!e||typeof e!="object")return n;for(const[a,r]of Object.entries(e)){if(!r||typeof r!="object")continue;const o=K(r,t),i=o.schema,s=o.example??(i&&typeof i=="object"?i.example:void 0);n[a]={description:o.description?String(o.description):void 0,required:!!o.required,schema:i&&typeof i=="object"?K(i,t):void 0,example:s!==void 0?s:void 0,deprecated:!!o.deprecated}}return n}function Zn(e,t){const n={};if(!e||typeof e!="object")return n;for(const[a,r]of Object.entries(e)){const o=K(r,t),i=o.headers;n[a]={statusCode:a,description:o.description?String(o.description):void 0,headers:i?ni(i,t):void 0,content:o.content?Xn(o.content,t):void 0}}return n}function ri(e,t,n){if(!e||typeof e!="object")return[];const a=[],r=["get","post","put","patch","delete","head","options","trace"];for(const[o,i]of Object.entries(e)){const s=K(i,t);if(!s||typeof s!="object")continue;const l=[];for(const[u,d]of Object.entries(s))if(!(!d||typeof d!="object"))for(const p of r){const m=d[p];m&&l.push(Gn(p,u,m,[],t,void 0,void 0,n))}l.length>0&&a.push({name:o,operations:l})}return a}function Xn(e,t){const n={};for(const[a,r]of Object.entries(e)){const o=r;n[a]={schema:o.schema?K(o.schema,t):void 0,example:o.example,examples:o.examples?Qn(o.examples):void 0}}return n}function Qn(e){const t={};for(const[n,a]of Object.entries(e)){const r=a;t[n]={summary:r.summary?String(r.summary):void 0,description:r.description?String(r.description):void 0,value:r.value}}return t}function ai(e,t){const n=new Map,a=new Map;for(const i of t)a.set(String(i.name),String(i.description||""));for(const i of e)for(const s of i.tags)n.has(s)||n.set(s,[]),n.get(s).push(i);const r=[],o=new Set;for(const i of t){const s=String(i.name);o.has(s)||(o.add(s),r.push({name:s,description:a.get(s),operations:n.get(s)||[]}))}for(const[i,s]of n)o.has(i)||(o.add(i),r.push({name:i,description:a.get(i),operations:s}));return r}function Te(e){if(e){if(e.example!==void 0)return e.example;if(e.default!==void 0)return e.default;if(e.enum&&e.enum.length>0)return e.enum[0];switch(e.type){case"string":return e.format==="date-time"?"2025-01-15T10:30:00Z":e.format==="date"?"2025-01-15":e.format==="email"?"user@example.com":e.format==="uri"||e.format==="url"?"https://example.com":e.format==="uuid"?"550e8400-e29b-41d4-a716-446655440000":e.format==="password"?"********":"string";case"number":case"integer":return e.minimum!==void 0?e.minimum:(e.type==="integer",0);case"boolean":return!0;case"array":if(e.items){const t=Te(e.items);return t!==void 0?[t]:[]}return[];case"object":{const t={};if(e.properties)for(const[n,a]of Object.entries(e.properties))t[n]=Te(a);return t}default:if(e.allOf&&e.allOf.length>0){const t={};for(const n of e.allOf){const a=Te(n);a&&typeof a=="object"&&!Array.isArray(a)&&Object.assign(t,a)}return Object.keys(t).length>0?t:void 0}if(e.oneOf&&e.oneOf.length>0)return Te(e.oneOf[0]);if(e.anyOf&&e.anyOf.length>0)return Te(e.anyOf[0]);if(e.properties){const t={};for(const[n,a]of Object.entries(e.properties))t[n]=Te(a);return t}return}}}async function oi(e){const t=await fetch(e);if(!t.ok)throw new Error(`Failed to load spec: ${t.status} ${t.statusText}`);const n=await t.text();try{return JSON.parse(n)}catch{try{return Wo(n)}catch{throw new Error("Failed to parse spec as JSON or YAML")}}}let _e=[];const er={operation:0,tag:1,schema:2,webhook:3};function ii(e){_e=[];for(const t of e.tags)_e.push({type:"tag",title:t.name,subtitle:t.description,tag:t.name,keywords:`${t.name} ${t.description||""}`.toLowerCase()});for(const t of e.operations)_e.push({type:"operation",title:t.summary||t.operationId,subtitle:t.path,method:t.method,requiresAuth:_(t.resolvedSecurity),authBadge:En(t.resolvedSecurity)||void 0,authTitle:_(t.resolvedSecurity)?Me(t.resolvedSecurity):void 0,resolvedSecurity:t.resolvedSecurity,path:t.path,tag:t.tags[0],operationId:t.operationId,keywords:`${t.method} ${t.path} ${t.summary||""} ${t.description||""} ${t.operationId} ${t.tags.join(" ")}`.toLowerCase()});for(const[t,n]of Object.entries(e.schemas))_e.push({type:"schema",title:t,subtitle:n.description||"Schema",schemaName:t,keywords:`${t} ${n.description||""} schema model`.toLowerCase()});if(e.webhooks)for(const t of e.webhooks)_e.push({type:"webhook",title:t.summary||t.name,subtitle:`${t.method.toUpperCase()} Webhook`,method:t.method,webhookName:t.name,keywords:`${t.name} ${t.method} ${t.summary||""} ${t.description||""} webhook`.toLowerCase()})}function si(e,t=20){if(!e.trim())return[];const n=e.toLowerCase().trim().split(/\s+/),a=[];for(const r of _e){let o=0,i=!0;for(const s of n)r.keywords.includes(s)?(o+=1,r.title.toLowerCase().includes(s)&&(o+=3),r.path?.toLowerCase().includes(s)&&(o+=2),r.method?.toLowerCase()===s&&(o+=2)):i=!1;i&&o>0&&a.push({entry:r,score:o})}return a.sort((r,o)=>{const i=er[r.entry.type]??99,s=er[o.entry.type]??99;return i!==s?i-s:o.score!==r.score?o.score-r.score:r.entry.title.localeCompare(o.entry.title)}).slice(0,t).map(r=>r.entry)}const tr="puredocs-theme";function nr(e,t,n){const a=e.classList.contains("light")||e.classList.contains("dark");a&&e.classList.add("theme-transitioning"),e.classList.remove("light","dark"),e.classList.add(`${t}`),n?.primaryColor?e.style.setProperty("--primary-color",n.primaryColor):e.style.removeProperty("--primary-color"),a&&setTimeout(()=>e.classList.remove("theme-transitioning"),550)}function ci(){const t=k.get().theme==="light"?"dark":"light";k.set({theme:t});try{localStorage.setItem(tr,t)}catch{}}function li(e){if(e&&e!=="auto")return e;try{const t=localStorage.getItem(tr);if(t==="light"||t==="dark")return t}catch{}return window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"}function rr(e){const t=e.trim();return t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")}function ht(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function c(e,t,...n){const a=document.createElement(e);if(t)for(const[r,o]of Object.entries(t))o===void 0||o===!1||(r.startsWith("on")&&typeof o=="function"?a.addEventListener(r.slice(2).toLowerCase(),o):r==="className"?a.className=String(o):r==="innerHTML"?a.innerHTML=String(o):r==="textContent"?a.textContent=String(o):o===!0?a.setAttribute(r,""):a.setAttribute(r,String(o)));for(const r of n)r==null||r===!1||(typeof r=="string"?a.appendChild(document.createTextNode(r)):a.appendChild(r));return a}function z(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function et(e,...t){z(e);for(const n of t)n==null||n===!1||(typeof n=="string"?e.appendChild(document.createTextNode(n)):e.appendChild(n))}async function ui(e){try{return await navigator.clipboard.writeText(e),!0}catch{const t=document.createElement("textarea");t.value=e,t.style.cssText="position:fixed;left:-9999px",document.body.appendChild(t),t.select();const n=document.execCommand("copy");return document.body.removeChild(t),n}}function di(e){if(e===0)return"0 B";const t=1024,n=["B","KB","MB"],a=Math.floor(Math.log(e)/Math.log(t));return`${(e/t**a).toFixed(a>0?1:0)} ${n[a]}`}function pi(e){return e<1e3?`${Math.round(e)} ms`:`${(e/1e3).toFixed(2)} s`}const D=(e,t)=>`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="${1.75}" stroke-linecap="round" stroke-linejoin="round">${e}</svg>`,T={search:D('<circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/>'),close:D('<path d="M18 6 6 18"/><path d="m6 6 12 12"/>'),plus:D('<path d="M5 12h14"/><path d="M12 5v14"/>'),chevronDown:D('<path d="m6 9 6 6 6-6"/>'),chevronRight:D('<path d="m9 18 6-6-6-6"/>'),chevronLeft:D('<path d="m15 18-6-6 6-6"/>'),sun:D('<circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/>'),moon:D('<path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/>'),copy:D('<rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>'),check:D('<path d="M20 6 9 17l-5-5"/>'),lock:D('<rect width="14" height="11" x="5" y="11" rx="2" ry="2"/><path d="M8 11V7a4 4 0 1 1 8 0v4"/>'),unlock:D('<rect width="14" height="11" x="5" y="11" rx="2" ry="2"/><path d="M16 11V7a4 4 0 1 0-8 0v1"/>'),send:D('<path d="m22 2-7 20-4-9-9-4Z"/><path d="m22 2-11 11"/>'),key:D('<path d="m21 2-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0 3 3L22 7l-3-3m-3.5 3.5L19 4"/>'),globe:D('<circle cx="12" cy="12" r="10"/><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/>'),server:D('<rect width="20" height="8" x="2" y="2" rx="2" ry="2"/><rect width="20" height="8" x="2" y="14" rx="2" ry="2"/><line x1="6" x2="6.01" y1="6" y2="6"/><line x1="6" x2="6.01" y1="18" y2="18"/>'),warning:D('<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"/><path d="M12 9v4"/><path d="M12 17h.01"/>'),settings:D('<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/>')};class fi{constructor(){this.handlers=new Map,this.cleanupFns=[]}on(t,n){this.handlers.set(t,n)}onCleanup(t){this.cleanupFns.push(t)}notify(t){for(const n of this.handlers.values())try{n(t)}catch(a){console.error("[Effects] handler error:",a)}}dispose(){for(const t of this.cleanupFns)try{t()}catch{}this.cleanupFns.length=0,this.handlers.clear()}}let De=null;function Ce(){return De||(De=new fi),De}function mi(e){De?.notify(e)}function ar(){De?.dispose(),De=null}function hi(e){return e.environments.find(t=>t.name===e.activeEnvironment)||e.environments[0]}function fe(e){return hi(e)?.baseUrl||e.spec?.servers[0]?.url||window.location.origin}function or(e){return String(e||"").replace(/\/$/,"")}function we(e){return or(e).replace(/^https?:\/\//i,"")}function gi(e){return or(fe(e))}function Ue(e){return we(fe(e))}function gt(e){const{options:t,value:n,ariaLabel:a,onChange:r,className:o,variant:i="default",invalid:s,dataAttrs:l}=e,u=document.createElement("select");i==="inline"&&u.setAttribute("data-variant","inline");const d=[];if(s&&d.push("invalid"),o&&d.push(o),u.className=d.join(" "),a&&u.setAttribute("aria-label",a),l)for(const[p,m]of Object.entries(l))u.dataset[p]=m;for(const p of t){const m=document.createElement("option");m.value=p.value,m.textContent=p.label,n!==void 0&&p.value===n&&(m.selected=!0),u.appendChild(m)}return r&&u.addEventListener("change",()=>r(u.value)),u}function Ne(e){const{type:t="text",placeholder:n,value:a,ariaLabel:r,required:o,readOnly:i,invalid:s,modifiers:l,dataAttrs:u,className:d,onInput:p,onChange:m}=e,f=document.createElement("input");f.type=t,f.setAttribute("autocomplete","off");const h=[];if(l?.includes("filled")&&h.push("filled"),s&&h.push("invalid"),d&&h.push(d),f.className=h.join(" "),n&&(f.placeholder=n),a!==void 0&&(f.value=a),r&&f.setAttribute("aria-label",r),o&&(f.required=!0),i&&(f.readOnly=!0),u)for(const[v,y]of Object.entries(u))f.dataset[v]=y;return p&&f.addEventListener("input",()=>p(f.value)),m&&f.addEventListener("change",()=>m(f.value)),f}const vi={primary:["primary","m"],secondary:["secondary","m"],ghost:["s","u-text-muted"],icon:["icon","m","u-text-muted"]};function yi(e="secondary"){return["btn",...vi[e]]}function ce(e){const{variant:t="secondary",label:n,icon:a,ariaLabel:r,disabled:o,className:i,onClick:s}=e,l=document.createElement("button");l.type="button";const u=yi(t);if(i&&u.push(...i.split(/\s+/).filter(Boolean)),l.className=u.join(" "),a){const d=document.createElement("span");d.className="btn-icon-slot",d.innerHTML=a,l.appendChild(d)}if(n){const d=document.createElement("span");d.textContent=n,l.appendChild(d)}return r&&l.setAttribute("aria-label",r),o&&(l.disabled=!0),s&&l.addEventListener("click",s),l}function ir(e){return e==="default"||e==="transparent"?"u-text-muted":e==="primary"?"u-text-accent":`u-text-${e}`}function Qt(e){return e==="default"?"u-bg-surface-hover":e==="transparent"?"u-bg-transparent":e==="primary"?"u-bg-accent-soft":`u-bg-${e}-soft`}function bi(e){const t=e.toLowerCase();return t==="get"?"green":t==="post"?"blue":t==="put"||t==="patch"?"orange":t==="delete"?"red":"default"}function sr(e){const t=e.trim();return t.startsWith("2")?"green":t.startsWith("3")?"blue":t.startsWith("4")?"orange":t.startsWith("5")?"red":"default"}function xi(e,t){return e.color?e.color:t==="method"?bi(e.method||e.text):t==="status"?sr(e.statusCode||e.text):t==="webhook"?"purple":t==="required"?"orange":"default"}function N(e){const t=document.createElement("span"),n=e.kind||"chip",a=xi(e,n),o=["badge",e.size||"m"];return n==="status"&&o.push("status"),n==="required"&&o.push("required"),o.push(ir(a),Qt(a)),e.className&&o.push(e.className),t.className=o.join(" "),t.textContent=e.text,t}function vt(e,t){const n=t?.active??!1,a=t?.context??!1,r=document.createElement("button");return r.type="button",r.className=`badge m interactive${n?" is-active":""}`,a&&(r.dataset.badgeContext="true"),r.textContent=e,r}function cr(e,t=!1){const n=document.createElement("button");n.type="button";const a=sr(e),r=["badge","status","m","interactive",ir(a)];return t&&r.push("is-active",Qt(a)),n.className=r.join(" "),n.dataset.badgeGroup="response-code",n.dataset.badgeColor=a,n.textContent=e,n}function yt(e,t){if(e.classList.remove("u-bg-surface-hover","u-bg-transparent","u-bg-green-soft","u-bg-blue-soft","u-bg-orange-soft","u-bg-purple-soft","u-bg-red-soft"),e.classList.toggle("is-active",t),!t)return;const n=e.dataset.badgeColor||"default";e.classList.add(Qt(n))}function ne(e){const{simple:t,interactive:n,active:a,className:r,onClick:o}=e||{},i=document.createElement("div"),s=["card"];return t&&s.push("simple"),n&&s.push("interactive"),a&&s.push("active"),r&&s.push(r),i.className=s.join(" "),o&&(i.classList.contains("interactive")||i.classList.add("interactive"),i.addEventListener("click",o)),i}function bt(...e){const t=document.createElement("div");t.className="card-head";for(const n of e)if(typeof n=="string"){const a=document.createElement("span");a.textContent=n,t.append(a)}else t.append(n);return t}function ze(e){const t=document.createElement("div"),n=["card-content"];return n.push("flush"),t.className=n.join(" "),t}function lr(e){if(typeof e=="string"||typeof e=="number"){const t=document.createElement("span");return t.textContent=String(e),t}return e}function ki(e){const t=document.createElement("div");if(t.className=`card-row${e.className?` ${e.className}`:""}`,e.leading!==void 0&&t.append(lr(e.leading)),t.append(typeof e.title=="string"?Object.assign(document.createElement("h3"),{textContent:e.title}):e.title),e.trailing!==void 0){const n=typeof e.trailing=="string"||typeof e.trailing=="number"?N({text:String(e.trailing),kind:"chip",size:"m"}):lr(e.trailing);t.append(n)}return t}function Ci(e){return typeof e=="string"?c("span",{textContent:e}):e}function ur(e){return c("h2",{textContent:e})}function tt(e,t){const n=c("div",{className:"section-head"});return n.append(typeof e=="string"?ur(e):e),t!==void 0&&n.append(typeof t=="string"||typeof t=="number"?N({text:String(t),kind:"chip",size:"m"}):t),n}function U(e,...t){const n=c("div",{className:`block section${e.className?` ${e.className}`:""}`});e.titleEl?n.append(e.titleEl):e.title&&(e.badge!==void 0?n.append(tt(e.title,e.badge)):n.append(ur(e.title)));for(const a of t)n.append(Ci(a));return n}function We(e,t){const n=c("nav",{className:`breadcrumb${t?.className?` ${t.className}`:""}`,"aria-label":"Breadcrumb"}),a=c("div",{className:"breadcrumb-main"});return t?.leading?.length&&a.append(...t.leading),e.forEach((r,o)=>{if(o>0&&a.append(c("span",{className:"breadcrumb-sep",textContent:"/"})),r.href||r.onClick){const i=c("a",{className:`breadcrumb-item${r.className?` ${r.className}`:""}`,href:r.href||"#",textContent:r.label});r.onClick&&i.addEventListener("click",r.onClick),a.append(i);return}a.append(c("span",{className:r.className||"breadcrumb-segment",textContent:r.label}))}),n.append(a),t?.trailing?.length&&n.append(c("div",{className:"breadcrumb-trailing"},...t.trailing)),n}function xt(e){const{configured:t,variant:n="tag",label:a,title:r}=e,o=a||r,i=t?T.unlock:T.lock,s=n==="tag"?"tag-op-lock":n==="nav"?"nav-item-lock":"endpoint-meta-icon",l=n!=="endpoint"?` ${s}--${t?"configured":"required"}`:"";return c("span",{className:`${s}${l}`.trim(),innerHTML:i,...o?{"aria-label":o}:{}})}function dr(e){const t=c("div",{className:e.overlayClass});t.setAttribute(e.dataOverlayAttr,"true");const n=c("div",{className:e.modalClass,role:e.role||"dialog","aria-label":e.ariaLabel,"aria-modal":"true"});t.append(n);let a=!1;const r=()=>{a||(a=!0,t.remove(),e.onClose?.())};return t.addEventListener("click",o=>{o.target===t&&r()}),t.addEventListener("keydown",o=>{o.key==="Escape"&&(o.preventDefault(),r())},!0),{overlay:t,modal:n,mount:o=>{(o||document.querySelector(".root")||document.body).appendChild(t)},close:r}}let Ve=null,en=null;function pr(){en?.(),en=null}function tn(){pr(),Ve&&Ve.close(),Ve=null}function wi(e){if(e.type==="http"){const t=(e.scheme||"").toLowerCase();return t==="bearer"?"Bearer Token":t==="basic"?"Basic Auth":`HTTP ${e.scheme||""}`}return e.type==="apiKey"?`API Key (${e.in==="header"?"Header":e.in==="query"?"Query":e.in==="cookie"?"Cookie":""}: ${e.name||"?"})`:e.type==="oauth2"?"OAuth 2.0":e.type==="openIdConnect"?"OpenID Connect":e.type}function Ni(e){return zt(e)}function kt(e){requestAnimationFrame(()=>e.focus())}function nn(e,t){const n=c("div",{className:"modal field"});return n.append(c("label",{className:"modal label",textContent:e}),t),n}function nt(e){return Ne({className:"modal input",placeholder:e.placeholder,value:e.value,ariaLabel:e.ariaLabel,type:e.type})}function Si(e){try{const t=new TextEncoder().encode(e);let n="";return t.forEach(a=>{n+=String.fromCharCode(a)}),btoa(n)}catch{return btoa(unescape(encodeURIComponent(e)))}}function Ai(e){try{const t=atob(e),n=Uint8Array.from(t,a=>a.charCodeAt(0));return new TextDecoder().decode(n)}catch{try{return decodeURIComponent(escape(atob(e)))}catch{return""}}}function Ei(e){if(!e)return{username:"",password:""};try{const n=Ai(e).split(":");return{username:n[0]||"",password:n.slice(1).join(":")||""}}catch{return{username:"",password:""}}}function rn(e,t,n){z(n);const a=k.get().auth.schemes[e]||"",r=t.type,o=(t.scheme||"").toLowerCase();if(r==="http"&&o==="bearer"){const i=c("div",{className:"modal field"}),s=c("div",{className:"modal input-wrap"}),l=nt({placeholder:"Bearer token...",value:a,ariaLabel:"Bearer token",type:"password"}),u=ce({variant:"icon",icon:T.key,ariaLabel:"Show/Hide",className:"l secondary u-text-muted",onClick:()=>{l.type=l.type==="password"?"text":"password"}});l.addEventListener("input",()=>k.setSchemeValue(e,l.value)),s.append(l,u),i.append(c("label",{className:"modal label",textContent:"Token"}),s),n.append(i),kt(l)}else if(r==="http"&&o==="basic"){const i=Ei(a),s=nt({placeholder:"Username",value:i.username,ariaLabel:"Username"});n.append(nn("Username",s));const l=nt({placeholder:"Password",value:i.password,ariaLabel:"Password",type:"password"});n.append(nn("Password",l));const u=()=>{const d=`${s.value}:${l.value}`,p=d===":"?"":Si(d);k.setSchemeValue(e,p)};s.addEventListener("input",u),l.addEventListener("input",u),kt(s)}else if(r==="apiKey"){const i=c("div",{className:"modal field"}),s=c("div",{className:"modal input-wrap"}),l=nt({placeholder:`${t.name||"API key"}...`,value:a,ariaLabel:"API key",type:"password"}),u=ce({variant:"icon",icon:T.key,ariaLabel:"Show/Hide",className:"l secondary u-text-muted",onClick:()=>{l.type=l.type==="password"?"text":"password"}});l.addEventListener("input",()=>{k.setSchemeValue(e,l.value)}),s.append(l,u),i.append(c("label",{className:"modal label",textContent:`API Key (${t.name||"key"})`}),s),n.append(i),kt(l)}else{const i=nt({placeholder:"Token...",value:a,ariaLabel:"Token",type:"password"});i.addEventListener("input",()=>{k.setSchemeValue(e,i.value)}),n.append(nn("Token / Credential",i)),kt(i)}}function an(e,t,n){Ve&&tn();const a=Object.entries(e);if(a.length===0)return;const r=dr({overlayClass:"modal overlay",modalClass:"modal container",ariaLabel:"Authentication Settings",dataOverlayAttr:"data-auth-overlay",onClose:()=>{pr(),Ve=null}});Ve=r;const o=r.modal,i=c("div",{className:"modal header"});i.append(c("h2",{className:"modal title",textContent:"Authentication"}));const s=ce({variant:"icon",icon:T.close,ariaLabel:"Close",onClick:tn});i.append(s),o.append(i);const l=c("div",{className:"modal body"});let u=n||k.get().auth.activeScheme||a[0][0];e[u]||(u=a[0][0]);const d=c("div",{className:"modal fields"});if(a.length>1){const b=c("div",{className:"modal tabs"}),g=new Map,A=[],O=(x,L,C)=>{const w=Ct(L);if(x.setAttribute("data-configured",w?"true":"false"),z(x),w){const $=c("span",{className:"modal tab-check","aria-hidden":"true"});$.innerHTML=T.check,x.append($)}x.append(c("span",{className:"modal tab-label",textContent:Ni(C)}))};for(const[x,L]of a){const C=c("button",{type:"button",className:"modal tab","aria-pressed":x===u?"true":"false"});O(C,x,L),C.addEventListener("click",()=>{if(u!==x){u=x;for(const w of A)w.setAttribute("aria-pressed","false");C.setAttribute("aria-pressed","true"),m(),rn(x,L,d)}}),g.set(x,C),A.push(C),b.append(C)}en=k.subscribe(()=>{for(const[x,L]of a){const C=g.get(x);C&&O(C,x,L)}}),l.append(b)}const p=c("div",{className:"modal scheme-desc"});function m(){const b=e[u];if(!b)return;z(p);const g=c("div",{className:"modal scheme-title",textContent:wi(b)});p.append(g),b.description&&p.append(c("div",{className:"modal scheme-text",textContent:b.description}))}m(),l.append(p);const f=e[u];f&&rn(u,f,d),l.append(d),o.append(l);const h=c("div",{className:"modal footer"}),v=ce({variant:"ghost",label:"Reset",onClick:()=>{k.setSchemeValue(u,"");const b=e[u];b&&rn(u,b,d)}}),y=ce({variant:"primary",label:"Done",onClick:tn});h.append(v,c("div",{className:"grow"}),y),o.append(h),r.mount(t??document.querySelector(".root")??document.body)}function Ct(e){return!!k.get().auth.schemes[e]}function wt(e,t){const n=rt(e,t),a=k.get().auth,r=ut(n,a.schemes,a.activeScheme,a.token);return Object.keys(r.headers).length>0||Object.keys(r.query).length>0||Object.keys(r.cookies).length>0}function on(e,t){const n=rt(e,t),a=k.get().auth;return ut(n,a.schemes,a.activeScheme,a.token).headers}function Li(e,t){const n=rt(e,t),a=k.get().auth;return ut(n,a.schemes,a.activeScheme,a.token).query}function Oi(e,t){const n=rt(e,t),a=k.get().auth;return ut(n,a.schemes,a.activeScheme,a.token).cookies}function sn(e,t){const n=rt(e,t);return na(n)}function rt(e,t){if(e)return Array.isArray(e)?Ut(e,t,!1):e}let le=-1,Nt=null,qe=null;function fr(){St();const e=dr({overlayClass:"modal overlay search-modal-overlay",modalClass:"modal container search-modal",ariaLabel:"Search API",dataOverlayAttr:"data-search-overlay",onClose:()=>{Nt=null,k.set({searchOpen:!1})}});Nt=e;const t=e.modal,n=c("div",{className:"search-input-wrap"});n.innerHTML=T.search;const a=Ne({className:"search-input",placeholder:"Search endpoints, schemas...",ariaLabel:"Search"}),r=c("kbd",{textContent:"ESC",className:"kbd"});n.append(a,r),t.append(n);const o=c("div",{className:"search-results",role:"listbox"}),i=c("div",{className:"search-empty",textContent:"Type to search across endpoints and schemas"});o.append(i),t.append(o);const s=c("div",{className:"search-footer"});s.innerHTML='<span><kbd class="kbd">↑</kbd> <kbd class="kbd">↓</kbd> Navigate</span><span><kbd class="kbd">↵</kbd> Select</span><span><kbd class="kbd">ESC</kbd> Close</span>',t.append(s),e.mount(document.querySelector(".root")??document.body),requestAnimationFrame(()=>a.focus()),le=-1;let l=[];a.addEventListener("input",()=>{const u=a.value;l=si(u),Ti(o,l),At(o,l.length>0?0:-1)}),a.addEventListener("keydown",u=>{const d=u;d.key==="ArrowDown"?(d.preventDefault(),l.length>0&&At(o,Math.min(le+1,l.length-1))):d.key==="ArrowUp"?(d.preventDefault(),l.length>0&&At(o,Math.max(le-1,0))):d.key==="Enter"?(d.preventDefault(),le>=0&&le<l.length&&mr(l[le])):d.key==="Escape"&&(d.preventDefault(),St())})}function St(){if(Nt){Nt.close();return}const e=document.querySelector("[data-search-overlay]");e&&e.remove(),k.set({searchOpen:!1})}function Ti(e,t){if(z(e),t.length===0){e.append(c("div",{className:"search-empty",textContent:"No results found"}));return}const n=document.createDocumentFragment();t.forEach((a,r)=>{const o=c("div",{className:"search-result",role:"option","aria-selected":"false","data-index":String(r)});a.method?o.append(N({text:a.method.toUpperCase(),kind:"method",method:a.method})):a.type==="schema"?o.append(N({text:"SCH",kind:"chip",size:"m"})):a.type==="tag"&&o.append(N({text:"TAG",kind:"chip",size:"m"}));const i=c("div",{className:"search-result-info min-w-0"});if(i.append(c("span",{className:"search-result-title",textContent:a.title})),a.subtitle&&i.append(c("span",{className:"search-result-subtitle",textContent:a.subtitle})),o.append(i),a.method&&a.requiresAuth&&a.resolvedSecurity){const s=k.get().spec,l=wt(a.resolvedSecurity,s?.securitySchemes||{});o.append(c("span",{className:`search-result-lock search-result-lock--${l?"configured":"required"}`,innerHTML:l?T.unlock:T.lock,"aria-label":a.authTitle||"Requires authentication"}))}o.addEventListener("click",()=>mr(a)),o.addEventListener("mouseenter",()=>{At(e,r)}),n.append(o)}),e.append(n)}function At(e,t){if(le===t)return;if(le>=0){const a=e.querySelector(`.search-result[data-index="${le}"]`);a&&(a.classList.remove("focused"),a.setAttribute("aria-selected","false"))}if(le=t,t<0)return;const n=e.querySelector(`.search-result[data-index="${t}"]`);n&&(n.classList.add("focused"),n.setAttribute("aria-selected","true"),n.scrollIntoView({block:"nearest"}))}function mr(e){St(),e.type==="operation"?M(H({type:"endpoint",tag:e.tag||"default",method:e.method,path:e.path,operationId:e.operationId})):e.type==="schema"?M(H({type:"schema",schemaName:e.schemaName})):e.type==="tag"&&e.tag?M(H({type:"tag",tag:e.tag})):e.type==="webhook"&&e.webhookName&&M(H({type:"webhook",webhookName:e.webhookName}))}function qi(){return qe&&document.removeEventListener("keydown",qe),qe=e=>{(e.metaKey||e.ctrlKey)&&e.key==="k"&&(e.preventDefault(),k.get().searchOpen?St():(k.set({searchOpen:!0}),fr()))},document.addEventListener("keydown",qe),()=>{qe&&(document.removeEventListener("keydown",qe),qe=null)}}function Ii(e,t){const n=e.querySelectorAll(".nav-item");let a=null;for(const s of n){const l=s,u=Fi(l),d=l.getAttribute("href");if(!d&&!u)continue;const p=d?.startsWith("#")?d.slice(1):d||"",m=u||An(p),f=Ye(m,t);s.classList.toggle("active",f),f?(l.setAttribute("aria-current","page"),a=l):l.removeAttribute("aria-current")}const r=a?a.closest(".nav-group"):null;if(r){const s=r.querySelector(".nav-group-header"),l=r.querySelector(".nav-group-items");s instanceof HTMLElement&&l instanceof HTMLElement&&oe(s,l,!0)}const o=t.type==="endpoint"||t.type==="tag"?t.tag:null,i=t.type==="schema"?"schemas":t.type==="webhook"?"webhooks":o?Z(o):null;if(i){const s=e.querySelector(`[data-nav-tag="${CSS.escape(i)}"]`);if(s){const l=s.querySelector(".nav-group-header"),u=s.querySelector(".nav-group-items");l instanceof HTMLElement&&u instanceof HTMLElement&&oe(l,u,!0)}}a&&requestAnimationFrame(()=>{const l=a.closest(".nav-group")?.querySelector(".nav-group-header");l?l.scrollIntoView({block:"start",behavior:"smooth"}):a.scrollIntoView({block:"nearest",behavior:"smooth"})})}function $i(e){const t=k.get(),n=t.spec;if(!n)return;const a=n.securitySchemes||{},r=e.querySelector("[data-sidebar-auth-btn]");if(r){const l=Object.keys(a),u=t.auth.activeScheme||l[0]||"",d=Ct(u);r.innerHTML=d?T.unlock:T.lock,r.classList.toggle("active",d)}const o=e.querySelectorAll("[data-lock-slot]"),i=new Map,s=new Map;for(const l of n.operations)l.operationId&&i.set(l.operationId,l),s.set(`${l.method.toLowerCase()} ${l.path}`,l);for(const l of o){const u=l.closest(".nav-item");if(!u)continue;const d=u.dataset.routeOperationId,p=u.dataset.routeMethod,m=u.dataset.routePath,f=d&&i.get(d)||(p&&m?s.get(`${p.toLowerCase()} ${m}`):null);if(!f)continue;const h=wt(f.resolvedSecurity,a),v=xt({configured:h,variant:"nav",title:Me(f.resolvedSecurity)});l.innerHTML="",l.append(v)}}function ji(e,t){const n=k.get(),a=n.spec;if(!a)return;z(e);const r=t.title||a.info.title||"API Docs",o=a.info.version?`v${a.info.version}`:"",i=c("div",{className:"top"}),s=c("button",{type:"button",className:"btn icon s soft u-text-muted","aria-label":"Collapse sidebar"});s.innerHTML=T.chevronLeft,s.addEventListener("click",()=>k.set({sidebarOpen:!1}));const l=c("a",{className:"title",href:"/",textContent:r});l.addEventListener("click",x=>{x.preventDefault(),M("/")});const u=c("div",{className:"title-wrap"});if(u.append(l),o&&u.append(c("span",{className:"version",textContent:o})),i.append(s,u),a.securitySchemes&&Object.keys(a.securitySchemes).length>0){const x=Object.keys(a.securitySchemes),L=n.auth.activeScheme||x[0]||"",C=Ct(L),w=c("button",{type:"button",className:"btn icon s soft u-text-muted theme","aria-label":"Configure authentication","data-sidebar-auth-btn":""});w.innerHTML=C?T.unlock:T.lock,w.classList.toggle("active",C),w.addEventListener("click",()=>{const I=k.get().auth.activeScheme||x[0]||"";an(a.securitySchemes,e.closest(".root")??void 0,I)}),i.append(w)}const d=c("button",{type:"button",className:"btn icon s soft u-text-muted theme","aria-label":"Toggle theme"});if(d.innerHTML=k.get().theme==="light"?T.moon:T.sun,d.addEventListener("click",()=>{ci(),d.innerHTML=k.get().theme==="light"?T.moon:T.sun}),e.append(i),n.environments.length>1){const x=Di(n);e.append(x)}const p=c("div",{className:"search"}),m=c("span",{className:"search-icon",innerHTML:T.search}),f=Ne({className:"search-input",placeholder:"Search endpoints...",ariaLabel:"Search endpoints"}),h=c("span",{className:"kbd",textContent:"⌘K"});f.addEventListener("focus",()=>{k.set({searchOpen:!0}),f.blur(),fr()}),p.append(m,f,h),e.append(p);const v=c("nav",{className:"nav","aria-label":"API navigation"}),y=Ri({type:"overview"},n.route);v.append(y);for(const x of a.tags){if(x.operations.length===0)continue;const L=Bi(x,n.route);v.append(L)}if(a.webhooks&&a.webhooks.length>0){const x=c("div",{className:"nav-group","data-nav-tag":"webhooks"}),L={type:"webhook"},C=hr("Webhooks",a.webhooks.length,L,n.route),w=c("div",{className:"nav-group-items collapsed"});for(const R of a.webhooks){const J={type:"webhook",webhookName:R.name},Q=yr(R.summary||R.name,R.method,J,n.route);Q.classList.add("nav-item-webhook"),w.append(Q)}C.addEventListener("click",R=>{R.target.closest(".nav-group-link")||oe(C,w)});const $=C.querySelector(".nav-group-link");$&&$.addEventListener("click",()=>oe(C,w,!0),{capture:!0});const I=n.route.type==="webhook";oe(C,w,I,{instant:!0}),x.append(C,w),v.append(x)}const b=Object.keys(a.schemas);if(b.length>0){const x=c("div",{className:"nav-group"}),L={type:"schema"},C=hr("Schemas",b.length,L,n.route),w=c("div",{className:"nav-group-items collapsed"});for(const R of b){const Q=yr(R,void 0,{type:"schema",schemaName:R},n.route);w.append(Q)}C.addEventListener("click",R=>{R.target.closest(".nav-group-link")||oe(C,w)});const $=C.querySelector(".nav-group-link");$&&$.addEventListener("click",()=>oe(C,w,!0),{capture:!0});const I=n.route.type==="schema";oe(C,w,I,{instant:!0}),x.setAttribute("data-nav-tag","schemas"),x.append(C,w),v.append(x)}e.append(v);const g=c("div",{className:"footer"}),A=c("button",{type:"button",className:"btn icon s soft u-text-muted theme","aria-label":"PureDocs"});A.innerHTML=`<svg viewBox="0 0 593 465" xmlns="http://www.w3.org/2000/svg">
|
|
18
|
+
<g transform="translate(0,465) scale(0.1,-0.1)" fill="currentColor" stroke="none">
|
|
19
|
+
<path d="M895 4308 c-41 -15 -105 -56 -128 -82 -10 -12 -28 -41 -40 -66 l-22 -45 -3 -983 c-2 -618 1 -983 7 -980 5 1 66 37 135 78 l126 75 1 335 c1 184 3 570 4 857 4 588 1 569 78 604 40 18 83 19 1140 19 l1097 0 0 -192 c0 -106 3 -264 7 -351 7 -173 14 -195 76 -241 27 -20 43 -21 385 -26 l357 -5 3 -1363 c2 -1336 2 -1365 -18 -1408 -34 -78 22 -74 -962 -74 l-873 0 -50 -26 c-28 -15 -109 -60 -181 -101 l-131 -74 -287 -1 -287 -2 -29 30 c-16 16 -51 58 -77 92 -45 59 -63 73 -278 201 l-230 137 -3 -175 c-2 -142 0 -184 13 -218 21 -54 84 -119 143 -146 l47 -22 1640 0 1640 0 51 27 c27 14 67 45 87 67 71 79 67 -20 67 1607 0 804 -3 1475 -6 1491 -4 23 -122 147 -474 502 l-467 471 -1264 -1 c-877 0 -1273 -4 -1294 -11z"/>
|
|
20
|
+
<path d="M5361 3645 c-2 -51 -36 -167 -69 -231 -64 -126 -193 -201 -407 -237 -11 -2 10 -9 46 -15 239 -43 359 -147 414 -357 8 -32 15 -74 15 -93 0 -19 4 -31 10 -27 6 3 10 18 10 32 0 48 32 157 62 215 62 116 174 191 343 227 50 10 78 19 64 20 -44 2 -180 41 -232 67 -113 58 -185 161 -223 319 -9 39 -20 79 -25 90 -6 17 -8 15 -8 -10z"/>
|
|
21
|
+
<path d="M1354 3527 c-3 -8 -4 -45 -2 -83 l3 -69 743 -3 742 -2 0 85 0 85 -740 0 c-612 0 -742 -2 -746 -13z"/>
|
|
22
|
+
<path d="M1350 3005 l0 -75 1185 0 1186 0 -3 68 -3 67 -120 6 c-66 4 -598 7 -1182 8 l-1063 1 0 -75z"/>
|
|
23
|
+
<path d="M2033 2638 c-6 -7 -41 -137 -78 -288 -79 -327 -349 -1427 -405 -1656 -22 -89 -40 -170 -40 -181 0 -23 -11 -20 208 -49 115 -16 134 -16 146 -3 7 7 35 102 61 209 26 107 87 359 136 560 49 201 125 514 169 695 44 182 96 393 115 469 21 87 30 146 25 155 -7 13 -150 58 -311 97 -9 3 -21 -1 -26 -8z"/>
|
|
24
|
+
<path d="M4810 2585 c0 -28 -34 -68 -73 -85 l-38 -17 30 -12 c36 -16 66 -47 82 -86 l12 -30 8 29 c10 36 42 71 80 87 l30 12 -38 17 c-39 17 -73 57 -73 85 0 8 -4 15 -10 15 -5 0 -10 -7 -10 -15z"/>
|
|
25
|
+
<path d="M2706 2230 c-48 -58 -136 -197 -136 -217 0 -20 121 -106 587 -416 84 -56 153 -106 153 -110 0 -4 -34 -29 -75 -55 -68 -43 -272 -171 -510 -321 -49 -32 -150 -95 -222 -141 -73 -46 -133 -88 -133 -93 0 -5 35 -63 77 -129 52 -80 84 -120 99 -124 23 -6 174 85 739 441 182 115 345 216 438 273 77 47 107 83 107 132 0 22 -5 50 -11 64 -7 15 -77 69 -173 134 -843 570 -877 592 -898 592 -9 0 -28 -14 -42 -30z"/>
|
|
26
|
+
<path d="M1205 2171 c-145 -90 -429 -266 -510 -316 -374 -230 -527 -328 -544 -349 -7 -8 -15 -34 -18 -57 -9 -61 17 -102 91 -146 67 -40 298 -183 650 -403 298 -185 323 -200 346 -200 22 0 160 211 160 245 0 12 -8 29 -17 38 -18 15 -433 278 -610 386 -51 30 -93 58 -93 61 0 5 526 336 710 447 36 22 66 47 68 55 2 9 -30 69 -70 134 -65 105 -77 119 -103 122 -17 1 -43 -6 -60 -17z"/>
|
|
27
|
+
</g>
|
|
28
|
+
</svg>`,A.addEventListener("click",()=>{window.open("https://puredocs.dev","_blank","noopener,noreferrer")});const O=c("a",{className:"credit",href:"https://puredocs.dev",target:"_blank",rel:"noopener noreferrer"});O.textContent=`puredocs.dev${o?` ${o}`:""}`,g.append(A,O),g.append(d),e.append(g),requestAnimationFrame(()=>{const x=v.querySelector(".nav-item.active");if(x){const C=x.closest(".nav-group")?.querySelector(".nav-group-header");C?C.scrollIntoView({block:"start",behavior:"smooth"}):x.scrollIntoView({block:"nearest",behavior:"smooth"})}})}function Bi(e,t,n){const a=c("div",{className:"nav-group","data-nav-tag":Z(e.name)}),r=Mi(e,t),o=c("div",{className:"nav-group-items collapsed"}),i=Z(e.name),s=t.type==="tag"&&Z(t.tag||"")===i||e.operations.some(u=>Ye(cn(u,e.name),t));for(const u of e.operations){const d=cn(u,e.name),p=Hi(u,d,t);o.append(p)}r.addEventListener("click",u=>{u.target.closest(".nav-group-link")||oe(r,o)});const l=r.querySelector(".nav-group-link");return l&&l.addEventListener("click",u=>{oe(r,o,!0)},{capture:!0}),oe(r,o,s,{instant:!0}),a.append(r,o),a}function Mi(e,t){const n=Z(e.name),a=t.type==="tag"&&Z(t.tag||"")===n||e.operations.some(s=>Ye(cn(s,e.name),t)),r=c("div",{className:"nav-group-header focus-ring","aria-expanded":String(a),tabIndex:0}),o=c("button",{type:"button",className:"nav-group-chevron","aria-label":a?"Collapse":"Expand"});o.innerHTML=T.chevronRight,o.addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),r.click()});const i=c("a",{className:"nav-group-link",href:H({type:"tag",tag:e.name})});return i.append(c("span",{className:"nav-group-title",textContent:e.name}),c("span",{className:"nav-group-count",textContent:String(e.operations.length)})),i.addEventListener("click",s=>{s.preventDefault(),M(H({type:"tag",tag:e.name}))}),r.append(o,i),r.addEventListener("keydown",s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),o.click())}),r}function hr(e,t,n,a){const r=a.type===n.type,o=c("div",{className:"nav-group-header focus-ring","aria-expanded":String(r),tabIndex:0}),i=c("button",{type:"button",className:"nav-group-chevron","aria-label":r?"Collapse":"Expand"});i.innerHTML=T.chevronRight,i.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),o.click()});const s=c("a",{className:"nav-group-link",href:H(n)});return s.append(c("span",{className:"nav-group-title",textContent:e}),c("span",{className:"nav-group-count",textContent:String(t)})),s.addEventListener("click",l=>{l.preventDefault(),M(H(n))}),o.append(i,s),o.addEventListener("keydown",l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),i.click())}),o}const gr=260,vr="cubic-bezier(0.25, 0.8, 0.25, 1)",Se=new WeakMap;function oe(e,t,n=!e.classList.contains("expanded"),a={}){if(e.classList.contains("expanded")===n)return;const o=Se.get(t);if(o&&(o.cancel(),Se.delete(t)),e.classList.toggle("expanded",n),e.setAttribute("aria-expanded",String(n)),Pi(e,n),a.instant){t.classList.toggle("collapsed",!n),t.style.maxHeight="",t.style.overflow="";return}if(n){t.classList.remove("collapsed"),t.style.maxHeight="none",t.style.overflow="hidden";const i=t.scrollHeight;t.style.maxHeight="0";const s=t.animate([{maxHeight:"0px"},{maxHeight:`${i}px`}],{duration:gr,easing:vr,fill:"forwards"});Se.set(t,s),s.finished.then(()=>{Se.delete(t),t.style.maxHeight="",t.style.overflow=""}).catch(()=>{Se.delete(t)})}else{t.classList.remove("collapsed");const i=t.scrollHeight;t.style.maxHeight=`${i}px`,t.style.overflow="hidden";const s=t.animate([{maxHeight:`${i}px`},{maxHeight:"0px"}],{duration:gr,easing:vr,fill:"forwards"});Se.set(t,s),s.finished.then(()=>{Se.delete(t),t.style.maxHeight="",t.style.overflow="",t.classList.add("collapsed")}).catch(()=>{Se.delete(t)})}}function Pi(e,t){const n=e.querySelector(".nav-group-chevron");n instanceof HTMLElement&&n.setAttribute("aria-label",t?"Collapse":"Expand")}function yr(e,t,n,a){const r=Ye(n,a),o=c("a",{className:`nav-item${r?" active":""}`,href:H(n),role:"link","aria-current":r?"page":void 0}),i=N(t?{text:t.toUpperCase(),kind:"method",method:t}:{text:"GET",kind:"method",method:"get",className:"placeholder"});return t||i.setAttribute("aria-hidden","true"),o.append(i),o.append(c("span",{className:"nav-item-label",textContent:e})),o.addEventListener("click",s=>{s.preventDefault(),M(H(n))}),o}function Ri(e,t){const n=Ye(e,t),a=c("a",{className:`nav-item nav-item-overview${n?" active":""}`,href:H(e),role:"link","aria-current":n?"page":void 0}),r=c("span",{className:"nav-overview-icon-slot"});r.innerHTML=T.globe;const o=c("span",{className:"nav-item-label",textContent:"Overview"});return a.append(r,o),a.addEventListener("click",i=>{i.preventDefault(),M(H(e))}),a}function Hi(e,t,n){const a=Ye(t,n),r=c("a",{className:`nav-item${a?" active":""}${e.deprecated?" deprecated":""}`,href:H(t),"aria-current":a?"page":void 0});r.dataset.routeType="endpoint",t.operationId&&(r.dataset.routeOperationId=t.operationId),t.method&&(r.dataset.routeMethod=t.method),t.path&&(r.dataset.routePath=t.path),t.tag&&(r.dataset.routeTag=t.tag);const o=k.get().spec,i=_(e.resolvedSecurity),s=i?xt({configured:wt(e.resolvedSecurity,o?.securitySchemes||{}),variant:"nav",title:Me(e.resolvedSecurity)}):null,l=i?c("span",{"data-lock-slot":""}):null;return l&&s&&l.append(s),r.append(N({text:e.method.toUpperCase(),kind:"method",method:e.method}),c("span",{className:"nav-item-label",textContent:e.summary||e.path}),...l?[l]:[]),r.addEventListener("click",u=>{u.preventDefault(),M(H(t))}),r}function cn(e,t){return{type:"endpoint",tag:t,method:e.method,path:e.path,operationId:e.operationId}}function Ye(e,t){if(e.type!==t.type)return!1;if(e.type==="overview")return!0;if(e.type==="tag")return Z(e.tag||"")===Z(t.tag||"");if(e.type==="endpoint"){if(e.operationId&&t.operationId)return e.operationId===t.operationId;const n=(e.method||"").toLowerCase(),a=(t.method||"").toLowerCase();return n===a&&br(e.path)===br(t.path)}return e.type==="schema"?e.schemaName===t.schemaName:e.type==="webhook"?e.webhookName===t.webhookName:!1}function br(e){return e&&e.replace(/\/+/g,"/").replace(/\/+$/,"")||"/"}function Fi(e){const{routeType:t}=e.dataset;return t&&t==="endpoint"?{type:"endpoint",operationId:e.dataset.routeOperationId||void 0,method:e.dataset.routeMethod||void 0,path:e.dataset.routePath||void 0,tag:e.dataset.routeTag||void 0}:null}function _i(e){const t=e.querySelector("select.env");if(t){const n=k.get().activeEnvironment;t.value!==n&&(t.value=n)}}function Di(e){const t=e.initialEnvironments||e.environments,n=e.environments.map(r=>{const o=t.find(s=>s.name===r.name),i=we((o?.baseUrl??r.baseUrl)||"");return{value:r.name,label:i||"(no URL)"}});return gt({options:n,value:e.activeEnvironment,ariaLabel:"Select server environment",onChange:r=>k.setActiveEnvironment(r),className:"env"})}function Et(e,t,n="No operations"){const a=c("div",{className:"summary-line"});for(const o of e)a.append(N({text:`${o.value} ${o.label}`,kind:"chip",size:"m"}));const r=["get","post","put","patch","delete","head","options"];for(const o of r){const i=t[o]||0;i!==0&&a.append(N({kind:"method",method:o,size:"m",text:`${i} ${o.toUpperCase()}`}))}return a.childNodes.length||a.append(N({text:n,kind:"chip",size:"m"})),a}function Ui(e,t){const n=[],a=zi(e,t);return a&&n.push(a),n}function zi(e,t){if(Object.keys(e).length===0)return null;const n=U({title:"Authentication"});for(const[a,r]of Object.entries(e)){const o=Ct(a),i=ne({className:"card-group card-auth"}),s=c("div",{className:"card-auth-main"}),l=c("div",{className:"card-info card-auth-info"}),u=`${r.type}${r.scheme?` / ${r.scheme}`:""}`;l.append(c("h3",{textContent:a}),c("p",{className:"card-auth-type",textContent:u})),r.description&&l.append(c("p",{className:"card-auth-desc",textContent:String(r.description)}));const d=ce({variant:"secondary",icon:o?T.check:T.settings,label:o?"Success":"Set",className:`card-auth-config${o?" active is-configured":""}`,onClick:p=>{p.stopPropagation(),an(e,t,a)}});s.append(l),i.append(s,d),n.append(i)}return n}async function xr(e,t){z(e);const n=k.get().spec;if(!n)return;const a=c("div",{className:"block header"}),r=c("div",{className:"title"});r.append(c("h1",{textContent:n.info.title}),c("span",{className:"version",textContent:`v${n.info.version}`})),a.append(r),n.info.description&&a.append(c("p",{textContent:n.info.description})),e.append(a);const o=n.operations.filter(d=>_(d.resolvedSecurity)).length,i=n.operations.filter(d=>d.deprecated).length,s=Vi(n.operations);if(e.append(U({className:"summary"},Et([{label:"Endpoints",value:n.operations.length},{label:"Auth Required",value:o},{label:"Deprecated",value:i}],s,"No operations"))),n.servers.length>0){const d=U({title:"Servers"}),p=k.get(),m=p.initialEnvironments||p.environments,f=[];for(const v of n.servers){const b=m.find(w=>w.baseUrl===v.url)?.name||"",g=b===p.activeEnvironment,A=ne({interactive:!0,active:g,className:"card-group",onClick:()=>{const w=k.get(),I=(w.initialEnvironments||w.environments).find(R=>R.baseUrl===v.url);I&&I.name!==w.activeEnvironment&&k.setActiveEnvironment(I.name)}}),O=c("div",{className:"card-info"}),x=c("div",{className:"inline-cluster inline-cluster-sm"}),L=c("span",{className:"icon-muted"});L.innerHTML=T.server,x.append(L,c("code",{textContent:v.url})),O.append(x),v.description&&O.append(c("p",{textContent:v.description}));const C=c("div",{className:"card-badges"});A.append(O,C),d.append(A),f.push({el:A,envName:b})}const h=v=>{for(const{el:y,envName:b}of f)y.classList.toggle("active",b===v.activeEnvironment)};Ce().on("overview:servers",h),e.append(d)}const l=e.closest(".root")??void 0,u=Ui(n.securitySchemes||{},l);for(const d of u)e.append(d);if(n.tags.length>0){const d=U({title:"API Groups"});for(const p of n.tags)p.operations.length!==0&&d.append(Wi(p));e.append(d)}if(n.webhooks&&n.webhooks.length>0){const d=U({title:"Webhooks"});for(const p of n.webhooks){const m=ne({interactive:!0,className:"card-group",onClick:()=>M(H({type:"webhook",webhookName:p.name}))}),f=c("div",{className:"card-badges"});f.append(N({text:"WH",kind:"webhook",size:"s"}),N({text:p.method.toUpperCase(),kind:"method",method:p.method,size:"s"}));const h=c("div",{className:"card-group-top"});h.append(c("h3",{className:"card-group-title",textContent:p.summary||p.name}),f);const v=c("p",{className:"card-group-description",textContent:p.description||`${p.method.toUpperCase()} webhook`});m.append(h,v),d.append(m)}e.append(d)}}function Wi(e){const t=ne({interactive:!0,className:"card-group",onClick:()=>M(H({type:"tag",tag:e.name}))}),n=Yi(e),a=c("div",{className:"card-badges"});for(const[i,s]of Object.entries(n)){const l=N({text:i.toUpperCase(),kind:"method",method:i,size:"m"});l.textContent=`${s} ${i.toUpperCase()}`,a.append(l)}const r=c("div",{className:"card-group-top"});r.append(c("h3",{className:"card-group-title",textContent:e.name}),a);const o=c("p",{className:"card-group-description",textContent:e.description||`${e.operations.length} endpoints`});return t.append(r,o),t}function Vi(e){const t={};for(const n of e)t[n.method]=(t[n.method]||0)+1;return t}function Yi(e){const t={};for(const n of e.operations)t[n.method]=(t[n.method]||0)+1;return t}function Ge(e){if(!e)return"any";if(e.$ref)return e.$ref.split("/").pop()||"ref";let t=e.type||"";return e.allOf?t="allOf":e.oneOf?t="oneOf":e.anyOf?t="anyOf":e.enum?t="enum":e.format&&(t+=`<${e.format}>`),e.type==="array"&&e.items&&!e.enum&&(t=`${e.items.type||e.items.$ref?.split("/").pop()||"any"}[]`),e.nullable&&(t+=" | null"),t||"object"}function Gi(e){const t=c("div",{className:"schema"}),n=c("div",{className:"body"});t.append(n);const a=[];kr(n,e,"",0,new Set,a);const r=a.length>0,o=()=>a.some(({children:s})=>s.style.display!=="none");return{body:t,toggleCollapse:()=>{const s=!o();Nr(a,s)},isExpanded:o,hasExpandable:r}}function ln(e,t){const n=ne(),a=Ge(e),r=ze(),o=c("div",{className:"schema"}),i=c("div",{className:"body"});o.append(i);const s=[];if(kr(i,e,"",0,new Set,s),r.append(o),t){const l=bt(),u=typeof t=="string"?c("h3",{textContent:t}):t,d=s.length>0,p=d&&s.some(({children:h})=>h.style.display!=="none"),m=N({text:a,kind:"chip",color:"primary",size:"m"}),f=d?c("button",{className:p?"schema-collapse-btn is-expanded":"schema-collapse-btn",type:"button","aria-label":p?"Collapse all fields":"Expand all fields"}):null;if(f&&(f.innerHTML=T.chevronDown,f.addEventListener("click",h=>{h.stopPropagation();const v=!f.classList.contains("is-expanded");Nr(s,v),f.classList.toggle("is-expanded",v),f.setAttribute("aria-label",v?"Collapse all fields":"Expand all fields")})),u.classList.contains("card-row"))u.classList.add("schema-header-row"),u.append(m),f&&u.append(f),l.append(u);else{const h=c("div",{className:"card-row schema-header-row"});h.append(u,m),f&&h.append(f),l.append(h)}n.prepend(l)}return n.append(r),n}function Ki(e,t){const{headerTitle:n,withEnumAndDefault:a=!0}=t,r=e.map(u=>{const d=c("div",{className:"schema-row role-flat role-params"}),p=c("div",{className:"schema-main-row"}),m=c("div",{className:"schema-name-wrapper"});m.append(c("span",{className:"schema-spacer"}),c("span",{textContent:u.name}));const f=c("div",{className:"schema-meta-wrapper"});f.append(N({text:u.schema?Ge(u.schema):"unknown",kind:"chip",color:"primary",size:"m"})),u.required&&f.append(N({text:"required",kind:"required",size:"m"})),p.append(m,f),d.append(p);const h=c("div",{className:"schema-desc-col is-root"});u.description&&h.append(c("p",{textContent:u.description}));const v=u.schema?.enum,y=u.schema?.default!==void 0;if(a&&(v&&v.length>0||y)){const b=c("div",{className:"schema-enum-values"});if(y&&b.append(N({text:`Default: ${JSON.stringify(u.schema.default)}`,kind:"chip",size:"s"})),v)for(const g of v){const A=String(g);A!==u.in&&b.append(N({text:A,kind:"chip",size:"s"}))}h.append(b)}return h.children.length>0&&d.append(h),d}),o=ne(),i=ze(),s=c("div",{className:"params"}),l=c("div",{className:"body role-params"});return l.append(...r),s.append(l),i.append(s),o.append(bt(ki({title:n})),i),o}function Lt(e,t,n,a,r,o,i){const s=Ge(n),l=Ji(n),u=wr(t,s,n,a,l,r);if(e.append(u),l){const d=c("div",{className:"schema-children"});d.style.display="block";const p=new Set(o);p.add(n),Cr(d,n,a+1,p,i),e.append(d),i?.push({row:u,children:d}),u.querySelector(".schema-toggle")?.classList.add("is-expanded"),u.classList.add("focus-ring"),u.setAttribute("aria-expanded","true"),u.setAttribute("tabindex","0"),u.addEventListener("click",()=>{const m=d.style.display!=="none";un(u,d,!m)}),u.addEventListener("keydown",m=>{if(m.key!=="Enter"&&m.key!==" ")return;m.preventDefault();const f=d.style.display!=="none";un(u,d,!f)})}}function kr(e,t,n,a,r,o){if(r.has(t)){e.append(wr("[circular]","circular",{description:""},a,!1,!1));return}{const i=new Set(r);i.add(t),Cr(e,t,a,i,o);return}}function Cr(e,t,n,a,r){const o=new Set(t.required||[]);if(t.properties)for(const[i,s]of Object.entries(t.properties))Lt(e,i,s,n,o.has(i),a,r);t.items&&t.type==="array"&&Lt(e,"[item]",t.items,n,!1,a,r);for(const i of["allOf","oneOf","anyOf"]){const s=t[i];if(Array.isArray(s))for(let l=0;l<s.length;l++)Lt(e,`${i}[${l}]`,s[l],n,!1,a,r)}t.additionalProperties&&typeof t.additionalProperties=="object"&&Lt(e,"[additionalProperties]",t.additionalProperties,n,!1,a,r)}function wr(e,t,n,a,r,o){const i=["schema-row",a===0?"is-root":"",a===0&&!r?"is-leaf":""].filter(Boolean).join(" "),s=c("div",{className:i,role:r?"button":void 0});s.setAttribute("data-depth",String(a)),s.style.setProperty("--schema-depth",String(a));const l=c("div",{className:"schema-main-row"}),u=c("div",{className:"schema-name-wrapper"});r?u.append(c("span",{className:"schema-toggle",innerHTML:T.chevronRight})):u.append(c("span",{className:"schema-spacer"})),u.append(c("span",{textContent:e})),l.append(u);const d=c("div",{className:"schema-meta-wrapper"});d.append(N({text:t,kind:"chip",color:"primary",size:"m"})),o&&d.append(N({text:"required",kind:"required",size:"m"})),l.append(d),s.append(l);const p=c("div",{className:`schema-desc-col${a===0?" is-root":""}`});n.description&&p.append(c("p",{textContent:String(n.description)}));const m=n.enum,f=Array.isArray(m)&&m.length>0,h=n.default,v=h!==void 0,y=f&&v?m.some(g=>dn(g,h)):!1,b=Zi(n,!f||!v);if(b.length>0||f){const g=c("div",{className:"schema-constraints-row"});for(const A of b)g.append(N({text:A,kind:"chip",size:"s"}));if(f){const A=v&&y?[h,...m.filter(O=>!dn(O,h))]:m;v&&!y&&g.append(N({text:`default: ${Ot(h)}`,kind:"chip",size:"s",className:"schema-enum-value is-default"}));for(const O of A){const x=v&&dn(O,h);g.append(N({text:x?`default: ${Ot(O)}`:Ot(O),kind:"chip",size:"s",className:x?"schema-enum-value is-default":"schema-enum-value"}))}}p.append(g)}return p.children.length>0&&s.append(p),s}function Ji(e){return!!(e.properties&&Object.keys(e.properties).length>0||e.type==="array"&&e.items||e.allOf||e.oneOf||e.anyOf||e.additionalProperties&&typeof e.additionalProperties=="object")}function Zi(e,t=!0){const n=[];return e.minLength!==void 0&&n.push(`minLength: ${e.minLength}`),e.maxLength!==void 0&&n.push(`maxLength: ${e.maxLength}`),e.minimum!==void 0&&n.push(`minimum: ${e.minimum}`),e.maximum!==void 0&&n.push(`maximum: ${e.maximum}`),e.pattern&&n.push(`pattern: ${e.pattern}`),e.minItems!==void 0&&n.push(`minItems: ${e.minItems}`),e.maxItems!==void 0&&n.push(`maxItems: ${e.maxItems}`),e.uniqueItems&&n.push("uniqueItems: true"),t&&e.default!==void 0&&n.push(`default: ${Ot(e.default)}`),e.deprecated&&n.push("deprecated: true"),e.readOnly&&n.push("readOnly: true"),e.writeOnly&&n.push("writeOnly: true"),n}function Nr(e,t){for(const{row:n,children:a}of e)un(n,a,t)}function un(e,t,n){t.style.display=n?"block":"none",e.querySelector(".schema-toggle")?.classList.toggle("is-expanded",n),e.setAttribute("aria-expanded",n?"true":"false")}function Ot(e){if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(e===null)return"null";try{return JSON.stringify(e)}catch{return String(e)}}function dn(e,t){if(e===t)return!0;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return String(e)===String(t)}}async function Xi(e){const{method:t,url:n,headers:a={},body:r,timeout:o=3e4}=e,i=new AbortController,s=setTimeout(()=>i.abort(),o),l=performance.now();try{const u=typeof FormData<"u"&&r instanceof FormData,d={method:t.toUpperCase(),headers:u?void 0:a,signal:i.signal,credentials:"include"};if(u){const y={};for(const[b,g]of Object.entries(a))b.toLowerCase()!=="content-type"&&(y[b]=g);Object.keys(y).length>0&&(d.headers=y)}r&&!["GET","HEAD"].includes(t.toUpperCase())&&(d.body=r);const p=await fetch(n,d),m=performance.now()-l,f=await p.text(),h=new TextEncoder().encode(f).length,v={};return p.headers.forEach((y,b)=>{v[b.toLowerCase()]=y}),Qi(f,v),{status:p.status,statusText:p.statusText,headers:v,body:f,duration:m,size:h}}catch(u){const d=performance.now()-l;return u.name==="AbortError"?{status:0,statusText:"Request timed out",headers:{},body:`Request timed out after ${o}ms`,duration:d,size:0}:{status:0,statusText:"Network Error",headers:{},body:u.message||"Unknown network error",duration:d,size:0}}finally{clearTimeout(s)}}function Qi(e,t){const n=k.get().auth;if(n.locked)return;const a=k.get().spec;let r=n.activeScheme;if(a){for(const[i,s]of Object.entries(a.securitySchemes))if(s.type==="http"&&s.scheme?.toLowerCase()==="bearer"){r=i;break}}const o=t["x-new-access-token"];if(o){r?(k.setSchemeValue(r,o),k.setAuth({source:"auto-header"})):k.setAuth({token:o,source:"auto-header"});return}try{const i=JSON.parse(e),s=i.accessToken||i.access_token||i.token;typeof s=="string"&&s.length>10&&(r?(k.setSchemeValue(r,s),k.setAuth({source:"auto-body"})):k.setAuth({token:s,source:"auto-body"}))}catch{}}function es(e,t,n,a){let r=t;for(const[u,d]of Object.entries(n))r=r.replace(`{${u}}`,encodeURIComponent(d));const i=e.replace(/\/+$/,"")+r,s=new URLSearchParams;for(const[u,d]of Object.entries(a))d&&s.set(u,d);const l=s.toString();return l?`${i}?${l}`:i}function pn(e){return[{language:"curl",label:"cURL",code:ts(e)},{language:"javascript",label:"JavaScript",code:ns(e)},{language:"python",label:"Python",code:rs(e)},{language:"go",label:"Go",code:as(e)},{language:"rust",label:"Rust",code:os(e)}]}function ts({method:e,url:t,headers:n,body:a}){const r=[`curl -X ${e.toUpperCase()} '${t}'`];for(const[o,i]of Object.entries(n))r.push(` -H '${o}: ${i}'`);return a&&r.push(` -d '${a}'`),r.join(` \\
|
|
29
|
+
`)}function ns({method:e,url:t,headers:n,body:a}){const r=[];r.push(` method: '${e.toUpperCase()}'`);const o=Object.entries(n);if(o.length>0){const i=o.map(([s,l])=>` '${s}': '${l}'`).join(`,
|
|
30
|
+
`);r.push(` headers: {
|
|
31
|
+
${i}
|
|
32
|
+
}`)}return a&&r.push(` body: JSON.stringify(${a})`),`const response = await fetch('${t}', {
|
|
33
|
+
${r.join(`,
|
|
34
|
+
`)}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
const data = await response.json();
|
|
38
|
+
console.log(data);`}function rs({method:e,url:t,headers:n,body:a}){const r=["import requests",""],o=Object.entries(n);if(o.length>0){const s=o.map(([l,u])=>` "${l}": "${u}"`).join(`,
|
|
39
|
+
`);r.push(`headers = {
|
|
40
|
+
${s}
|
|
41
|
+
}`)}a&&r.push(`payload = ${a}`);const i=[`"${t}"`];return o.length>0&&i.push("headers=headers"),a&&i.push("json=payload"),r.push(""),r.push(`response = requests.${e.toLowerCase()}(${i.join(", ")})`),r.push("print(response.json())"),r.join(`
|
|
42
|
+
`)}function as({method:e,url:t,headers:n,body:a}){const r=["package main","","import (",' "fmt"',' "io"',' "net/http"'];a&&r.push(' "strings"'),r.push(")","","func main() {"),a?(r.push(` body := strings.NewReader(\`${a}\`)`),r.push(` req, err := http.NewRequest("${e.toUpperCase()}", "${t}", body)`)):r.push(` req, err := http.NewRequest("${e.toUpperCase()}", "${t}", nil)`),r.push(" if err != nil {"),r.push(" panic(err)"),r.push(" }");for(const[o,i]of Object.entries(n))r.push(` req.Header.Set("${o}", "${i}")`);return r.push(""),r.push(" resp, err := http.DefaultClient.Do(req)"),r.push(" if err != nil {"),r.push(" panic(err)"),r.push(" }"),r.push(" defer resp.Body.Close()"),r.push(""),r.push(" data, _ := io.ReadAll(resp.Body)"),r.push(" fmt.Println(string(data))"),r.push("}"),r.join(`
|
|
43
|
+
`)}function os({method:e,url:t,headers:n,body:a}){const r=["use reqwest::header::{HeaderMap, HeaderValue};","","#[tokio::main]","async fn main() -> Result<(), reqwest::Error> {"," let client = reqwest::Client::new();"],o=Object.entries(n);if(o.length>0){r.push(""),r.push(" let mut headers = HeaderMap::new();");for(const[l,u]of o)r.push(` headers.insert("${l}", HeaderValue::from_static("${u}"));`)}r.push("");const s=[` let response = client.${e.toLowerCase()}("${t}")`];return o.length>0&&s.push(" .headers(headers)"),a&&s.push(` .body(r#"${a}"#.to_string())`),s.push(" .send()"),s.push(" .await?;"),r.push(s.join(`
|
|
44
|
+
`)),r.push(""),r.push(" let body = response.text().await?;"),r.push(' println!("{}", body);'),r.push(""),r.push(" Ok(())"),r.push("}"),r.join(`
|
|
45
|
+
`)}function is(e){if(e.length===0)return[];const t=(r,o,i)=>{if(o&&r.examples?.[o]!==void 0){const s=r.examples[o],l=s?.value??s.value;if(l!=null)return String(l)}return i!==void 0&&r.schema?.enum&&r.schema.enum[i]!==void 0?String(r.schema.enum[i]):r.example!==void 0&&r.example!==null?String(r.example):r.schema?.example!==void 0&&r.schema.example!==null?String(r.schema.example):r.schema?.default!==void 0&&r.schema.default!==null?String(r.schema.default):r.schema?.enum&&r.schema.enum.length>0?String(r.schema.enum[0]):r.schema?.type==="integer"||r.schema?.type==="number"?"0":r.schema?.type==="boolean"?"true":r.in==="path"?"id":"value"},n=new Set;for(const r of e)if(r.examples&&typeof r.examples=="object")for(const o of Object.keys(r.examples))n.add(o);const a=[];if(n.size>0)for(const r of n){const o={};for(const l of e)o[l.name]=t(l,r);const s=e.find(l=>l.examples?.[r])?.examples?.[r];a.push({name:r,summary:s?.summary,values:o})}else{const r=e.find(o=>o.schema?.enum&&o.schema.enum.length>1);if(r?.schema?.enum)for(let o=0;o<r.schema.enum.length;o++){const i={};for(const l of e)i[l.name]=l===r?t(l,null,o):t(l,null);const s=String(r.schema.enum[o]);a.push({name:s,values:i})}else{const o={};for(const i of e)o[i.name]=t(i,null);a.push({name:"Default",values:o})}}return a}function Sr(e){const t=[];if(e.examples&&typeof e.examples=="object")for(const[n,a]of Object.entries(e.examples))t.push({name:n,summary:a.summary,description:a.description,value:a.value});if(t.length===0&&e.example!==void 0&&t.push({name:"Default",value:e.example}),t.length===0&&e.schema){const n=Te(e.schema);n!==void 0&&t.push({name:"Generated",value:n})}return t}function ss(e){const t=[e.summary,e.description].filter(Boolean);return[...new Set(t)].join(" — ")||e.name}function Ar(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}const Er=[[/"(?:[^"\\]|\\.)*"(?=\s*:)/g,"property"],[/"(?:[^"\\]|\\.)*"/g,"string"],[/-?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b/g,"number"],[/\b(?:true|false|null)\b/g,"literal"],[/[{}[\]:,]/g,"punctuation"]],Lr=[[/#.*/g,"comment"],[/"(?:[^"\\]|\\.)*"|'[^']*'/g,"string"],[/\$\w+|\$\{[^}]+\}/g,"sign"],[/--?\w[\w-]*/g,"sign"],[/\b(?:curl|wget|echo|export|if|then|else|fi|for|do|done|while|case|esac|function|return|local|set|unset|source|cd|ls|cat|grep|sed|awk|chmod|mkdir|rm|cp|mv|sudo|apt|brew|npm|pip|docker|http|https)\b/g,"keyword"],[/-?\b\d+(?:\.\d+)?\b/g,"number"]],cs=[[/\/\/.*/g,"comment"],[/\/\*[\s\S]*?\*\//g,"comment"],[/"(?:[^"\\]|\\.)*"|`[^`]*`/g,"string"],[/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go|goto|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/g,"keyword"],[/\b(?:bool|byte|error|float32|float64|int|int8|int16|int32|int64|rune|string|uint|uint8|uint16|uint32|uint64|uintptr|true|false|nil|iota)\b/g,"literal"],[/-?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b/g,"number"],[/[{}[\]();:.,]/g,"punctuation"]],Tt=[[/\/\/.*/g,"comment"],[/\/\*[\s\S]*?\*\//g,"comment"],[/`(?:[^`\\]|\\.)*`/g,"string"],[/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/g,"string"],[/\b(?:async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|export|extends|finally|for|from|function|if|import|in|instanceof|let|new|of|return|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/g,"keyword"],[/\b(?:true|false|null|undefined|NaN|Infinity)\b/g,"literal"],[/\b(?:console|document|window|fetch|Promise|Array|Object|String|Number|Boolean|Map|Set|JSON|Math|Date|RegExp|Error)\b/g,"sign"],[/-?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b/g,"number"],[/[{}[\]();:.,]/g,"punctuation"]],Or=[[/#.*/g,"comment"],[/"""[\s\S]*?"""|'''[\s\S]*?'''/g,"string"],[/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/g,"string"],[/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|raise|return|try|while|with|yield)\b/g,"keyword"],[/\b(?:True|False|None)\b/g,"literal"],[/@\w+/g,"sign"],[/-?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b/g,"number"],[/[{}[\]():.,;]/g,"punctuation"]],Tr=[[/\/\/.*/g,"comment"],[/\/\*[\s\S]*?\*\//g,"comment"],[/"(?:[^"\\]|\\.)*"/g,"string"],[/\b(?:as|async|await|break|const|continue|crate|dyn|else|enum|extern|fn|for|if|impl|in|let|loop|match|mod|move|mut|pub|ref|return|self|Self|static|struct|super|trait|type|unsafe|use|where|while|yield)\b/g,"keyword"],[/\b(?:true|false|None|Some|Ok|Err)\b/g,"literal"],[/\b(?:i8|i16|i32|i64|i128|isize|u8|u16|u32|u64|u128|usize|f32|f64|bool|char|str|String|Vec|Box|Option|Result|HashMap|HashSet|Rc|Arc|Mutex|Cell|RefCell)\b/g,"sign"],[/\b(?:println!|print!|format!|vec!|panic!|assert!|assert_eq!|assert_ne!|todo!|unimplemented!|unreachable!|eprintln!|eprint!|write!|writeln!)/g,"sign"],[/-?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b/g,"number"],[/[{}[\]();:.,]/g,"punctuation"]],ls={json:Er,javascript:Tt,js:Tt,typescript:Tt,ts:Tt,bash:Lr,curl:Lr,go:cs,python:Or,py:Or,rust:Tr,rs:Tr};function us(e,t){let n="",a=0;for(;a<e.length;){let r=null;for(const[o,i]of t){o.lastIndex=a;const s=o.exec(e);s&&(!r||s.index<r.start||s.index===r.start&&s[0].length>r.end-r.start)&&(r={start:s.index,end:s.index+s[0].length,cls:i})}if(!r){n+=ht(e.slice(a));break}r.start>a&&(n+=ht(e.slice(a,r.start))),n+=`<span class="hl-${r.cls}">${ht(e.slice(r.start,r.end))}</span>`,a=r.end}return n}function qr(e,t){const n=ls[t]??(rr(e)?Er:null);return n?us(e,n):ht(e)}function ds(e,t){const n=t.schema;if(t.required&&(!e||e.trim()===""))return{valid:!1,message:"Required field"};if(!e||e.trim()==="")return{valid:!0};if(!n)return{valid:!0};if(n.type==="integer"){if(!/^-?\d+$/.test(e.trim()))return{valid:!1,message:"Must be an integer"};const a=parseInt(e,10);return Ir(a,n)}if(n.type==="number"){if(isNaN(Number(e.trim())))return{valid:!1,message:"Must be a number"};const a=parseFloat(e);return Ir(a,n)}if(n.type==="boolean"&&!["true","false","1","0"].includes(e.trim().toLowerCase()))return{valid:!1,message:"Must be true or false"};if(n.enum&&n.enum.length>0&&!n.enum.some(a=>String(a)===e.trim()))return{valid:!1,message:`Allowed: ${n.enum.map(String).join(", ")}`};if(n.type==="string"||!n.type){if(n.minLength!==void 0&&e.length<n.minLength)return{valid:!1,message:`Min length: ${n.minLength}`};if(n.maxLength!==void 0&&e.length>n.maxLength)return{valid:!1,message:`Max length: ${n.maxLength}`};if(n.pattern)try{if(!new RegExp(n.pattern).test(e))return{valid:!1,message:`Must match pattern: ${n.pattern}`}}catch{}}return{valid:!0}}function Ir(e,t){return t.minimum!==void 0&&e<t.minimum?{valid:!1,message:`Minimum: ${t.minimum}`}:t.maximum!==void 0&&e>t.maximum?{valid:!1,message:`Maximum: ${t.maximum}`}:{valid:!0}}function ps(e,t,n,a){if(a&&(!e||e.trim()===""))return{valid:!1,message:"Request body is required"};if(!e||e.trim()==="")return{valid:!0};if(t.includes("json"))try{JSON.parse(e)}catch(r){return{valid:!1,message:`Invalid JSON: ${r instanceof Error?r.message:"Invalid JSON"}`}}return{valid:!0}}function fs(e,t){const n=[];if(e.querySelectorAll("[data-param-name]").forEach(r=>{const o=r.getAttribute("data-param-name"),i=t.parameters.find(l=>l.name===o);if(!i)return;const s=ds(r.value,i);s.valid||n.push({field:o,message:s.message||"Invalid",kind:"param"})}),t.requestBody){const o=Object.keys(t.requestBody.content||{})[0]||"application/json",i=t.requestBody.content?.[o]?.schema,l=e.querySelector('[data-field="body"]')?.value||"";if(!o.includes("multipart")){const u=ps(l,o,i,t.requestBody.required);u.valid||n.push({field:"body",message:u.message||"Invalid body",kind:"body"})}}return n}function ms(e){e.querySelectorAll(".validation-error").forEach(t=>{t.textContent="",t.classList.remove("visible")}),e.querySelectorAll(".invalid").forEach(t=>{t.classList.remove("invalid")})}function hs(e,t){for(const n of t){const a=e.querySelector(`[data-error-for="${n.field}"]`);if(a&&(a.textContent=n.message,a.classList.add("visible")),n.kind==="param"){const r=e.querySelector(`[data-param-name="${n.field}"]`);r&&r.classList.add("invalid")}else if(n.kind==="body"){const r=e.querySelector('[data-field="body"]');r&&r.classList.add("invalid")}}}function $r(e){return c("span",{className:"validation-error","data-error-for":e})}function jr(e){e.style.height="0",e.style.height=`${e.scrollHeight}px`}function Br(e,t,n){const a=c("div",{className:"body-editor"}),r=c("pre",{className:"body-highlight"}),o=c("code",{});r.append(o);const i=c("textarea",{className:"textarea-json",spellcheck:"false",rows:"1",autocomplete:"off",...n?.dataField?{"data-field":n.dataField}:{}});i.value=e;const s=(l,u)=>{const d=l.endsWith(`
|
|
46
|
+
`)?l+" ":l||" ";o.innerHTML=qr(d,u)};return s(e,t),i.addEventListener("input",()=>{s(i.value,t),n?.onInput?.()}),a.append(r,i),{wrap:a,textarea:i,setValue:(l,u)=>{i.value=l,s(l,u??t)},syncLayout:()=>{}}}const gs=1500;function ue(e){const t=e.ariaLabel||"Copy",n=e.copiedAriaLabel||"Copied",a=ce({variant:"icon",icon:T.copy,ariaLabel:t,className:e.className,onClick:async()=>{const r=await e.getText();await ui(r),a.innerHTML=T.check,a.setAttribute("aria-label",n),e.onCopied?.(),setTimeout(()=>{a.innerHTML=T.copy,a.setAttribute("aria-label",t)},gs)}});return a}function vs(e,t,n,a){z(t),t.classList.add("try-it");const r=c("div",{className:"body"}),o=c("div",{className:"block section"});o.append(c("h2",{textContent:"Response"}));const i=c("div",{"data-response":"true"});if(n)fn(i,{status:parseInt(n.statusCode,10)||200,statusText:n.statusText||"OK",headers:{},body:n.body,duration:0,size:0});else{const s=c("div",{className:"placeholder"});s.append(c("span",{textContent:"Execute request to see response"})),i.append(s)}o.append(i),r.append(ys(e,t,{onConfigChange:a?.onConfigChange,onSendRequest:async s=>{ms(t);const l=fs(t,e);if(l.length>0){hs(t,l);return}const u=Ae(t,e);s.setAttribute("disabled",""),s.innerHTML="",s.append(c("span",{className:"spinner spinner-sm"}),c("span",null,"Sending..."));try{const d=await Xi(u);fn(i,d)}catch(d){fn(i,{status:0,headers:{},body:d.message,duration:0,size:0})}finally{s.removeAttribute("disabled"),s.innerHTML=T.send,s.append(c("span",null,"Send Request"))}}})),r.append(o),t.append(r)}function ys(e,t,n){const a=n?.onConfigChange,r=e.parameters.filter(E=>E.in==="path"),o=e.parameters.filter(E=>E.in==="query"),i=is([...r,...o]);let s=[];if(e.requestBody){const E=Object.keys(e.requestBody.content||{})[0]||"application/json";if(!E.includes("multipart")){const j=e.requestBody.content?.[E];j&&(s=Sr(j))}}let l=null;const u="Request",d=pn({method:e.method,url:"",headers:{},body:e.requestBody?"{ ... }":void 0}),p=()=>{const E=Ae(t,e);let j;return typeof E.body=="string"?j=E.body:E.body instanceof FormData?j="{ /* multipart form-data */ }":e.requestBody&&(j="{ ... }"),{method:E.method,url:E.url,headers:E.headers||{},body:j}},m=()=>{const E=Ae(t,e);if(typeof E.body=="string")return E.body;if(E.body instanceof FormData){const j=[];return E.body.forEach((ae,Le)=>{if(ae instanceof File){j.push(`${Le}: [File ${ae.name}]`);return}j.push(`${Le}: ${String(ae)}`)}),j.join(`
|
|
47
|
+
`)}return""},f=(E,j)=>{const ae=p(),Le=pn(ae),je=Le[j]||Le[0];je&&E.setValue(je.code,je.language)},h=c("div",{className:"block section tabs-code"}),v=c("div",{className:"body"}),y=c("h2",{textContent:"Request"});h.append(y,v);const b=k.get(),g=c("div",{className:"card"}),A=c("div",{className:"card-head"}),O=c("div",{className:"tabs tabs-code"}),x=[];let L=0,C=null,w=null,$=null,I=null;{const E=vt(u,{active:!0,context:!0});x.push(E),I=c("div",{className:"panel is-request","data-tab":"first"});const j=i.length>1&&(r.length>0||o.length>0),ae=s.length>1;if(j||ae){const P=c("div",{className:"params-group"});P.append(c("h3",{textContent:"Examples"})),j&&P.append(gt({options:i.map(B=>({value:B.name,label:B.summary||B.name})),value:i[0].name,ariaLabel:"Select parameter example",className:"example-select",onChange:B=>{const W=i.find(ve=>ve.name===B);W&&(bs(t,W.values),t.dispatchEvent(new Event("input",{bubbles:!0})))}})),ae&&P.append(gt({options:s.map(B=>({value:B.name,label:ss(B)})),value:s[0].name,ariaLabel:"Select body example",className:"example-select",onChange:B=>{const W=s.find(ve=>ve.name===B);W&&l&&(l.setValue(Ar(W.value),"json"),l.syncLayout(),a?.(Ae(t,e)))}})),I.append(P)}const Le=c("div",{className:"headers-section"}),je=c("div",{className:"field-header"});je.append(c("h3",{textContent:"Headers"}));const it=c("div",{className:"headers-list"});if(e.requestBody){const B=Object.keys(e.requestBody.content||{})[0]||"application/json";it.append(at("Content-Type",B))}if(_(e.resolvedSecurity)&&b.spec){const P=on(e.resolvedSecurity,b.spec.securitySchemes),W={...sn(e.resolvedSecurity,b.spec.securitySchemes),...P};for(const[ve,Ft]of Object.entries(W))it.append(at(ve,Ft))}for(const P of e.parameters.filter(B=>B.in==="header"))it.append(at(P.name,String(P.example||"")));const uc=ce({variant:"icon",icon:T.plus,ariaLabel:"Add header",className:"field-copy-btn",onClick:()=>it.append(at("",""))});if(je.append(uc),Le.append(je,it),I.append(Le),r.length>0||o.length>0){const P=c("div",{className:"params-group"});if(P.append(c("h3",{textContent:"Parameters"})),r.length>0){const B=c("div",{className:"params-group"});o.length>0&&B.append(c("h3",{textContent:"Path"}));for(const W of r)B.append(Pr(W,i[0]?.values[W.name]));P.append(B)}if(o.length>0){const B=c("div",{className:"params-group"});r.length>0&&B.append(c("h3",{textContent:"Query"}));for(const W of o)B.append(Pr(W,i[0]?.values[W.name]));P.append(B)}I.append(P)}{const P=c("div",{className:"route-preview"}),B=c("div",{className:"field-header"});B.append(c("h3",{textContent:"URL"}));const W=ue({ariaLabel:"Copy URL",getText:()=>C?.value||Ae(t,e).url});C=Ne({type:"text",ariaLabel:"Request URL",readOnly:!0,modifiers:["filled"],className:"route-input"});const ve=c("div",{className:"route-input-row"});ve.append(C,W),P.append(B,ve),w=P}if(e.requestBody){const P=c("div",{className:"body-section"}),B=c("div",{className:"field-header"});B.append(c("h3",{textContent:"Body"}));const W=ue({ariaLabel:"Copy body",className:"field-copy-btn",getText:m});B.append(W),P.append(B);const Ft=Object.keys(e.requestBody.content||{})[0]||"application/json",dc=Ft.includes("multipart"),Gr=e.requestBody.content?.[Ft];if(dc&&Gr?.schema){const st=c("div",{className:"multipart","data-field":"multipart"}),_t=Gr.schema,ct=_t.properties||{},pc=_t.required||[];for(const[lt,Be]of Object.entries(ct)){const fc=Be.format==="binary"||Be.format==="base64"||Be.type==="string"&&Be.format==="binary",Kr=pc.includes(lt),wn=c("div",{className:`params row${Kr?" is-required":""}`}),Nn=c("span",{className:"label",textContent:lt});if(Kr&&Nn.append(Rr()),fc){const Sn=c("input",{type:"file",autocomplete:"off","data-multipart-field":lt,"data-multipart-type":"file"});wn.append(Nn,Sn)}else{const Sn=Ne({placeholder:Be.description||lt,value:Be.default!==void 0?String(Be.default):"",dataAttrs:{multipartField:lt,multipartType:"text"}});wn.append(Nn,Sn)}st.append(wn)}P.append(st)}else{const st=s[0],_t=st?Ar(st.value):"",ct=Br(_t,"json",{dataField:"body",onInput:()=>a?.(Ae(t,e))});l=ct,$=ct.syncLayout,P.append(ct.wrap)}P.append($r("body")),I.append(P)}}const R=p(),J=pn(R),Q=Br(J[0]?.code??"",J[0]?.language),ie=c("div",{className:"panel","data-tab":"lang"}),q=c("div",{className:"body-section"}),Y=c("div",{className:"field-header"});Y.append(c("h3",{textContent:"Code Example"}));const de=ue({ariaLabel:"Copy code",className:"field-copy-btn",getText:()=>Q.textarea.value});Y.append(de),q.append(Y,Q.wrap),ie.append(q);for(let E=0;E<d.length;E++){const j=d[E],ae=vt(j.label,{active:!u});x.push(ae)}A.append(O);const ee=I?[I,ie]:[ie],te=(E,j)=>{if(!j){E.style.display="none";return}E.style.display=E.classList.contains("is-request")?"flex":"block"};for(let E=0;E<x.length;E++){O.append(x[E]);const j=E;x[E].addEventListener("click",()=>{x.forEach(ae=>ae.classList.remove("is-active")),x[j].classList.add("is-active"),L=j,I&&te(I,j===0),te(ie,j!==0),j===0&&$?.(),j>0&&f(Q,j-1)})}const Ht=c("div",{className:"card-content flush"}),ot=c("div",{className:"panels"});if(I&&te(I,!0),te(ie,!1),ot.append(...ee),Ht.append(ot),n?.onSendRequest){const E=ce({variant:"primary",icon:T.send,label:"Send Request",className:"send-btn"});E.addEventListener("click",()=>n.onSendRequest(E));{w&&I?.append(w);const j=c("div",{className:"send-inline"});j.append(E),I?.append(j)}}!n?.onSendRequest&&u&&w&&I?.append(w),g.append(A,Ht),v.append(g);const Ie=()=>{C&&(C.value=Ae(t,e).url),a?.(Ae(t,e)),(L>0||!u)&&f(Q,L-1)};return t.addEventListener("input",Ie),t.addEventListener("change",Ie),queueMicrotask(()=>{Ie(),$?.()}),Ce().on("try-it:env-change",()=>{Ie()}),h}function Mr(e,t){return t!==void 0?t:e.example!==void 0&&e.example!==null?String(e.example):e.schema?.example!==void 0&&e.schema.example!==null?String(e.schema.example):e.schema?.default!==void 0&&e.schema.default!==null?String(e.schema.default):e.schema?.enum&&e.schema.enum.length>0?String(e.schema.enum[0]):e.schema?.type==="integer"||e.schema?.type==="number"?"0":e.schema?.type==="boolean"?"true":e.in==="path"?"id":"value"}function bs(e,t){e.querySelectorAll("[data-param-name]").forEach(a=>{const r=a.getAttribute("data-param-name");r&&t[r]!==void 0&&(a.value=t[r])})}function Pr(e,t){const n=c("div",{className:`params row${e.required?" is-required":""}`}),a=c("span",{className:"label",textContent:e.name});e.required&&a.append(Rr());const r=e.schema;let o;if(r?.enum&&r.enum.length>0){const s=e.required?r.enum.map(u=>({value:String(u),label:String(u)})):[{value:"",label:"— select —"},...r.enum.map(u=>({value:String(u),label:String(u)}))];o=gt({options:s,value:Mr(e,t),dataAttrs:{paramName:e.name,paramIn:e.in}})}else{const s=r?.type==="integer"||r?.type==="number"?"number":"text",l=Ne({type:s,placeholder:e.description||e.name,value:Mr(e,t),dataAttrs:{paramName:e.name,paramIn:e.in}});r?.type==="integer"&&l.setAttribute("step","1"),r?.minimum!==void 0&&l.setAttribute("min",String(r.minimum)),r?.maximum!==void 0&&l.setAttribute("max",String(r.maximum)),o=l}const i=$r(e.name);return n.append(a,o,i),n}function Rr(){return c("span",{className:"required-star",textContent:"*","aria-hidden":"true"})}function at(e,t){const n=c("div",{className:"header-row"}),a=Ne({placeholder:"Header name",value:e,dataAttrs:{headerName:"true"}}),r=Ne({placeholder:"Value",value:t,dataAttrs:{headerValue:"true"}}),o=ce({variant:"icon",icon:T.close,ariaLabel:"Remove header",onClick:()=>n.remove()});return n.append(a,r,o),n}function Ae(e,t){const n=k.get(),a=fe(n),r=e.querySelectorAll('[data-param-in="path"]'),o={};r.forEach(f=>{o[f.getAttribute("data-param-name")]=f.value});const i=e.querySelectorAll('[data-param-in="query"]'),s={};if(i.forEach(f=>{const h=f.getAttribute("data-param-name");f.value&&(s[h]=f.value)}),n.spec&&_(t.resolvedSecurity)){const f=Li(t.resolvedSecurity,n.spec.securitySchemes);for(const[h,v]of Object.entries(f))h in s||(s[h]=v)}const l=e.querySelectorAll(".header-row"),u={};if(l.forEach(f=>{const h=f.querySelector("[data-header-name]"),v=f.querySelector("[data-header-value]");h?.value&&v?.value&&(u[h.value]=v.value)}),n.spec&&_(t.resolvedSecurity)){const f=Oi(t.resolvedSecurity,n.spec.securitySchemes),h=Object.entries(f).map(([v,y])=>`${v}=${y}`);if(h.length>0){const v=u.Cookie||u.cookie||"";u.Cookie=v?`${v}; ${h.join("; ")}`:h.join("; "),delete u.cookie}}const d=e.querySelector('[data-field="multipart"]');let p;if(d){const f=new FormData;d.querySelectorAll("[data-multipart-field]").forEach(v=>{const y=v.getAttribute("data-multipart-field"),b=v.getAttribute("data-multipart-type");b==="file"&&v.files&&v.files.length>0?f.append(y,v.files[0]):b==="text"&&v.value&&f.append(y,v.value)}),p=f,delete u["Content-Type"]}else p=e.querySelector('[data-field="body"]')?.value||void 0;const m=es(a,t.path,o,s);return{method:t.method,url:m,headers:u,body:p}}function fn(e,t){z(e);const n=c("div",{className:"card"}),a=c("div",{className:"card-head response-header"}),r=vt("Body",{active:!0}),o=vt(`Headers (${Object.keys(t.headers).length})`),i=c("div",{className:"tabs tabs-code"});i.append(r,o);const s=c("div",{className:"meta",innerHTML:`<span>${pi(t.duration)}</span><span>${di(t.size)}</span>`}),l=N({text:String(t.status),kind:"status",statusCode:String(t.status),size:"m"}),u=ue({ariaLabel:"Copy response",getText:()=>t.body,onCopied:()=>ks("Response copied")});a.append(i,s,l,u),n.append(a);const d=c("div",{className:"card-content flush"}),p=c("div",{className:"response-pane"}),m=c("div",{className:"pane-inner"}),f=c("pre",{className:"code-display"}),h=c("code",{}),v=xs(t.body);h.innerHTML=qr(v,rr(v)?"json":""),f.append(h),m.append(f),p.append(m);const y=c("div",{className:"response-pane",style:"display:none"}),b=c("div",{className:"pane-inner"}),g=c("textarea",{readonly:!0,wrap:"off",spellcheck:"false",autocomplete:"off"});g.value=Object.entries(t.headers).map(([A,O])=>`${A}: ${O}`).join(`
|
|
48
|
+
`),jr(g),b.append(g),y.append(b),d.append(p,y),n.append(d),r.addEventListener("click",()=>{r.classList.add("is-active"),o.classList.remove("is-active"),p.style.display="block",y.style.display="none"}),o.addEventListener("click",()=>{o.classList.add("is-active"),r.classList.remove("is-active"),p.style.display="none",y.style.display="block",requestAnimationFrame(()=>jr(g))}),e.append(n)}function xs(e,t){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function ks(e){const t=document.querySelector(".copy-toast");t&&t.remove();const n=c("div",{className:"copy-toast",textContent:e});document.body.append(n),setTimeout(()=>n.remove(),2e3)}let Cs=0;function qt(e,t,n){if(t?.schema)return{content:Gi(t.schema).body,contentType:e,schemaType:Ge(t.schema),itemsCount:ws(t.schema)};const a=c("div",{className:"schema"}),r=c("div",{className:"body schema-body-plain"});return r.append(c("p",{textContent:n})),a.append(r),{content:a,contentType:e,schemaType:"plain",itemsCount:1}}function mn(e){const t=c("span",{className:"schema-content-meta"});return t.append(N({text:e.contentType,kind:"chip",size:"s"}),N({text:e.schemaType,kind:"chip",color:"primary",size:"s"})),t}function ws(e){let t=0;return e.properties&&(t+=Object.keys(e.properties).length),e.type==="array"&&e.items&&(t+=1),Array.isArray(e.allOf)&&(t+=e.allOf.length),Array.isArray(e.oneOf)&&(t+=e.oneOf.length),Array.isArray(e.anyOf)&&(t+=e.anyOf.length),e.additionalProperties&&typeof e.additionalProperties=="object"&&(t+=1),Math.max(t,1)}function Ee(e){const t=`collapsible-category-${Cs++}`,n=c("div",{className:"collapsible-category"}),a=c("span",{className:"collapsible-category-title",textContent:e.title}),r=c("span",{className:"collapsible-category-meta"});e.trailing&&r.append(c("span",{className:"collapsible-category-trailing"},e.trailing));const o=c("span",{className:"collapsible-category-controls"});e.counter!==void 0&&o.append(N({text:String(e.counter),kind:"chip",size:"s"}));const i=c("span",{className:"collapsible-category-chevron",innerHTML:T.chevronDown});o.append(i),r.append(o);const s=c("button",{className:"collapsible-category-toggle focus-ring",type:"button","aria-expanded":"true","aria-controls":t},a,r),l=c("div",{id:t,className:"collapsible-category-content"});l.append(e.content);const u=d=>{n.classList.toggle("is-expanded",d),s.setAttribute("aria-expanded",d?"true":"false"),l.hidden=!d};return s.addEventListener("click",()=>{const d=s.getAttribute("aria-expanded")==="true";u(!d)}),u(e.expanded!==!1),n.append(s,l),{root:n}}function Hr(e){const t=Object.entries(e);if(t.length===0)return null;const n=t.map(([o,i])=>{const s=i.schema?Ge(i.schema):"string",l=i.example!==void 0?String(i.example):i.schema?.example!==void 0?String(i.schema.example):"—",u=c("div",{className:"schema-row role-flat role-headers"}),d=c("div",{className:"schema-main-row"}),p=c("div",{className:"schema-name-wrapper"});p.append(c("span",{className:"schema-spacer"}),c("span",{textContent:o}));const m=c("div",{className:"schema-meta-wrapper"});m.append(N({text:s,kind:"chip",color:"primary",size:"m"})),i.required&&m.append(N({text:"required",kind:"required",size:"m"})),d.append(p,m),u.append(d);const f=c("div",{className:"schema-desc-col is-root"});i.description&&f.append(c("p",{textContent:i.description}));const h=c("div",{className:"schema-enum-values"});return h.append(N({text:l,kind:"chip",size:"s"})),f.append(h),f.children.length>0&&u.append(f),u}),a=c("div",{className:"params"}),r=c("div",{className:"body role-headers"});return r.append(...n),a.append(r),a}function It(e){const t=c("div",{className:"collapsible-categories"});if(e.headers){const a=Ee({title:"Headers",content:e.headers,counter:e.headersCount});t.append(a.root)}const n=Ee({title:"Body",content:e.body.content,trailing:mn(e.body),counter:e.body.itemsCount});return t.append(n.root),t}function hn(e){const{prev:t,next:n}=Ns(e);if(!t&&!n)return null;const a=c("div",{className:`route-nav${!t||!n?" is-single":""}`});return t&&a.append(Fr(t,"previous")),n&&a.append(Fr(n,"next")),a}function Fr(e,t){const n=H(e.route),a=c("a",{className:`card interactive route-card ${t==="previous"?"is-prev":"is-next"}`,href:n}),r=c("div",{className:"route-meta"});e.kind==="endpoint"?(r.append(N({text:e.operation.method.toUpperCase(),kind:"method",method:e.operation.method})),r.append(c("span",{className:"route-path",textContent:e.operation.path}))):(r.append(N({text:"WEBHOOK",kind:"webhook",size:"s"})),r.append(N({text:e.webhook.method.toUpperCase(),kind:"method",method:e.webhook.method})));const o=c("span",{className:"route-side","aria-hidden":"true"});o.innerHTML=t==="previous"?T.chevronLeft:T.chevronRight;const i=c("div",{className:"route-main"});return i.append(c("span",{className:"route-category",textContent:e.category}),c("span",{className:"route-title",textContent:e.title}),r),t==="previous"?a.append(o,i):a.append(i,o),a.addEventListener("click",s=>{s.preventDefault(),M(n)}),a}function Ns(e){if(!k.get().spec)return{prev:null,next:null};const n=Ss();if(n.length===0)return{prev:null,next:null};const a=As(n,e);return a<0?{prev:null,next:null}:{prev:a>0?n[a-1]:null,next:a<n.length-1?n[a+1]:null}}function Ss(){const e=k.get().spec;if(!e)return[];const t=[],n=new Set;for(const a of e.tags)for(const r of a.operations){const o=`${r.method.toLowerCase()} ${r.path}`;n.has(o)||(n.add(o),t.push({kind:"endpoint",route:{type:"endpoint",tag:a.name,method:r.method,path:r.path,operationId:r.operationId},operation:r,title:r.summary||r.path,category:a.name}))}for(const a of e.webhooks||[])t.push({kind:"webhook",route:{type:"webhook",webhookName:a.name},webhook:a,title:a.summary||a.name,category:"Webhooks"});return t}function As(e,t){if(t.type==="endpoint"){if(t.operationId){const n=e.findIndex(a=>a.kind==="endpoint"&&a.route.operationId===t.operationId);if(n>=0)return n}return e.findIndex(n=>n.kind==="endpoint"&&n.route.method===t.method&&n.route.path===t.path)}return t.type==="webhook"?e.findIndex(n=>n.kind==="webhook"&&n.route.webhookName===t.webhookName):-1}async function Es(e,t,n){z(e),z(t);const a=n.method.toLowerCase()!=="trace",r=t.parentElement;r&&a&&(r.setAttribute("aria-label","Try It"),r.classList.add("try-it"));const o=k.get(),i=gi(o),s=Ue(o),l=i+(n.path.startsWith("/")?"":"/")+n.path,u=[],d=N({text:n.method.toUpperCase(),kind:"method",method:n.method,size:"m"});u.push({label:s||o.spec?.info.title||"Home",href:"/",className:"breadcrumb-item",onClick:q=>{q.preventDefault(),M("/")}});const p=new Set((o.spec?.tags||[]).map(q=>q.name.toLowerCase())),m=(n.path||"/").split("/").filter(Boolean);for(const q of m){const Y=q.startsWith("{")&&q.endsWith("}"),de=!Y&&p.has(q.toLowerCase()),ee=o.spec?.tags.find(te=>te.name.toLowerCase()===q.toLowerCase());de&&ee?u.push({label:q,href:H({type:"tag",tag:ee.name}),className:"breadcrumb-item breadcrumb-segment",onClick:te=>{te.preventDefault(),M(H({type:"tag",tag:ee.name}))}}):u.push({label:q,className:Y?"breadcrumb-param":"breadcrumb-segment"})}const f=ue({ariaLabel:"Copy URL",copiedAriaLabel:"Copied",className:"breadcrumb-copy",getText:()=>`${n.method.toUpperCase()} ${l}`}),h=We(u,{leading:[d],trailing:[f]}),v=c("div",{className:"block header"});v.append(c("h1",{textContent:n.summary||`${n.method.toUpperCase()} ${n.path}`})),n.description&&v.append(c("p",{textContent:n.description}));const y=c("div",{className:"breadcrumb-wrap endpoint-breadcrumb"});y.append(h),v.append(y);const b=c("div",{className:"endpoint-meta-row"});if(n.deprecated){const q=c("span",{className:"icon-muted"});q.innerHTML=T.warning,b.append(c("span",{className:"endpoint-meta deprecated"},q,"Deprecated"))}let g=null;if(_(n.resolvedSecurity)){const q=Dr(o,n),Y=En(n.resolvedSecurity)||"Auth required",de=xt({configured:q,variant:"endpoint",title:Me(n.resolvedSecurity)});g=c("span",{className:`endpoint-meta auth${q?" is-active":" is-missing"}`,"aria-label":Me(n.resolvedSecurity),role:"button",tabindex:"0"},de,Y),g.classList.add("endpoint-auth-trigger","focus-ring"),g.addEventListener("click",()=>{const ee=k.get().spec;if(!ee||!Object.keys(ee.securitySchemes||{}).length)return;const te=e.closest(".root")??void 0;an(ee.securitySchemes,te,Bs(n,o))}),g.addEventListener("keydown",ee=>{const te=ee.key;te!=="Enter"&&te!==" "||(ee.preventDefault(),g&&g.click())}),b.append(g)}b.childElementCount>0&&v.append(b),e.append(v);const A=n.parameters.filter(q=>q.in!=="cookie"),O=U({title:"Request"}),x=Ls(n,A);if(x)O.append(x);else{const q=c("div",{className:"params empty",textContent:"No parameters or request body required"});O.append(q)}e.append(O);let L=!1;Object.keys(n.responses).length>0&&(e.append(Is(n)),L=!0);const C={type:"endpoint",method:n.method,path:n.path,operationId:n.operationId},w=hn(C),$=hn(C),I=()=>{if(w&&e.append(c("div",{className:"route-nav-wrap is-desktop"},w)),$){const q=e.closest(".page");q&&q.append(c("div",{className:"route-nav-wrap is-mobile"},$))}};L&&I(),n.callbacks&&n.callbacks.length>0&&e.append($s(n)),L||I();const R=js(n);n.method.toLowerCase()!=="trace"&&vs(n,t,R);const J=Ce(),Q=h.querySelector(".breadcrumb-item");Q&&J.on("endpoint:breadcrumb",q=>{Q.textContent=Ue(q)||q.spec?.info.title||"Home"}),g&&_(n.resolvedSecurity)&&J.on("endpoint:auth-badge",q=>{const Y=Dr(q,n);g.className=`endpoint-meta auth endpoint-auth-trigger focus-ring${Y?" is-active":" is-missing"}`;const de=g.querySelector(".lock-icon");de&&(de.className=`lock-icon${Y?" is-unlocked":""}`)});const ie=t.querySelector(".content");ie&&_(n.resolvedSecurity)&&J.on("endpoint:auth-headers",q=>{if(!q.spec)return;const Y=ie.querySelector(".headers-list");if(!Y)return;const de=["Authorization","Cookie"];for(const $e of Array.from(Y.querySelectorAll(".header-row"))){const E=$e.querySelector("[data-header-name]");E&&de.includes(E.value)&&$e.remove()}const ee=on(n.resolvedSecurity,q.spec.securitySchemes),Ht={...sn(n.resolvedSecurity,q.spec.securitySchemes),...ee},ot=Array.from(Y.querySelectorAll(".header-row")),Ie=ot.find($e=>{const E=$e.querySelector("[data-header-name]");return E&&E.value==="Content-Type"})||ot[0];for(const[$e,E]of Object.entries(Ht).reverse()){const j=at($e,E);Ie?Ie.insertAdjacentElement("beforebegin",j):Y.prepend(j)}ie.dispatchEvent(new Event("input",{bubbles:!0}))})}function Ls(e,t){const n=t.filter(u=>u.in==="path"),a=t.filter(u=>u.in==="query"),r=Os(e),o=qs(e);if(n.length===0&&a.length===0&&r.length===0&&!o)return null;const i=ne(),s=ze(),l=c("div",{className:"collapsible-categories"});if(n.length>0){const u=Ee({title:"Path",content:_r(n),counter:n.length});l.append(u.root)}if(a.length>0){const u=Ee({title:"Query",content:_r(a),counter:a.length});l.append(u.root)}if(r.length>0){const u=Ee({title:"Headers",content:Ts(r),counter:r.length});l.append(u.root)}if(o){const u=Ee({title:"Body",content:o.content,trailing:o.trailing,counter:o.counter});l.append(u.root)}return s.append(l),i.append(s),i}function _r(e){const t=e.map(r=>{const o=c("div",{className:"schema-row role-flat role-params"}),i=c("div",{className:"schema-main-row"}),s=c("div",{className:"schema-name-wrapper"});s.append(c("span",{className:"schema-spacer"}),c("span",{textContent:r.name}));const l=c("div",{className:"schema-meta-wrapper"});l.append(N({text:r.schema?Ge(r.schema):"unknown",kind:"chip",color:"primary",size:"m"})),r.required&&l.append(N({text:"required",kind:"required",size:"m"})),i.append(s,l),o.append(i);const u=c("div",{className:"schema-desc-col is-root"});r.description&&u.append(c("p",{textContent:r.description}));const d=r.schema?.enum,p=r.schema?.default!==void 0;if(d&&d.length>0||p){const m=c("div",{className:"schema-enum-values"});if(p&&m.append(N({text:`Default: ${JSON.stringify(r.schema.default)}`,kind:"chip",size:"s"})),d)for(const f of d){const h=String(f);h!==r.in&&m.append(N({text:h,kind:"chip",size:"s"}))}u.append(m)}return u.children.length>0&&o.append(u),o}),n=c("div",{className:"params"}),a=c("div",{className:"body role-params"});return a.append(...t),n.append(a),n}function Os(e){const t=[];if(e.requestBody){const n=Object.keys(e.requestBody.content||{});t.push({name:"Content-Type",value:n[0]||"application/json",description:"Media type for request body payload",required:!!e.requestBody.required})}if(_(e.resolvedSecurity)){const n=k.get().spec,a=n?on(e.resolvedSecurity,n.securitySchemes):{},o={...n?sn(e.resolvedSecurity,n.securitySchemes):{},...a};for(const[i,s]of Object.entries(o))t.push({name:i,value:s,description:"Authentication header value",required:!0})}for(const n of e.parameters.filter(a=>a.in==="header"))t.push({name:n.name,value:String(n.schema?.default??n.example??""),description:n.description,required:n.required});return t}function Ts(e){const t=e.map(r=>{const o=c("div",{className:"schema-row role-flat role-headers"}),i=c("div",{className:"schema-main-row"}),s=c("div",{className:"schema-name-wrapper"});s.append(c("span",{className:"schema-spacer"}),c("span",{textContent:r.name}));const l=c("div",{className:"schema-meta-wrapper"});r.required&&l.append(N({text:"required",kind:"required",size:"m"})),i.append(s,l),o.append(i);const u=c("div",{className:"schema-desc-col is-root"});r.description&&u.append(c("p",{textContent:r.description}));const d=c("div",{className:"schema-enum-values"});return d.append(N({text:r.value||"—",kind:"chip",size:"s"})),u.append(d),u.children.length>0&&o.append(u),o}),n=c("div",{className:"params"}),a=c("div",{className:"body role-headers"});return a.append(...t),n.append(a),n}function qs(e){const t=c("div",{className:"request-body-wrap"}),n=Object.entries(e.requestBody?.content||{});if(e.requestBody?.description&&t.append(c("p",{textContent:e.requestBody.description})),n.length===0)return t.childElementCount>0?{content:t}:null;const a=n.map(([o,i])=>qt(o,i,"No schema"));if(a.length===1){const o=a[0];return t.append(o.content),{content:t,trailing:mn(o),counter:o.itemsCount}}const r=c("div",{className:"schema-media-list"});for(const o of a){const i=c("div",{className:"schema-media-header"});i.append(N({text:o.contentType,kind:"chip",size:"s"}),N({text:o.schemaType,kind:"chip",color:"primary",size:"s"}));const s=c("div",{className:"schema-media-item"});s.append(i,o.content),r.append(s)}return t.append(r),{content:t,counter:a.length}}function Is(e){const t=U({titleEl:tt("Responses")}),n=Object.entries(e.responses);if(n.length===0)return t;const a=ne(),r=c("div",{className:"card-row responses-header-row"}),o=c("div",{className:"tabs-code codes"});let i=n[0][0];const s=new Map;for(const[p,m]of n){const f=cr(p,p===i),h=m.content&&Object.keys(m.content)[0]||"application/json",v=m.content?.[h],y=qt(h,v,m.description||"No schema"),b=m.headers?Hr(m.headers):null;s.set(p,{body:y,headers:b,headersCount:m.headers?Object.keys(m.headers).length:0}),o.append(f),f.addEventListener("click",()=>{o.querySelectorAll('[data-badge-group="response-code"]').forEach(A=>yt(A,!1)),yt(f,!0),i=p;const g=s.get(p);u.innerHTML="",u.append(It(g))})}r.append(o),a.append(bt(r));const l=ze(),u=c("div"),d=s.get(i);return d&&u.append(It(d)),l.append(u),a.append(l),t.append(a),t}function $s(e){const t=U({titleEl:tt("Callbacks",N({text:String(e.callbacks.length),kind:"chip",size:"m"}))});for(const n of e.callbacks){const a=c("div",{className:"callback-block"});a.append(c("div",{className:"callback-name",textContent:n.name}));for(const r of n.operations){const o=c("div",{className:"callback-operation"}),i=c("div",{className:"callback-op-header"});if(i.append(N({text:r.method.toUpperCase(),kind:"method",method:r.method}),c("span",{className:"callback-op-path",textContent:r.path})),o.append(i),r.summary&&o.append(c("div",{className:"callback-op-summary",textContent:r.summary})),r.description&&o.append(c("p",{textContent:r.description})),r.requestBody){const s=r.requestBody.content||{};for(const[l,u]of Object.entries(s))u.schema&&o.append(ln(u.schema,`${l} — Request Body`))}if(Object.keys(r.responses).length>0)for(const[s,l]of Object.entries(r.responses)){const u=c("div",{className:"callback-response-row"});if(u.append(N({text:s,kind:"status",statusCode:s})),l.description&&u.append(c("p",{textContent:l.description})),l.content)for(const[d,p]of Object.entries(l.content))p.schema&&u.append(ln(p.schema,`${d}`));o.append(u)}a.append(o)}t.append(a)}return t}function js(e){const t=Object.keys(e.responses).sort((n,a)=>{const r=n.startsWith("2")?0:n.startsWith("4")?1:2,o=a.startsWith("2")?0:a.startsWith("4")?1:2;return r-o||n.localeCompare(a)});for(const n of t){const a=e.responses[n];if(!a?.content)continue;const r=Object.keys(a.content)[0]||"application/json",o=a.content[r],s=(o?Sr(o):[])[0];if(s&&s.value!==void 0){const l=typeof s.value=="string"?s.value:JSON.stringify(s.value,null,2),u=a.description||(n.startsWith("2")?"OK":n.startsWith("4")?"Not Found":"Error");return{statusCode:n,statusText:u,body:l}}if(o?.example!==void 0){const l=typeof o.example=="string"?o.example:JSON.stringify(o.example,null,2);return{statusCode:n,statusText:a.description||"OK",body:l}}}return null}function Dr(e,t){const n=t.resolvedSecurity?.requirements||[];if(!_(t.resolvedSecurity))return!1;const a=(e.auth.token||"").trim(),r=e.auth.schemes||{},o=e.auth.activeScheme,i=s=>String(r[s]||"").trim()?!0:a?!o||o===s:!1;return n.some(s=>{const l=s.map(u=>u.schemeName);return l.length===0?!0:l.every(u=>i(u))})}function Bs(e,t){return(e.resolvedSecurity?.requirements||[])[0]?.[0]?.schemeName||t.auth.activeScheme||void 0}function Ms(e,t,n){z(e);const a=k.get().spec;if(!a)return;const r=Z(n),o=a.tags.find(g=>g.name===n)||a.tags.find(g=>Z(g.name)===r);if(!o||o.operations.length===0){const g=c("div",{className:"block header"});g.append(c("h1",{textContent:"Tag not found"})),e.append(g),e.append(U({title:"Details"},c("p",{textContent:`No operations for tag "${n}"`})));return}const i=c("div",{className:"block header"});i.append(c("h1",{textContent:o.name}));const s=k.get(),l=Ue(s),u=ue({ariaLabel:"Copy category",copiedAriaLabel:"Copied",className:"breadcrumb-copy",getText:()=>o.name}),d=We([{label:l||a.info.title||"Home",href:"/",className:"breadcrumb-item",onClick:g=>{g.preventDefault(),M("/")}},{label:o.name,className:"breadcrumb-current"}],{className:"breadcrumb-tag-page",leading:[N({text:"Tag",kind:"chip",size:"m"})],trailing:[u]}),p=c("div",{className:"breadcrumb-wrap endpoint-breadcrumb"});p.append(d),i.append(p),o.description&&i.append(c("p",{textContent:o.description})),e.append(i);const m=Ps(o),f=o.operations.filter(g=>_(g.resolvedSecurity)).length,h=o.operations.filter(g=>g.deprecated).length;e.append(U({className:"summary"},Et([{label:"Endpoints",value:o.operations.length},{label:"Auth Required",value:f},{label:"Deprecated",value:h}],m)));const v=U({title:"Endpoints"}),y=k.get().route;for(const g of o.operations){const A={type:"endpoint",tag:o.name,method:g.method,path:g.path,operationId:g.operationId},O=y.type==="endpoint"&&(y.operationId&&y.operationId===g.operationId||y.method===g.method&&y.path===g.path),x=ne({interactive:!0,active:O,className:`card-group${g.deprecated?" deprecated":""}`,onClick:()=>M(H(A))}),L=_(g.resolvedSecurity)?xt({configured:wt(g.resolvedSecurity,a.securitySchemes||{}),variant:"tag",title:Me(g.resolvedSecurity)}):null,C=c("div",{className:"card-badges"});C.append(N({text:g.method.toUpperCase(),kind:"method",method:g.method,size:"m"}));const w=c("div",{className:"card-group-top"});L&&w.append(L),w.append(c("h3",{className:"card-group-title"},c("code",{textContent:g.path})),C);const $=g.summary||g.operationId?c("p",{className:"card-group-description",textContent:g.summary||g.operationId}):null;x.append(w),$&&x.append($),v.append(x)}e.append(v);const b=d.querySelector(".breadcrumb-item");b&&Ce().on("tag:breadcrumb",g=>{b.textContent=Ue(g)||g.spec?.info.title||"Home"})}function Ps(e){const t={};for(const n of e.operations)t[n.method]=(t[n.method]||0)+1;return t}async function Rs(e,t){z(e);const n=N({text:"WEBHOOK",kind:"webhook",size:"m"}),a=N({text:t.method.toUpperCase(),kind:"method",method:t.method,size:"m"}),r=k.get(),o=Ue(r),i=ue({ariaLabel:"Copy webhook name",copiedAriaLabel:"Copied",className:"breadcrumb-copy",getText:()=>`${t.method.toUpperCase()} ${t.name}`}),s=We([{label:o||r.spec?.info.title||"Home",href:"/",className:"breadcrumb-item",onClick:h=>{h.preventDefault(),M("/")}},{label:t.name,className:"breadcrumb-current"}],{leading:[n,a],trailing:[i]}),l=c("div",{className:"block header"});t.summary?l.append(c("h1",{textContent:t.summary})):l.append(c("h1",{textContent:t.name}));const u=c("div",{className:"breadcrumb-wrap endpoint-breadcrumb"});u.append(s),l.append(u),t.description&&l.append(c("p",{textContent:t.description})),e.append(l);const d=t.parameters.filter(h=>h.in!=="cookie");if(d.length>0){const h=U({title:"Parameters"},Hs(d));e.append(h)}if(t.requestBody){const h=U({titleEl:tt("Request")}),v=Object.entries(t.requestBody.content||{});if(v.length>0){const y=ne(),b=ze(),g=c("div",{className:"collapsible-categories"}),A=c("div",{className:"request-body-wrap"});t.requestBody.description&&A.append(c("p",{textContent:t.requestBody.description}));const O=v.map(([x,L])=>qt(x,L,"No schema"));if(O.length===1){const x=O[0];A.append(x.content);const L=Ee({title:"Body",content:A,trailing:mn(x),counter:x.itemsCount});g.append(L.root)}else{const x=c("div",{className:"schema-media-list"});for(const C of O){const w=c("div",{className:"schema-media-header"});w.append(N({text:C.contentType,kind:"chip",size:"s"}),N({text:C.schemaType,kind:"chip",color:"primary",size:"s"}));const $=c("div",{className:"schema-media-item"});$.append(w,C.content),x.append($)}A.append(x);const L=Ee({title:"Body",content:A,counter:O.length});g.append(L.root)}b.append(g),y.append(b),h.append(y)}e.append(h)}const p=Object.entries(t.responses);if(p.length>0){const h=U({titleEl:tt("Expected Responses")}),v=ne(),y=c("div",{className:"card-row responses-header-row"}),b=c("div",{className:"tabs-code codes"});let g=p[0][0];const A=new Map;for(const[C,w]of p){const $=cr(C,C===g),I=w.content&&Object.keys(w.content)[0]||"application/json",R=w.content?.[I],J=qt(I,R,w.description||"No schema"),Q=w.headers?Hr(w.headers):null;A.set(C,{body:J,headers:Q,headersCount:w.headers?Object.keys(w.headers).length:0}),b.append($),$.addEventListener("click",()=>{b.querySelectorAll('[data-badge-group="response-code"]').forEach(q=>yt(q,!1)),yt($,!0),g=C;const ie=A.get(C);x.innerHTML="",x.append(It(ie))})}y.append(b),v.append(bt(y));const O=ze(),x=c("div"),L=A.get(g);L&&x.append(It(L)),O.append(x),v.append(O),h.append(v),e.append(h)}const m=hn({type:"webhook",webhookName:t.name});m&&e.append(c("div",{className:"block section"},m));const f=s.querySelector(".breadcrumb-item");f&&Ce().on("webhook:breadcrumb",h=>{f.textContent=Ue(h)||h.spec?.info.title||"Home"})}function Hs(e){const t=e.filter(r=>r.in==="path").length,n=e.filter(r=>r.in==="query").length,a=t>0&&n>0?"Parameters":t>0?"Path":"Query";return Ki(e,{headerTitle:a,withEnumAndDefault:!1})}function Fs(){const e=c("div",{className:"page"}),t=c("div",{className:"main",role:"main"}),n=c("div",{className:"content"});t.append(n);const a=c("div",{className:"aside","aria-label":"Panel"}),r=c("div",{className:"content"});return a.append(r),a.hidden=!0,e.append(t,a),{page:e,main:n,aside:r}}function me(e,t){const n=e.querySelector(".aside");n&&(n.hidden=!t)}function $t(e){const{title:t,message:n,icon:a,variant:r="empty"}=e;if(r==="loading")return c("div",{className:"block header"},c("h2",{textContent:t}),c("div",{className:"loading"},c("div",{className:"spinner"}),c("span",null,n||t)));const o=c("div",{className:"block header"});return a&&o.append(c("span",{innerHTML:a,className:"icon-muted"})),o.append(c("h2",{textContent:t})),n&&o.append(c("p",{className:"error-message",textContent:n})),o}let he=null,re=null,gn=null,vn=null,yn=null,jt=null,Bt=!1,Mt="",Ke=null;const _s=991;function Ds(e,t){he=c("div",{className:"root"});const n={primaryColor:t.primaryColor};nr(he,k.get().theme,n);const a=c("button",{type:"button",className:"sidebar-expand-trigger","aria-label":"Open sidebar"});a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75"><line x1="4" x2="20" y1="12" y2="12"/><line x1="4" x2="20" y1="6" y2="6"/><line x1="4" x2="20" y1="18" y2="18"/></svg>',a.addEventListener("click",()=>{k.set({sidebarOpen:!0}),re?.classList.remove("collapsed")}),re=c("aside",{className:"sidebar","aria-label":"Navigation"});const{page:r,main:o,aside:i}=Fs();gn=r,vn=o,yn=i,he.append(a,re,r),e.append(he),Ws(),k.subscribe(s=>{he&&(nr(he,s.theme,n),re?.classList.toggle("collapsed",!s.sidebarOpen),a.classList.toggle("visible",!s.sidebarOpen),Ur(s,t))}),re?.classList.toggle("collapsed",!k.get().sidebarOpen),a.classList.toggle("visible",!k.get().sidebarOpen),Ur(k.get(),t)}function Us(){Ke?.(),Ke=null,ar(),he&&(he.remove(),he=null,re=null,gn=null,vn=null,yn=null,jt=null,Bt=!1)}async function Ur(e,t){const n=!!e.spec;re&&n?(Bt?Ii(re,e.route):ji(re,t),Bt=!0):Bt=!1;const a=vn,r=yn,o=gn;if(!a||!r||!o)return;if(e.loading){me(o,!1),z(r),et(a,$t({title:"Loading...",message:"Loading API specification...",variant:"loading"}));const m=a.parentElement;m&&(m.scrollTop=0);return}if(e.error){me(o,!1),z(r),et(a,$t({title:"Failed to load API specification",message:e.error,icon:T.warning,variant:"error"}));const m=a.parentElement;m&&(m.scrollTop=0);return}if(!e.spec)return;const i=e.route,s=`${e.activeEnvironment}|${e.auth.token}`,l=!!(jt&&Vs(jt,i)),u=l&&Mt!==s,d=a.parentElement,p=d?d.scrollTop:0;if(!(l&&Mt===s)){if(u){Mt=s,mi(e),re&&e.spec&&($i(re),_i(re));return}switch(jt={...i},Mt=s,ar(),o.querySelectorAll(":scope > .route-nav-wrap").forEach(m=>m.remove()),z(a),z(r),i.type){case"overview":me(o,!1),xr(a);break;case"tag":{me(o,!1),Ms(a,r,i.tag||"");break}case"endpoint":{const m=zs(e,i);if(m){const f=m.method.toLowerCase()!=="trace";me(o,f),await Es(a,r,m)}else{me(o,!1);const f=i.operationId?i.operationId:`${i.method?.toUpperCase()||""} ${i.path||""}`.trim();et(a,$t({title:"Endpoint not found",message:f||"Unknown endpoint",variant:"empty"}))}break}case"schema":{if(me(o,!1),i.schemaName){const m=e.spec.schemas[i.schemaName];if(m){const f=fe(e),h=we(f),v=ue({ariaLabel:"Copy schema name",copiedAriaLabel:"Copied",className:"breadcrumb-copy",getText:()=>i.schemaName||""}),y=We([{label:h||e.spec.info.title||"Home",href:"/",className:"breadcrumb-item",onClick:x=>{x.preventDefault(),M("/")}},{label:i.schemaName,className:"breadcrumb-current"}],{leading:[N({text:"Schema",kind:"chip",size:"m"})],trailing:[v]}),b=c("div",{className:"block header"});b.append(c("h1",{textContent:i.schemaName}));const g=c("div",{className:"breadcrumb-wrap endpoint-breadcrumb"});g.append(y),b.append(g),m.description&&b.append(c("p",{textContent:String(m.description)}));const A=c("div",{className:"block section"});A.append(ln(m,"Properties")),et(a,b,A);const O=y.querySelector(".breadcrumb-item");O&&Ce().on("schema:breadcrumb",x=>{O.textContent=we(fe(x))||x.spec?.info.title||"Home"})}}else Gs(a,e);break}case"webhook":{if(me(o,!1),i.webhookName){const m=e.spec.webhooks?.find(f=>f.name===i.webhookName);m?Rs(a,m):et(a,$t({title:"Webhook not found",message:i.webhookName,variant:"empty"}))}else Ys(a,e);break}default:me(o,!1),xr(a)}d&&(d.scrollTop=u?p:0)}}function zs(e,t){if(!e.spec||t.type!=="endpoint")return null;if(t.operationId){const o=e.spec.operations.find(i=>i.operationId===t.operationId);if(o)return o}const n=(t.method||"").toLowerCase();if(!n)return null;const a=t.path||"",r=e.spec.operations.filter(o=>o.method.toLowerCase()===n&&o.path===a);if(r.length===0)return null;if(r.length===1)return r[0];if(t.tag){const o=Z(t.tag),i=r.find(s=>s.tags.some(l=>Z(l)===o));if(i)return i}return r[0]}function Ws(){if(Ke?.(),Ke=null,typeof window>"u"||typeof window.matchMedia!="function")return;const e=window.matchMedia(`(max-width: ${_s}px)`),t=r=>{const o=!r;k.get().sidebarOpen!==o&&k.set({sidebarOpen:o})};t(e.matches);const n=r=>{t(r.matches)};if(typeof e.addEventListener=="function"){e.addEventListener("change",n),Ke=()=>e.removeEventListener("change",n);return}const a=n;e.addListener(a),Ke=()=>e.removeListener(a)}function Vs(e,t){return e.type===t.type&&e.operationId===t.operationId&&e.method===t.method&&e.path===t.path&&e.schemaName===t.schemaName&&e.tag===t.tag&&e.webhookName===t.webhookName}function Ys(e,t){const n=t.spec;if(!n)return;const a=n.webhooks||[],r=fe(t),o=we(r),i=c("div",{className:"block header"});i.append(c("h1",{textContent:"Webhooks"}));const s=We([{label:o||n.info.title||"Home",href:"/",className:"breadcrumb-item",onClick:m=>{m.preventDefault(),M("/")}},{label:"Webhooks",className:"breadcrumb-current"}],{leading:[N({text:"Tag",kind:"chip",size:"m"})],trailing:[ue({ariaLabel:"Copy",copiedAriaLabel:"Copied",className:"breadcrumb-copy",getText:()=>"Webhooks"})]}),l=c("div",{className:"breadcrumb-wrap endpoint-breadcrumb"});l.append(s),i.append(l),e.append(i);const u=s.querySelector(".breadcrumb-item");u&&Ce().on("webhookList:breadcrumb",m=>{u.textContent=we(fe(m))||m.spec?.info.title||"Home"});const d={};for(const m of a)d[m.method]=(d[m.method]||0)+1;e.append(U({className:"summary"},Et([{label:"Webhooks",value:a.length}],d)));const p=U({title:"Webhooks"});for(const m of a){const f={type:"webhook",webhookName:m.name},h=t.route.type==="webhook"&&t.route.webhookName===m.name,v=ne({interactive:!0,active:h,className:"card-group",onClick:()=>M(H(f))}),y=c("div",{className:"card-badges"});y.append(N({text:"WH",kind:"webhook",size:"m"}),N({text:m.method.toUpperCase(),kind:"method",method:m.method,size:"m"}));const b=c("div",{className:"card-group-top"});b.append(c("h3",{className:"card-group-title",textContent:m.name}),y);const g=c("p",{className:"card-group-description",textContent:m.summary||m.description||`${m.method.toUpperCase()} webhook`});v.append(b,g),p.append(v)}e.append(p)}function Gs(e,t){const n=t.spec;if(!n)return;const a=Object.keys(n.schemas),r=fe(t),o=we(r),i=c("div",{className:"block header"});i.append(c("h1",{textContent:"Schemas"}));const s=We([{label:o||n.info.title||"Home",href:"/",className:"breadcrumb-item",onClick:p=>{p.preventDefault(),M("/")}},{label:"Schemas",className:"breadcrumb-current"}],{leading:[N({text:"Tag",kind:"chip",size:"m"})],trailing:[ue({ariaLabel:"Copy",copiedAriaLabel:"Copied",className:"breadcrumb-copy",getText:()=>"Schemas"})]}),l=c("div",{className:"breadcrumb-wrap endpoint-breadcrumb"});l.append(s),i.append(l),e.append(i);const u=s.querySelector(".breadcrumb-item");u&&Ce().on("schemaList:breadcrumb",p=>{u.textContent=we(fe(p))||p.spec?.info.title||"Home"}),e.append(U({className:"summary"},Et([{label:"Schemas",value:a.length}],{})));const d=U({title:"Schemas"});for(const p of a){const m=n.schemas[p],f={type:"schema",schemaName:p},h=t.route.type==="schema"&&t.route.schemaName===p,v=ne({interactive:!0,active:h,className:"card-group",onClick:()=>M(H(f))}),y=c("div",{className:"card-badges"}),b=m.type||(m.allOf?"allOf":m.oneOf?"oneOf":m.anyOf?"anyOf":"object");y.append(N({text:b,kind:"chip",size:"m"})),m.properties&&y.append(N({text:`${Object.keys(m.properties).length} props`,kind:"chip",size:"m"}));const g=c("div",{className:"card-group-top"});g.append(c("h3",{className:"card-group-title",textContent:p}),y);const A=m.description?c("p",{className:"card-group-description",textContent:String(m.description)}):c("p",{className:"card-group-description",textContent:`${b} schema`});v.append(g,A),d.append(v)}e.append(d)}const zr="ap_portal_prefs";function Ks(){try{const e=localStorage.getItem(zr);if(!e)return null;const t=JSON.parse(e);return!t||typeof t!="object"?null:{activeEnvironment:typeof t.activeEnvironment=="string"?t.activeEnvironment:"",environments:Array.isArray(t.environments)?t.environments:[],auth:t.auth&&typeof t.auth=="object"?{schemes:t.auth.schemes&&typeof t.auth.schemes=="object"?t.auth.schemes:{},activeScheme:typeof t.auth.activeScheme=="string"?t.auth.activeScheme:"",token:typeof t.auth.token=="string"?t.auth.token:"",locked:!!t.auth.locked,source:t.auth.source==="manual"||t.auth.source==="auto-body"||t.auth.source==="auto-header"?t.auth.source:"manual"}:{schemes:{},activeScheme:"",token:"",locked:!1,source:"manual"}}}catch{return null}}function Js(e){try{localStorage.setItem(zr,JSON.stringify(e))}catch{}}function Wr(e){if(e.type==="http"){const t=(e.scheme||"").toLowerCase();return t==="bearer"?0:t==="basic"?3:4}return e.type==="oauth2"||e.type==="openIdConnect"?1:e.type==="apiKey"?2:5}function Zs(e){const t=Object.keys(e);if(t.length===0)return"";let n=t[0],a=Wr(e[n]);for(let r=1;r<t.length;r++){const o=t[r],i=Wr(e[o]);i<a&&(a=i,n=o)}return n}function Xs(e,t){if(e.activeScheme!==t.activeScheme||e.token!==t.token||e.locked!==t.locked||e.source!==t.source)return!1;const n=Object.entries(e.schemes),a=Object.entries(t.schemes);if(n.length!==a.length)return!1;for(const[r,o]of n)if(t.schemes[r]!==o)return!1;return!0}function Qs(e,t){const n=Object.keys(t);if(n.length===0)return{...e,schemes:{...e.schemes}};const a={};for(const i of n){const s=e.schemes[i];typeof s=="string"&&s.length>0&&(a[i]=s)}let r=e.activeScheme;(!r||!t[r])&&(r=n.find(i=>!!a[i])||""),!r&&e.token&&(r=Zs(t)),r&&e.token&&!a[r]&&(a[r]=e.token);let o=e.token;return r&&a[r]&&o!==a[r]&&(o=a[r]),!o&&r&&a[r]&&(o=a[r]),{...e,schemes:a,activeScheme:r,token:o}}function ec(e,t){let n;return((...a)=>{clearTimeout(n),n=setTimeout(()=>e(...a),t)})}let Pt=!1,bn=null,xn=null;function tc(e){const t=e.mount;if(t){const o=typeof t=="string"?document.querySelector(t):t;if(!o)throw new Error(`[PureDocs] Mount target not found: ${String(t)}`);return o}const n=e.mountId||"puredocs",a=document.getElementById(n);if(a)return a;const r=document.createElement("div");return r.id=n,document.body.append(r),r}function nc(e){if(Array.from(document.querySelectorAll('link[rel="stylesheet"]')).some(r=>r.getAttribute("href")===e))return;const a=document.createElement("link");a.rel="stylesheet",a.href=e,document.head.append(a)}function rc(e){document.documentElement.style.minHeight="100%",document.body.style.minHeight="100vh",document.body.style.margin="0",e.style.minHeight="100vh",e.style.display="block"}function ac(e){const t=(e||"/").replace(/\/+/g,"/"),n=t.indexOf("/~/");if(n>=0)return`${t.slice(0,n)||""}/`;if(t.endsWith("/~"))return`${t.slice(0,-2)||""}/`;if(t.endsWith("/"))return t;const a=t.split("/").filter(Boolean).pop()||"";if(a&&!a.includes("."))return`${t}/`;const r=t.lastIndexOf("/");return r<0?"/":t.slice(0,r+1)}function oc(e){if(!e||/^(?:[a-zA-Z][a-zA-Z\d+.-]*:)?\/\//.test(e)||e.startsWith("/"))return e;const n=new URL(window.location.href);return n.pathname=ac(window.location.pathname||"/"),n.search="",n.hash="",new URL(e,n.href).toString()}async function kn(e){let t=null;Pt&&(t=k.get().auth,Cn());const n=typeof e.mount=="string"?document.querySelector(e.mount):e.mount;if(!n)throw new Error(`[PureDocs] Mount target not found: ${String(e.mount)}`);k.reset();const a=[{name:"default",baseUrl:""}];k.set({loading:!0,theme:li(e.theme),environments:[...a],initialEnvironments:[...a],activeEnvironment:"default"});const r=Ks();r?k.set({activeEnvironment:r.activeEnvironment||"default",auth:r.auth}):t&&k.setAuth(t);const o=ec(()=>{const i=k.get();Js({activeEnvironment:i.activeEnvironment,environments:i.environments,auth:i.auth})},300);k.subscribe(()=>o()),Zr(""),xn=qi(),Ds(n,e),Pt=!0;try{let i;const s=e.specUrl;if(e.spec)i=e.spec;else if(s)i=await oi(oc(s));else throw new Error("Either spec or specUrl must be provided");const l=Go(i);if(l.servers.length>0){const p=l.servers.map((h,v)=>({name:h.description||(v===0?"default":`Server ${v+1}`),baseUrl:h.url}));k.set({environments:p,initialEnvironments:p.map(h=>({...h}))});const m=k.get();p.some(h=>h.name===m.activeEnvironment)||k.set({activeEnvironment:p[0]?.name||"default"})}const u=k.get().auth,d=Qs(u,l.securitySchemes);Xs(u,d)||k.setAuth(d),ii(l),k.set({spec:l,loading:!1,error:null})}catch(i){k.set({loading:!1,error:i.message||"Failed to load specification"})}return bn=sc(),bn}async function ic(e){if(typeof document>"u")throw new Error("[PureDocs] bootstrap() requires a browser environment");const t=tc(e);e.cssHref&&nc(e.cssHref),e.fullPage!==!1&&rc(t);const{mount:n,mountId:a,cssHref:r,fullPage:o,...i}=e;return kn({...i,mount:t})}function Cn(){Pt&&(xn?.(),xn=null,Xr(),Us(),k.reset(),Pt=!1,bn=null)}function sc(){return{getState:()=>k.get(),subscribe:e=>k.subscribe(e),setToken:e=>{const t=k.get().auth.activeScheme;t?k.setSchemeValue(t,e):k.setAuth({token:e,source:"manual"})},setEnvironment:e=>k.setActiveEnvironment(e),navigate:e=>M(e)}}const Vr=["spec-url","spec-json","theme","primary-color","title"],ge=class ge extends HTMLElement{constructor(){super(...arguments),this.api=null,this.reloadTimer=null}static get observedAttributes(){return[...Vr]}async connectedCallback(){if(ge.activeElement&&ge.activeElement!==this){this.renderSingletonError();return}ge.activeElement=this,await this.mountFromAttributes()}disconnectedCallback(){ge.activeElement===this&&(this.api=null,Cn(),ge.activeElement=null)}attributeChangedCallback(t,n,a){this.isConnected&&n!==a&&Vr.includes(t)&&(this.reloadTimer&&clearTimeout(this.reloadTimer),this.reloadTimer=setTimeout(()=>{this.reload()},80))}async reload(){ge.activeElement===this&&await this.mountFromAttributes()}getState(){return this.api?.getState()||null}subscribe(t){return this.api?.subscribe(t)||(()=>{})}navigate(t){this.api?.navigate(t)}setToken(t){this.api?.setToken(t)}setEnvironment(t){this.api?.setEnvironment(t)}async mountFromAttributes(){try{this.innerHTML="";const t=this.parseConfig();this.removeAttribute("title"),this.api=await kn({...t,mount:this})}catch(t){const n=t instanceof Error?t.message:String(t);this.innerHTML=`<div style="padding:12px;border:1px solid #ef4444;border-radius:8px;color:#ef4444;background:#fff1f2;font-family:system-ui,sans-serif">[PureDocs] ${n}</div>`}}parseConfig(){const t=this.getAttribute("spec-json");return{specUrl:this.getAttribute("spec-url")||void 0,spec:t?cc(t,"spec-json"):void 0,theme:lc(this.getAttribute("theme")),primaryColor:this.getAttribute("primary-color")||void 0,title:this.getAttribute("title")||void 0}}renderSingletonError(){this.innerHTML='<div style="padding:12px;border:1px solid #f59e0b;border-radius:8px;color:#92400e;background:#fffbeb;font-family:system-ui,sans-serif">Only one <pure-docs> instance can be mounted at a time.</div>'}};ge.activeElement=null;let Rt=ge;function cc(e,t){try{return JSON.parse(e)}catch{throw new Error(`Invalid JSON in ${t}`)}}function lc(e){if(e&&(e==="light"||e==="dark"||e==="auto"))return e}customElements.get("pure-docs")||customElements.define("pure-docs",Rt);const Yr={mount:kn,bootstrap:ic,unmount:Cn,version:"1.0.0"};ye.PureDocs=Yr,ye.PureDocsElement=Rt,ye.default=Yr,Object.defineProperties(ye,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
49
|
+
//# sourceMappingURL=puredocs.umd.js.map
|