@specbook/ui 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-viewer/assets/Host-Cq-4gDuM.js +41 -0
- package/dist-viewer/assets/index-BBlFcQUE.js +1 -0
- package/dist-viewer/assets/main-CSkB-O_8.js +14 -0
- package/dist-viewer/assets/{mount-CGL2tOpN.js → mount-DfwluJy4.js} +2 -2
- package/dist-viewer/assets/{panel-C8Ve3LeS.js → panel-9eYU7Gz6.js} +1 -1
- package/dist-viewer/assets/panel-hNOojwiM.css +1 -0
- package/dist-viewer/assets/registry-DIHX11uY.js +2 -0
- package/dist-viewer/assets/worker-BmvGpsJS.js +181 -0
- package/dist-viewer/index.html +4 -4
- package/dist-viewer/specbook.js +1 -1
- package/package.json +6 -5
- package/src/app.tsx +65 -12
- package/src/branding.ts +12 -4
- package/src/components/Catalog.tsx +128 -51
- package/src/components/EnvBadge.tsx +21 -3
- package/src/components/EnvironmentMenu.tsx +237 -127
- package/src/components/Fields.tsx +18 -1
- package/src/components/NewEnvironmentDialog.tsx +118 -0
- package/src/components/Palette.tsx +7 -2
- package/src/custom-environments.ts +63 -0
- package/src/embed/panel.tsx +286 -44
- package/src/embed/styles.ts +2 -0
- package/src/embed/target.ts +82 -0
- package/src/embed/theme.ts +75 -0
- package/src/embed.ts +44 -15
- package/src/engine.ts +274 -32
- package/src/environment-list.ts +16 -0
- package/src/main.tsx +7 -2
- package/src/nav.ts +12 -1
- package/src/oauth.ts +9 -8
- package/src/panel/Body.tsx +27 -4
- package/src/panel/Checks.tsx +79 -0
- package/src/panel/CodeSample.tsx +16 -9
- package/src/panel/Combo.tsx +52 -13
- package/src/panel/ControlsGrid.tsx +54 -9
- package/src/panel/ErrorBoundary.tsx +36 -0
- package/src/panel/Host.tsx +14 -2
- package/src/panel/OAuthSignIn.tsx +6 -2
- package/src/panel/Panel.tsx +43 -10
- package/src/panel/ParamGrid.tsx +15 -8
- package/src/panel/RequestPanel.tsx +91 -36
- package/src/panel/RequestView.tsx +2 -1
- package/src/panel/ResponseView.tsx +25 -14
- package/src/panel/SecretsBar.tsx +10 -9
- package/src/panel/SequenceDocs.tsx +7 -6
- package/src/panel/SequencePanel.tsx +124 -32
- package/src/panel/announce.ts +17 -0
- package/src/panel/icons.tsx +9 -0
- package/src/panel/short.ts +24 -0
- package/src/routing.ts +0 -9
- package/src/runtime.ts +19 -1
- package/src/secrets.ts +4 -2
- package/src/storage.ts +58 -0
- package/src/store.ts +8 -0
- package/src/styles/app.css +69 -6
- package/src/styles/embed.css +116 -0
- package/src/styles/panel.css +233 -0
- package/src/viewer/manifests.ts +2 -0
- package/src/viewer/protocol.ts +6 -0
- package/src/viewer/registry.ts +46 -10
- package/src/viewer/worker.ts +9 -1
- package/src/virtual.d.ts +8 -0
- package/dist-viewer/assets/Host-CSrM9wY1.js +0 -37
- package/dist-viewer/assets/index-ez9c20v3.js +0 -1
- package/dist-viewer/assets/main-38QGGpNT.js +0 -14
- package/dist-viewer/assets/panel-C-vBZrep.css +0 -1
- package/dist-viewer/assets/registry-ChKCFBt1.js +0 -2
- package/dist-viewer/assets/worker-ClGb0tE1.js +0 -181
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t,n,r,i,a,o,s,c,l,u,d={},f=[],p=/^m(i|n|o|s|text|space)$/,m=Array.isArray,h=f.slice,g=Object.assign;function _(e){e&&e.parentNode&&e.remove()}function v(n,r,i,a,o){var s={type:n,props:r,key:i,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o||++t,__i:-1,__u:0};return!o&&e.vnode&&e.vnode(s),s}function y(e){return e.children}function b(e,t){this.props=e,this.context=t,this.__g=0}function x(e,t){if(t==null)return e.__?x(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])&&n.__e)return n.__e;return typeof e.type!=`function`||e.props.__P?null:x(e)}function S(e){if((e=e.__)&&e.__c&&!e.props.__P)return e.__e=null,e.__k.some(function(t){return t&&(e.__e=t.__e)}),S(e)}function C(t){(8&t.__g||!(t.__g|=8)||!r.push(t)||a++)&&i==e.debounceRendering||((i=e.debounceRendering)||queueMicrotask)(w)}function w(){var t,n,i,s,c,l,u,d,f;try{for(n=1;r.length;)r.length>n&&r.sort(o),t=r.shift(),n=r.length,8&t.__g&&(s=void 0,c=void 0,l=(c=(i=t).__v).__e,u=[],d=[],(f=i.__P)&&((s=g({constructor:void 0},c)).__v=c.__v+1,e.vnode&&e.vnode(s),j(f,s,c,i.__n,f.namespaceURI,32&c.__u?[l]:null,u,l||x(c),32&c.__u,d),s.__v=c.__v,s.__.__k[s.__i]=s,M(u,s,d),c.__=c.__e=null,s.__e!=l&&S(s)))}finally{r.length=a=0}}function ee(e,t,n,r,i,a,o,s,c,l,u){var p,m,h,g,_,v,y=r.__k||f,b=t.length;for(c=T(n,t,y,c,b),p=0;p<b;p++)(h=n.__k[p])!=null&&(m=~h.__i&&y[h.__i]||d,h.__i=p,v=j(e,h,m,i,a,o,s,c,l,u),g=h.__e,(m.ref!=h.ref||8&m.__u)&&(m.ref&&N(m.ref,null,h,m),h.ref&&u.push(h.ref,h.__c||g,h)),_||=g,4&h.__u?(c=E(h,c,e,!m.__v),m.__e&&(m.__e=null)):typeof h.type==`function`&&v!==void 0?c=v:g&&(c=g.nextSibling),h.__u&=-7);return n.__e=_,c}function T(e,t,n,r,i){var a,o,s,c,l,u,d,f,p,h,g=n.length,_=g,b=0,S=!1,C=e.__k=Array(i);for(a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o!=`object`||o.constructor==String?o=C[a]=v(null,o):m(o)?o=C[a]=v(y,{children:o}):o.constructor===void 0&&o.__b?o=C[a]=v(o.type,o.props,o.key,o.ref,o.__v):C[a]=o,c=a+b,o.__=e,o.__b=e.__b+1,s=null,~(l=o.__i=D(o,n,c,_))&&(_--,(s=n[l])&&(s.__u|=2)),s&&s.__v?(o.__u|=2,l==c-1?b--:l==c+1?b++:l!=c&&(l>c?b--:b++,S=!0)):(~l||(i>g?b--:i<g&&b++),typeof o.type!=`function`&&(o.__u|=4))):C[a]=null;if(S){for(u=[],d=[],a=0;a<i;a++)if((o=C[a])&&2&o.__u){for(f=0,p=u.length;f<p;)u[h=f+p>>1]<o.__i?f=h+1:p=h;u[f]=o.__i,d[a]=f+1}for(b=u.length;a--;)d[a]&&(d[a]==b?b--:C[a].__u|=4)}if(_)for(a=0;a<g;a++)!(s=n[a])||2&s.__u||(s.__e==r&&(r=x(s)),re(s,s));return r}function E(e,t,n,r){var i,a,o;if(typeof e.type==`function`){if(e.props.__P)return t;if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&(i[a].__=e,t=E(i[a],t,n,!1));return t}for(t&&!t.parentNode&&(t=x(e))&&!t.parentNode&&(t=null),o=t;o&&o.nodeType==8;)o=o.nextSibling;for(e.__e!=o&&(!r&&n.moveBefore&&e.__e.parentNode?n.moveBefore(e.__e,t):n.insertBefore(e.__e,t||null)),t=e.__e;(t&&=t.nextSibling)&&t.nodeType==8;);return t}function D(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l&&!(2&l.__u);if(l===null&&s==null||u&&s==l.key&&c==l.type)return n;if(r>+!!u){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function O(e,t,n){n??=``,t[0]==`-`?e.setProperty(t,n):e[t]=n}function k(e,t,n,r,i){var a,o;n:if(t==`style`){if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||O(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||O(e.style,t,n[t])}}else if(t[0]==`o`&&t[1]==`n`)(e.__e||={})[t]=n,n&&r||(o=u[t]||(u[t]=A(t)),(e.__a||={})[t]=l,a=t!=(t=t.replace(c,`$1`)),(t=t.slice(2))[0]<`a`&&(t=t.toLowerCase()),n?e.addEventListener(t,o,a):e.removeEventListener(t,o,a));else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function A(t){return function(n){if(this.__e){var r=this.__e[t];if(n[s]==null)n[s]=l++;else if(n[s]<this.__a[t])return;return r(e.event?e.event(n):n)}}}function j(t,n,r,i,a,o,s,c,l,u){var d,p,h,v,S,C,w,T,E,D,O,k,A,j,M,N,P,F,I,L,R=n.type;if(n.constructor!==void 0)return null;if(128&r.__u&&(l=32&r.__u,d=r.__c.__z)){if(n.__u|=l,p=o=[],d.nodeType==8)for(h=1,v=d.nextSibling;v;v=v.nextSibling){if(v.nodeType==8){if(v.data.startsWith(`$s`))h++;else if(v.data.startsWith(`/$s`)&&!--h)break}o.push(v)}else o.push(d);c=o[0]}(d=e.__b)&&d(n);n:if(typeof R==`function`){S=s.length;try{if(D=n.props,O=(d=R.prototype)&&d.render,k=(d=R.contextType)&&i[d.__c],A=d?k?k.props.value:d.__:i,r.__c?2&(C=n.__c=r.__c).__g&&(C.__g|=1):(O?n.__c=C=new R(D,A):(n.__c=C=new b(D,A),C.constructor=R,C.render=ie),k&&k.sub(C),C.state||(C.state={}),C.__n=i,C.__g|=8,C.__h=[],C.__k=[]),O&&(C.__s||(C.__s=C.state),R.getDerivedStateFromProps&&(C.__s==C.state&&(C.__s=g({},C.__s)),g(C.__s,R.getDerivedStateFromProps(D,C.__s)))),w=C.props,T=C.state,C.__v=n,r.__c){if(O&&!R.getDerivedStateFromProps&&D!==w&&C.componentWillReceiveProps&&C.componentWillReceiveProps(D,A),n.__v==r.__v&&!(8&C.__g)||!(4&C.__g)&&C.shouldComponentUpdate&&!1===C.shouldComponentUpdate(D,C.__s,A)){n.__v!=r.__v&&(C.props=D,C.state=C.__s,C.__g&=-9),n.__e=r.__e,n.__k=r.__k,n.__k.some(function(e){e&&(e.__=n)}),f.push.apply(C.__h,C.__k),C.__k=[],C.__h.length&&s.push(C),c=x(r);break n}C.componentWillUpdate&&C.componentWillUpdate(D,C.__s,A),O&&C.componentDidUpdate&&C.__h.push(function(){C.componentDidUpdate(w,T,E)})}else O&&!R.getDerivedStateFromProps&&C.componentWillMount&&C.componentWillMount(),O&&C.componentDidMount&&C.__h.push(C.componentDidMount);if(C.context=A,C.props=D,C.__P=t,C.__g&=-5,j=e.__r,M=0,O)C.state=C.__s,C.__g&=-9,j&&j(n),d=C.render(C.props,C.state,C.context),f.push.apply(C.__h,C.__k),C.__k=[];else do C.__g&=-9,j&&j(n),d=C.render(C.props,C.state,C.context),C.state=C.__s;while(8&C.__g&&++M<25);C.state=C.__s,C.getChildContext&&(i=g({},i,C.getChildContext())),O&&r.__c&&C.getSnapshotBeforeUpdate&&(E=C.getSnapshotBeforeUpdate(w,T)),N=d&&d.type===y&&d.key==null?d.props.children:d,D.__P&&(d=c,a=(t=D.__P).namespaceURI,l=o=null,r.props&&r.props.__P!=t&&(r.__k.some(function(e){e&&re(e,e)}),r.__k=null),c=r.__k?x(r,0):null),c=ee(t,m(N)?N:[N],n,r,i,a,o,s,c,l,u),D.__P&&(n.__e=null,c=d),n.__u&=-161,128&r.__u&&(C.__z=null),p&&p.some(_),C.__h.length&&s.push(C),1&C.__g&&(C.__g&=-4)}catch(t){if(s.length=S,n.__v=null,l||o){if(t.then){if(P=0,n.__u|=l?160:128,o){for(~(I=o.indexOf(c||void 0))||(I=o.length);(L=o[I-1])&&L.nodeType==8;)I--;for(;I<o.length;I++)if(L=o[I]){if(o[I]=null,L.nodeType==8){if(L.data.startsWith(`$s`))P++||(F=L);else if(P&&L.data.startsWith(`/$s`)&&!--P){c=L;break}}else if(!P)break}}if(!F){for(;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;F=c}n.__c.__z||(n.__c.__z=F),n.__e=c}else o&&o.some(_)}else n.__e=r.__e;n.__k||=r.__k||[],t.then||te(n),e.__e(t,n,r)}}else c=n.__e=ne(r.__e,n,r,i,a,o,s,l,u,t);return(d=e.diffed)&&d(n),128&n.__u?void 0:c}function te(e){e&&(e.__c&&(e.__c.__g|=4),e.__k&&e.__k.some(te))}function M(t,n,r){for(var i=0;i<r.length;)N(r[i++],r[i++],r[i++]);e.__c&&e.__c(n,t),t.some(function(n){try{t=n.__h,n.__h=[],t.some(function(e){e.call(n)})}catch(t){e.__e(t,n.__v)}})}function ne(t,n,r,i,a,o,s,c,l,u){var f,g,v,y,b,S,C,w,T,E=r.props||d,D=n.props,O=n.type;if(O==`svg`?a=`http://www.w3.org/2000/svg`:O==`math`?a=`http://www.w3.org/1998/Math/MathML`:a||=`http://www.w3.org/1999/xhtml`,o){for(f=0;f<o.length;f++)if((b=o[f])&&(O?b.localName==O:b.nodeType==3)){t=b,o[f]=null;break}}if(!t){if(w=u.ownerDocument||document,!O)return w.createTextNode(D);t=w.createElementNS(a,O,D.is&&D),c&&=(e.__m&&e.__m(n,o),!1),o=null}if(O){if(u=O==`template`?t.content:t,o=O==`textarea`&&D.defaultValue!=null?null:o&&h.call(u.childNodes),!c&&o)for(E={},f=0;f<t.attributes.length;f++)E[(b=t.attributes[f]).name]=b.value;for(f in E)b=E[f],f==`dangerouslySetInnerHTML`?v=b:f==`children`||f in D||f==`value`&&`defaultValue`in D||f==`checked`&&`defaultChecked`in D||k(t,f,null,b,a);for(f in T=1&r.__u,D)b=D[f],f==`children`?y=b:f==`dangerouslySetInnerHTML`?g=b:f==`value`?S=b:f==`checked`?C=b:c&&typeof b!=`function`||!(E[f]!==b||T&&b!=null)||k(t,f,b,E[f],a);g?(c||v&&(g.__html==v.__html||g.__html==t.innerHTML)||(t.innerHTML=g.__html),n.__k=[]):(v&&(t.textContent=``),(O==`foreignObject`||a==`http://www.w3.org/1998/Math/MathML`&&p.test(O))&&(a=`http://www.w3.org/1999/xhtml`),ee(u,m(y)?y:[y],n,r,i,a,o,s,o?o[0]:r.__k&&x(r,0),c,l),o&&o.some(_)),c&&O!=`textarea`||(f=`value`,O==`progress`&&S==null?t.removeAttribute(f):S==null||S===t[f]&&(O!=`progress`||S)||k(t,f,S,E[f],a),f=`checked`,C!=null&&C!=t[f]&&k(t,f,C,E[f],a))}else E===D||c&&t.data==D||(t.data=D);return t}function N(t,n,r,i){try{typeof t==`function`?n?n.__x=t(n)||1:(i&&=i.__c||i.__e)&&(n=i.__x)&&(i.__x=null,typeof n==`function`?n():t(null)):t.current=n}catch(t){e.__e(t,r)}}function re(t,n,r){var i,a;if(e.unmount&&e.unmount(t),!(i=t.ref)||i.current&&i.current!=t.__e||N(i,null,n,t),i=t.__c){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(t){e.__e(t,n)}i.__P=i.__n=null}if(i=t.__k)for(a=0;a<i.length;a++)i[a]&&re(i[a],n,typeof t.type!=`function`||r&&!t.props.__P);(i=t.__e)&&(r||_(i),i.__e&&(i.__e=null)),t.__e=t.__c=t.__=null}function ie(e,t,n){return this.constructor(e,n)}function P(t,n){var r,i,a,o;e.__&&e.__(t,n),n.nodeType==9&&(n=n.documentElement),i=(r=t&&32&t.__u)?null:n.__k,n.__k=v(y,{children:[t]}),a=[],o=[],j(n,n.__k,i||d,d,n.namespaceURI,i?null:n.firstChild?h.call(n.childNodes):null,a,i?i.__e:n.firstChild,r,o),M(a,n.__k,o),n.__k.props.children=null}e={__e:function(e,t,n,r){for(var i,o,s;t=t.__;)if((i=t.__c)&&!(1&i.__g)){i.__g|=4;try{if((o=i.constructor)&&o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(e)),s=8&i.__g),i.componentDidCatch&&(i.componentDidCatch(e,r||{}),s=8&i.__g),s)return void(i.__g|=2)}catch(t){e=t,s=0}}throw a=0,e}},t=0,n=function(e){return e!=null&&e.constructor===void 0},b.prototype.setState=function(e,t){var n=this.__s;n&&n!=this.state||(n=this.__s=g({},this.state)),typeof e==`function`&&(e=e(g({},n),this.props)),e&&(g(n,e),this.__v&&(t&&this.__k.push(t),C(this)))},b.prototype.forceUpdate=function(e){this.__v&&(this.__g|=4,e&&this.__h.push(e),C(this))},b.prototype.render=y,r=[],a=0,o=function(e,t){return e.__v.__b-t.__v.__b},s=Symbol(),c=/(PointerCapture)$|Capture$/i,l=0,u={};var F,I,L,R,ae=Object.is,z=0,oe=[],se=[],B=e,ce=B.__b,le=B.__r,ue=B.diffed,de=B.__c,fe=B.unmount,pe=B.__;function V(e,t){B.__h&&B.__h(I,e,z||t),z=0;var n=I.__H||(I.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function me(e){return z=1,he(Ee,e)}function he(e,t,n){var r=V(F++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Ee(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);ae(t,n)||(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=I,!I.__f)){I.__f=!0;var i=I.shouldComponentUpdate;I.shouldComponentUpdate=function(e,t,n){var r=this.__H;if(!r)return!0;var a=!1,o=this.props!=e;if(r.__.some(function(e){e.__N&&(a=!0,ae(e.__[0],e.__N[0])||(o=!0))}),i){var s=i.call(this,e,t,n);return a?s||o:s}return!a||o}}return r.__}function ge(e,t){var n=V(F++,3);!B.__s&&Te(n.__H,t)&&(n.__P=!0,n.__=e,n.u=t,I.__H.__h.push(n))}function _e(e,t){var n=V(F++,4);!B.__s&&Te(n.__H,t)&&(n.__P=!1,n.__=e,n.u=t,I.__h.push(n))}function ve(e){return z=5,H(function(){return{current:e}},[])}function H(e,t){var n=V(F++,7);return Te(n.__H,t)&&(n.__=e(),n.__H=t),n.__}function ye(e,t){return z=8,H(function(){return e},t)}function be(){var e;do{for(;e=se.shift();)try{U(e)}catch(t){B.__e(t,{__:(e=e.__P)&&e.__v})}for(;e=oe.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(U),t.__h.some(we),t.__h=[]}catch(n){t.__h=[],B.__e(n,e.__v)}}}while(se.length)}B.__b=function(e){I=null,ce&&ce(e)},B.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),pe&&pe(e,t)},B.__r=function(e){le&&le(e),F=0;var t=(I=e.__c).__H;t&&(L==I?I.__h=[]:(t.__h.some(U),t.__h.some(we),F=0),t.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})),L=I},B.diffed=function(e){ue&&ue(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&Ce(oe.push(t)),t.__H.__.some(function(e){e.u&&(e.__H=e.u)})),L=I=null},B.__c=function(e,t){t.some(function(e){try{e.__h.some(U),e.__h=e.__h.filter(function(e){return!e.__||we(e)})}catch(n){t.some(function(e){e.__h&&=[]}),t=[],B.__e(n,e.__v)}}),de&&de(e,t)},B.unmount=function(e){fe&&fe(e);var t,n,r=e.__c;r&&r.__H&&(r.__H.__.some(function(r){try{if(r.__P&&r.__c){if(n===void 0){for(n=e.__;n&&(!n.__c||!n.__c.__P);)n=n.__;n&&=n.__c}r.__P=n,Ce(se.push(r))}else U(r)}catch(e){t=e}}),r.__H=void 0,t&&B.__e(t,r.__v))};var xe=typeof requestAnimationFrame==`function`;function Se(e){var t,n=function(){clearTimeout(r),xe&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);xe&&(t=requestAnimationFrame(n))}function Ce(e){e!=1&&R==B.requestAnimationFrame||((R=B.requestAnimationFrame)||Se)(be)}function U(e){var t=I,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),I=t}function we(e){var t=I;e.__c=e.__(),I=t}function Te(e,t){return!e||e.length!=t.length||t.some(function(t,n){return!ae(t,e[n])})}function Ee(e,t){return typeof t==`function`?t(e):t}var De=Symbol.for(`preact-signals`);function Oe(){if(q>1)q--;else{var e,t=!1;for((function(){var e=Pe;for(Pe=void 0;e!==void 0;){var t=e.S;if(t.v===e.v)for(var n=t.t;n!==void 0;n=n.x)n.i===e.i&&(n.i=t.i);e=e.o}})();K!==void 0;){var n=K;for(K=void 0,je++;n!==void 0;){var r=n.u;if(n.u=void 0,n.f&=-3,!(8&n.f)&&Re(n))try{n.c()}catch(n){t||=(e=n,!0)}n=r}}if(je=0,q--,t)throw e}}function ke(e){if(q>0)return e();Ne=++Me,q++;try{return e()}finally{Oe()}}var W,G=void 0;function Ae(e){var t=G,n=W;G=void 0,W=void 0;try{return e()}finally{G=t,W=n}}var K=void 0,q=0,je=0,Me=0,Ne=0,Pe=void 0,Fe=0;function Ie(e){if(G!==void 0){var t=e.n;if(t===void 0||t.t!==G)return t={i:0,S:e,p:G.s,n:void 0,t:G,e:void 0,x:void 0,r:t},G.s!==void 0&&(G.s.n=t),G.s=t,e.n=t,32&G.f&&e.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=G.s,t.n=void 0,G.s.n=t,G.s=t),t}}function J(e,t){this.v=e,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=t?.watched,this.Z=t?.unwatched,this.name=t?.name}J.prototype.brand=De,J.prototype.h=function(){return!0},J.prototype.S=function(e){var t=this,n=this.t;n!==e&&e.e===void 0&&(e.x=n,this.t=e,n===void 0?Ae(function(){var e;(e=t.W)==null||e.call(t)}):n.e=e)},J.prototype.U=function(e){var t=this;if(this.t!==void 0){var n=e.e,r=e.x;n!==void 0&&(n.x=r,e.e=void 0),r!==void 0&&(r.e=n,e.x=void 0),e===this.t&&(this.t=r,r===void 0&&Ae(function(){var e;(e=t.Z)==null||e.call(t)}))}},J.prototype.subscribe=function(e){var t=this;return Z(function(){var n=t.value;Ae(function(){return e(n)})},{name:`sub`})},J.prototype.valueOf=function(){return this.value},J.prototype.toString=function(){return this.value+``},J.prototype.toJSON=function(){return this.value},J.prototype.peek=function(){var e=this;return Ae(function(){return e.value})},Object.defineProperty(J.prototype,"value",{get:function(){var e=Ie(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(je>100)throw Error(`Cycle detected`);(function(e){q!==0&&je===0&&e.l!==Ne&&(e.l=Ne,Pe={S:e,v:e.v,i:e.i,o:Pe})})(this),this.v=e,this.i++,Fe++,q++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N()}finally{Oe()}}}});function Le(e,t){return new J(e,t)}function Re(e){for(var t=e.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function ze(e){for(var t=e.s;t!==void 0;t=t.n){var n=t.S.n;if(n!==void 0&&(t.r=n),t.S.n=t,t.i=-1,t.n===void 0){e.s=t;break}}}function Be(e){for(var t=e.s,n=void 0;t!==void 0;){var r=t.p;t.i===-1?(t.S.U(t),r!==void 0&&(r.n=t.n),t.n!==void 0&&(t.n.p=r)):n=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=r}e.s=n}function Y(e,t){J.call(this,void 0,t),this.x=e,this.s=void 0,this.g=Fe-1,this.f=4}Y.prototype=new J,Y.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Fe))return!0;if(this.g=Fe,this.f|=1,this.i>0&&!Re(this))return this.f&=-2,!0;var e=G;try{ze(this),G=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++)}catch(e){this.v=e,this.f|=16,this.i++}return G=e,Be(this),this.f&=-2,!0},Y.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t)}J.prototype.S.call(this,e)},Y.prototype.U=function(e){if(this.t!==void 0&&(J.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t)}},Y.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}},Object.defineProperty(Y.prototype,"value",{get:function(){if(1&this.f)throw Error(`Cycle detected`);var e=Ie(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function Ve(e,t){return new Y(e,t)}function He(e){var t=e.m;if(e.m=void 0,typeof t==`function`){q++;var n=G;G=void 0;try{t()}catch(t){throw e.f&=-2,e.f|=8,Ue(e),t}finally{G=n,Oe()}}}function Ue(e){for(var t=e.s;t!==void 0;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,He(e)}function We(e){if(G!==this)throw Error(`Out-of-order effect`);Be(this),G=e,this.f&=-2,8&this.f&&Ue(this),Oe()}function X(e,t){this.x=e,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=t?.name,W&&W.push(this)}X.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t==`function`&&(this.m=t)}finally{e()}},X.prototype.S=function(){if(1&this.f)throw Error(`Cycle detected`);this.f|=1,this.f&=-9,He(this),ze(this),q++;var e=G;return G=this,We.bind(this,e)},X.prototype.N=function(){2&this.f||(this.f|=2,this.u=K,K=this)},X.prototype.d=function(){this.f|=8,1&this.f||Ue(this)},X.prototype.dispose=function(){this.d()};function Z(e,t){var n=new X(e,t);try{n.c()}catch(e){throw n.d(),e}var r=n.d.bind(n);return r[Symbol.dispose]=r,r}var Ge,Ke,qe=typeof window<`u`&&!!window.__PREACT_SIGNALS_DEVTOOLS__,Je=[];Z(function(){Ge=this.N})();function Q(t,n){e[t]=n.bind(null,e[t]||function(){})}function $(e){if(Ke){var t=Ke;Ke=void 0,t()}Ke=e&&e.S()}function Ye(e){var t=this,r=e.data,i=Ze(r);i.name=`ReactiveDom`,i.value=r;var a=H(function(){for(var e=t,r=t.__v;r=r.__;)if(r.__c){r.__c.__$f|=4;break}var a=Ve(function(){var e=i.value.value;return e===0?0:!0===e?``:e||``}),o=Ve(function(){return!Array.isArray(a.value)&&!n(a.value)}),s=Z(function(){if(this.N=et,o.value){var t=a.value;e.__v&&e.__v.__e&&e.__v.__e.nodeType===3&&(e.__v.__e.data=t)}}),c=t.__$u.d;return t.__$u.d=function(){s(),c.call(this)},[o,a]},[]),o=a[0],s=a[1];return o.value?s.peek():s.value}Ye.displayName=`ReactiveTextNode`,Object.defineProperties(J.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:Ye},props:{configurable:!0,get:function(){var e=this;return{data:{get value(){return e.value}}}}},__b:{configurable:!0,value:1}}),Q(`__b`,function(e,t){if($(),typeof t.type==`string`){var n,r=t.props;for(var i in r)if(i!==`children`){var a=r[i];a instanceof J&&(n||(t.__np=n={}),n[i]=a,r[i]=a.peek())}}e(t)}),Q(`__r`,function(e,t){if(e(t),t.type!==y){$();var n,r=t.__c;r&&(r.__$f&=-2,(n=r.__$u)===void 0&&(r.__$u=n=function(e,t){var n;return Z(function(){n=this},{name:t}),n.c=e,n}(function(e){return function(){var t;qe&&((t=this.y)==null||t.call(this)),e.__$f|=1,e.setState({})}}(r),typeof t.type==`function`?t.type.displayName||t.type.name:``))),$(n)}}),Q(`__e`,function(e,t,n,r){$(),e(t,n,r)}),Q(`diffed`,function(e,t){$();var n;if(typeof t.type==`string`&&(n=t.__e)){var r=t.__np,i=t.props,a=n.U;if(a)for(var o in a){var s=a[o];s===void 0||r&&o in r||(s.d(),a[o]=void 0)}if(r)for(var c in a||(a={},n.U=a),r){var l=a[c],u=r[c];l===void 0?(l=Xe(n,c,u,i),a[c]=l):l.o(u,i)}}e(t)});function Xe(e,t,n,r){var i=t in e&&e.ownerSVGElement===void 0,a=Le(n);return{o:function(e,t){a.value=e,r=t},d:Z(function(){this.N=et;var n=a.value.value;r[t]!==n&&(r[t]=n,i?e[t]=n:n!=null&&(!1!==n||t[4]===`-`)?e.setAttribute(t,n):e.removeAttribute(t))})}}Q(`unmount`,function(e,t){if(typeof t.type==`string`){var n=t.__e;if(n){var r=n.U;if(r)for(var i in n.U=void 0,r){var a=r[i];a&&a.d()}}var o=t.__np;if(o){var s=t.props;for(var c in o)s[c]=o[c]}t.__np=void 0}else{var l=t.__c;if(l){l.__$f|=8;var u=l.__$u;u&&(l.__$u=void 0,u.d())}}e(t)}),Q(`__h`,function(e,t,n,r){r<3&&(t.__$f|=2),e(t,n,r)}),b.prototype.shouldComponentUpdate=function(e,t){if(this.__R)return!0;var n=this.__$u,r=n&&n.s!==void 0;for(var i in t)return!0;if(this.__f||typeof this.u==`boolean`&&!0===this.u){var a=2&this.__$f;if(!(r||a||4&this.__$f)||1&this.__$f)return!0}else if(!(r||4&this.__$f)||3&this.__$f)return!0;for(var o in e)if(o!==`__source`&&e[o]!==this.props[o])return!0;for(var s in this.props)if(!(s in e))return!0;return!1};function Ze(e,t){return H(function(){return Le(e,t)},[])}var Qe=function(e){queueMicrotask(function(){queueMicrotask(e)})};function $e(){ke(function(){for(var e;e=Je.shift();)Ge.call(e)})}function et(){Je.push(this)===1&&(e.requestAnimationFrame||Qe)($e)}var tt=`specbook:theme`;function nt(){try{let e=localStorage.getItem(tt);return e===`light`||e===`dark`?e:`auto`}catch{return`auto`}}var rt=Le(nt());function it(e=rt.value){typeof document<`u`&&(e===`auto`?delete document.documentElement.dataset.theme:document.documentElement.dataset.theme=e)}var at={auto:`light`,light:`dark`,dark:`auto`};function ot(){let e=at[rt.value];rt.value=e;try{e===`auto`?localStorage.removeItem(tt):localStorage.setItem(tt,e)}catch{}it(e)}var st=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%20role='img'%20aria-label='Specbook'%3e%3cdefs%3e%3clinearGradient%20id='g'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%238b5cf6'/%3e%3cstop%20offset='1'%20stop-color='%235b21b6'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20width='64'%20height='64'%20rx='15'%20fill='url(%23g)'/%3e%3cpath%20d='M32%2019.5c-4.5-3-10-3.6-15.5-2.4v28.4c5.500-1.200%2011-.6%2015.500%202.400%204.500-3%2010-3.600%2015.500-2.400V17.100c-5.500-1.200-11-.6-15.500%202.400z'%20fill='%23fff'%20fill-opacity='.95'/%3e%3cpath%20d='M32%2019.500v28.400'%20stroke='%236d28d9'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20d='M38%2027.500v9.500l7.500-4.750z'%20fill='%236d28d9'/%3e%3cpath%20d='M26.500%2028.500l-4%203.750%204%203.750'%20fill='none'%20stroke='%236d28d9'%20stroke-width='2.200'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,ct=0;Array.isArray;function lt(t,n,r,i,a,o){n||={};var s,c,l=n;if(`ref`in l&&typeof t!=`function`)for(c in l={},n)c==`ref`?s=n[c]:l[c]=n[c];var u={type:t,props:l,key:r,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--ct,__i:-1,__u:0};return(a||o)&&(u.__source=a,u.__self=o),e.vnode&&e.vnode(u),u}var ut=/^(token|access_token|id_token|refresh_token|key|api[-_]?key|apikey|secret|client_secret|password|passwd|pwd|auth|authorization|signature|sig|jwt|session|sid|code|x-amz-.*|x-goog-.*)$/i,dt=/\.(local|internal|lan|home|corp|intranet|localhost)$/i;function ft(e){let t=e.replace(/^\[|\]$/g,``).toLowerCase();if(t===`localhost`||dt.test(t))return!0;let n=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(t);if(n){let[e,t]=[Number(n[1]),Number(n[2])];return e===0||e===10||e===127||e===169&&t===254||e===172&&t>=16&&t<=31||e===192&&t===168||e===100&&t>=64&&t<=127}return t===`::1`||/^f[cd]/.test(t)||/^fe[89ab]/.test(t)}var pt=e=>encodeURIComponent(e).replace(/%3A/gi,`:`).replace(/%2F/gi,`/`);function mt(e){let t;try{t=new URL(e)}catch{return e}if(t.protocol!==`https:`||!/^(www\.)?github\.com$/i.test(t.hostname))return e;let n=/^\/([^/]+)\/([^/]+)\/(?:blob|raw)\/(.+)$/.exec(t.pathname);return n?`https://raw.githubusercontent.com/${n[1]}/${n[2]}/${n[3]}`:e}function ht(e){if(!e||e.kind===`text`)return{ok:!1,reason:`This document was pasted or opened from a file, so there is no address to link to. Put the file somewhere public (a GitHub raw link or a Gist works) and open that address to get a link.`};let t;try{t=new URL(e.url)}catch{return{ok:!1,reason:`The document address is not a valid link.`}}if(t.protocol!==`https:`&&t.protocol!==`http:`)return{ok:!1,reason:`Only http and https addresses can be linked.`};if(ft(t.hostname))return{ok:!1,reason:`That address is only reachable from your own machine or network, so a link would not work for anyone else.`};if(t.username||t.password)return{ok:!1,reason:`The address contains a login, which a link would publish.`};for(let e of t.searchParams.keys())if(ut.test(e))return{ok:!1,reason:`The address has a "${e}" parameter that looks like a credential, which a link would publish.`};return{ok:!0,spec:t.toString()}}function gt(e,t,n){let r=`${e.origin}${e.pathname}?spec=${pt(t)}${e.hash}`,i=`Exploring ${n} in Specbook`,a=e=>new URLSearchParams(e).toString();return{link:r,title:i,targets:[{id:`x`,label:`X`,href:`https://twitter.com/intent/tweet?${a({text:i,url:r})}`},{id:`reddit`,label:`Reddit`,href:`https://www.reddit.com/submit?${a({url:r,title:i})}`},{id:`hn`,label:`Hacker News`,href:`https://news.ycombinator.com/submitlink?${a({u:r,t:i})}`},{id:`linkedin`,label:`LinkedIn`,href:`https://www.linkedin.com/sharing/share-offsite/?${a({url:r})}`}]}}export{P as _,lt as a,ot as c,ge as d,_e as f,ye as g,me as h,pt as i,rt as l,H as m,gt as n,st as o,ve as p,ht as r,it as s,mt as t,Le as u,y as v};
|
|
1
|
+
var e,t,n,r,i,a,o,s,c,l,u,d={},f=[],p=/^m(i|n|o|s|text|space)$/,m=Array.isArray,h=f.slice,g=Object.assign;function _(e){e&&e.parentNode&&e.remove()}function v(n,r,i,a,o){var s={type:n,props:r,key:i,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o||++t,__i:-1,__u:0};return!o&&e.vnode&&e.vnode(s),s}function y(e){return e.children}function b(e,t){this.props=e,this.context=t,this.__g=0}function x(e,t){if(t==null)return e.__?x(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])&&n.__e)return n.__e;return typeof e.type!=`function`||e.props.__P?null:x(e)}function S(e){if((e=e.__)&&e.__c&&!e.props.__P)return e.__e=null,e.__k.some(function(t){return t&&(e.__e=t.__e)}),S(e)}function C(t){(8&t.__g||!(t.__g|=8)||!r.push(t)||a++)&&i==e.debounceRendering||((i=e.debounceRendering)||queueMicrotask)(w)}function w(){var t,n,i,s,c,l,u,d,f;try{for(n=1;r.length;)r.length>n&&r.sort(o),t=r.shift(),n=r.length,8&t.__g&&(s=void 0,c=void 0,l=(c=(i=t).__v).__e,u=[],d=[],(f=i.__P)&&((s=g({constructor:void 0},c)).__v=c.__v+1,e.vnode&&e.vnode(s),j(f,s,c,i.__n,f.namespaceURI,32&c.__u?[l]:null,u,l||x(c),32&c.__u,d),s.__v=c.__v,s.__.__k[s.__i]=s,M(u,s,d),c.__=c.__e=null,s.__e!=l&&S(s)))}finally{r.length=a=0}}function ee(e,t,n,r,i,a,o,s,c,l,u){var p,m,h,g,_,v,y=r.__k||f,b=t.length;for(c=T(n,t,y,c,b),p=0;p<b;p++)(h=n.__k[p])!=null&&(m=~h.__i&&y[h.__i]||d,h.__i=p,v=j(e,h,m,i,a,o,s,c,l,u),g=h.__e,(m.ref!=h.ref||8&m.__u)&&(m.ref&&N(m.ref,null,h,m),h.ref&&u.push(h.ref,h.__c||g,h)),_||=g,4&h.__u?(c=E(h,c,e,!m.__v),m.__e&&(m.__e=null)):typeof h.type==`function`&&v!==void 0?c=v:g&&(c=g.nextSibling),h.__u&=-7);return n.__e=_,c}function T(e,t,n,r,i){var a,o,s,c,l,u,d,f,p,h,g=n.length,_=g,b=0,S=!1,C=e.__k=Array(i);for(a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o!=`object`||o.constructor==String?o=C[a]=v(null,o):m(o)?o=C[a]=v(y,{children:o}):o.constructor===void 0&&o.__b?o=C[a]=v(o.type,o.props,o.key,o.ref,o.__v):C[a]=o,c=a+b,o.__=e,o.__b=e.__b+1,s=null,~(l=o.__i=D(o,n,c,_))&&(_--,(s=n[l])&&(s.__u|=2)),s&&s.__v?(o.__u|=2,l==c-1?b--:l==c+1?b++:l!=c&&(l>c?b--:b++,S=!0)):(~l||(i>g?b--:i<g&&b++),typeof o.type!=`function`&&(o.__u|=4))):C[a]=null;if(S){for(u=[],d=[],a=0;a<i;a++)if((o=C[a])&&2&o.__u){for(f=0,p=u.length;f<p;)u[h=f+p>>1]<o.__i?f=h+1:p=h;u[f]=o.__i,d[a]=f+1}for(b=u.length;a--;)d[a]&&(d[a]==b?b--:C[a].__u|=4)}if(_)for(a=0;a<g;a++)!(s=n[a])||2&s.__u||(s.__e==r&&(r=x(s)),re(s,s));return r}function E(e,t,n,r){var i,a,o;if(typeof e.type==`function`){if(e.props.__P)return t;if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&(i[a].__=e,t=E(i[a],t,n,!1));return t}for(t&&!t.parentNode&&(t=x(e))&&!t.parentNode&&(t=null),o=t;o&&o.nodeType==8;)o=o.nextSibling;for(e.__e!=o&&(!r&&n.moveBefore&&e.__e.parentNode?n.moveBefore(e.__e,t):n.insertBefore(e.__e,t||null)),t=e.__e;(t&&=t.nextSibling)&&t.nodeType==8;);return t}function D(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l&&!(2&l.__u);if(l===null&&s==null||u&&s==l.key&&c==l.type)return n;if(r>+!!u){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function O(e,t,n){n??=``,t[0]==`-`?e.setProperty(t,n):e[t]=n}function k(e,t,n,r,i){var a,o;n:if(t==`style`){if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||O(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||O(e.style,t,n[t])}}else if(t[0]==`o`&&t[1]==`n`)(e.__e||={})[t]=n,n&&r||(o=u[t]||(u[t]=A(t)),(e.__a||={})[t]=l,a=t!=(t=t.replace(c,`$1`)),(t=t.slice(2))[0]<`a`&&(t=t.toLowerCase()),n?e.addEventListener(t,o,a):e.removeEventListener(t,o,a));else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function A(t){return function(n){if(this.__e){var r=this.__e[t];if(n[s]==null)n[s]=l++;else if(n[s]<this.__a[t])return;return r(e.event?e.event(n):n)}}}function j(t,n,r,i,a,o,s,c,l,u){var d,p,h,v,S,C,w,T,E,D,O,k,A,j,M,N,P,F,I,L,R=n.type;if(n.constructor!==void 0)return null;if(128&r.__u&&(l=32&r.__u,d=r.__c.__z)){if(n.__u|=l,p=o=[],d.nodeType==8)for(h=1,v=d.nextSibling;v;v=v.nextSibling){if(v.nodeType==8){if(v.data.startsWith(`$s`))h++;else if(v.data.startsWith(`/$s`)&&!--h)break}o.push(v)}else o.push(d);c=o[0]}(d=e.__b)&&d(n);n:if(typeof R==`function`){S=s.length;try{if(D=n.props,O=(d=R.prototype)&&d.render,k=(d=R.contextType)&&i[d.__c],A=d?k?k.props.value:d.__:i,r.__c?2&(C=n.__c=r.__c).__g&&(C.__g|=1):(O?n.__c=C=new R(D,A):(n.__c=C=new b(D,A),C.constructor=R,C.render=ie),k&&k.sub(C),C.state||(C.state={}),C.__n=i,C.__g|=8,C.__h=[],C.__k=[]),O&&(C.__s||(C.__s=C.state),R.getDerivedStateFromProps&&(C.__s==C.state&&(C.__s=g({},C.__s)),g(C.__s,R.getDerivedStateFromProps(D,C.__s)))),w=C.props,T=C.state,C.__v=n,r.__c){if(O&&!R.getDerivedStateFromProps&&D!==w&&C.componentWillReceiveProps&&C.componentWillReceiveProps(D,A),n.__v==r.__v&&!(8&C.__g)||!(4&C.__g)&&C.shouldComponentUpdate&&!1===C.shouldComponentUpdate(D,C.__s,A)){n.__v!=r.__v&&(C.props=D,C.state=C.__s,C.__g&=-9),n.__e=r.__e,n.__k=r.__k,n.__k.some(function(e){e&&(e.__=n)}),f.push.apply(C.__h,C.__k),C.__k=[],C.__h.length&&s.push(C),c=x(r);break n}C.componentWillUpdate&&C.componentWillUpdate(D,C.__s,A),O&&C.componentDidUpdate&&C.__h.push(function(){C.componentDidUpdate(w,T,E)})}else O&&!R.getDerivedStateFromProps&&C.componentWillMount&&C.componentWillMount(),O&&C.componentDidMount&&C.__h.push(C.componentDidMount);if(C.context=A,C.props=D,C.__P=t,C.__g&=-5,j=e.__r,M=0,O)C.state=C.__s,C.__g&=-9,j&&j(n),d=C.render(C.props,C.state,C.context),f.push.apply(C.__h,C.__k),C.__k=[];else do C.__g&=-9,j&&j(n),d=C.render(C.props,C.state,C.context),C.state=C.__s;while(8&C.__g&&++M<25);C.state=C.__s,C.getChildContext&&(i=g({},i,C.getChildContext())),O&&r.__c&&C.getSnapshotBeforeUpdate&&(E=C.getSnapshotBeforeUpdate(w,T)),N=d&&d.type===y&&d.key==null?d.props.children:d,D.__P&&(d=c,a=(t=D.__P).namespaceURI,l=o=null,r.props&&r.props.__P!=t&&(r.__k.some(function(e){e&&re(e,e)}),r.__k=null),c=r.__k?x(r,0):null),c=ee(t,m(N)?N:[N],n,r,i,a,o,s,c,l,u),D.__P&&(n.__e=null,c=d),n.__u&=-161,128&r.__u&&(C.__z=null),p&&p.some(_),C.__h.length&&s.push(C),1&C.__g&&(C.__g&=-4)}catch(t){if(s.length=S,n.__v=null,l||o){if(t.then){if(P=0,n.__u|=l?160:128,o){for(~(I=o.indexOf(c||void 0))||(I=o.length);(L=o[I-1])&&L.nodeType==8;)I--;for(;I<o.length;I++)if(L=o[I]){if(o[I]=null,L.nodeType==8){if(L.data.startsWith(`$s`))P++||(F=L);else if(P&&L.data.startsWith(`/$s`)&&!--P){c=L;break}}else if(!P)break}}if(!F){for(;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;F=c}n.__c.__z||(n.__c.__z=F),n.__e=c}else o&&o.some(_)}else n.__e=r.__e;n.__k||=r.__k||[],t.then||te(n),e.__e(t,n,r)}}else c=n.__e=ne(r.__e,n,r,i,a,o,s,l,u,t);return(d=e.diffed)&&d(n),128&n.__u?void 0:c}function te(e){e&&(e.__c&&(e.__c.__g|=4),e.__k&&e.__k.some(te))}function M(t,n,r){for(var i=0;i<r.length;)N(r[i++],r[i++],r[i++]);e.__c&&e.__c(n,t),t.some(function(n){try{t=n.__h,n.__h=[],t.some(function(e){e.call(n)})}catch(t){e.__e(t,n.__v)}})}function ne(t,n,r,i,a,o,s,c,l,u){var f,g,v,y,b,S,C,w,T,E=r.props||d,D=n.props,O=n.type;if(O==`svg`?a=`http://www.w3.org/2000/svg`:O==`math`?a=`http://www.w3.org/1998/Math/MathML`:a||=`http://www.w3.org/1999/xhtml`,o){for(f=0;f<o.length;f++)if((b=o[f])&&(O?b.localName==O:b.nodeType==3)){t=b,o[f]=null;break}}if(!t){if(w=u.ownerDocument||document,!O)return w.createTextNode(D);t=w.createElementNS(a,O,D.is&&D),c&&=(e.__m&&e.__m(n,o),!1),o=null}if(O){if(u=O==`template`?t.content:t,o=O==`textarea`&&D.defaultValue!=null?null:o&&h.call(u.childNodes),!c&&o)for(E={},f=0;f<t.attributes.length;f++)E[(b=t.attributes[f]).name]=b.value;for(f in E)b=E[f],f==`dangerouslySetInnerHTML`?v=b:f==`children`||f in D||f==`value`&&`defaultValue`in D||f==`checked`&&`defaultChecked`in D||k(t,f,null,b,a);for(f in T=1&r.__u,D)b=D[f],f==`children`?y=b:f==`dangerouslySetInnerHTML`?g=b:f==`value`?S=b:f==`checked`?C=b:c&&typeof b!=`function`||!(E[f]!==b||T&&b!=null)||k(t,f,b,E[f],a);g?(c||v&&(g.__html==v.__html||g.__html==t.innerHTML)||(t.innerHTML=g.__html),n.__k=[]):(v&&(t.textContent=``),(O==`foreignObject`||a==`http://www.w3.org/1998/Math/MathML`&&p.test(O))&&(a=`http://www.w3.org/1999/xhtml`),ee(u,m(y)?y:[y],n,r,i,a,o,s,o?o[0]:r.__k&&x(r,0),c,l),o&&o.some(_)),c&&O!=`textarea`||(f=`value`,O==`progress`&&S==null?t.removeAttribute(f):S==null||S===t[f]&&(O!=`progress`||S)||k(t,f,S,E[f],a),f=`checked`,C!=null&&C!=t[f]&&k(t,f,C,E[f],a))}else E===D||c&&t.data==D||(t.data=D);return t}function N(t,n,r,i){try{typeof t==`function`?n?n.__x=t(n)||1:(i&&=i.__c||i.__e)&&(n=i.__x)&&(i.__x=null,typeof n==`function`?n():t(null)):t.current=n}catch(t){e.__e(t,r)}}function re(t,n,r){var i,a;if(e.unmount&&e.unmount(t),!(i=t.ref)||i.current&&i.current!=t.__e||N(i,null,n,t),i=t.__c){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(t){e.__e(t,n)}i.__P=i.__n=null}if(i=t.__k)for(a=0;a<i.length;a++)i[a]&&re(i[a],n,typeof t.type!=`function`||r&&!t.props.__P);(i=t.__e)&&(r||_(i),i.__e&&(i.__e=null)),t.__e=t.__c=t.__=null}function ie(e,t,n){return this.constructor(e,n)}function P(t,n){var r,i,a,o;e.__&&e.__(t,n),n.nodeType==9&&(n=n.documentElement),i=(r=t&&32&t.__u)?null:n.__k,n.__k=v(y,{children:[t]}),a=[],o=[],j(n,n.__k,i||d,d,n.namespaceURI,i?null:n.firstChild?h.call(n.childNodes):null,a,i?i.__e:n.firstChild,r,o),M(a,n.__k,o),n.__k.props.children=null}e={__e:function(e,t,n,r){for(var i,o,s;t=t.__;)if((i=t.__c)&&!(1&i.__g)){i.__g|=4;try{if((o=i.constructor)&&o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(e)),s=8&i.__g),i.componentDidCatch&&(i.componentDidCatch(e,r||{}),s=8&i.__g),s)return void(i.__g|=2)}catch(t){e=t,s=0}}throw a=0,e}},t=0,n=function(e){return e!=null&&e.constructor===void 0},b.prototype.setState=function(e,t){var n=this.__s;n&&n!=this.state||(n=this.__s=g({},this.state)),typeof e==`function`&&(e=e(g({},n),this.props)),e&&(g(n,e),this.__v&&(t&&this.__k.push(t),C(this)))},b.prototype.forceUpdate=function(e){this.__v&&(this.__g|=4,e&&this.__h.push(e),C(this))},b.prototype.render=y,r=[],a=0,o=function(e,t){return e.__v.__b-t.__v.__b},s=Symbol(),c=/(PointerCapture)$|Capture$/i,l=0,u={};var F,I,L,R,ae=Object.is,z=0,oe=[],se=[],B=e,ce=B.__b,le=B.__r,ue=B.diffed,de=B.__c,fe=B.unmount,pe=B.__;function V(e,t){B.__h&&B.__h(I,e,z||t),z=0;var n=I.__H||(I.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function me(e){return z=1,he(Ee,e)}function he(e,t,n){var r=V(F++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Ee(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);ae(t,n)||(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=I,!I.__f)){I.__f=!0;var i=I.shouldComponentUpdate;I.shouldComponentUpdate=function(e,t,n){var r=this.__H;if(!r)return!0;var a=!1,o=this.props!=e;if(r.__.some(function(e){e.__N&&(a=!0,ae(e.__[0],e.__N[0])||(o=!0))}),i){var s=i.call(this,e,t,n);return a?s||o:s}return!a||o}}return r.__}function ge(e,t){var n=V(F++,3);!B.__s&&Te(n.__H,t)&&(n.__P=!0,n.__=e,n.u=t,I.__H.__h.push(n))}function _e(e,t){var n=V(F++,4);!B.__s&&Te(n.__H,t)&&(n.__P=!1,n.__=e,n.u=t,I.__h.push(n))}function ve(e){return z=5,H(function(){return{current:e}},[])}function H(e,t){var n=V(F++,7);return Te(n.__H,t)&&(n.__=e(),n.__H=t),n.__}function ye(e,t){return z=8,H(function(){return e},t)}function be(){var e;do{for(;e=se.shift();)try{U(e)}catch(t){B.__e(t,{__:(e=e.__P)&&e.__v})}for(;e=oe.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(U),t.__h.some(we),t.__h=[]}catch(n){t.__h=[],B.__e(n,e.__v)}}}while(se.length)}B.__b=function(e){I=null,ce&&ce(e)},B.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),pe&&pe(e,t)},B.__r=function(e){le&&le(e),F=0;var t=(I=e.__c).__H;t&&(L==I?I.__h=[]:(t.__h.some(U),t.__h.some(we),F=0),t.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})),L=I},B.diffed=function(e){ue&&ue(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&Ce(oe.push(t)),t.__H.__.some(function(e){e.u&&(e.__H=e.u)})),L=I=null},B.__c=function(e,t){t.some(function(e){try{e.__h.some(U),e.__h=e.__h.filter(function(e){return!e.__||we(e)})}catch(n){t.some(function(e){e.__h&&=[]}),t=[],B.__e(n,e.__v)}}),de&&de(e,t)},B.unmount=function(e){fe&&fe(e);var t,n,r=e.__c;r&&r.__H&&(r.__H.__.some(function(r){try{if(r.__P&&r.__c){if(n===void 0){for(n=e.__;n&&(!n.__c||!n.__c.__P);)n=n.__;n&&=n.__c}r.__P=n,Ce(se.push(r))}else U(r)}catch(e){t=e}}),r.__H=void 0,t&&B.__e(t,r.__v))};var xe=typeof requestAnimationFrame==`function`;function Se(e){var t,n=function(){clearTimeout(r),xe&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);xe&&(t=requestAnimationFrame(n))}function Ce(e){e!=1&&R==B.requestAnimationFrame||((R=B.requestAnimationFrame)||Se)(be)}function U(e){var t=I,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),I=t}function we(e){var t=I;e.__c=e.__(),I=t}function Te(e,t){return!e||e.length!=t.length||t.some(function(t,n){return!ae(t,e[n])})}function Ee(e,t){return typeof t==`function`?t(e):t}var De=Symbol.for(`preact-signals`);function Oe(){if(q>1)q--;else{var e,t=!1;for((function(){var e=Pe;for(Pe=void 0;e!==void 0;){var t=e.S;if(t.v===e.v)for(var n=t.t;n!==void 0;n=n.x)n.i===e.i&&(n.i=t.i);e=e.o}})();K!==void 0;){var n=K;for(K=void 0,je++;n!==void 0;){var r=n.u;if(n.u=void 0,n.f&=-3,!(8&n.f)&&Re(n))try{n.c()}catch(n){t||=(e=n,!0)}n=r}}if(je=0,q--,t)throw e}}function ke(e){if(q>0)return e();Ne=++Me,q++;try{return e()}finally{Oe()}}var W,G=void 0;function Ae(e){var t=G,n=W;G=void 0,W=void 0;try{return e()}finally{G=t,W=n}}var K=void 0,q=0,je=0,Me=0,Ne=0,Pe=void 0,Fe=0;function Ie(e){if(G!==void 0){var t=e.n;if(t===void 0||t.t!==G)return t={i:0,S:e,p:G.s,n:void 0,t:G,e:void 0,x:void 0,r:t},G.s!==void 0&&(G.s.n=t),G.s=t,e.n=t,32&G.f&&e.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=G.s,t.n=void 0,G.s.n=t,G.s=t),t}}function J(e,t){this.v=e,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=t?.watched,this.Z=t?.unwatched,this.name=t?.name}J.prototype.brand=De,J.prototype.h=function(){return!0},J.prototype.S=function(e){var t=this,n=this.t;n!==e&&e.e===void 0&&(e.x=n,this.t=e,n===void 0?Ae(function(){var e;(e=t.W)==null||e.call(t)}):n.e=e)},J.prototype.U=function(e){var t=this;if(this.t!==void 0){var n=e.e,r=e.x;n!==void 0&&(n.x=r,e.e=void 0),r!==void 0&&(r.e=n,e.x=void 0),e===this.t&&(this.t=r,r===void 0&&Ae(function(){var e;(e=t.Z)==null||e.call(t)}))}},J.prototype.subscribe=function(e){var t=this;return Z(function(){var n=t.value;Ae(function(){return e(n)})},{name:`sub`})},J.prototype.valueOf=function(){return this.value},J.prototype.toString=function(){return this.value+``},J.prototype.toJSON=function(){return this.value},J.prototype.peek=function(){var e=this;return Ae(function(){return e.value})},Object.defineProperty(J.prototype,"value",{get:function(){var e=Ie(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(je>100)throw Error(`Cycle detected`);(function(e){q!==0&&je===0&&e.l!==Ne&&(e.l=Ne,Pe={S:e,v:e.v,i:e.i,o:Pe})})(this),this.v=e,this.i++,Fe++,q++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N()}finally{Oe()}}}});function Le(e,t){return new J(e,t)}function Re(e){for(var t=e.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function ze(e){for(var t=e.s;t!==void 0;t=t.n){var n=t.S.n;if(n!==void 0&&(t.r=n),t.S.n=t,t.i=-1,t.n===void 0){e.s=t;break}}}function Be(e){for(var t=e.s,n=void 0;t!==void 0;){var r=t.p;t.i===-1?(t.S.U(t),r!==void 0&&(r.n=t.n),t.n!==void 0&&(t.n.p=r)):n=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=r}e.s=n}function Y(e,t){J.call(this,void 0,t),this.x=e,this.s=void 0,this.g=Fe-1,this.f=4}Y.prototype=new J,Y.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Fe))return!0;if(this.g=Fe,this.f|=1,this.i>0&&!Re(this))return this.f&=-2,!0;var e=G;try{ze(this),G=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++)}catch(e){this.v=e,this.f|=16,this.i++}return G=e,Be(this),this.f&=-2,!0},Y.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t)}J.prototype.S.call(this,e)},Y.prototype.U=function(e){if(this.t!==void 0&&(J.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t)}},Y.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}},Object.defineProperty(Y.prototype,"value",{get:function(){if(1&this.f)throw Error(`Cycle detected`);var e=Ie(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function Ve(e,t){return new Y(e,t)}function He(e){var t=e.m;if(e.m=void 0,typeof t==`function`){q++;var n=G;G=void 0;try{t()}catch(t){throw e.f&=-2,e.f|=8,Ue(e),t}finally{G=n,Oe()}}}function Ue(e){for(var t=e.s;t!==void 0;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,He(e)}function We(e){if(G!==this)throw Error(`Out-of-order effect`);Be(this),G=e,this.f&=-2,8&this.f&&Ue(this),Oe()}function X(e,t){this.x=e,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=t?.name,W&&W.push(this)}X.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t==`function`&&(this.m=t)}finally{e()}},X.prototype.S=function(){if(1&this.f)throw Error(`Cycle detected`);this.f|=1,this.f&=-9,He(this),ze(this),q++;var e=G;return G=this,We.bind(this,e)},X.prototype.N=function(){2&this.f||(this.f|=2,this.u=K,K=this)},X.prototype.d=function(){this.f|=8,1&this.f||Ue(this)},X.prototype.dispose=function(){this.d()};function Z(e,t){var n=new X(e,t);try{n.c()}catch(e){throw n.d(),e}var r=n.d.bind(n);return r[Symbol.dispose]=r,r}var Ge,Ke,qe=typeof window<`u`&&!!window.__PREACT_SIGNALS_DEVTOOLS__,Je=[];Z(function(){Ge=this.N})();function Q(t,n){e[t]=n.bind(null,e[t]||function(){})}function $(e){if(Ke){var t=Ke;Ke=void 0,t()}Ke=e&&e.S()}function Ye(e){var t=this,r=e.data,i=Ze(r);i.name=`ReactiveDom`,i.value=r;var a=H(function(){for(var e=t,r=t.__v;r=r.__;)if(r.__c){r.__c.__$f|=4;break}var a=Ve(function(){var e=i.value.value;return e===0?0:!0===e?``:e||``}),o=Ve(function(){return!Array.isArray(a.value)&&!n(a.value)}),s=Z(function(){if(this.N=et,o.value){var t=a.value;e.__v&&e.__v.__e&&e.__v.__e.nodeType===3&&(e.__v.__e.data=t)}}),c=t.__$u.d;return t.__$u.d=function(){s(),c.call(this)},[o,a]},[]),o=a[0],s=a[1];return o.value?s.peek():s.value}Ye.displayName=`ReactiveTextNode`,Object.defineProperties(J.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:Ye},props:{configurable:!0,get:function(){var e=this;return{data:{get value(){return e.value}}}}},__b:{configurable:!0,value:1}}),Q(`__b`,function(e,t){if($(),typeof t.type==`string`){var n,r=t.props;for(var i in r)if(i!==`children`){var a=r[i];a instanceof J&&(n||(t.__np=n={}),n[i]=a,r[i]=a.peek())}}e(t)}),Q(`__r`,function(e,t){if(e(t),t.type!==y){$();var n,r=t.__c;r&&(r.__$f&=-2,(n=r.__$u)===void 0&&(r.__$u=n=function(e,t){var n;return Z(function(){n=this},{name:t}),n.c=e,n}(function(e){return function(){var t;qe&&((t=this.y)==null||t.call(this)),e.__$f|=1,e.setState({})}}(r),typeof t.type==`function`?t.type.displayName||t.type.name:``))),$(n)}}),Q(`__e`,function(e,t,n,r){$(),e(t,n,r)}),Q(`diffed`,function(e,t){$();var n;if(typeof t.type==`string`&&(n=t.__e)){var r=t.__np,i=t.props,a=n.U;if(a)for(var o in a){var s=a[o];s===void 0||r&&o in r||(s.d(),a[o]=void 0)}if(r)for(var c in a||(a={},n.U=a),r){var l=a[c],u=r[c];l===void 0?(l=Xe(n,c,u,i),a[c]=l):l.o(u,i)}}e(t)});function Xe(e,t,n,r){var i=t in e&&e.ownerSVGElement===void 0,a=Le(n);return{o:function(e,t){a.value=e,r=t},d:Z(function(){this.N=et;var n=a.value.value;r[t]!==n&&(r[t]=n,i?e[t]=n:n!=null&&(!1!==n||t[4]===`-`)?e.setAttribute(t,n):e.removeAttribute(t))})}}Q(`unmount`,function(e,t){if(typeof t.type==`string`){var n=t.__e;if(n){var r=n.U;if(r)for(var i in n.U=void 0,r){var a=r[i];a&&a.d()}}var o=t.__np;if(o){var s=t.props;for(var c in o)s[c]=o[c]}t.__np=void 0}else{var l=t.__c;if(l){l.__$f|=8;var u=l.__$u;u&&(l.__$u=void 0,u.d())}}e(t)}),Q(`__h`,function(e,t,n,r){r<3&&(t.__$f|=2),e(t,n,r)}),b.prototype.shouldComponentUpdate=function(e,t){if(this.__R)return!0;var n=this.__$u,r=n&&n.s!==void 0;for(var i in t)return!0;if(this.__f||typeof this.u==`boolean`&&!0===this.u){var a=2&this.__$f;if(!(r||a||4&this.__$f)||1&this.__$f)return!0}else if(!(r||4&this.__$f)||3&this.__$f)return!0;for(var o in e)if(o!==`__source`&&e[o]!==this.props[o])return!0;for(var s in this.props)if(!(s in e))return!0;return!1};function Ze(e,t){return H(function(){return Le(e,t)},[])}var Qe=function(e){queueMicrotask(function(){queueMicrotask(e)})};function $e(){ke(function(){for(var e;e=Je.shift();)Ge.call(e)})}function et(){Je.push(this)===1&&(e.requestAnimationFrame||Qe)($e)}var tt=`specbook:theme`;function nt(){try{let e=localStorage.getItem(tt);return e===`light`||e===`dark`?e:`auto`}catch{return`auto`}}var rt=Le(nt());function it(e=rt.value){typeof document<`u`&&(e===`auto`?delete document.documentElement.dataset.theme:document.documentElement.dataset.theme=e)}var at={auto:`light`,light:`dark`,dark:`auto`};function ot(){let e=at[rt.value];rt.value=e;try{e===`auto`?localStorage.removeItem(tt):localStorage.setItem(tt,e)}catch{}it(e)}var st=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%20role='img'%20aria-label='Specbook'%3e%3cdefs%3e%3clinearGradient%20id='g'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%238b5cf6'/%3e%3cstop%20offset='1'%20stop-color='%235b21b6'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20width='64'%20height='64'%20rx='15'%20fill='url(%23g)'/%3e%3cpath%20d='M32%2019.5c-4.5-3-10-3.6-15.5-2.4v28.4c5.500-1.200%2011-.6%2015.500%202.400%204.500-3%2010-3.600%2015.500-2.400V17.100c-5.500-1.200-11-.6-15.500%202.400z'%20fill='%23fff'%20fill-opacity='.95'/%3e%3cpath%20d='M32%2019.500v28.400'%20stroke='%236d28d9'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20d='M38%2027.500v9.500l7.500-4.750z'%20fill='%236d28d9'/%3e%3cpath%20d='M26.500%2028.500l-4%203.750%204%203.750'%20fill='none'%20stroke='%236d28d9'%20stroke-width='2.200'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,ct=0;Array.isArray;function lt(t,n,r,i,a,o){n||={};var s,c,l=n;if(`ref`in l&&typeof t!=`function`)for(c in l={},n)c==`ref`?s=n[c]:l[c]=n[c];var u={type:t,props:l,key:r,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--ct,__i:-1,__u:0};return(a||o)&&(u.__source=a,u.__self=o),e.vnode&&e.vnode(u),u}var ut=/^(token|access_token|id_token|refresh_token|key|api[-_]?key|apikey|secret|client_secret|password|passwd|pwd|auth|authorization|signature|sig|jwt|session|sid|code|x-amz-.*|x-goog-.*)$/i,dt=/\.(local|internal|lan|home|corp|intranet|localhost)$/i;function ft(e){let t=e.replace(/^\[|\]$/g,``).toLowerCase();if(t===`localhost`||dt.test(t))return!0;let n=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(t);if(n){let[e,t]=[Number(n[1]),Number(n[2])];return e===0||e===10||e===127||e===169&&t===254||e===172&&t>=16&&t<=31||e===192&&t===168||e===100&&t>=64&&t<=127}return t===`::1`||/^f[cd]/.test(t)||/^fe[89ab]/.test(t)}var pt=e=>encodeURIComponent(e).replace(/%3A/gi,`:`).replace(/%2F/gi,`/`);function mt(e){let t;try{t=new URL(e)}catch{return e}if(t.protocol!==`https:`||!/^(www\.)?github\.com$/i.test(t.hostname))return e;let n=/^\/([^/]+)\/([^/]+)\/(?:blob|raw)\/(.+)$/.exec(t.pathname);return n?`https://raw.githubusercontent.com/${n[1]}/${n[2]}/${n[3]}`:e}function ht(e){if(!e||e.kind===`text`)return{ok:!1,reason:`This document was pasted or opened from a file, so there is no address to link to. Put the file somewhere public (a GitHub raw link or a Gist works) and open that address to get a link.`};let t;try{t=new URL(e.url)}catch{return{ok:!1,reason:`The document address is not a valid link.`}}if(t.protocol!==`https:`&&t.protocol!==`http:`)return{ok:!1,reason:`Only http and https addresses can be linked.`};if(ft(t.hostname))return{ok:!1,reason:`That address is only reachable from your own machine or network, so a link would not work for anyone else.`};if(t.username||t.password)return{ok:!1,reason:`The address contains a login, which a link would publish.`};for(let e of t.searchParams.keys())if(ut.test(e))return{ok:!1,reason:`The address has a "${e}" parameter that looks like a credential, which a link would publish.`};return{ok:!0,spec:t.toString()}}function gt(e,t,n){let r=`${e.origin}${e.pathname}?spec=${pt(t)}${e.hash}`,i=`Exploring ${n} in Specbook`,a=e=>new URLSearchParams(e).toString();return{link:r,title:i,targets:[{id:`x`,label:`X`,href:`https://twitter.com/intent/tweet?${a({text:i,url:r})}`},{id:`reddit`,label:`Reddit`,href:`https://www.reddit.com/submit?${a({url:r,title:i})}`},{id:`hn`,label:`Hacker News`,href:`https://news.ycombinator.com/submitlink?${a({u:r,t:i})}`},{id:`linkedin`,label:`LinkedIn`,href:`https://www.linkedin.com/sharing/share-offsite/?${a({url:r})}`}]}}export{b as _,lt as a,ot as c,ge as d,_e as f,ye as g,me as h,pt as i,rt as l,H as m,gt as n,st as o,ve as p,ht as r,it as s,mt as t,Le as u,P as v,y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.prism-code-editor{background:var(--pce-bg);--_pse:var(--padding-inline,.75em);--_ns:var(--number-spacing,.75em);--padding-left:var(--_pse);--_sp:0px;scroll-padding:var(--_sp);-webkit-user-select:none;user-select:none;isolation:isolate;white-space:pre;line-height:1.4;display:grid;overflow:auto}.show-line-numbers{--padding-left:calc(var(--_pse) + var(--number-width) + var(--_ns));scroll-padding-left:calc(var(--padding-left) + var(--_sp));counter-reset:line;grid:1fr/0 1fr}.pce-focus{--_sp:var(--pce-scroll-padding,2ch)}.pce-wrapper{pointer-events:none;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;margin:.5em 0;position:relative}.pce-textarea{all:unset;box-sizing:border-box;color:#0000;-webkit-user-select:auto;user-select:auto;pointer-events:auto;width:100%;height:100%;caret-color:var(--pce-cursor);overflow:hidden}.pce-textarea::selection{color:#0000}.pce-wrapper ::selection{background:var(--pce-selection)}.pce-no-selection textarea:focus{z-index:1}.pce-line,.pce-textarea{padding:0 var(--_pse) 0 var(--padding-left);position:relative}.show-line-numbers .pce-line:before{counter-increment:line;content:counter(line);margin:0 0 0 calc(-1 * var(--padding-left));padding:0 var(--_ns) 0 0;box-sizing:border-box;color:var(--pce-line-number);text-align:end;display:inline-block}.show-line-numbers:before{content:"";background:inherit;pointer-events:none}.show-line-numbers:before,.pce-line:before{z-index:2;height:100%;width:var(--padding-left);position:sticky;left:0}.pce-wrap .pce-line:before{margin:0;position:absolute}.pce-overlays,.pce-overlays>*,pre.pce-guides .pce-line:after,.pce-no-selection .active-line:after,.active-line.match-highlight:after{content:"";position:absolute;inset:0}.show-line-numbers .pce-line:after{left:var(--padding-left)}.active-line:after{border:var(--pce-border-highlight);background:var(--pce-bg-highlight);z-index:-2}.pce-wrap{white-space:pre-wrap;white-space:break-spaces;word-break:break-word}.selection-matches span{background:var(--pce-selection-match)}.pce-nowrap .active-bracket{display:inline-block}.pce-ac-wrapper button{all:unset;cursor:pointer}.pce-ac-top{grid:"d"minmax(3em,1fr)"t"minmax(auto,max-content)/auto}.pce-ac-bottom{grid:"t"minmax(auto,max-content)"d"minmax(3em,1fr)/auto}.pce-ac-bottom-end{grid:"t d"".d"3em/auto auto}.pce-ac-bottom-start{grid:"d t""d."3em/auto auto}.pce-ac-top-end{grid:".d"3em"t d"/auto auto}.pce-ac-top-start{grid:"d."3em"d t"/auto auto}.pce-ac-content{padding:.25em .3em}.pce-ac-docs,.pce-ac-docs pre{white-space:pre-wrap;white-space:break-spaces;word-break:break-word}.pce-ac-docs pre,.pce-ac-docs code{font:inherit;margin:0}.pce-ac-top .pce-ac-docs{margin-block:0 -1px}.pce-ac-bottom .pce-ac-docs{margin-block:-1px 0}.pce-ac-top-start .pce-ac-docs,.pce-ac-bottom-start .pce-ac-docs{inset-inline-end:-1px}.pce-ac-top-end .pce-ac-docs,.pce-ac-bottom-end .pce-ac-docs{margin-inline:-1px 0}.pce-ac-top-start .pce-ac-docs,.pce-ac-bottom-start .pce-ac-docs,.pce-ac-top-end .pce-ac-docs,.pce-ac-bottom-end .pce-ac-docs{width:20em;max-height:100%;position:absolute}.pce-ac-top-start .pce-ac-docs,.pce-ac-top-end .pce-ac-docs{bottom:0}button.pce-ac-toggle{place-items:center;width:1.26em;height:1.4em;display:grid;position:absolute;inset-inline-end:.2em}.pce-ac-toggle:after{content:"";clip-path:polygon(50% 28.96%,0% 63.96%,10.1% 71.04%,50% 43.11%,89.9% 71.04%,100% 63.96%);width:.7em;height:1em;transform:rotate(90deg)}button.pce-ac-close{float:inline-end;place-items:center;width:1.3em;height:1.3em;display:grid}.pce-ac-close:after{content:"";clip-path:polygon(50% 44.34%,0% 74.34%,9.43% 80%,9.43% 20%,0% 25.66%,50% 55.66%,100% 25.66%,90.57% 20%,50% 44.34%,9.43% 20%,9.43% 80%,50% 55.66%,90.57% 80%,100% 74.34%);background:currentColor;width:.6em;height:1em}.pce-ac-wrapper{pointer-events:auto;display:grid;position:sticky;left:.5em;right:.5em}.pce-ac-wrapper>div{border:1px solid var(--pce-widget-border);background:var(--pce-widget-bg);box-sizing:border-box;border-radius:.2em;overflow:auto}.pce-ac-docs{-webkit-user-select:text;user-select:text;outline:0;grid-area:d;max-height:min(100% + 1px,17em)}.pce-ac-tooltip{white-space:pre;grid-area:t;height:100%;max-height:17em}.pce-ac-tooltip>ul{box-sizing:border-box;padding:0;overflow:hidden}.pce-ac-row{cursor:pointer;align-items:center;gap:.5em;height:1.4em;padding:0 .2em;display:flex;position:relative}.pce-ac-label span{color:var(--pce-ac-match,#52b1ff)}.pce-ac-label{flex-grow:1}.pce-ac-label,.pce-ac-details span{text-overflow:ellipsis;overflow-x:hidden}.pce-ac-details{opacity:.75;flex-shrink:4;max-width:70%;font-size:90%;display:flex}.pce-ac-details:has(:empty){display:none}.pce-ac-row:hover:has(button) .pce-ac-details span{width:calc(100% - 1.4em)}.pce-ac-row:hover:has(button):has(.pce-ac-details :empty){padding-inline:.2em 1.46em}.pce-ac-row:hover .pce-ac-toggle:after{background:currentColor}@media (hover:hover){.pce-ac-row:hover{background:#7772}}.pce-ac-row[aria-selected]{color:var(--pce-widget-color-active);background:#1094ff36}.pce-tabstops span{background:var(--pce-tabstop,#7c7c7c4d)}.pce-tabstops :empty{margin:0 -1px;padding:0 1px}.pce-ac-icon{flex-shrink:0;align-items:center;margin-right:-.25em;display:flex}.pce-ac-icon:before{content:"";width:16px;height:16px;-webkit-mask:no-repeat var(--mask);-webkit-mask:no-repeat var(--mask);mask:no-repeat var(--mask);background:currentColor}.pce-ac-row[aria-selected] .pce-ac-icon:before{color:var(--pce-widget-color-active)}.pce-ac-icon-namespace{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" d=\"m6 2.5a2 2 0 00-2 2V6a2 2 0 01-2 2 2 2 0 012 2v1.5a2 2 0 002 2m4-11a2 2 0 012 2V6a2 2 0 002 2 2 2 0 00-2 2v1.5a2 2 0 01-2 2\"/></svg>")}.pce-ac-icon-unit{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" stroke-linejoin=\"bevel\" d=\"m3.5 1.5h9v13h-9zm.5 2h4m-4 3h2m-2 3h4m-4 3h2\"/></svg>")}.pce-ac-icon-parameter{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" stroke=\"red\" fill=\"none\"><path stroke-linejoin=\"bevel\" d=\"m3.3 6.2L1.5 8l1.8 1.8m9.4 0 1.8-1.8-1.8-1.8\"/><path d=\"m5.5 6V4.5h5V6M8 5v6.5h1.5-3m.5 0a1 1 0 001-1 1 1 0 001 1m1.5-6a1 1 0 00-1-1m-3 0a1 1 0 00-1 1\"/></svg>")}.pce-ac-icon-snippet{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" stroke-linejoin=\"bevel\" d=\"m2.5 13V1.5h12V13M2 14.5h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1\"/></svg>")}.pce-ac-icon-enum{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m2 7h6l1 1v5l-1 1H2l-1-1V8zv6h6V8H2zm1 2h4v1H3zm0 2h4v1H3zm4-5V3l1-1h6l1 1v5l-1 1h-4V8h4V3H8v3zm2-2h4v1H9zm0 2h4v1H9.41L9 6.59z\"/></svg>")}.pce-ac-icon-interface{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" d=\"m4 8h4.5a3 3 0 016 0 3 3 0 01-6 0\"/><circle cx=\"3\" cy=\"8\" r=\"2\"/></svg>")}.pce-ac-icon-constant{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" stroke-linejoin=\"bevel\" d=\"m1.5 3.5h13v9h-13zm2.5 3h8m0 3H4\"/></svg>")}.pce-ac-icon-class{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" stroke-linejoin=\"bevel\" d=\"m5.5 1.5 2 2-4 4-2-2 4-4zm0 4v7h5.5m-.5.5 2.5-2.5 1.5 1.5-2.5 2.5zm-5-5.5h5.5m-.5.5 2.5-2.5 1.5 1.5-2.5 2.5z\"/></svg>")}.pce-ac-icon-property{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" d=\"m7.24 6.86a3.8 3.8 0 015.02-5.02l-2.8 2.8 1.9 1.9 2.8-2.8a3.8 3.8 0 01-5.02 5.02l-5.35 5.35a.95.95 0 01-1.9-1.9z\"/></svg>")}.pce-ac-icon-variable{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" stroke-linejoin=\"bevel\" d=\"m4 4.5H1.5v8H4m8 0h2.5v-8H12m-3 1L11.5 7v2.5l-4.5 2L4.5 10V7.5zm-4.5 2L7 9v2.5M7 9l4.5-2\"/></svg>")}.pce-ac-icon-function{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" stroke-linejoin=\"bevel\" d=\"m8 1.25l5.5 3.3v6.6l-5.5 3.3-5.5-3.3v-6.6zM2.5 4.85l5.5 3v6.5m0-6.5l5.5-3\"/></svg>")}.pce-ac-icon-keyword{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" d=\"m1.5 2.5h6v2h-6zm8.5 1h5m-14 4h11m-11 3h6m3 0h5m-3 3h2m-13 0h9\"/></svg>")}.pce-ac-icon-text{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" d=\"m1.55 7a1.2 1.2 0 011.2-.8h.6a1.2 1.2 0 011.2 1.2v3.72m0-3.09-2 .3a1.2 1.2 0 000 2.39h.1a1.9 1.9 0 001.9-2m1.7-5.2v7.6m1.85-.4a1.85 2.3 0 010-4.6 1.85 2.3 0 010 4.6m6.6-.8a1.85 2.3 0 110-3\"/></svg>")}.pce-ac-icon-event{--mask:url("data:image/svg+xml,<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke=\"red\" fill=\"none\" stroke-linejoin=\"bevel\" d=\"m3.9 14.1 2.5-4.6H3.55l3.9-8h4.53l-3.29 5h3.97l-7.97 8.17\"/></svg>")}@layer reset{*,:before,:after{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}}@layer tokens{:root,:host{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--sb-bg:#f8fafc;--sb-surface:#fff;--sb-surface-raised:#f1f5f9;--sb-border:#e2e8f0;--sb-text:#0f172a;--sb-text-muted:#64748b;--sb-accent:#2563eb;--sb-accent-hover:#1d4ed8;--sb-text-on-accent:#fff;--sb-focus-ring:#93c5fd;--sb-info:#0369a1;--sb-success:#15803d;--sb-success-subtle:#dcfce7;--sb-danger:#b91c1c;--sb-text-on-danger:#fff;--sb-danger-subtle:#fee2e2;--sb-warning:#b45309;--sb-warning-subtle:#fef3c7;--sb-method-get:#0369a1;--sb-method-post:#15803d;--sb-method-put:#b45309;--sb-method-patch:#7c3aed;--sb-method-delete:#b91c1c;--sb-code-bg:#f8fafc;--sb-code-line:#e8eefc;--sb-code-key:#0369a1;--sb-code-string:#15803d;--sb-code-number:#b45309;--sb-code-literal:#7c3aed;--sb-code-keyword:#2563eb;--sb-code-comment:#64748b;--sb-code-punct:#475569;--sb-font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sb-font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sb-radius-control:6px;--sb-radius-card:10px;--sb-space-1:4px;--sb-space-2:8px;--sb-space-3:12px;--sb-space-4:16px;--sb-space-6:24px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]),:host(:not([data-theme=light])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--sb-bg:#0b1020;--sb-surface:#111827;--sb-surface-raised:#1e293b;--sb-border:#243049;--sb-text:#e5e7eb;--sb-text-muted:#94a3b8;--sb-accent:#3b82f6;--sb-accent-hover:#60a5fa;--sb-text-on-accent:#0b1020;--sb-focus-ring:#1d4ed8;--sb-success:#4ade80;--sb-success-subtle:#052e16;--sb-danger:#f87171;--sb-text-on-danger:#0b1020;--sb-danger-subtle:#450a0a;--sb-warning:#fbbf24;--sb-warning-subtle:#422006;--sb-method-get:#38bdf8;--sb-method-post:#4ade80;--sb-method-put:#fbbf24;--sb-method-patch:#a78bfa;--sb-method-delete:#f87171;--sb-code-bg:#0f172a;--sb-code-line:#1e2a4a;--sb-code-key:#38bdf8;--sb-code-string:#4ade80;--sb-code-number:#fbbf24;--sb-code-literal:#a78bfa;--sb-code-keyword:#60a5fa;--sb-code-comment:#94a3b8;--sb-code-punct:#94a3b8}}:root[data-theme=dark],:host([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--sb-bg:#0b1020;--sb-surface:#111827;--sb-surface-raised:#1e293b;--sb-border:#243049;--sb-text:#e5e7eb;--sb-text-muted:#94a3b8;--sb-accent:#3b82f6;--sb-accent-hover:#60a5fa;--sb-text-on-accent:#0b1020;--sb-focus-ring:#1d4ed8;--sb-success:#4ade80;--sb-success-subtle:#052e16;--sb-danger:#f87171;--sb-text-on-danger:#0b1020;--sb-danger-subtle:#450a0a;--sb-warning:#fbbf24;--sb-warning-subtle:#422006;--sb-method-get:#38bdf8;--sb-method-post:#4ade80;--sb-method-put:#fbbf24;--sb-method-patch:#a78bfa;--sb-method-delete:#f87171;--sb-code-bg:#0f172a;--sb-code-line:#1e2a4a;--sb-code-key:#38bdf8;--sb-code-string:#4ade80;--sb-code-number:#fbbf24;--sb-code-literal:#a78bfa;--sb-code-keyword:#60a5fa;--sb-code-comment:#94a3b8;--sb-code-punct:#94a3b8}}@layer base{html,body,#app{height:100%}body{background:var(--sb-bg);color:var(--sb-text);font:14px / 1.5 var(--sb-font-sans)}code,pre,kbd{font-family:var(--sb-font-mono);font-size:12.5px}kbd{border:1px solid var(--sb-border);background:var(--sb-surface-raised);color:var(--sb-text-muted);border-radius:4px;padding:1px 6px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.01em;font-size:22px;font-weight:650}h2{letter-spacing:.04em;text-transform:uppercase;color:var(--sb-text-muted);font-size:13px;font-weight:600}html,body{overscroll-behavior:none}:focus-visible{outline:2px solid var(--sb-focus-ring);outline-offset:1px}}@layer components{.app{flex-direction:column;height:100%;display:flex}@supports (height:100dvh){.app{height:100dvh}}.header{align-items:center;gap:var(--sb-space-4);height:var(--sb-header-h,53px);padding:8px var(--sb-space-4);background:var(--sb-surface);border-bottom:1px solid var(--sb-border);flex-wrap:wrap;flex:none;display:flex}.brand{letter-spacing:-.01em;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.spacer{flex:1}.row{gap:var(--sb-space-3);flex-wrap:wrap;align-items:center;display:flex}.muted{color:var(--sb-text-muted)}.count{opacity:.7;margin-left:4px;font-weight:400}.app{--sb-list-w:clamp(320px, 28vw, 440px)}.layout{grid-template-columns:var(--sb-list-w) minmax(0, 1fr);flex:1;min-height:0;display:grid}.list-col,.stage,.panel-body,.panel-main.scroll,.tab-pane,.seq-left{scrollbar-width:thin;scrollbar-color:var(--sb-border) transparent}.list-col{scrollbar-gutter:stable;overscroll-behavior:contain;min-height:0;padding:var(--sb-space-3);background:var(--sb-surface);border-right:1px solid var(--sb-border);overflow:auto}.stage{min-height:0;padding:var(--sb-space-6) 32px 96px;overflow:auto}@media (max-width:900px){.layout{grid-template-columns:minmax(0,1fr)}.stage,.layout[data-view=splash] .list-col{display:none}.layout[data-view=splash] .stage{padding:var(--sb-space-6) var(--sb-space-4);justify-content:center;align-items:center;display:flex}.layout[data-view=splash] .overview{min-height:0;padding-bottom:6vh}}.overview .overview-browse{display:none}@media (max-width:820px){.overview .overview-browse{min-height:48px;padding-block:0;padding-inline:var(--sb-space-6);text-align:center;justify-content:center;align-items:center;font-size:16px;line-height:1.2;display:inline-flex}.overview-hint,.overview-keys{display:none}}.header-env{display:none}.header-controls{display:contents}.header .menu-btn{width:36px;height:36px;font-size:20px;line-height:1;display:none}.theme-toggle{border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);width:32px;height:32px;color:var(--sb-text)}.brand-logo{object-fit:contain;width:auto;max-width:120px;height:24px}.seed-input{width:80px}.palette-btn{justify-content:space-between;align-items:center;gap:var(--sb-space-6);border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-bg);min-width:min(360px,40vw);color:var(--sb-text-muted);cursor:pointer;padding:6px 10px;display:flex}.palette-btn:hover{border-color:var(--sb-text-muted)}.palette-backdrop{z-index:20;background:#0f172a66;justify-content:center;padding-top:14vh;display:flex;position:fixed;inset:0}.palette-dismiss{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.palette{background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:var(--sb-radius-card);flex-direction:column;width:min(620px,92vw);max-height:60vh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000040}.palette input{border:0;border-bottom:1px solid var(--sb-border);border-radius:0;outline:none;padding:14px 16px;font-size:15px}.newenv-backdrop{z-index:60}.newenv{align-self:flex-start}.newenv form{gap:var(--sb-space-2);padding:var(--sb-space-4);flex-direction:column;display:flex}.newenv h2{margin:0;font-size:15px}.newenv label{flex-direction:column;gap:4px;display:flex}.newenv input,.newenv select{border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);padding:8px 10px;font-size:16px}.palette ul{margin:0;padding:6px;list-style:none;overflow:auto}.palette li button{justify-content:space-between;gap:var(--sb-space-3);border-radius:var(--sb-radius-control);text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:8px 10px;display:flex}.palette li button.sel{background:var(--sb-surface-raised)}.pad{padding:12px}.states{gap:var(--sb-space-2);margin-bottom:var(--sb-space-4);flex-wrap:wrap;align-items:center;display:flex}.state{border:1px solid var(--sb-border);background:var(--sb-surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.state span{color:var(--sb-text-muted)}table.headers{border-collapse:collapse;width:100%;font-size:12px}table.headers th{text-align:left;font-family:var(--sb-font-mono);color:var(--sb-text-muted);vertical-align:top;padding:3px 12px 3px 0}table.headers td{word-break:break-all}.state.s2{border-color:var(--sb-success)}.state.s4,.state.s5{border-color:var(--sb-warning)}.state.forced{background:var(--sb-accent);border-color:var(--sb-accent);color:var(--sb-text-on-accent)}.state.forced span{color:inherit}.state.last:before{content:"●";color:var(--sb-success);font-size:8px}.tabs{border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);display:inline-flex;overflow:hidden}.tabs .tab{cursor:pointer;background:0 0;border:0;padding:3px 12px}.tabs .tab.on{background:var(--sb-surface-raised);font-weight:600}.lock{margin-bottom:var(--sb-space-3)}.state-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.state-badge.s2{background:var(--sb-success-subtle);color:var(--sb-success)}.state-badge.s3{background:var(--sb-surface-raised)}.state-badge.s4,.state-badge.s5{background:var(--sb-warning-subtle);color:var(--sb-warning)}.conf{font-size:12px;font-weight:600}.conf.ok{color:var(--sb-success)}.conf.warn{color:var(--sb-warning)}.conf.none{color:var(--sb-text-muted);font-weight:400}.checks{margin:var(--sb-space-3) 0 0;padding:var(--sb-space-3) 0 0;border-top:1px solid var(--sb-border);list-style:none}.checks .ok{color:var(--sb-text-muted)}.checks .ok .tick{color:var(--sb-success)}.checks .bad,.error-text{color:var(--sb-danger)}.journey{margin:0;padding:0;list-style:none}.jstep{gap:var(--sb-space-3);padding-bottom:var(--sb-space-4);grid-template-columns:28px minmax(0,1fr);display:grid;position:relative}.jstep:before{content:"";background:var(--sb-border);width:2px;position:absolute;top:28px;bottom:0;left:13px}.jstep:last-child:before{display:none}.jmark{background:var(--sb-surface-raised);border:2px solid var(--sb-border);border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.jstep.pass .jmark{background:var(--sb-success-subtle);border-color:var(--sb-success);color:var(--sb-success)}.jstep.fail .jmark,.jstep.error .jmark{background:var(--sb-danger-subtle);border-color:var(--sb-danger);color:var(--sb-danger)}.jstep.paused .jmark,.jstep.running .jmark{border-color:var(--sb-accent);color:var(--sb-accent)}.jstep.skipped{opacity:.6}.jhead{gap:var(--sb-space-3);text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;padding:2px 0;display:flex}.jhead:disabled{cursor:default}.jname{font-weight:600}.cap{background:var(--sb-surface-raised);color:var(--sb-text-muted);border-radius:999px;padding:1px 8px;font-size:12px}.cap b{color:var(--sb-text);font-weight:600}.cap em{opacity:.8;font-style:normal}.cap.use{background:var(--sb-warning-subtle);color:var(--sb-warning)}.cap.make{background:var(--sb-success-subtle);color:var(--sb-success)}.pause{margin-top:var(--sb-space-3);padding:var(--sb-space-3);border-left:3px solid var(--sb-accent);background:var(--sb-bg);border-radius:var(--sb-radius-control)}.btn{border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-surface);cursor:pointer;padding:6px 14px}.btn:hover{background:var(--sb-surface-raised)}.btn.primary{background:var(--sb-accent);border-color:var(--sb-accent);color:var(--sb-text-on-accent);font-weight:600}.btn.primary:hover{background:var(--sb-accent-hover)}.btn:disabled{opacity:.55;cursor:default}input[type=text],input[type=number],input[type=date],select,textarea.val{border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-surface);padding:5px 8px}.field{margin-bottom:var(--sb-space-3);gap:4px;display:grid}.field>.label{font-size:12px;font-weight:600}.nested{border-left:2px solid var(--sb-border);padding-left:var(--sb-space-3)}.method{font:700 11px var(--sb-font-mono);background:var(--sb-surface-raised);border-radius:4px;padding:1px 6px}.method.GET{color:var(--sb-method-get)}.method.POST{color:var(--sb-method-post)}.method.PUT{color:var(--sb-method-put)}.method.PATCH{color:var(--sb-method-patch)}.method.DELETE{color:var(--sb-method-delete)}.badge{border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.badge.pass{background:var(--sb-success-subtle);color:var(--sb-success)}.badge.fail,.badge.error{background:var(--sb-danger-subtle);color:var(--sb-danger)}@media (max-width:900px){.header{gap:var(--sb-space-3);flex-wrap:nowrap;position:relative}.brand{flex:0 auto;min-width:0}.brand-logo{flex:none}.brand-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-btn{flex:1;min-width:0}.palette-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-btn kbd,.header>.spacer{display:none}.header .menu-btn{flex:none;justify-content:center;align-items:center;display:inline-flex}.header-env{flex:none;display:inline-flex}.header-controls{top:100%;right:var(--sb-space-2);left:var(--sb-space-2);z-index:30;align-items:stretch;gap:var(--sb-space-3);padding:var(--sb-space-4);border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-surface);box-shadow:0 12px 32px color-mix(in srgb, var(--sb-text) 18%, transparent);flex-direction:column;display:none;position:absolute}.header-controls.open{display:flex}.header-controls .row{flex-wrap:nowrap;justify-content:space-between}.header-controls .row>select{flex:0 0 56%;width:56%;min-width:0}.header-controls .row>.row{flex:100%}.header-controls .row.muted{flex-wrap:wrap}.header-controls .seed-input{flex:0 0 56%;margin-left:auto}.header-controls .envmenu,.header-controls .envmenu-btn{width:100%}.header-controls .envmenu-btn{justify-content:center;align-items:center;gap:var(--sb-space-2);display:flex}.header-controls .gh-label,.header-controls .share-label,.header-controls .envmenu-label{display:inline}.header-controls .gh-star,.header-controls .share>.btn{justify-content:flex-start;width:100%}.list-col{padding:var(--sb-space-2)}}@media (max-width:820px){input,select,textarea{font-size:16px!important}}.share{position:relative}.share-pop{z-index:40;gap:var(--sb-space-3);width:min(360px,90vw);padding:var(--sb-space-3);background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);box-shadow:0 12px 32px color-mix(in srgb, var(--sb-text) 18%, transparent);display:grid;position:absolute;top:calc(100% + 6px);right:0}.share-pop p{margin:0}.share-link{width:100%;min-width:0;font-size:12px}.share-actions{gap:var(--sb-space-2);flex-wrap:wrap;display:flex}.share-targets{gap:var(--sb-space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.share-targets a{color:var(--sb-accent)}@media (max-width:820px){.share-pop{width:auto;position:static}}.powered-by{margin:var(--sb-space-6) 0 0;font-size:12px}.powered-by a{color:var(--sb-text-muted);text-decoration:none}.powered-by a:hover{color:var(--sb-accent);text-decoration:underline}.header{flex-wrap:nowrap}.palette-btn{flex:180px;min-width:120px;max-width:360px}@media (max-width:1360px){.gh-label,.share-label,.envmenu-label{display:none}}.gh-star{color:var(--sb-text)}.share>.btn,.gh-star{white-space:nowrap;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.doc{max-width:900px;margin:0 auto;line-height:1.6}.doc-head{justify-content:space-between;align-items:center;gap:var(--sb-space-4);display:flex}.doc h1{letter-spacing:-.02em;margin:0;font-size:26px}.doc h2{margin:var(--sb-space-6) 0 var(--sb-space-2);text-transform:uppercase;letter-spacing:.06em;color:var(--sb-text-muted);font-size:11px}.doc .endpoint{align-items:center;gap:var(--sb-space-3);margin:var(--sb-space-3) 0 var(--sb-space-4);padding:8px var(--sb-space-3);border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-surface);display:flex}.doc .endpoint .method{font-size:12px}.doc .btn.primary{height:36px;padding:0 18px}.doc-custom blockquote{margin:var(--sb-space-3) 0;padding:var(--sb-space-1) var(--sb-space-3);border-left:3px solid var(--sb-border);color:var(--sb-text-muted)}.doc-custom :is(h1,h2,h3){margin-top:var(--sb-space-4)}.doc-custom pre,.doc code{font-family:var(--sb-font-mono);font-size:12.5px}table.fields{border-collapse:separate;border-spacing:0;border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-surface);width:100%;font-size:13px;overflow:hidden}table.fields th{text-align:left;color:var(--sb-text-muted);letter-spacing:.04em;text-transform:uppercase;background:var(--sb-surface-raised);border-bottom:1px solid var(--sb-border);padding:7px 12px;font-size:11px;font-weight:600}table.fields td{border-bottom:1px solid var(--sb-border);vertical-align:top;padding:8px 12px}table.fields tr:last-child td{border-bottom:0}.statuses,.examples,.steps{padding-left:var(--sb-space-4);margin:0}.statuses{padding:0;list-style:none}.req{color:var(--sb-danger);margin-left:2px}.chip{background:var(--sb-surface-raised);color:var(--sb-text-muted);font:11px var(--sb-font-mono);border-radius:4px;padding:0 6px;display:inline-block}.chip.req{background:var(--sb-danger-subtle);color:var(--sb-danger);margin:0}.chip.warn{background:var(--sb-warning-subtle);color:var(--sb-warning)}.icon{cursor:pointer;color:var(--sb-text-muted);background:0 0;border:0;padding:2px 6px;font-size:16px;line-height:1}.panel-backdrop{background:color-mix(in srgb, var(--sb-text) 35%, transparent);cursor:default;z-index:20;border:0;padding:0;position:fixed;inset:0}.panel{background:var(--sb-surface);border-left:1px solid var(--sb-border);width:75vw;min-width:min(560px,100vw);box-shadow:-12px 0 32px color-mix(in srgb, var(--sb-text) 18%, transparent);z-index:21;flex-direction:column;animation:.16s ease-out panel-in;display:flex;position:fixed;inset:0 0 0 auto}@keyframes panel-in{0%{opacity:0;transform:translate(24px)}}@media (prefers-reduced-motion:reduce){.panel{animation:none}}.panel-head{align-items:center;gap:var(--sb-space-3);padding:var(--sb-space-3) var(--sb-space-4);border-bottom:1px solid var(--sb-border);background:var(--sb-surface);display:flex}.panel-title{min-width:0}.panel-head h2{letter-spacing:0;text-transform:none;color:var(--sb-text);margin:0;font-size:15px;font-weight:650}.panel-head .method{padding:3px 8px;font-size:12px}.panel-body{overscroll-behavior:contain;min-height:0;padding:var(--sb-space-4);background:var(--sb-bg);flex:1;overflow:auto}.panel-body.flush{background:var(--sb-surface);padding:0;overflow:hidden}.section-head{align-items:center;gap:var(--sb-space-3);margin-bottom:var(--sb-space-2);flex-wrap:wrap;display:flex}.section-head h3,.grid h3{margin:0 0 var(--sb-space-2);text-transform:uppercase;letter-spacing:.06em;color:var(--sb-text-muted);font-size:11px}.section-head h3{margin:0}.saved-note{align-items:flex-start;gap:var(--sb-space-2);margin:0 var(--sb-space-4) var(--sb-space-3);padding:var(--sb-space-2) var(--sb-space-3);border-radius:var(--sb-radius-control);background:var(--sb-success-subtle);color:var(--sb-success);font-size:12.5px;display:flex}.saved-note span{flex:1}.saved-note code{word-break:break-all;background:0 0;font-weight:600}.naming{padding:0 var(--sb-space-4) var(--sb-space-3)}.lock{padding:0 var(--sb-space-4) var(--sb-space-3);margin:0}.panel.docked{inset:var(--sb-header-h,53px) 0 0 var(--sb-list-w);width:auto;min-width:0;box-shadow:-8px 0 24px color-mix(in srgb, var(--sb-text) 10%, transparent);animation:none}.stepper{display:inline-flex}.stepper .icon:disabled{opacity:.35;cursor:default}.panel-split{flex-direction:column;height:100%;min-height:0;display:flex}.panel-tabs{background:var(--sb-surface);flex:none}.panel-main{flex:1;min-height:0;overflow:hidden}.panel-main.scroll{overscroll-behavior:contain;padding:var(--sb-space-4) var(--sb-space-6) var(--sb-space-6);overflow:auto}.doc-intro{align-items:center;gap:var(--sb-space-3);margin-bottom:var(--sb-space-4);padding:8px var(--sb-space-3);border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-surface);display:flex}.doc-intro .method{font-size:12px}.catalog{container-type:inline-size}.cat-top{gap:var(--sb-space-3);margin-bottom:var(--sb-space-3);display:grid}.pills{gap:var(--sb-space-2);flex-wrap:wrap;display:flex}.pill{border:1px solid var(--sb-border);background:var(--sb-surface);color:var(--sb-text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-size:13px;display:inline-flex}.pill:hover{border-color:var(--sb-text-muted)}.pill.on{background:var(--sb-accent);border-color:var(--sb-accent);color:var(--sb-text-on-accent)}.pill .count{margin:0;font-size:11px}.cat-filter-wrap{position:relative}.cat-filter{width:100%;padding-right:34px}.cat-hint{pointer-events:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.group-head.static{cursor:default;color:var(--sb-text-muted);letter-spacing:.06em;text-transform:uppercase;padding-left:20px;font-size:11px}.method.flow{color:var(--sb-accent)}.flows{margin-bottom:var(--sb-space-4);border:1px solid color-mix(in srgb, var(--sb-accent) 28%, var(--sb-border));border-left:3px solid var(--sb-accent);border-radius:var(--sb-radius-control);background:color-mix(in srgb, var(--sb-accent) 6%, transparent);overflow:hidden}.flows-title{align-items:center;gap:var(--sb-space-2);padding:8px;display:flex}.panel-error{margin:var(--sb-space-4);padding:var(--sb-space-4);border:1px solid var(--sb-border);border-left:3px solid var(--sb-danger,#dc2626);border-radius:var(--sb-radius-card);background:var(--sb-surface)}.panel-error pre{margin:var(--sb-space-2) 0 var(--sb-space-3);white-space:pre-wrap;overflow-wrap:anywhere;font:12px var(--sb-font-mono);color:var(--sb-text-muted)}button.flows-title{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}@media (pointer:coarse){button.flows-title{min-height:44px}}button.flows-title:hover{background:var(--sb-surface-raised)}button.flows-title:focus-visible{outline:2px solid var(--sb-focus-ring);outline-offset:-2px}.flows-title .caret{width:1em;color:var(--sb-text-muted)}.flows-title .count{color:var(--sb-text-muted);margin-left:auto;font-size:12px}.flows .flow-head{color:var(--sb-text-muted);padding-left:8px;font-size:12px}.flows .op-row:last-child{border-bottom:0}.flows.requests{border-color:var(--sb-border);border-left-color:var(--sb-text-muted);background:var(--sb-surface-raised)}.method.req{color:var(--sb-text-muted)}.req-tag{margin-left:6px;font-size:11px;font-weight:500}.flow-play{text-align:center;color:var(--sb-accent);font-size:10px}.overview{place-content:center;justify-items:center;gap:var(--sb-space-2);text-align:center;min-height:100%;color:var(--sb-text-muted);padding-bottom:8vh;display:grid}.overview .overview-name{letter-spacing:.1em;text-transform:uppercase;color:var(--sb-accent);margin:0;font-size:12px;font-weight:700}.overview h1{margin:0 0 var(--sb-space-2);letter-spacing:-.02em;color:var(--sb-text);font-size:26px}.overview p{max-width:52ch;margin:0}.overview-logo{width:auto;max-width:240px;max-height:72px;margin-bottom:var(--sb-space-3);object-fit:contain}.overview .tagline{color:var(--sb-text);font-size:16px}.overview-links{justify-content:center;gap:var(--sb-space-2) var(--sb-space-4);margin-top:var(--sb-space-2);flex-wrap:wrap;display:flex}.overview-links a{color:var(--sb-accent);font-weight:600;text-decoration:none}.overview-links a:hover{text-decoration:underline}.op-group{margin-bottom:var(--sb-space-3)}.group-head{border:0;border-bottom:1px solid var(--sb-border);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:6px;width:100%;padding:6px 8px;font-weight:600;display:flex}.group-head .caret{width:12px;color:var(--sb-text-muted)}.group-head .count{font-size:12px}.op-row{align-items:center;gap:var(--sb-space-3);border:0;border-bottom:1px solid color-mix(in srgb, var(--sb-border) 60%, transparent);text-align:left;cursor:pointer;background:0 0;grid-template-columns:52px minmax(0,1fr) auto;width:100%;padding:7px 8px;display:grid}.op-row:hover,.op-row:focus-visible{background:var(--sb-surface-raised)}.op-row.active{background:color-mix(in srgb, var(--sb-accent) 10%, var(--sb-surface));box-shadow:inset 3px 0 0 var(--sb-accent)}.op-row .method{text-align:center;justify-self:start;min-width:0;padding:1px 5px;font-size:10px}.op-title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.op-path{text-overflow:ellipsis;white-space:nowrap;max-width:46%;font:12px var(--sb-font-mono);color:var(--sb-text-muted);overflow:hidden}@container (width<=520px){.op-path{display:none}.op-row{grid-template-columns:52px minmax(0,1fr)}}.cat-empty{padding:var(--sb-space-4) 0}.request-panel{flex-direction:column;height:100%;min-height:0;display:flex}.rq{flex-direction:column;flex:1;min-height:0;display:flex}.rq-bar{align-items:center;gap:var(--sb-space-2);padding:var(--sb-space-3) var(--sb-space-4) var(--sb-space-2);display:flex}.rq-bar .method{border:1px solid var(--sb-border);padding:7px 10px;font-size:12px}.rq-url{align-items:center;gap:var(--sb-space-2);min-width:0;height:34px;padding:0 var(--sb-space-3);border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-surface-raised);flex:1;display:flex}.rq-url code{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.rq-url mark{background:var(--sb-warning-subtle);color:var(--sb-warning);border-radius:3px;padding:0 2px}.rq-example{display:contents}.env-badge{font:600 10px var(--sb-font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--sb-text-muted);border:1px solid var(--sb-border);white-space:nowrap;border-radius:4px;flex:none;align-items:center;padding:1px 6px;display:inline-flex;position:relative}.env-badge.switch{cursor:pointer}.env-badge.switch>.env-name:after{content:" ▾";opacity:.7}.env-badge select{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;position:absolute;inset:0}.env-badge.live{color:var(--sb-warning);border-color:color-mix(in srgb, var(--sb-warning) 45%, var(--sb-border));background:var(--sb-warning-subtle)}.env-badge.prod{color:var(--sb-danger);border-color:color-mix(in srgb, var(--sb-danger) 45%, var(--sb-border));background:var(--sb-danger-subtle)}.result-chip{white-space:nowrap;cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;height:34px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.result-chip.s2{background:var(--sb-success-subtle);color:var(--sb-success)}.result-chip.s3{background:var(--sb-surface-raised);color:var(--sb-text)}.result-chip.s4,.result-chip.s5{background:var(--sb-warning-subtle);color:var(--sb-warning)}.rq-status{align-items:center;gap:var(--sb-space-2);white-space:nowrap;font-size:12px;display:flex}.request-panel select,.panel-head select,.header select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%2394a3b8' stroke-width='1.6'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:26px}.rq-bar .send{place-items:center;height:34px;padding:0 18px;display:inline-grid}kbd.icon-key{vertical-align:middle;place-items:center;display:inline-grid}.needs-vars{align-items:center;gap:var(--sb-space-2) var(--sb-space-3);min-width:0;margin:0 var(--sb-space-4) var(--sb-space-2);padding:var(--sb-space-2) var(--sb-space-3);border:1px solid color-mix(in srgb, var(--sb-warning) 35%, var(--sb-border));border-radius:var(--sb-radius-control);background:var(--sb-warning-subtle);flex-wrap:wrap;font-size:12.5px;display:flex}.needs-vars.ok{border-color:var(--sb-border);background:var(--sb-surface)}.secrets-folded{margin:0 var(--sb-space-4) var(--sb-space-2)}.secrets-chip{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--sb-border);background:var(--sb-surface);max-width:100%;color:var(--sb-text-muted);cursor:pointer;border-radius:999px;padding:1px 10px;font-size:12px;line-height:1.4;overflow:hidden}.needs-var{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.needs-var input{width:130px;min-width:0}.needs-var input[type=password]{border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-surface);padding:5px 8px}.oauth-signin{flex:100%}.oauth-signin input[type=text]{flex:140px;width:auto;max-width:360px}.oauth-signin details{flex:100%;min-width:0}.oauth-signin input[type=checkbox]{flex:none;width:auto}.oauth-signin details label{overflow-wrap:anywhere;align-items:center;gap:6px;min-height:28px;display:flex}.oauth-status{overflow-wrap:anywhere;flex:100%;min-width:0}.rq-meta{align-items:center;gap:var(--sb-space-3);padding:var(--sb-space-1) var(--sb-space-4) var(--sb-space-3);font-size:12px;display:flex}.edited{color:var(--sb-warning);background:var(--sb-warning-subtle);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.rq-tabs{gap:var(--sb-space-1);padding:0 var(--sb-space-4);border-bottom:1px solid var(--sb-border);display:flex}.rq-tabs[hidden]{display:none}.rq-tab{color:var(--sb-text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 10px;font-weight:500;display:inline-flex}.rq-tab:hover{color:var(--sb-text)}.rq-tab.on{color:var(--sb-text);border-bottom-color:var(--sb-accent)}.rq-tab .count{background:var(--sb-surface-raised);opacity:1;border-radius:999px;margin:0;padding:0 6px;font-size:11px;font-weight:600}.rq-tab .count.bad{background:var(--sb-danger-subtle);color:var(--sb-danger)}.rq-pane{min-height:0;padding:var(--sb-space-3) var(--sb-space-4) var(--sb-space-4);flex-direction:column;flex:1;display:flex}.tab-pane{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.tab-pane[hidden]{display:none}.tab-pane>section+section{margin-top:var(--sb-space-4)}.tab-gap{flex:1}.state-dot{border-radius:999px;padding:0 6px;font-size:11px;font-weight:700}.state-dot.s2{background:var(--sb-success-subtle);color:var(--sb-success)}.state-dot.s3{background:var(--sb-surface-raised)}.state-dot.s4,.state-dot.s5{background:var(--sb-warning-subtle);color:var(--sb-warning)}.tab-pane>.body{flex-direction:column;flex:1;min-height:0;display:flex}.tab-pane .body .body-editor{flex:1;min-height:120px;max-height:none}.sent-view{gap:var(--sb-space-2);flex-direction:column;min-height:0;display:flex}.sent-view .rq-bar{padding:0}.sent-view table.headers th{width:200px;font-family:var(--sb-font-mono);font-size:12.5px}.sent-view h3{margin:var(--sb-space-2) 0 0;text-transform:uppercase;letter-spacing:.06em;color:var(--sb-text-muted);font-size:11px}.response{background:var(--sb-surface);flex-direction:column;flex:1;min-height:0;display:flex}.rs-head{align-items:center;gap:var(--sb-space-3);padding:0 0 var(--sb-space-2);display:flex}.rs-head h3{text-transform:uppercase;letter-spacing:.06em;color:var(--sb-text-muted);margin:0;font-size:11px}.rs-stat{color:var(--sb-text-muted);font-size:12px}.sent{padding:0 0 var(--sb-space-2);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.rs-pane{min-height:0;padding:var(--sb-space-3) 0 0;flex-direction:column;flex:1;display:flex}.rs-pane>div{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.rs-pane>div[hidden]{display:none}.rs-pane .body-editor{flex:1;min-height:120px;max-height:none}.response .rq-tabs{padding:0}.rs-empty{place-content:center;justify-items:center;gap:var(--sb-space-2);padding:var(--sb-space-6);color:var(--sb-text-muted);flex:1;display:grid}.rs-empty strong{color:var(--sb-text)}.response .checks{border:0;margin:0;padding:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.checks .bad{margin-top:var(--sb-space-2);color:inherit}.check-fail{gap:var(--sb-space-2);min-width:0;padding:var(--sb-space-3);border:1px solid color-mix(in srgb, var(--sb-danger) 35%, var(--sb-border));border-left:3px solid var(--sb-danger);border-radius:var(--sb-radius-control);background:color-mix(in srgb, var(--sb-danger) 5%, var(--sb-surface));margin:0;display:grid}.check-head{align-items:center;gap:var(--sb-space-2);color:var(--sb-danger);flex-wrap:wrap;display:flex}.check-head strong{overflow-wrap:anywhere;min-width:0}.diff-legend{gap:var(--sb-space-3);font-size:12px;font-weight:600;display:flex}.diff-key.diff-expected,.diff-line.diff-expected{color:var(--sb-success)}.diff-key.diff-received,.diff-line.diff-received{color:var(--sb-danger)}.diff{padding:var(--sb-space-2) 0;white-space:pre;border-radius:var(--sb-radius-control);background:var(--sb-surface);border:1px solid var(--sb-border);max-height:18em;font:12.5px / 1.5 var(--sb-font-mono);margin:0;overflow:auto}.diff-line{min-width:max-content;padding:0 var(--sb-space-3) 0 0;display:flex}.diff-line.diff-expected{background:var(--sb-success-subtle)}.diff-line.diff-received{background:var(--sb-danger-subtle)}.diff-line.diff-same{color:var(--sb-text-muted)}.diff-line.diff-skip{color:var(--sb-text-muted);font-style:italic}.diff-gutter{text-align:center;-webkit-user-select:none;user-select:none;flex:none;width:2em}.diff-text{white-space:pre}.check-where{font:12px var(--sb-font-mono);color:var(--sb-text-muted);overflow-wrap:anywhere}.link{color:var(--sb-accent);cursor:pointer;background:0 0;border:0;padding:0}.link:hover{text-decoration:underline}.icon{cursor:pointer;width:24px;height:24px;color:var(--sb-text-muted);background:0 0;border:0;border-radius:4px;place-items:center;padding:0;font-size:16px;line-height:1;display:inline-grid}.icon:hover{background:var(--sb-surface-raised);color:var(--sb-text)}.small{font-size:12px}.grid table{border-collapse:separate;border-spacing:0;table-layout:fixed;border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);width:100%;font-size:13px;overflow:hidden}.grid th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--sb-text-muted);background:var(--sb-surface-raised);border-bottom:1px solid var(--sb-border);padding:6px 8px;font-size:11px;font-weight:600}.grid td{border-bottom:1px solid var(--sb-border);vertical-align:middle;background:var(--sb-surface);height:32px;padding:0}.grid tbody tr:last-child td{border-bottom:0}.grid td+td,.grid th+th{border-left:1px solid var(--sb-border)}.grid tbody tr:hover td{background:color-mix(in srgb, var(--sb-accent) 4%, var(--sb-surface))}.grid tr.bad td{background:var(--sb-danger-subtle)}.g-check{text-align:center}.grid th{position:relative}.col-resizer{z-index:2;cursor:col-resize;touch-action:none;width:8px;position:absolute;top:0;bottom:0;right:-4px}.col-resizer:after{content:"";background:0 0;border-radius:1px;position:absolute;inset:4px 3px}.col-resizer:hover:after,.col-resizer:focus-visible:after,body.resizing .col-resizer:after{background:var(--sb-accent)}.g-check input{accent-color:var(--sb-accent);vertical-align:middle;margin:0}.g-act{white-space:nowrap;text-align:right;padding-right:4px}.g-act .icon{opacity:0}.grid tr:hover .g-act .icon,.grid tr:focus-within .g-act .icon{opacity:1}.g-key .key{align-items:baseline;gap:2px;padding:0 8px;display:flex}.g-key code{font-size:12.5px}.g-doc{color:var(--sb-text-muted);white-space:nowrap;text-overflow:ellipsis;padding:0 8px;overflow:hidden}.grid tr.off td:not(.g-check):not(.g-act){color:var(--sb-text-muted)}.grid tr.off .cell,.grid tr.off code{opacity:.6}.cell{width:100%;height:31px;font:inherit;color:var(--sb-text);background:0 0;border:0;border-radius:0;outline:none;padding:0 8px;display:block}.cell::placeholder{color:color-mix(in srgb, var(--sb-text-muted) 70%, transparent)}.cell:focus,.file-cell:focus-within{background:var(--sb-surface);box-shadow:inset 0 0 0 2px var(--sb-accent)}.grid tr.ghost td{background:color-mix(in srgb, var(--sb-surface-raised) 50%, var(--sb-surface))}.file-cell{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;align-items:center;height:31px;padding:0 8px;display:flex;overflow:hidden}.file-cell input{opacity:0;width:1px;height:1px;position:absolute}.combo{position:relative}.combo .cell{padding-right:26px}.combo-toggle{width:26px;color:var(--sb-text-muted);cursor:pointer;background:0 0;border:0;position:absolute;inset:0 0 0 auto}.combo-list{z-index:30;background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);max-height:220px;box-shadow:0 8px 24px color-mix(in srgb, var(--sb-text) 16%, transparent);margin:0;padding:4px;position:fixed;overflow:auto}.combo-list button{text-align:left;cursor:pointer;width:100%;font-family:var(--sb-font-mono);background:0 0;border:0;border-radius:4px;padding:5px 8px;font-size:12.5px;display:block}.combo-list button:hover,.combo-list button.at{background:var(--sb-surface-raised)}.combo-list button.on{color:var(--sb-accent);font-weight:600}.doc-project{margin-top:var(--sb-space-3)}.field-note{margin-top:var(--sb-space-2);border-left:2px solid var(--sb-accent);padding-left:8px;font-size:12.5px}.field-note>:first-child{margin-top:0}.field-note>:last-child{margin-bottom:0}.step-note-row td{border-top:0;padding-top:0}.step-note{color:var(--sb-text-muted);font-size:13px}.step-note>:first-child{margin-top:0}.step-note>:last-child{margin-bottom:0}.step-about{margin:var(--sb-space-2) 0;border:1px solid var(--sb-border);border-left:3px solid var(--sb-accent);border-radius:var(--sb-radius-control);padding:6px 10px;font-size:13px}.step-about summary{cursor:pointer;font-weight:600}.step-about .doc-custom{margin-top:var(--sb-space-2)}.code-sample{gap:var(--sb-space-2);padding:var(--sb-space-3);flex-direction:column;display:flex}.code-head{align-items:center;gap:var(--sb-space-2);display:flex}.code-block{padding:var(--sb-space-3);border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-surface-raised);font:12.5px / 1.55 var(--sb-font-mono);-webkit-user-select:text;user-select:text;margin:0;overflow-x:auto}fieldset.seg{border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);min-width:0;margin:0;padding:0;display:inline-flex;overflow:hidden}.seg-btn{background:var(--sb-surface);color:var(--sb-text-muted);cursor:pointer;border:0;padding:2px 10px;font-size:12px;font-weight:600}.seg-btn+.seg-btn{border-left:1px solid var(--sb-border)}.seg-btn.on{background:var(--sb-surface-raised);color:var(--sb-text)}.body-editor{border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-code-bg);max-height:420px;display:grid;overflow:auto}.body-editor .prism-code-editor{--pce-bg:var(--sb-code-bg);--pce-cursor:var(--sb-text);--pce-selection:var(--sb-focus-ring);--pce-bg-highlight:var(--sb-code-line);--pce-line-number:var(--sb-text-muted);--pce-selection-match:transparent;--pce-widget-bg:var(--sb-surface);--pce-widget-border:var(--sb-border);--pce-widget-color-active:var(--sb-text);--pce-ac-match:var(--sb-accent);font:12.5px / 1.6 var(--sb-font-mono);min-height:3.2em}.body-editor [class*=language-],.body-editor .token.punctuation,.body-editor .token.operator{color:var(--sb-code-punct)}.body-editor .token.property,.body-editor .token.attr-name{color:var(--sb-code-key)}.body-editor .token.string{color:var(--sb-code-string)}.body-editor .token.number{color:var(--sb-code-number)}.body-editor .token.boolean,.body-editor .token.null,.body-editor .token.constant{color:var(--sb-code-literal)}.body-editor .token.keyword,.body-editor .token.class-name,.body-editor .token.function{color:var(--sb-code-keyword)}.body-editor .token.comment{color:var(--sb-code-comment)}.field-doc{min-height:4.5em;margin-top:var(--sb-space-2);padding:var(--sb-space-2) var(--sb-space-3);border-left:3px solid var(--sb-accent);background:var(--sb-surface);font-size:13px}.tab-pane>.field-doc,.tab-pane .body>.field-doc,.sent-view>.field-doc,.rs-pane>div>.field-doc{z-index:1;position:sticky;bottom:0}.field-doc.empty{border-left-color:var(--sb-border);color:var(--sb-text-muted)}.field-doc p{margin:4px 0 0}.field-doc-text{max-height:11em;margin-top:4px;overflow:auto}.field-doc-text :is(p,ul,ol,pre){margin:0 0 var(--sb-space-2)}.field-doc-text :is(ul,ol){padding-left:1.3em}.field-doc-text pre{padding:var(--sb-space-2);background:var(--sb-surface-raised);border-radius:var(--sb-radius-control);overflow:auto}.field-doc-text :is(h2,h3,h4,h5){margin:var(--sb-space-2) 0 var(--sb-space-1);text-transform:none;letter-spacing:0;color:var(--sb-text);font-size:13px}.doc-inline a,.field-doc-text a{color:var(--sb-accent)}.doc-inline code,.field-doc-text code{background:var(--sb-surface-raised);border-radius:3px;padding:0 4px}.field-doc-head{align-items:center;gap:var(--sb-space-2);flex-wrap:wrap;display:flex}.field-doc-enum code{margin-right:6px}.issues{margin-top:var(--sb-space-2);font-size:12px}.sequence-panel{grid-template-columns:minmax(300px,4fr) minmax(0,7fr);height:100%;min-height:0;display:grid}@media (max-width:900px){.sequence-panel{grid-template-columns:minmax(0,1fr);overflow:auto}}.seq-left{min-height:0;padding:var(--sb-space-4);background:var(--sb-bg);border-right:1px solid var(--sb-border);overflow:auto}.controls-grid{margin-bottom:var(--sb-space-3);container-type:inline-size}.controls-grid col.c-key{width:30%}.controls-grid col.c-val{width:40%}@container (width<=520px){.controls-grid .g-doc,.controls-grid th.g-doc{display:none}.controls-grid col.c-key{width:40%}.controls-grid col.c-val{width:60%}}.controls-head{justify-content:space-between;align-items:center;gap:var(--sb-space-2);display:flex}.controls-head .gen-all{text-transform:none;letter-spacing:0;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.cell-gen{align-items:center;gap:4px;min-width:0;display:flex}.cell-gen>:first-child{flex:auto;min-width:0}.cell-gen .cell{width:100%;min-width:0}.gen{width:28px;height:28px;color:var(--sb-text-muted);border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;margin-right:4px;padding:0;display:inline-flex}.gen:hover,.gen:focus-visible{color:var(--sb-accent);border-color:var(--sb-accent)}@media (pointer:coarse){.gen{width:44px;height:44px}.controls-head .gen-all{min-height:44px}}.multi-cell{flex-wrap:wrap;gap:4px 12px;padding:6px 8px;display:flex}.multi-cell label{align-items:center;gap:4px;display:inline-flex}.cell.mono{font-family:var(--sb-font-mono);font-size:12.5px}.doc-tags{gap:var(--sb-space-1);margin:0 0 var(--sb-space-3);display:flex}.doc .link{text-align:left}.pause .controls-grid{margin:var(--sb-space-2) 0}.step-exchange{flex-direction:column;height:100%;min-height:0;display:flex}.seq-left .controls{padding:var(--sb-space-3) var(--sb-space-4);margin-bottom:var(--sb-space-3);background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:var(--sb-radius-card)}.seq-left .controls h3{margin:0 0 var(--sb-space-2);text-transform:uppercase;letter-spacing:.06em;color:var(--sb-text-muted);font-size:11px}.seq-run{align-items:center;gap:var(--sb-space-3);margin-bottom:var(--sb-space-4);flex-wrap:wrap;display:flex}.seq-left .journey{padding:var(--sb-space-1) 0}.seq-left .jhead{font-size:13px}.seq-right{background:var(--sb-surface);flex-direction:column;min-height:0;display:flex;overflow:auto}.seq-right .response{padding:var(--sb-space-3) var(--sb-space-4) 0}.seq-req{border-bottom:1px solid var(--sb-border);flex:none}.seq-req .rq-bar{padding-bottom:var(--sb-space-3)}.seq-req .rq-pane{padding-top:0}.seq-req .body-editor{max-height:200px}.jstep.picked .jhead .jname{text-underline-offset:3px;text-decoration:underline}.envmenu{position:relative}.envmenu-btn{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.badge-missing{background:var(--sb-danger);min-width:18px;color:var(--sb-text-on-danger);text-align:center;border-radius:999px;padding:0 5px;font-size:11px;font-weight:700}.envmenu-pop{z-index:40;gap:var(--sb-space-3);width:min(460px,92vw);max-height:min(70vh,640px);padding:var(--sb-space-3) var(--sb-space-4);background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:var(--sb-radius-card);box-shadow:0 12px 32px color-mix(in srgb, var(--sb-text) 20%, transparent);grid-template-columns:minmax(0,1fr);display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.envmenu-head{align-items:center;gap:var(--sb-space-3);display:flex}.envmenu-pop h3{margin:0 0 var(--sb-space-1);text-transform:uppercase;letter-spacing:.06em;color:var(--sb-text-muted);font-size:11px}.envmenu-pop p{margin:0}.envmenu-warn{padding:var(--sb-space-2) var(--sb-space-3);border-radius:var(--sb-radius-control);background:var(--sb-warning-subtle);color:var(--sb-warning);font-size:12.5px}.envrow{align-items:center;gap:var(--sb-space-2);margin-top:var(--sb-space-2);display:flex}.envrow input,.envrow select{border:1px solid var(--sb-border);border-radius:var(--sb-radius-control);background:var(--sb-surface);flex:1;min-width:0;padding:5px 8px}.envrow code{text-overflow:ellipsis;flex:0 0 38%;overflow:hidden}.secretrow{margin-top:var(--sb-space-3)}.secretrow-head{align-items:baseline;gap:var(--sb-space-2);font-size:13px;display:flex}.secretrow-head .src{border-radius:999px;margin-left:auto;padding:0 8px;font-size:11px;font-weight:600}.src.set{background:var(--sb-success-subtle);color:var(--sb-success)}.src.missing{background:var(--sb-danger-subtle);color:var(--sb-danger)}.envrow .src{border-radius:999px;flex:none;padding:0 8px;font-size:11px;font-weight:600}.src.inherited{background:var(--sb-surface-raised);color:var(--sb-text-muted)}.envuse{margin:-2px 0 var(--sb-space-2);overflow-wrap:anywhere;padding-left:2px}.op-lock{color:var(--sb-text-muted);vertical-align:-1px;margin-left:6px;display:inline-block}.list-resizer{z-index:25;top:var(--sb-header-h,53px);bottom:0;left:calc(var(--sb-list-w) - 4px);cursor:col-resize;touch-action:none;width:8px;position:fixed}.list-resizer:after{content:"";background:0 0;transition:background .12s;position:absolute;inset:0 3px}.list-resizer:hover:after,.list-resizer:focus-visible:after,body.resizing .list-resizer:after{background:var(--sb-accent)}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}@media (max-width:900px){.list-resizer{display:none}}@media (max-width:820px){.panel,.panel.docked{width:100%;min-width:0;height:100dvh;box-shadow:none;border-left:0;inset:0}input,select,textarea,.body-editor .prism-code-editor,.body-editor .prism-code-editor textarea{font-size:16px}.body-editor .prism-code-editor{line-height:1.5}.panel-head{padding:var(--sb-space-2) var(--sb-space-3);gap:var(--sb-space-2);flex-wrap:nowrap}.panel-title{flex:1 1 0;min-width:0}.panel-head h2{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.panel-title>.muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.panel-head .spacer,.panel-head label.row>.muted{display:none}.panel-head select{max-width:34%}.stepper{gap:0}.panel-head .icon{min-width:36px;min-height:36px}.panel-main.scroll{padding:var(--sb-space-3)}.doc-intro{flex-wrap:wrap}.doc-intro code{overflow-wrap:anywhere;flex:1 1 0;min-width:0}.doc-intro .spacer{display:none}.doc pre,.doc-custom pre{max-width:100%;overflow-x:auto}.doc img{max-width:100%;height:auto}.doc-custom table{max-width:100%;display:block;overflow-x:auto}.panel-main.scroll{overflow-x:hidden}.envmenu{position:static}.envmenu-pop{inset:var(--sb-space-2);z-index:40;width:auto;max-height:none;position:fixed}.envrow{flex-wrap:wrap}.envrow code{flex:1 0 100%}.envrow input{flex:1 1 0}.envrow input,.envrow select{min-width:0;max-width:100%}table.fields{max-width:100%;display:block;overflow-x:auto}table.fields td:last-child{min-width:440px}table.fields td:first-child{white-space:nowrap}.rq-meta{padding-inline:var(--sb-space-3);flex-wrap:wrap}.secrets-note,.oauth-hint{display:none}.secrets-folded,.needs-vars{margin-inline:var(--sb-space-3)}.rq-example{align-items:center;gap:var(--sb-space-2);flex:100%;min-width:0;display:flex}.rq-example>label.row{flex:1 1 0;min-width:0}.rq-example>label.row select{text-overflow:ellipsis;flex:1 1 0;min-width:0}.rq-status{gap:var(--sb-space-3);flex:100%;order:1;min-width:0}.rq-status>select{text-overflow:ellipsis;flex:1 1 0;min-width:0}.rq-example>label.row>.muted,.rq-status>.muted{flex:0 0 84px}.rq-meta>.edited,.rq-meta>.spacer,.rq-meta>.link{order:2}.rq-meta select{min-width:0;max-width:100%}button,select,input:not([type=checkbox]):not([type=radio]){min-height:36px}}.sheet-close{display:none}@media (max-width:820px){.sequence-panel{padding-bottom:8px;overflow:auto}.sequence-panel.sheet-open .seq-left{padding-bottom:62vh}.seq-right{display:none}.seq-right.sheet-open{z-index:5;border-top:1px solid var(--sb-border);height:min(62%,520px);box-shadow:0 -12px 32px color-mix(in srgb, var(--sb-text) 22%, transparent);overscroll-behavior:contain;border-radius:14px 14px 0 0;display:flex;position:absolute;inset:auto 0 0;overflow:auto}.seq-right .sheet-close{align-items:center;gap:var(--sb-space-2);z-index:2;min-height:44px;padding:0 var(--sb-space-4);border:0;border-bottom:1px solid var(--sb-border);background:var(--sb-surface);text-align:left;color:var(--sb-text);flex:none;font-weight:600;display:flex;position:sticky;top:0}}}@layer brand;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./mount-DfwluJy4.js";var t=Object.defineProperty,n=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},r=`__specbookFaker`,i=globalThis,a=new Proxy({},{get(e,t){let n=i[r];if(!n)throw Error(`faker is not initialised. Install "@faker-js/faker" in your project; specbook sets it up before each run.`);return n[t]}});function o(e){i[r]=e}function s(e={},t){let n=t??e.default??`en`;return[...new Set([...e.locales?.[n]??[n,`en`],`base`])]}async function ee(e,t={},n){let r=e.locales;if(!r)return e;let i={Faker:e.Faker};return await Promise.all(s(t,n).map(async e=>{let t=r[e];t&&(i[e]=await t())})),i}function te(e,t={},n={}){let r=n.locale??t.default??`en`,i=s(t,r).map(t=>{let n=e[t];if(!n)throw Error(`Unknown faker locale "${t}" (from "${r}")`);return n}),a=new e.Faker({locale:i});return n.seed!==void 0&&a.seed(n.seed),o(a),a}var c=/^\s*\{\{\s*([\w.$-]+)\s*\}\}\s*$/,l=/\{\{\s*([\w.$-]+)\s*\}\}/g,ne=[`secrets`,`session`],u=class extends Error{variable;constructor(e){super(`Missing variable "{{${e}}}"`),this.variable=e,this.name=`TemplateError`}};function d(e){let t=e.split(`.`)[0];return ne.includes(t)&&e.includes(`.`)}var f=e=>e.startsWith(`faker.`);function re(e){let t=a,n=a;for(let r of e.split(`.`).slice(1))if(t=n,n=n?.[r],n===void 0)return{found:!1};return{found:!0,value:typeof n==`function`?n.call(t):n}}function ie(e){return[...g(e)].some(f)}function p(e,t){if(f(t))return re(t);let n=e;for(let e of t.split(`.`))if(typeof n==`object`&&n&&e in n)n=n[e];else return{found:!1};return{found:!0,value:n}}function m(e,t){let n=c.exec(e);if(n){let r=n[1];if(d(r))return e;let i=p(t,r);if(!i.found)throw new u(r);return i.value}return e.replace(l,(e,n)=>{if(d(n))return e;let r=p(t,n);if(!r.found)throw new u(n);let i=r.value;return typeof i==`object`&&i?JSON.stringify(i):String(i)})}function h(e,t){if(typeof e==`string`)return m(e,t);if(_(e))return e;if(Array.isArray(e))return e.map(e=>h(e,t));if(typeof e==`object`&&e){let n={};for(let[r,i]of Object.entries(e))n[r]=h(i,t);return n}return e}function g(e,t=new Set){if(typeof e==`string`)for(let n of e.matchAll(l))t.add(n[1]);else if(Array.isArray(e))for(let n of e)g(n,t);else if(typeof e==`object`&&e)for(let n of Object.values(e))g(n,t);return t}var _=e=>typeof Blob<`u`&&e instanceof Blob;function v(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!_(e)}function y(e,t){if(!v(e)||!v(t))return t===void 0?e:t;let n={...e};for(let[e,r]of Object.entries(t))n[e]=y(n[e],r);return n}function b(e,t,n,r={},i){return{kind:`request`,op:e,input:t,dataPatches:n,varOverrides:r,mockHook:i,with(a){let o={...t};return a.path&&(o.path=y(t.path,a.path)),a.query&&(o.query=y(t.query,a.query)),a.headers&&(o.headers={...t.headers??{},...a.headers}),a.capture&&(o.capture={...t.capture??{},...a.capture}),a.assert&&(o.assert=a.assert),a.auth!==void 0&&(o.auth=a.auth),a.assertMode&&(o.assertMode=a.assertMode),a.tags&&(o.tags=[...new Set([...t.tags??[],...a.tags])]),b(e,o,a.data===void 0?n:[...n,a.data],a.vars?{...r,...a.vars}:r,i)}}}function ae(e,t){return b(e.op,e.input,e.dataPatches,e.varOverrides,t)}function x(e){return{meta:e,request(t={}){return b(e,t,[])}}}function S(e,t){let n={},r={};for(let i of e){let e=i.description?{description:i.description}:{};i.name===`live`?(n[t]=i.url,i.description&&(r.live=e)):r[i.name]={...e,vars:{[t]:i.url}}}return{vars:n,environments:r,baseUrl:`{{${t}}}`}}var C=n({assets:()=>fe,brandingAssets:()=>L,definitions:()=>le,docs:()=>z,environmentStore:()=>$,environmentVars:()=>R,examples:()=>ue,loadConfig:()=>he,loadFaker:()=>J,loadManifests:()=>A,manifests:()=>se,mode:()=>k,operationDocs:()=>ce,operations:()=>q,project:()=>oe,requestExamples:()=>de,requestMeta:()=>M,requests:()=>j,responseSchemas:()=>G,schemas:()=>W,sequenceMeta:()=>F,sequences:()=>P,unresolvedRequests:()=>N,unresolvedSequences:()=>I}),w=globalThis.__SPECBOOK_VIEWER__;if(!w)throw Error(`The viewer registry was imported before a spec was opened`);var{open:T}=w,E=T.service,D=e=>`${E}/${e}`,O=Object.keys(T.metas),k=`static`,oe={root:``,outDir:``,requestsDir:`requests`},se={[E]:T.manifest},A=async e=>{},j=[],M={},N=[],P=[],F={},I=[],L={},R={},z=[],B=new Map,V=e=>{let t=e.slice(E.length+1),n=B.get(e);if(n)return n;let r=w.bundle(t).catch(()=>({}));return B.set(e,r),r},H=e=>new Proxy({},{get:(t,n)=>typeof n==`string`&&n.startsWith(`${E}/`)&&O.includes(n.slice(E.length+1))?e(n):void 0,has:(e,t)=>typeof t==`string`&&t.startsWith(`${E}/`)&&O.includes(t.slice(E.length+1)),ownKeys:()=>O.map(D),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0})}),U=e=>H(t=>()=>V(t).then(t=>({default:e(t)}))),W=U(e=>e.schema),G=U(e=>e.responses),ce=U(e=>e.docs),le={[E]:()=>w.definitions().then(e=>({default:e}))},ue=new Proxy({},{get:(e,t)=>{if(typeof t!=`string`||!t.includes(`.`))return;let n=t.lastIndexOf(`.`),r=t.slice(0,n);if(O.includes(r.slice(E.length+1)))return()=>V(r).then(e=>({default:e.mock?.[t.slice(n+1)]}))}}),de=H(e=>(T.exampleNames[e.slice(E.length+1)]??[]).map(t=>({name:t,source:`generated`,dir:`${e}@generated`,load:()=>V(e).then(e=>({default:e.examples?.[t]}))}))),K,fe=new Proxy({},{get:(e,t)=>typeof t==`string`&&t.endsWith(`/sample.txt`)?()=>(K??=URL.createObjectURL(new Blob([`specbook sample file
|
|
2
|
+
`],{type:`text/plain`})),Promise.resolve(K)):void 0}),q=Object.fromEntries(O.map(e=>[D(e),async()=>({[e]:x(T.metas[e])})])),J=()=>e(()=>import(`./faker-B3c03STC.js`).then(e=>({Faker:e.Faker,locales:{en:()=>Promise.resolve(e.en),base:()=>Promise.resolve(e.base)}})),[],import.meta.url),Y=w.baseUrl??T.baseUrl,pe=T.servers.find(e=>e.name===`live`),X=S([...Y?[{name:`live`,url:Y,description:pe?.description}]:[],...T.servers.filter(e=>e.name!==`live`)],`baseUrl`),me=e=>{if(/^https?:\/\//i.test(e)||!w.baseUrl)return e;try{return new URL(e,`${w.baseUrl.replace(/\/+$/,``)}/`).toString()}catch{return e}},Z={...X.vars,...Object.fromEntries(Object.entries(T.authVars).map(([e,t])=>[e,me(t)]))},Q={...X.environments};for(let[e,t]of Object.entries(T.authEnvironmentVars))Q[e]={...Q[e],vars:{...Q[e]?.vars,...t}};var $=w.source?{scope:w.source.kind===`url`?w.source.url:`upload:${E}`,session:w.source.kind!==`url`}:null,he=()=>Promise.resolve({default:{project:E,secrets:T.secrets,auth:T.auth,...Object.keys(Z).length?{vars:Z}:{},...Object.keys(Q).length?{environments:Q}:{},faker:{default:`en`,locales:{en:[`en`,`base`]}},services:{[E]:{spec:``,baseUrl:Y||T.servers.length?X.baseUrl:{},...T.defaultProfile?{auth:T.defaultProfile}:{}}}}});export{y as a,v as c,ie as d,$ as environmentStore,te as f,g as i,h as l,J as loadFaker,A as loadManifests,n as m,k as mode,ae as n,d as o,ee as p,u as r,f as s,C as t,m as u};
|