@e280/shiny 0.1.0-1 → 0.1.0-11

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.
Files changed (162) hide show
  1. package/README.md +113 -3
  2. package/package.json +3 -3
  3. package/s/components/button/component.ts +30 -0
  4. package/s/components/button/style.css.ts +64 -0
  5. package/s/{ui → components}/copy/component.ts +11 -6
  6. package/s/{ui → components}/copy/style.css.ts +6 -6
  7. package/s/components/drawer/component.ts +92 -0
  8. package/s/components/drawer/control.ts +31 -0
  9. package/s/components/drawer/style.css.ts +120 -0
  10. package/s/{ui → components}/example/component.ts +7 -5
  11. package/s/{ui → components}/example/style.css.ts +2 -2
  12. package/s/components/foundation.css.ts +15 -0
  13. package/s/components/framework.ts +10 -0
  14. package/s/components/raw-components.ts +15 -0
  15. package/s/components/tabs/component.ts +70 -0
  16. package/s/components/tabs/control.ts +31 -0
  17. package/s/components/tabs/style.css.ts +43 -0
  18. package/s/demo/aura-views.ts +6 -0
  19. package/s/demo/demo.bundle.ts +287 -14
  20. package/s/demo/demo.css +3 -1
  21. package/s/demo/utils/lipsum.ts +19 -0
  22. package/s/demo/views/demonstration/style.css.ts +18 -2
  23. package/s/demo/views/demonstration/view.ts +24 -16
  24. package/s/icons/tabler/menu-2.svg.ts +4 -0
  25. package/s/icons/tabler/x.svg.ts +4 -0
  26. package/s/index.html.ts +2 -2
  27. package/s/index.ts +16 -4
  28. package/s/install/aura.bundle.ts +9 -0
  29. package/s/install/plain.bundle.ts +9 -0
  30. package/s/shiny.ts +15 -0
  31. package/s/themes/aura.css.ts +86 -0
  32. package/s/themes/index.barrel.ts +2 -1
  33. package/s/themes/index.ts +1 -0
  34. package/s/themes/infra/css-vars.ts +41 -0
  35. package/s/themes/plain.css.ts +11 -0
  36. package/s/utils/states.ts +15 -0
  37. package/x/components/button/component.d.ts +5 -0
  38. package/x/components/button/component.js +25 -0
  39. package/x/components/button/component.js.map +1 -0
  40. package/x/components/button/style.css.js +63 -0
  41. package/x/components/button/style.css.js.map +1 -0
  42. package/x/{ui → components}/copy/component.d.ts +8 -4
  43. package/x/{ui → components}/copy/component.js +10 -5
  44. package/x/components/copy/component.js.map +1 -0
  45. package/x/{ui → components}/copy/style.css.js +6 -6
  46. package/x/components/copy/style.css.js.map +1 -0
  47. package/x/components/drawer/component.d.ts +387 -0
  48. package/x/components/drawer/component.js +76 -0
  49. package/x/components/drawer/component.js.map +1 -0
  50. package/x/components/drawer/control.d.ts +9 -0
  51. package/x/components/drawer/control.js +24 -0
  52. package/x/components/drawer/control.js.map +1 -0
  53. package/x/components/drawer/style.css.d.ts +2 -0
  54. package/x/components/drawer/style.css.js +119 -0
  55. package/x/components/drawer/style.css.js.map +1 -0
  56. package/x/{ui → components}/example/component.d.ts +3 -3
  57. package/x/{ui → components}/example/component.js +6 -4
  58. package/x/components/example/component.js.map +1 -0
  59. package/x/components/example/style.css.d.ts +2 -0
  60. package/x/components/example/style.css.js +10 -0
  61. package/x/components/example/style.css.js.map +1 -0
  62. package/x/components/foundation.css.d.ts +1 -0
  63. package/x/components/foundation.css.js +14 -0
  64. package/x/components/foundation.css.js.map +1 -0
  65. package/x/components/framework.d.ts +8 -0
  66. package/x/components/framework.js +5 -0
  67. package/x/components/framework.js.map +1 -0
  68. package/x/components/raw-components.d.ts +12 -0
  69. package/x/components/raw-components.js +13 -0
  70. package/x/components/raw-components.js.map +1 -0
  71. package/x/components/tabs/component.d.ts +374 -0
  72. package/x/components/tabs/component.js +60 -0
  73. package/x/components/tabs/component.js.map +1 -0
  74. package/x/components/tabs/control.d.ts +9 -0
  75. package/x/components/tabs/control.js +24 -0
  76. package/x/components/tabs/control.js.map +1 -0
  77. package/x/components/tabs/style.css.d.ts +2 -0
  78. package/x/components/tabs/style.css.js +42 -0
  79. package/x/components/tabs/style.css.js.map +1 -0
  80. package/x/demo/aura-views.d.ts +15 -0
  81. package/x/demo/aura-views.js +4 -0
  82. package/x/demo/aura-views.js.map +1 -0
  83. package/x/demo/demo.bundle.js +280 -14
  84. package/x/demo/demo.bundle.js.map +1 -1
  85. package/x/demo/demo.bundle.min.js +561 -45
  86. package/x/demo/demo.bundle.min.js.map +4 -4
  87. package/x/demo/demo.css +3 -1
  88. package/x/demo/utils/lipsum.d.ts +2 -0
  89. package/x/demo/utils/lipsum.js +11 -0
  90. package/x/demo/utils/lipsum.js.map +1 -0
  91. package/x/demo/views/demonstration/style.css.js +18 -2
  92. package/x/demo/views/demonstration/style.css.js.map +1 -1
  93. package/x/demo/views/demonstration/view.d.ts +6 -4
  94. package/x/demo/views/demonstration/view.js +20 -12
  95. package/x/demo/views/demonstration/view.js.map +1 -1
  96. package/x/icons/tabler/menu-2.svg.d.ts +2 -0
  97. package/x/icons/tabler/menu-2.svg.js +3 -0
  98. package/x/icons/tabler/menu-2.svg.js.map +1 -0
  99. package/x/icons/tabler/x.svg.d.ts +2 -0
  100. package/x/icons/tabler/x.svg.js +3 -0
  101. package/x/icons/tabler/x.svg.js.map +1 -0
  102. package/x/index.d.ts +10 -4
  103. package/x/index.html +7 -5
  104. package/x/index.html.js +2 -2
  105. package/x/index.js +10 -4
  106. package/x/index.js.map +1 -1
  107. package/x/install/aura.bundle.d.ts +1 -0
  108. package/x/install/aura.bundle.js +5 -0
  109. package/x/install/aura.bundle.js.map +1 -0
  110. package/x/install/aura.bundle.min.js +463 -0
  111. package/x/install/aura.bundle.min.js.map +7 -0
  112. package/x/install/plain.bundle.d.ts +1 -0
  113. package/x/install/plain.bundle.js +5 -0
  114. package/x/install/plain.bundle.js.map +1 -0
  115. package/x/install/plain.bundle.min.js +390 -0
  116. package/x/install/plain.bundle.min.js.map +7 -0
  117. package/x/shiny.d.ts +47 -0
  118. package/x/shiny.js +8 -0
  119. package/x/shiny.js.map +1 -0
  120. package/x/themes/aura.css.d.ts +1 -0
  121. package/x/themes/aura.css.js +85 -0
  122. package/x/themes/aura.css.js.map +1 -0
  123. package/x/themes/index.barrel.d.ts +2 -1
  124. package/x/themes/index.barrel.js +2 -1
  125. package/x/themes/index.barrel.js.map +1 -1
  126. package/x/themes/index.d.ts +1 -0
  127. package/x/themes/infra/css-vars.d.ts +14 -0
  128. package/x/themes/infra/css-vars.js +21 -0
  129. package/x/themes/infra/css-vars.js.map +1 -0
  130. package/x/themes/plain.css.d.ts +1 -0
  131. package/x/themes/plain.css.js +10 -0
  132. package/x/themes/plain.css.js.map +1 -0
  133. package/x/utils/states.d.ts +5 -0
  134. package/x/utils/states.js +13 -0
  135. package/x/utils/states.js.map +1 -0
  136. package/s/themes/basic.css.ts +0 -18
  137. package/s/tools/untab.ts +0 -30
  138. package/s/ui/components.ts +0 -9
  139. package/s/ui/framework.ts +0 -8
  140. package/s/ui/themers.ts +0 -28
  141. package/x/themes/basic.css.d.ts +0 -1
  142. package/x/themes/basic.css.js +0 -17
  143. package/x/themes/basic.css.js.map +0 -1
  144. package/x/tools/untab.d.ts +0 -1
  145. package/x/tools/untab.js +0 -26
  146. package/x/tools/untab.js.map +0 -1
  147. package/x/ui/components.d.ts +0 -6
  148. package/x/ui/components.js +0 -7
  149. package/x/ui/components.js.map +0 -1
  150. package/x/ui/copy/component.js.map +0 -1
  151. package/x/ui/copy/style.css.js.map +0 -1
  152. package/x/ui/example/component.js.map +0 -1
  153. package/x/ui/example/style.css.js +0 -10
  154. package/x/ui/example/style.css.js.map +0 -1
  155. package/x/ui/framework.d.ts +0 -4
  156. package/x/ui/framework.js +0 -6
  157. package/x/ui/framework.js.map +0 -1
  158. package/x/ui/themers.d.ts +0 -8
  159. package/x/ui/themers.js +0 -12
  160. package/x/ui/themers.js.map +0 -1
  161. /package/x/{ui/copy → components/button}/style.css.d.ts +0 -0
  162. /package/x/{ui/example → components/copy}/style.css.d.ts +0 -0
@@ -1,6 +1,6 @@
1
- var Je=Object.defineProperty;var Ke=(r,t)=>{for(var e in t)Je(r,e,{get:t[e],enumerable:!0})};var ft=globalThis,gt=ft.ShadowRoot&&(ft.ShadyCSS===void 0||ft.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ft=Symbol(),ne=new WeakMap,G=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==Ft)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(gt&&t===void 0){let s=e!==void 0&&e.length===1;s&&(t=ne.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&ne.set(e,t))}return t}toString(){return this.cssText}},ae=r=>new G(typeof r=="string"?r:r+"",void 0,Ft),g=(r,...t)=>{let e=r.length===1?r[0]:t.reduce(((s,o,i)=>s+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+r[i+1]),r[0]);return new G(e,r,Ft)},bt=(r,t)=>{if(gt)r.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(let e of t){let s=document.createElement("style"),o=ft.litNonce;o!==void 0&&s.setAttribute("nonce",o),s.textContent=e.cssText,r.appendChild(s)}},U=gt?r=>r:r=>r instanceof CSSStyleSheet?(t=>{let e="";for(let s of t.cssRules)e+=s.cssText;return ae(e)})(r):r;var{is:Qe,defineProperty:Ge,getOwnPropertyDescriptor:tr,getOwnPropertyNames:er,getOwnPropertySymbols:rr,getPrototypeOf:sr}=Object,yt=globalThis,ce=yt.trustedTypes,or=ce?ce.emptyScript:"",ir=yt.reactiveElementPolyfillSupport,tt=(r,t)=>r,Xt={toAttribute(r,t){switch(t){case Boolean:r=r?or:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,t){let e=r;switch(t){case Boolean:e=r!==null;break;case Number:e=r===null?null:Number(r);break;case Object:case Array:try{e=JSON.parse(r)}catch{e=null}}return e}},le=(r,t)=>!Qe(r,t),he={attribute:!0,type:String,converter:Xt,reflect:!1,useDefault:!1,hasChanged:le};Symbol.metadata??=Symbol("metadata"),yt.litPropertyMetadata??=new WeakMap;var _=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=he){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){let s=Symbol(),o=this.getPropertyDescriptor(t,s,e);o!==void 0&&Ge(this.prototype,t,o)}}static getPropertyDescriptor(t,e,s){let{get:o,set:i}=tr(this.prototype,t)??{get(){return this[e]},set(n){this[e]=n}};return{get:o,set(n){let c=o?.call(this);i?.call(this,n),this.requestUpdate(t,c,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??he}static _$Ei(){if(this.hasOwnProperty(tt("elementProperties")))return;let t=sr(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(tt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(tt("properties"))){let e=this.properties,s=[...er(e),...rr(e)];for(let o of s)this.createProperty(o,e[o])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[s,o]of e)this.elementProperties.set(s,o)}this._$Eh=new Map;for(let[e,s]of this.elementProperties){let o=this._$Eu(e,s);o!==void 0&&this._$Eh.set(o,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let s=new Set(t.flat(1/0).reverse());for(let o of s)e.unshift(U(o))}else t!==void 0&&e.push(U(t));return e}static _$Eu(t,e){let s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return bt(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$ET(t,e){let s=this.constructor.elementProperties.get(t),o=this.constructor._$Eu(t,s);if(o!==void 0&&s.reflect===!0){let i=(s.converter?.toAttribute!==void 0?s.converter:Xt).toAttribute(e,s.type);this._$Em=t,i==null?this.removeAttribute(o):this.setAttribute(o,i),this._$Em=null}}_$AK(t,e){let s=this.constructor,o=s._$Eh.get(t);if(o!==void 0&&this._$Em!==o){let i=s.getPropertyOptions(o),n=typeof i.converter=="function"?{fromAttribute:i.converter}:i.converter?.fromAttribute!==void 0?i.converter:Xt;this._$Em=o;let c=n.fromAttribute(e,i.type);this[o]=c??this._$Ej?.get(o)??c,this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){let o=this.constructor,i=this[t];if(s??=o.getPropertyOptions(t),!((s.hasChanged??le)(i,e)||s.useDefault&&s.reflect&&i===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,s))))return;this.C(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:s,reflect:o,wrapped:i},n){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,n??e??this[t]),i!==!0||n!==void 0)||(this._$AL.has(t)||(this.hasUpdated||s||(e=void 0),this._$AL.set(t,e)),o===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[o,i]of this._$Ep)this[o]=i;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[o,i]of s){let{wrapped:n}=i,c=this[o];n!==!0||this._$AL.has(o)||c===void 0||this.C(o,void 0,i,c)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((s=>s.hostUpdate?.())),this.update(e)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((e=>this._$ET(e,this[e]))),this._$EM()}updated(t){}firstUpdated(t){}};_.elementStyles=[],_.shadowRootOptions={mode:"open"},_[tt("elementProperties")]=new Map,_[tt("finalized")]=new Map,ir?.({ReactiveElement:_}),(yt.reactiveElementVersions??=[]).push("2.1.1");var Zt=globalThis,xt=Zt.trustedTypes,pe=xt?xt.createPolicy("lit-html",{createHTML:r=>r}):void 0,Jt="$lit$",A=`lit$${Math.random().toFixed(9).slice(2)}$`,Kt="?"+A,nr=`<${Kt}>`,O=document,rt=()=>O.createComment(""),st=r=>r===null||typeof r!="object"&&typeof r!="function",Qt=Array.isArray,be=r=>Qt(r)||typeof r?.[Symbol.iterator]=="function",Yt=`[
2
- \f\r]`,et=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ue=/-->/g,de=/>/g,T=RegExp(`>|${Yt}(?:([^\\s"'>=/]+)(${Yt}*=${Yt}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),me=/'/g,fe=/"/g,ye=/^(?:script|style|textarea|title)$/i,Gt=r=>(t,...e)=>({_$litType$:r,strings:t,values:e}),v=Gt(1),j=Gt(2),Rr=Gt(3),M=Symbol.for("lit-noChange"),f=Symbol.for("lit-nothing"),ge=new WeakMap,R=O.createTreeWalker(O,129);function xe(r,t){if(!Qt(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return pe!==void 0?pe.createHTML(t):t}var $e=(r,t)=>{let e=r.length-1,s=[],o,i=t===2?"<svg>":t===3?"<math>":"",n=et;for(let c=0;c<e;c++){let a=r[c],l,m,p=-1,w=0;for(;w<a.length&&(n.lastIndex=w,m=n.exec(a),m!==null);)w=n.lastIndex,n===et?m[1]==="!--"?n=ue:m[1]!==void 0?n=de:m[2]!==void 0?(ye.test(m[2])&&(o=RegExp("</"+m[2],"g")),n=T):m[3]!==void 0&&(n=T):n===T?m[0]===">"?(n=o??et,p=-1):m[1]===void 0?p=-2:(p=n.lastIndex-m[2].length,l=m[1],n=m[3]===void 0?T:m[3]==='"'?fe:me):n===fe||n===me?n=T:n===ue||n===de?n=et:(n=T,o=void 0);let S=n===T&&r[c+1].startsWith("/>")?" ":"";i+=n===et?a+nr:p>=0?(s.push(l),a.slice(0,p)+Jt+a.slice(p)+A+S):a+A+(p===-2?c:S)}return[xe(r,i+(r[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),s]},ot=class r{constructor({strings:t,_$litType$:e},s){let o;this.parts=[];let i=0,n=0,c=t.length-1,a=this.parts,[l,m]=$e(t,e);if(this.el=r.createElement(l,s),R.currentNode=this.el.content,e===2||e===3){let p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(o=R.nextNode())!==null&&a.length<c;){if(o.nodeType===1){if(o.hasAttributes())for(let p of o.getAttributeNames())if(p.endsWith(Jt)){let w=m[n++],S=o.getAttribute(p).split(A),mt=/([.?@])?(.*)/.exec(w);a.push({type:1,index:i,name:mt[2],strings:S,ctor:mt[1]==="."?wt:mt[1]==="?"?vt:mt[1]==="@"?_t:H}),o.removeAttribute(p)}else p.startsWith(A)&&(a.push({type:6,index:i}),o.removeAttribute(p));if(ye.test(o.tagName)){let p=o.textContent.split(A),w=p.length-1;if(w>0){o.textContent=xt?xt.emptyScript:"";for(let S=0;S<w;S++)o.append(p[S],rt()),R.nextNode(),a.push({type:2,index:++i});o.append(p[w],rt())}}}else if(o.nodeType===8)if(o.data===Kt)a.push({type:2,index:i});else{let p=-1;for(;(p=o.data.indexOf(A,p+1))!==-1;)a.push({type:7,index:i}),p+=A.length-1}i++}}static createElement(t,e){let s=O.createElement("template");return s.innerHTML=t,s}};function N(r,t,e=r,s){if(t===M)return t;let o=s!==void 0?e._$Co?.[s]:e._$Cl,i=st(t)?void 0:t._$litDirective$;return o?.constructor!==i&&(o?._$AO?.(!1),i===void 0?o=void 0:(o=new i(r),o._$AT(r,e,s)),s!==void 0?(e._$Co??=[])[s]=o:e._$Cl=o),o!==void 0&&(t=N(r,o._$AS(r,t.values),o,s)),t}var $t=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:e},parts:s}=this._$AD,o=(t?.creationScope??O).importNode(e,!0);R.currentNode=o;let i=R.nextNode(),n=0,c=0,a=s[0];for(;a!==void 0;){if(n===a.index){let l;a.type===2?l=new D(i,i.nextSibling,this,t):a.type===1?l=new a.ctor(i,a.name,a.strings,this,t):a.type===6&&(l=new At(i,this,t)),this._$AV.push(l),a=s[++c]}n!==a?.index&&(i=R.nextNode(),n++)}return R.currentNode=O,o}p(t){let e=0;for(let s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}},D=class r{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,s,o){this.type=2,this._$AH=f,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&t?.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=N(this,t,e),st(t)?t===f||t==null||t===""?(this._$AH!==f&&this._$AR(),this._$AH=f):t!==this._$AH&&t!==M&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):be(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==f&&st(this._$AH)?this._$AA.nextSibling.data=t:this.T(O.createTextNode(t)),this._$AH=t}$(t){let{values:e,_$litType$:s}=t,o=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=ot.createElement(xe(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===o)this._$AH.p(e);else{let i=new $t(o,this),n=i.u(this.options);i.p(e),this.T(n),this._$AH=i}}_$AC(t){let e=ge.get(t.strings);return e===void 0&&ge.set(t.strings,e=new ot(t)),e}k(t){Qt(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,s,o=0;for(let i of t)o===e.length?e.push(s=new r(this.O(rt()),this.O(rt()),this,this.options)):s=e[o],s._$AI(i),o++;o<e.length&&(this._$AR(s&&s._$AB.nextSibling,o),e.length=o)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){let s=t.nextSibling;t.remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},H=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,o,i){this.type=1,this._$AH=f,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=i,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=f}_$AI(t,e=this,s,o){let i=this.strings,n=!1;if(i===void 0)t=N(this,t,e,0),n=!st(t)||t!==this._$AH&&t!==M,n&&(this._$AH=t);else{let c=t,a,l;for(t=i[0],a=0;a<i.length-1;a++)l=N(this,c[s+a],e,a),l===M&&(l=this._$AH[a]),n||=!st(l)||l!==this._$AH[a],l===f?t=f:t!==f&&(t+=(l??"")+i[a+1]),this._$AH[a]=l}n&&!o&&this.j(t)}j(t){t===f?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},wt=class extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===f?void 0:t}},vt=class extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==f)}},_t=class extends H{constructor(t,e,s,o,i){super(t,e,s,o,i),this.type=5}_$AI(t,e=this){if((t=N(this,t,e,0)??f)===M)return;let s=this._$AH,o=t===f&&s!==f||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,i=t!==f&&(s===f||o);o&&this.element.removeEventListener(this.name,this,s),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},At=class{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}},we={M:Jt,P:A,A:Kt,C:1,L:$e,R:$t,D:be,V:N,I:D,H,N:vt,U:_t,B:wt,F:At},ar=Zt.litHtmlPolyfillSupport;ar?.(ot,D),(Zt.litHtmlVersions??=[]).push("3.3.1");var it=(r,t,e)=>{let s=e?.renderBefore??t,o=s._$litPart$;if(o===void 0){let i=e?.renderBefore??null;s._$litPart$=o=new D(t.insertBefore(rt(),i),i,void 0,e??{})}return o._$AI(r),o};var te=globalThis,L=class extends _{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=it(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return M}};L._$litElement$=!0,L.finalized=!0,te.litElementHydrateSupport?.({LitElement:L});var cr=te.litElementPolyfillSupport;cr?.({LitElement:L});(te.litElementVersions??=[]).push("4.2.1");var B=g`
1
+ var wt=globalThis,$t=wt.ShadowRoot&&(wt.ShadyCSS===void 0||wt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,ne=Symbol(),xe=new WeakMap,it=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==ne)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if($t&&t===void 0){let s=e!==void 0&&e.length===1;s&&(t=xe.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&xe.set(e,t))}return t}toString(){return this.cssText}},_t=r=>new it(typeof r=="string"?r:r+"",void 0,ne),d=(r,...t)=>{let e=r.length===1?r[0]:t.reduce(((s,o,i)=>s+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+r[i+1]),r[0]);return new it(e,r,ne)},At=(r,t)=>{if($t)r.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(let e of t){let s=document.createElement("style"),o=wt.litNonce;o!==void 0&&s.setAttribute("nonce",o),s.textContent=e.cssText,r.appendChild(s)}},I=$t?r=>r:r=>r instanceof CSSStyleSheet?(t=>{let e="";for(let s of t.cssRules)e+=s.cssText;return _t(e)})(r):r;var{is:yr,defineProperty:vr,getOwnPropertyDescriptor:xr,getOwnPropertyNames:wr,getOwnPropertySymbols:$r,getPrototypeOf:_r}=Object,St=globalThis,we=St.trustedTypes,Ar=we?we.emptyScript:"",Sr=St.reactiveElementPolyfillSupport,nt=(r,t)=>r,ae={toAttribute(r,t){switch(t){case Boolean:r=r?Ar:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,t){let e=r;switch(t){case Boolean:e=r!==null;break;case Number:e=r===null?null:Number(r);break;case Object:case Array:try{e=JSON.parse(r)}catch{e=null}}return e}},_e=(r,t)=>!yr(r,t),$e={attribute:!0,type:String,converter:ae,reflect:!1,useDefault:!1,hasChanged:_e};Symbol.metadata??=Symbol("metadata"),St.litPropertyMetadata??=new WeakMap;var T=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=$e){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){let s=Symbol(),o=this.getPropertyDescriptor(t,s,e);o!==void 0&&vr(this.prototype,t,o)}}static getPropertyDescriptor(t,e,s){let{get:o,set:i}=xr(this.prototype,t)??{get(){return this[e]},set(n){this[e]=n}};return{get:o,set(n){let c=o?.call(this);i?.call(this,n),this.requestUpdate(t,c,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??$e}static _$Ei(){if(this.hasOwnProperty(nt("elementProperties")))return;let t=_r(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(nt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(nt("properties"))){let e=this.properties,s=[...wr(e),...$r(e)];for(let o of s)this.createProperty(o,e[o])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[s,o]of e)this.elementProperties.set(s,o)}this._$Eh=new Map;for(let[e,s]of this.elementProperties){let o=this._$Eu(e,s);o!==void 0&&this._$Eh.set(o,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let s=new Set(t.flat(1/0).reverse());for(let o of s)e.unshift(I(o))}else t!==void 0&&e.push(I(t));return e}static _$Eu(t,e){let s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return At(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$ET(t,e){let s=this.constructor.elementProperties.get(t),o=this.constructor._$Eu(t,s);if(o!==void 0&&s.reflect===!0){let i=(s.converter?.toAttribute!==void 0?s.converter:ae).toAttribute(e,s.type);this._$Em=t,i==null?this.removeAttribute(o):this.setAttribute(o,i),this._$Em=null}}_$AK(t,e){let s=this.constructor,o=s._$Eh.get(t);if(o!==void 0&&this._$Em!==o){let i=s.getPropertyOptions(o),n=typeof i.converter=="function"?{fromAttribute:i.converter}:i.converter?.fromAttribute!==void 0?i.converter:ae;this._$Em=o;let c=n.fromAttribute(e,i.type);this[o]=c??this._$Ej?.get(o)??c,this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){let o=this.constructor,i=this[t];if(s??=o.getPropertyOptions(t),!((s.hasChanged??_e)(i,e)||s.useDefault&&s.reflect&&i===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,s))))return;this.C(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:s,reflect:o,wrapped:i},n){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,n??e??this[t]),i!==!0||n!==void 0)||(this._$AL.has(t)||(this.hasUpdated||s||(e=void 0),this._$AL.set(t,e)),o===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[o,i]of this._$Ep)this[o]=i;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[o,i]of s){let{wrapped:n}=i,c=this[o];n!==!0||this._$AL.has(o)||c===void 0||this.C(o,void 0,i,c)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((s=>s.hostUpdate?.())),this.update(e)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((e=>this._$ET(e,this[e]))),this._$EM()}updated(t){}firstUpdated(t){}};T.elementStyles=[],T.shadowRootOptions={mode:"open"},T[nt("elementProperties")]=new Map,T[nt("finalized")]=new Map,Sr?.({ReactiveElement:T}),(St.reactiveElementVersions??=[]).push("2.1.1");var ce=globalThis,kt=ce.trustedTypes,Ae=kt?kt.createPolicy("lit-html",{createHTML:r=>r}):void 0,pe="$lit$",z=`lit$${Math.random().toFixed(9).slice(2)}$`,he="?"+z,kr=`<${he}>`,U=document,lt=()=>U.createComment(""),ct=r=>r===null||typeof r!="object"&&typeof r!="function",ue=Array.isArray,ze=r=>ue(r)||typeof r?.[Symbol.iterator]=="function",le=`[
2
+ \f\r]`,at=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Se=/-->/g,ke=/>/g,H=RegExp(`>|${le}(?:([^\\s"'>=/]+)(${le}*=${le}*(?:[^
3
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),Ce=/'/g,Ee=/"/g,Pe=/^(?:script|style|textarea|title)$/i,de=r=>(t,...e)=>({_$litType$:r,strings:t,values:e}),m=de(1),E=de(2),Kr=de(3),j=Symbol.for("lit-noChange"),v=Symbol.for("lit-nothing"),Te=new WeakMap,B=U.createTreeWalker(U,129);function Oe(r,t){if(!ue(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ae!==void 0?Ae.createHTML(t):t}var Re=(r,t)=>{let e=r.length-1,s=[],o,i=t===2?"<svg>":t===3?"<math>":"",n=at;for(let c=0;c<e;c++){let a=r[c],u,g,l=-1,f=0;for(;f<a.length&&(n.lastIndex=f,g=n.exec(a),g!==null);)f=n.lastIndex,n===at?g[1]==="!--"?n=Se:g[1]!==void 0?n=ke:g[2]!==void 0?(Pe.test(g[2])&&(o=RegExp("</"+g[2],"g")),n=H):g[3]!==void 0&&(n=H):n===H?g[0]===">"?(n=o??at,l=-1):g[1]===void 0?l=-2:(l=n.lastIndex-g[2].length,u=g[1],n=g[3]===void 0?H:g[3]==='"'?Ee:Ce):n===Ee||n===Ce?n=H:n===Se||n===ke?n=at:(n=H,o=void 0);let w=n===H&&r[c+1].startsWith("/>")?" ":"";i+=n===at?a+kr:l>=0?(s.push(u),a.slice(0,l)+pe+a.slice(l)+z+w):a+z+(l===-2?c:w)}return[Oe(r,i+(r[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),s]},pt=class r{constructor({strings:t,_$litType$:e},s){let o;this.parts=[];let i=0,n=0,c=t.length-1,a=this.parts,[u,g]=Re(t,e);if(this.el=r.createElement(u,s),B.currentNode=this.el.content,e===2||e===3){let l=this.el.content.firstChild;l.replaceWith(...l.childNodes)}for(;(o=B.nextNode())!==null&&a.length<c;){if(o.nodeType===1){if(o.hasAttributes())for(let l of o.getAttributeNames())if(l.endsWith(pe)){let f=g[n++],w=o.getAttribute(l).split(z),C=/([.?@])?(.*)/.exec(f);a.push({type:1,index:i,name:C[2],strings:w,ctor:C[1]==="."?Et:C[1]==="?"?Tt:C[1]==="@"?zt:L}),o.removeAttribute(l)}else l.startsWith(z)&&(a.push({type:6,index:i}),o.removeAttribute(l));if(Pe.test(o.tagName)){let l=o.textContent.split(z),f=l.length-1;if(f>0){o.textContent=kt?kt.emptyScript:"";for(let w=0;w<f;w++)o.append(l[w],lt()),B.nextNode(),a.push({type:2,index:++i});o.append(l[f],lt())}}}else if(o.nodeType===8)if(o.data===he)a.push({type:2,index:i});else{let l=-1;for(;(l=o.data.indexOf(z,l+1))!==-1;)a.push({type:7,index:i}),l+=z.length-1}i++}}static createElement(t,e){let s=U.createElement("template");return s.innerHTML=t,s}};function D(r,t,e=r,s){if(t===j)return t;let o=s!==void 0?e._$Co?.[s]:e._$Cl,i=ct(t)?void 0:t._$litDirective$;return o?.constructor!==i&&(o?._$AO?.(!1),i===void 0?o=void 0:(o=new i(r),o._$AT(r,e,s)),s!==void 0?(e._$Co??=[])[s]=o:e._$Cl=o),o!==void 0&&(t=D(r,o._$AS(r,t.values),o,s)),t}var Ct=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:e},parts:s}=this._$AD,o=(t?.creationScope??U).importNode(e,!0);B.currentNode=o;let i=B.nextNode(),n=0,c=0,a=s[0];for(;a!==void 0;){if(n===a.index){let u;a.type===2?u=new W(i,i.nextSibling,this,t):a.type===1?u=new a.ctor(i,a.name,a.strings,this,t):a.type===6&&(u=new Pt(i,this,t)),this._$AV.push(u),a=s[++c]}n!==a?.index&&(i=B.nextNode(),n++)}return B.currentNode=U,o}p(t){let e=0;for(let s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}},W=class r{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,s,o){this.type=2,this._$AH=v,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&t?.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=D(this,t,e),ct(t)?t===v||t==null||t===""?(this._$AH!==v&&this._$AR(),this._$AH=v):t!==this._$AH&&t!==j&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):ze(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==v&&ct(this._$AH)?this._$AA.nextSibling.data=t:this.T(U.createTextNode(t)),this._$AH=t}$(t){let{values:e,_$litType$:s}=t,o=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=pt.createElement(Oe(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===o)this._$AH.p(e);else{let i=new Ct(o,this),n=i.u(this.options);i.p(e),this.T(n),this._$AH=i}}_$AC(t){let e=Te.get(t.strings);return e===void 0&&Te.set(t.strings,e=new pt(t)),e}k(t){ue(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,s,o=0;for(let i of t)o===e.length?e.push(s=new r(this.O(lt()),this.O(lt()),this,this.options)):s=e[o],s._$AI(i),o++;o<e.length&&(this._$AR(s&&s._$AB.nextSibling,o),e.length=o)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){let s=t.nextSibling;t.remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},L=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,o,i){this.type=1,this._$AH=v,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=i,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=v}_$AI(t,e=this,s,o){let i=this.strings,n=!1;if(i===void 0)t=D(this,t,e,0),n=!ct(t)||t!==this._$AH&&t!==j,n&&(this._$AH=t);else{let c=t,a,u;for(t=i[0],a=0;a<i.length-1;a++)u=D(this,c[s+a],e,a),u===j&&(u=this._$AH[a]),n||=!ct(u)||u!==this._$AH[a],u===v?t=v:t!==v&&(t+=(u??"")+i[a+1]),this._$AH[a]=u}n&&!o&&this.j(t)}j(t){t===v?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Et=class extends L{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===v?void 0:t}},Tt=class extends L{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==v)}},zt=class extends L{constructor(t,e,s,o,i){super(t,e,s,o,i),this.type=5}_$AI(t,e=this){if((t=D(this,t,e,0)??v)===j)return;let s=this._$AH,o=t===v&&s!==v||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,i=t!==v&&(s===v||o);o&&this.element.removeEventListener(this.name,this,s),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},Pt=class{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){D(this,t)}},Me={M:pe,P:z,A:he,C:1,L:Re,R:Ct,D:ze,V:D,I:W,H:L,N:Tt,U:zt,B:Et,F:Pt},Cr=ce.litHtmlPolyfillSupport;Cr?.(pt,W),(ce.litHtmlVersions??=[]).push("3.3.1");var ht=(r,t,e)=>{let s=e?.renderBefore??t,o=s._$litPart$;if(o===void 0){let i=e?.renderBefore??null;s._$litPart$=o=new W(t.insertBefore(lt(),i),i,void 0,e??{})}return o._$AI(r),o};var me=globalThis,F=class extends T{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=ht(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return j}};F._$litElement$=!0,F.finalized=!0,me.litElementHydrateSupport?.({LitElement:F});var Er=me.litElementPolyfillSupport;Er?.({LitElement:F});(me.litElementVersions??=[]).push("4.2.1");var X=d`
4
4
  @layer reset {
5
5
  * {
6
6
  margin: 0;
@@ -16,31 +16,96 @@ var Je=Object.defineProperty;var Ke=(r,t)=>{for(var e in t)Je(r,e,{get:t[e],enum
16
16
  ::-webkit-scrollbar-thumb { background: #333; border-radius: 1em; }
17
17
  ::-webkit-scrollbar-thumb:hover { background: #444; }
18
18
  }
19
- `;function E(r,t){let e,s,o=[];function i(){e=[],s&&clearTimeout(s),s=void 0,o=[]}return i(),((...n)=>{e=n,s&&clearTimeout(s);let c=new Promise((a,l)=>{o.push({resolve:a,reject:l})});return s=setTimeout(()=>{Promise.resolve().then(()=>t(...e)).then(a=>{for(let{resolve:l}of o)l(a);i()}).catch(a=>{for(let{reject:l}of o)l(a);i()})},r),c})}function nt(){let r,t,e=new Promise((o,i)=>{r=o,t=i});function s(o){return o.then(r).catch(t),e}return{promise:e,resolve:r,reject:t,entangle:s}}var q=class r extends Map{static require(t,e){if(t.has(e))return t.get(e);throw new Error(`required key not found: "${e}"`)}static guarantee(t,e,s){if(t.has(e))return t.get(e);{let o=s();return t.set(e,o),o}}array(){return[...this]}require(t){return r.require(this,t)}guarantee(t,e){return r.guarantee(this,t,e)}};var ve=(r=0)=>new Promise(t=>setTimeout(t,r));function St(r){return{map:t=>_e(r,t),filter:t=>Ae(r,t)}}St.pipe=Object.freeze({map:r=>(t=>_e(t,r)),filter:r=>(t=>Ae(t,r))});var _e=(r,t)=>Object.fromEntries(Object.entries(r).map(([e,s])=>[e,t(s,e)])),Ae=(r,t)=>Object.fromEntries(Object.entries(r).filter(([e,s])=>t(s,e)));function Se(){let r=new Set;async function t(...a){await Promise.all([...r].map(l=>l(...a)))}function e(a){return r.add(a),()=>{r.delete(a)}}async function s(...a){return t(...a)}function o(a){return e(a)}async function i(a){let{promise:l,resolve:m}=nt(),p=o(async(...w)=>{a&&await a(...w),m(w),p()});return l}function n(){r.clear()}let c={pub:s,sub:o,publish:t,subscribe:e,on:e,next:i,clear:n};return Object.assign(o,c),Object.assign(s,c),c}function Et(r){let t=Se();return r&&t.sub(r),t.sub}function ee(r){let t=Se();return r&&t.sub(r),t.pub}function Ee(r){let t,e=!1,s=()=>{e=!0,clearTimeout(t)},o=async()=>{e||(await r(s),!e&&(t=setTimeout(o,0)))};return o(),s}function hr(r,t,e){e==null?r.removeAttribute(t):typeof e=="string"?r.setAttribute(t,e):typeof e=="number"?r.setAttribute(t,e.toString()):typeof e=="boolean"?e===!0?r.setAttribute(t,""):r.removeAttribute(t):console.warn(`invalid attribute "${t}" type is "${typeof e}"`)}function Ct(r,t){for(let[e,s]of t)hr(r,e,s)}function Ce(r,t){let e=document.createElement(r);return Ct(e,Object.entries(t)),e}function ke(r,t){let e=new MutationObserver(t);return e.observe(r,{attributes:!0}),()=>e.disconnect()}var b={get:{string:(r,t)=>r.getAttribute(t)??void 0,number:(r,t)=>{let e=r.getAttribute(t);return e===null||!e?void 0:Number(e)},boolean:(r,t)=>r.getAttribute(t)!==null},set:{string:(r,t,e)=>(e===void 0?r.removeAttribute(t):r.setAttribute(t,e),!0),number:(r,t,e)=>(e===void 0?r.removeAttribute(t):r.setAttribute(t,e.toString()),!0),boolean:(r,t,e)=>(e?r.setAttribute(t,""):r.removeAttribute(t),!0)}};var Pe=(r,t)=>new Proxy(t,{get:(e,s)=>{switch(t[s]){case String:return b.get.string(r,s);case Number:return b.get.number(r,s);case Boolean:return b.get.boolean(r,s);default:throw new Error(`invalid attribute type for "${s}"`)}},set:(e,s,o)=>{switch(t[s]){case String:return b.set.string(r,s,o);case Number:return b.set.number(r,s,o);case Boolean:return b.set.boolean(r,s,o);default:throw new Error(`invalid attribute type for "${s}"`)}}});var kt=class{element;constructor(t){this.element=t}strings=new Proxy({},{get:(t,e)=>b.get.string(this.element,e),set:(t,e,s)=>b.set.string(this.element,e,s)});numbers=new Proxy({},{get:(t,e)=>b.get.number(this.element,e),set:(t,e,s)=>b.set.number(this.element,e,s)});booleans=new Proxy({},{get:(t,e)=>b.get.boolean(this.element,e),set:(t,e,s)=>b.set.boolean(this.element,e,s)})};function at(r){let t=new kt(r);return{strings:t.strings,numbers:t.numbers,booleans:t.booleans,on:e=>ke(r,e),spec:e=>Pe(r,e)}}at.get=b.get;at.set=b.set;function re(r,t){let e=[];for(let[s,o]of Object.entries(t))if(typeof o=="function")r.addEventListener(s,o),e.push(()=>r.removeEventListener(s,o));else{let[i,n]=o;r.addEventListener(s,n,i),e.push(()=>r.removeEventListener(s,n))}return()=>e.forEach(s=>s())}function Te(r){return r.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function Re(r,t={}){let{soft:e=!1,upgrade:s=!0}=t;for(let[o,i]of Object.entries(r)){let n=Te(o),c=customElements.get(n);e&&c||(customElements.define(n,i),s&&document.querySelectorAll(n).forEach(a=>{a.constructor===HTMLElement&&customElements.upgrade(a)}))}}function Oe(r,t){let e=r.querySelector(t);if(!e)throw new Error(`element not found (${t})`);return e}var Pt=class r{element;constructor(t){this.element=t}in(t){return new r(typeof t=="string"?Oe(this.element,t):t)}require(t){let e=this.element.querySelector(t);if(!e)throw new Error(`element not found (${t})`);return e}maybe(t){return this.element.querySelector(t)}all(t){return Array.from(this.element.querySelectorAll(t))}render(...t){return it(t,this.element)}attrs(){return at(this.element)}events(t){return re(this.element,t)}};function u(r){return typeof r=="string"?Oe(document,r):new Pt(r)}var C=new Pt(document);u.in=C.in.bind(C);u.require=C.require.bind(C);u.maybe=C.maybe.bind(C);u.all=C.all.bind(C);u.el=Ce;u.events=re;u.attrs=at;u.register=Re;u.render=(r,...t)=>it(t,r);var se=class{#t=[];#e=new WeakMap;#r=[];#s=new Set;notifyRead(t){this.#t.at(-1)?.add(t)}async notifyWrite(t){if(this.#s.has(t))throw new Error("circularity forbidden");let e=this.#o(t).pub();return this.#r.at(-1)?.add(e),e}observe(t){this.#t.push(new Set);let e=t();return{seen:this.#t.pop(),result:e}}subscribe(t,e){return this.#o(t)(async()=>{let s=new Set;this.#r.push(s),this.#s.add(t),s.add(e()),this.#s.delete(t),await Promise.all(s),this.#r.pop()})}#o(t){let e=this.#e.get(t);return e||(e=Et(),this.#e.set(t,e)),e}},x=globalThis[Symbol.for("e280.tracker")]??=new se;var V=class{sneak;constructor(t){this.sneak=t}get(){return x.notifyRead(this),this.sneak}get value(){return this.get()}};var W=class extends V{on=Et();dispose(){this.on.clear()}};function Tt(r,t=r){let{seen:e,result:s}=x.observe(r),o=E(0,t),i=[],n=()=>i.forEach(c=>c());for(let c of e){let a=x.subscribe(c,o);i.push(a)}return{result:s,dispose:n}}function I(r,t){return r===t}var Rt=class extends W{#t;constructor(t,e){let s=e?.compare??I,{result:o,dispose:i}=Tt(t,async()=>{let n=t();!s(this.sneak,n)&&(this.sneak=n,await Promise.all([x.notifyWrite(this),this.on.pub(n)]))});super(o),this.#t=i}toString(){return`(derived "${String(this.get())}")`}dispose(){super.dispose(),this.#t()}get core(){return this}fn(){let t=this;function e(){return t.get()}return e.core=t,e.get=t.get.bind(t),e.on=t.on,e.dispose=t.dispose.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value}),Object.defineProperty(e,"sneak",{get:()=>t.sneak}),e}};var Ot=class extends V{#t;#e;#r=!1;#s;constructor(t,e){super(void 0),this.#t=t,this.#e=e?.compare??I}toString(){return`($lazy "${String(this.get())}")`}get(){if(!this.#s){let{result:t,dispose:e}=Tt(this.#t,()=>this.#r=!0);this.#s=e,this.sneak=t}if(this.#r){this.#r=!1;let t=this.#t();!this.#e(this.sneak,t)&&(this.sneak=t,x.notifyWrite(this))}return super.get()}dispose(){this.#s&&this.#s()}get core(){return this}fn(){let t=this;function e(){return t.get()}return e.core=t,e.get=t.get.bind(t),e.dispose=t.dispose.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value}),Object.defineProperty(e,"sneak",{get:()=>t.sneak}),e}};var Mt=class extends W{#t=!1;#e;constructor(t,e){super(t),this.#e=e?.compare??I}toString(){return`($signal "${String(this.get())}")`}async set(t,e=!1){let s=this.sneak;return this.sneak=t,(e||!this.#e(s,t))&&await this.publish(),t}get value(){return this.get()}set value(t){this.set(t)}async publish(){if(this.#t)throw new Error("forbid circularity");let t=this.sneak,e=Promise.resolve();try{this.#t=!0,e=Promise.all([x.notifyWrite(this),this.on.publish(t)])}finally{this.#t=!1}return await e,t}get core(){return this}fn(){let t=this;function e(s){return arguments.length===0?t.get():t.set(arguments[0])}return e.core=t,e.get=t.get.bind(t),e.set=t.set.bind(t),e.on=t.on,e.dispose=t.dispose.bind(t),e.publish=t.publish.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value,set:s=>t.value=s}),Object.defineProperty(e,"sneak",{get:()=>t.sneak,set:s=>t.sneak=s}),e}};function lr(r,t){return new Ot(r,t).fn()}function Me(r,t){return new Rt(r,t).fn()}function $(r,t){return new Mt(r,t).fn()}$.lazy=lr;$.derived=Me;var k=class{#t=new q;effect(t,e){let{seen:s,result:o}=x.observe(t);for(let i of s)this.#t.guarantee(i,()=>x.subscribe(i,e));for(let[i,n]of this.#t)s.has(i)||(n(),this.#t.delete(i));return o}clear(){for(let t of this.#t.values())t();this.#t.clear()}};var F=class{element;response;#t;constructor(t,e){this.element=t,this.response=e}start(){this.#t||(this.#t=u.attrs(this.element).on(this.response))}stop(){this.#t&&this.#t(),this.#t=void 0}};function Nt(r,t){bt(r,ur(t))}function ur(r){let t=[];if(Array.isArray(r)){let e=new Set(r.flat(1/0).reverse());for(let s of e)t.unshift(U(s))}else r!==void 0&&t.push(U(r));return t}var z={status:r=>r[0],value:r=>r[0]==="ready"?r[1]:void 0,error:r=>r[0]==="error"?r[1]:void 0,select:(r,t)=>{switch(r[0]){case"loading":return t.loading();case"error":return t.error(r[1]);case"ready":return t.ready(r[1]);default:throw new Error("unknown op status")}},morph:(r,t)=>z.select(r,{loading:()=>["loading"],error:e=>["error",e],ready:e=>["ready",t(e)]}),all:(...r)=>{let t=[],e=[],s=0;for(let o of r)switch(o[0]){case"loading":s++;break;case"ready":t.push(o[1]);break;case"error":e.push(o[1]);break}return e.length>0?["error",e]:s===0?["ready",t]:["loading"]}};var X=class{static loading(){return new this}static ready(t){return new this(["ready",t])}static error(t){return new this(["error",t])}static promise(t){let e=new this;return e.promise(t),e}static load(t){return this.promise(t())}static all(...t){let e=t.map(s=>s.pod);return z.all(...e)}signal;#t=0;#e=ee();#r=ee();constructor(t=["loading"]){this.signal=$(t)}get wait(){return new Promise((t,e)=>{this.#e.next().then(([s])=>t(s)),this.#r.next().then(([s])=>e(s))})}get then(){return this.wait.then.bind(this.wait)}get catch(){return this.wait.catch.bind(this.wait)}get finally(){return this.wait.finally.bind(this.wait)}async setLoading(){await this.signal.set(["loading"])}async setReady(t){await this.signal.set(["ready",t]),await this.#e(t)}async setError(t){await this.signal.set(["error",t]),await this.#r(t)}async promise(t){let e=++this.#t;await this.setLoading();try{let s=await t;return e===this.#t&&await this.setReady(s),s}catch(s){console.error(s),e===this.#t&&await this.setError(s)}}async load(t){return this.promise(t())}get pod(){return this.signal.get()}set pod(t){this.signal.set(t)}get status(){return this.signal.get()[0]}get value(){return z.value(this.signal.get())}get error(){return z.error(this.signal.get())}get isLoading(){return this.status==="loading"}get isReady(){return this.status==="ready"}get isError(){return this.status==="error"}require(){let t=this.signal.get();if(t[0]!=="ready")throw new Error("required value not ready");return t[1]}select(t){return z.select(this.signal.get(),t)}morph(t){return z.morph(this.pod,t)}};var Ht=class{#t=[];#e=[];mount(t){this.#t.push(t),this.#e.push(t())}unmountAll(){for(let t of this.#e)t();this.#e=[]}remountAll(){for(let t of this.#t)this.#e.push(t())}};var zt=class{#t;#e;constructor(t){this.#t=t,this.#e=u.attrs(t.element)}get strings(){return this.#e.strings}get numbers(){return this.#e.numbers}get booleans(){return this.#e.booleans}spec(t){return this.#t.once(()=>this.#e.spec(t))}on(t){return this.#t.mount(()=>this.#e.on(t))}};var ct=Symbol(),ht=Symbol(),lt=Symbol(),Y=class{element;shadow;renderNow;render;attrs;#t=0;#e=0;#r=new q;#s=nt();#o=new Ht;[ct](t){this.#t++,this.#e=0,this.#s=nt();let e=t();return this.#s.resolve(),e}[ht](){this.#o.unmountAll()}[lt](){this.#o.remountAll()}constructor(t,e,s,o){this.element=t,this.shadow=e,this.renderNow=s,this.render=o,this.attrs=new zt(this)}get renderCount(){return this.#t}get rendered(){return this.#s.promise}name(t){this.once(()=>this.element.setAttribute("view",t))}styles(...t){this.once(()=>Nt(this.shadow,t))}css(...t){return this.styles(...t)}once(t){return this.#r.guarantee(this.#e++,t)}mount(t){return this.once(()=>this.#o.mount(t))}life(t){let e;return this.mount(()=>{let[s,o]=t();return e=s,o}),e}wake(t){return this.life(()=>[t(),()=>{}])}op=(()=>{let t=this;function e(s){return t.once(()=>X.load(s))}return e.load=e,e.promise=s=>this.once(()=>X.promise(s)),e})();signal=(()=>{let t=this;function e(s,o){return t.once(()=>$(s,o))}return e.derived=function(o,i){return t.once(()=>$.derived(o,i))},e.lazy=function(o,i){return t.once(()=>$.lazy(o,i))},e})();derived(t,e){return this.once(()=>$.derived(t,e))}lazy(t,e){return this.once(()=>$.lazy(t,e))}};var P=class extends HTMLElement{static styles;shadow;#t;#e=0;#r=new k;#s=new F(this,()=>this.update());createShadow(){return this.attachShadow({mode:"open"})}constructor(){super(),this.shadow=this.createShadow(),this.#t=new Y(this,this.shadow,this.updateNow,this.update)}render(t){}updateNow=()=>{this.#t[ct](()=>{u.render(this.shadow,this.#r.effect(()=>this.render(this.#t),this.update))})};update=E(0,this.updateNow);connectedCallback(){if(this.#e===0){let t=this.constructor.styles;t&&Nt(this.shadow,t),this.updateNow()}else this.#t[lt]();this.#s.start(),this.#e++}disconnectedCallback(){this.#t[ht](),this.#r.clear(),this.#s.stop()}};var Ut=class{#t;#e;constructor(t,e){this.#e=t,this.#t=e}attr(t,e){return this.#e.attrs.set(t,e),this}children(...t){return this.#e.children.push(...t),this}render(){return this.#t(this.#e)}};var pt=class{props;attrs=new Map;children=[];constructor(t){this.props=t}};function Ne(r,t,e,s){return class extends t{static view=Z(s,r);#t=new k;createShadow(){return this.attachShadow(r)}render(i){return s(i)(...this.#t.effect(()=>e(this),()=>this.update()))}}}var{I:zi}=we;var He=r=>r.strings===void 0;var ze={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},oe=r=>(...t)=>({_$litDirective$:r,values:t}),Dt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var ut=(r,t)=>{let e=r._$AN;if(e===void 0)return!1;for(let s of e)s._$AO?.(t,!1),ut(s,t);return!0},jt=r=>{let t,e;do{if((t=r._$AM)===void 0)break;e=t._$AN,e.delete(r),r=t}while(e?.size===0)},Ue=r=>{for(let t;t=r._$AM;r=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(r))break;e.add(r),fr(t)}};function dr(r){this._$AN!==void 0?(jt(this),this._$AM=r,Ue(this)):this._$AM=r}function mr(r,t=!1,e=0){let s=this._$AH,o=this._$AN;if(o!==void 0&&o.size!==0)if(t)if(Array.isArray(s))for(let i=e;i<s.length;i++)ut(s[i],!1),jt(s[i]);else s!=null&&(ut(s,!1),jt(s));else ut(this,r)}var fr=r=>{r.type==ze.CHILD&&(r._$AP??=mr,r._$AQ??=dr)},Lt=class extends Dt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),Ue(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(ut(this,t),jt(this))}setValue(t){if(He(this._$Ct))this._$Ct._$AI(t,this);else{let e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}};var Bt=class r extends HTMLElement{static#t=!1;static make(){return this.#t||(u.register({SlyView:r},{soft:!0,upgrade:!0}),this.#t=!0),document.createElement("sly-view")}};var qt=class{viewFn;settings;#t=Bt.make();#e=new k;#r;#s;#o;#i=new F(this.#t,()=>this.#a());constructor(t,e){this.viewFn=t,this.settings=e,this.#s=this.#t.attachShadow(this.settings),this.#r=new Y(this.#t,this.#s,this.#n,this.#a)}update(t){return this.#o=t,this.#n(),this.#t}#n=()=>{this.#r[ct](()=>{let t=this.#e.effect(()=>this.viewFn(this.#r)(...this.#o.props),()=>this.#a());Ct(this.#t,[...this.#o.attrs]),u.render(this.#s,t),u.render(this.#t,this.#o.children),this.#i.start()})};#a=E(0,this.#n);disconnected(){this.#r[ht](),this.#e.clear(),this.#i.stop()}reconnected(){this.#r[lt](),this.#i.start()}};function De(r,t){return oe(class extends Lt{#t=new qt(r,t);render(s){return this.#t.update(s)}disconnected(){this.#t.disconnected()}reconnected(){this.#t.reconnected()}})}function Z(r,t){let e=De(r,t);function s(...o){return e(new pt(o))}return s.props=(...o)=>new Ut(new pt(o),e),s.transmute=o=>Z(n=>{let c=r(n);return(...a)=>c(...o(...a))},t),s.component=(o=P)=>({props:i=>Ne(t,o,i,r)}),s}function y(r){return Z(r,{mode:"open"})}y.settings=r=>({render:t=>Z(t,r)});y.render=y;y.component=r=>y(t=>()=>r(t)).component(P).props(()=>[]);function h(r,t){return()=>gr({hz:r,frames:t})}var gr=y(r=>({hz:t,frames:e})=>{r.name("loading"),r.styles(B,br);let s=r.signal(0);return r.mount(()=>Ee(async()=>{await ve(1e3/t);let o=s.get()+1;s.set(o>=e.length?0:o)})),e.at(s.get())}),br=g`
19
+ `;function P(r,t){let e,s,o=[];function i(){e=[],s&&clearTimeout(s),s=void 0,o=[]}return i(),((...n)=>{e=n,s&&clearTimeout(s);let c=new Promise((a,u)=>{o.push({resolve:a,reject:u})});return s=setTimeout(()=>{Promise.resolve().then(()=>t(...e)).then(a=>{for(let{resolve:u}of o)u(a);i()}).catch(a=>{for(let{reject:u}of o)u(a);i()})},r),c})}function Tr(r){let t,e=!1,s=()=>{e=!0,clearTimeout(t)},o=async()=>{e||(await r(s),!e&&(t=setTimeout(o,0)))};return o(),s}var Ne=Tr;function ut(){let r,t,e=new Promise((o,i)=>{r=o,t=i});function s(o){return o.then(r).catch(t),e}return{promise:e,resolve:r,reject:t,entangle:s}}var Ot=class{getRefill;#t=[];constructor(t){this.getRefill=t,this.#e()}get currentStock(){return[...this.#t]}#e(){if(this.#t.length===0&&(this.#t=[...this.getRefill()]),this.#t.length===0)throw new Error("dispenser's getRefill returned an empty array")}takeAll(){let t=this.#t;return this.#t=[...this.getRefill()],t}takeRandom(){this.#e();let t=Math.floor(Math.random()*this.#t.length),[e]=this.#t.splice(t,1);return e}takeFirst(){return this.#e(),this.#t.shift()}takeLast(){return this.#e(),this.#t.pop()}shift=this.takeFirst.bind(this);pop=this.takeLast.bind(this)};var Y=class r extends Map{static require(t,e){if(t.has(e))return t.get(e);throw new Error(`required key not found: "${e}"`)}static guarantee(t,e,s){if(t.has(e))return t.get(e);{let o=s();return t.set(e,o),o}}array(){return[...this]}require(t){return r.require(this,t)}guarantee(t,e){return r.guarantee(this,t,e)}};var He=(r=0)=>new Promise(t=>setTimeout(t,r));function Rt(r){return{map:t=>Be(r,t),filter:t=>Ue(r,t)}}Rt.pipe=Object.freeze({map:r=>(t=>Be(t,r)),filter:r=>(t=>Ue(t,r))});var Be=(r,t)=>Object.fromEntries(Object.entries(r).map(([e,s])=>[e,t(s,e)])),Ue=(r,t)=>Object.fromEntries(Object.entries(r).filter(([e,s])=>t(s,e)));function je(){let r=new Set;async function t(...a){await Promise.all([...r].map(u=>u(...a)))}function e(a){return r.add(a),()=>{r.delete(a)}}async function s(...a){return t(...a)}function o(a){return e(a)}async function i(a){let{promise:u,resolve:g}=ut(),l=o(async(...f)=>{a&&await a(...f),g(f),l()});return u}function n(){r.clear()}let c={pub:s,sub:o,publish:t,subscribe:e,on:e,next:i,clear:n};return Object.assign(o,c),Object.assign(s,c),c}function Mt(r){let t=je();return r&&t.sub(r),t.sub}function fe(r){let t=je();return r&&t.sub(r),t.pub}function De(r){let t=r.split(/\r|\n/),e;for(let o of t)if(!/^\s+$/.test(o)){let n=o.match(/^(\t+).+/);if(n){let c=n[1].length;if(e=e===void 0||c<e?c:e,e===0)break}}let s=new RegExp(`^\\t{${e}}`);return t.map(o=>/^\s+$/.test(o)?"":o).map(o=>o.replace(s,"")).join(`
20
+ `)}function zr(r,t,e){e==null?r.removeAttribute(t):typeof e=="string"?r.setAttribute(t,e):typeof e=="number"?r.setAttribute(t,e.toString()):typeof e=="boolean"?e===!0?r.setAttribute(t,""):r.removeAttribute(t):console.warn(`invalid attribute "${t}" type is "${typeof e}"`)}function Nt(r,t){for(let[e,s]of t)zr(r,e,s)}function Le(r,t){let e=document.createElement(r);return Nt(e,Object.entries(t)),e}function qe(r,t){let e=new MutationObserver(t);return e.observe(r,{attributes:!0}),()=>e.disconnect()}var $={get:{string:(r,t)=>r.getAttribute(t)??void 0,number:(r,t)=>{let e=r.getAttribute(t);return e===null||!e?void 0:Number(e)},boolean:(r,t)=>r.getAttribute(t)!==null},set:{string:(r,t,e)=>(e===void 0?r.removeAttribute(t):r.setAttribute(t,e),!0),number:(r,t,e)=>(e===void 0?r.removeAttribute(t):r.setAttribute(t,e.toString()),!0),boolean:(r,t,e)=>(e?r.setAttribute(t,""):r.removeAttribute(t),!0)}};var Ve=(r,t)=>new Proxy(t,{get:(e,s)=>{switch(t[s]){case String:return $.get.string(r,s);case Number:return $.get.number(r,s);case Boolean:return $.get.boolean(r,s);default:throw new Error(`invalid attribute type for "${s}"`)}},set:(e,s,o)=>{switch(t[s]){case String:return $.set.string(r,s,o);case Number:return $.set.number(r,s,o);case Boolean:return $.set.boolean(r,s,o);default:throw new Error(`invalid attribute type for "${s}"`)}}});var Ht=class{element;constructor(t){this.element=t}strings=new Proxy({},{get:(t,e)=>$.get.string(this.element,e),set:(t,e,s)=>$.set.string(this.element,e,s)});numbers=new Proxy({},{get:(t,e)=>$.get.number(this.element,e),set:(t,e,s)=>$.set.number(this.element,e,s)});booleans=new Proxy({},{get:(t,e)=>$.get.boolean(this.element,e),set:(t,e,s)=>$.set.boolean(this.element,e,s)})};function dt(r){let t=new Ht(r);return{strings:t.strings,numbers:t.numbers,booleans:t.booleans,on:e=>qe(r,e),spec:e=>Ve(r,e)}}dt.get=$.get;dt.set=$.set;function ge(r,t){let e=[];for(let[s,o]of Object.entries(t))if(typeof o=="function")r.addEventListener(s,o),e.push(()=>r.removeEventListener(s,o));else{let[i,n]=o;r.addEventListener(s,n,i),e.push(()=>r.removeEventListener(s,n))}return()=>e.forEach(s=>s())}function Ie(r){return r.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function We(r,t={}){let{soft:e=!1,upgrade:s=!0}=t;for(let[o,i]of Object.entries(r)){let n=Ie(o),c=customElements.get(n);e&&c||(customElements.define(n,i),s&&document.querySelectorAll(n).forEach(a=>{a.constructor===HTMLElement&&customElements.upgrade(a)}))}}function Fe(r,t){let e=r.querySelector(t);if(!e)throw new Error(`element not found (${t})`);return e}var Bt=class r{element;constructor(t){this.element=t}in(t){return new r(typeof t=="string"?Fe(this.element,t):t)}require(t){let e=this.element.querySelector(t);if(!e)throw new Error(`element not found (${t})`);return e}maybe(t){return this.element.querySelector(t)}all(t){return Array.from(this.element.querySelectorAll(t))}render(...t){return ht(t,this.element)}attrs(){return dt(this.element)}events(t){return ge(this.element,t)}};function p(r){return typeof r=="string"?Fe(document,r):new Bt(r)}var O=new Bt(document);p.in=O.in.bind(O);p.require=O.require.bind(O);p.maybe=O.maybe.bind(O);p.all=O.all.bind(O);p.el=Le;p.events=ge;p.attrs=dt;p.register=We;p.render=(r,...t)=>ht(t,r);var be=class{#t=[];#e=new WeakMap;#r=[];#s=new Set;notifyRead(t){this.#t.at(-1)?.add(t)}async notifyWrite(t){if(this.#s.has(t))throw new Error("circularity forbidden");let e=this.#o(t).pub();return this.#r.at(-1)?.add(e),e}observe(t){this.#t.push(new Set);let e=t();return{seen:this.#t.pop(),result:e}}subscribe(t,e){return this.#o(t)(async()=>{let s=new Set;this.#r.push(s),this.#s.add(t),s.add(e()),this.#s.delete(t),await Promise.all(s),this.#r.pop()})}#o(t){let e=this.#e.get(t);return e||(e=Mt(),this.#e.set(t,e)),e}},_=globalThis[Symbol.for("e280.tracker")]??=new be;var Z=class{sneak;constructor(t){this.sneak=t}get(){return _.notifyRead(this),this.sneak}get value(){return this.get()}};var J=class extends Z{on=Mt();dispose(){this.on.clear()}};function Ut(r,t=r){let{seen:e,result:s}=_.observe(r),o=P(0,t),i=[],n=()=>i.forEach(c=>c());for(let c of e){let a=_.subscribe(c,o);i.push(a)}return{result:s,dispose:n}}function K(r,t){return r===t}var jt=class extends J{#t;constructor(t,e){let s=e?.compare??K,{result:o,dispose:i}=Ut(t,async()=>{let n=t();!s(this.sneak,n)&&(this.sneak=n,await Promise.all([_.notifyWrite(this),this.on.pub(n)]))});super(o),this.#t=i}toString(){return`(derived "${String(this.get())}")`}dispose(){super.dispose(),this.#t()}get core(){return this}fn(){let t=this;function e(){return t.get()}return e.core=t,e.get=t.get.bind(t),e.on=t.on,e.dispose=t.dispose.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value}),Object.defineProperty(e,"sneak",{get:()=>t.sneak}),e}};var Dt=class extends Z{#t;#e;#r=!1;#s;constructor(t,e){super(void 0),this.#t=t,this.#e=e?.compare??K}toString(){return`($lazy "${String(this.get())}")`}get(){if(!this.#s){let{result:t,dispose:e}=Ut(this.#t,()=>this.#r=!0);this.#s=e,this.sneak=t}if(this.#r){this.#r=!1;let t=this.#t();!this.#e(this.sneak,t)&&(this.sneak=t,_.notifyWrite(this))}return super.get()}dispose(){this.#s&&this.#s()}get core(){return this}fn(){let t=this;function e(){return t.get()}return e.core=t,e.get=t.get.bind(t),e.dispose=t.dispose.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value}),Object.defineProperty(e,"sneak",{get:()=>t.sneak}),e}};var Lt=class extends J{#t=!1;#e;constructor(t,e){super(t),this.#e=e?.compare??K}toString(){return`($signal "${String(this.get())}")`}async set(t,e=!1){let s=this.sneak;return this.sneak=t,(e||!this.#e(s,t))&&await this.publish(),t}get value(){return this.get()}set value(t){this.set(t)}async publish(){if(this.#t)throw new Error("forbid circularity");let t=this.sneak,e=Promise.resolve();try{this.#t=!0,e=Promise.all([_.notifyWrite(this),this.on.publish(t)])}finally{this.#t=!1}return await e,t}get core(){return this}fn(){let t=this;function e(s){return arguments.length===0?t.get():t.set(arguments[0])}return e.core=t,e.get=t.get.bind(t),e.set=t.set.bind(t),e.on=t.on,e.dispose=t.dispose.bind(t),e.publish=t.publish.bind(t),e.fn=t.fn.bind(t),Object.defineProperty(e,"value",{get:()=>t.value,set:s=>t.value=s}),Object.defineProperty(e,"sneak",{get:()=>t.sneak,set:s=>t.sneak=s}),e}};function Pr(r,t){return new Dt(r,t).fn()}function Xe(r,t){return new jt(r,t).fn()}function x(r,t){return new Lt(r,t).fn()}x.lazy=Pr;x.derived=Xe;var R=class{#t=new Y;effect(t,e){let{seen:s,result:o}=_.observe(t);for(let i of s)this.#t.guarantee(i,()=>_.subscribe(i,e));for(let[i,n]of this.#t)s.has(i)||(n(),this.#t.delete(i));return o}clear(){for(let t of this.#t.values())t();this.#t.clear()}};var Q=class{element;response;#t;constructor(t,e){this.element=t,this.response=e}start(){this.#t||(this.#t=p.attrs(this.element).on(this.response))}stop(){this.#t&&this.#t(),this.#t=void 0}};function qt(r,t){At(r,Rr(t))}function Rr(r){let t=[];if(Array.isArray(r)){let e=new Set(r.flat(1/0).reverse());for(let s of e)t.unshift(I(s))}else r!==void 0&&t.push(I(r));return t}var q={status:r=>r[0],value:r=>r[0]==="ready"?r[1]:void 0,error:r=>r[0]==="error"?r[1]:void 0,select:(r,t)=>{switch(r[0]){case"loading":return t.loading();case"error":return t.error(r[1]);case"ready":return t.ready(r[1]);default:throw new Error("unknown op status")}},morph:(r,t)=>q.select(r,{loading:()=>["loading"],error:e=>["error",e],ready:e=>["ready",t(e)]}),all:(...r)=>{let t=[],e=[],s=0;for(let o of r)switch(o[0]){case"loading":s++;break;case"ready":t.push(o[1]);break;case"error":e.push(o[1]);break}return e.length>0?["error",e]:s===0?["ready",t]:["loading"]}};var G=class{static loading(){return new this}static ready(t){return new this(["ready",t])}static error(t){return new this(["error",t])}static promise(t){let e=new this;return e.promise(t),e}static load(t){return this.promise(t())}static all(...t){let e=t.map(s=>s.pod);return q.all(...e)}signal;#t=0;#e=fe();#r=fe();constructor(t=["loading"]){this.signal=x(t)}get wait(){return new Promise((t,e)=>{this.#e.next().then(([s])=>t(s)),this.#r.next().then(([s])=>e(s))})}get then(){return this.wait.then.bind(this.wait)}get catch(){return this.wait.catch.bind(this.wait)}get finally(){return this.wait.finally.bind(this.wait)}async setLoading(){await this.signal.set(["loading"])}async setReady(t){await this.signal.set(["ready",t]),await this.#e(t)}async setError(t){await this.signal.set(["error",t]),await this.#r(t)}async promise(t){let e=++this.#t;await this.setLoading();try{let s=await t;return e===this.#t&&await this.setReady(s),s}catch(s){console.error(s),e===this.#t&&await this.setError(s)}}async load(t){return this.promise(t())}get pod(){return this.signal.get()}set pod(t){this.signal.set(t)}get status(){return this.signal.get()[0]}get value(){return q.value(this.signal.get())}get error(){return q.error(this.signal.get())}get isLoading(){return this.status==="loading"}get isReady(){return this.status==="ready"}get isError(){return this.status==="error"}require(){let t=this.signal.get();if(t[0]!=="ready")throw new Error("required value not ready");return t[1]}select(t){return q.select(this.signal.get(),t)}morph(t){return q.morph(this.pod,t)}};var Vt=class{#t=[];#e=[];mount(t){this.#t.push(t),this.#e.push(t())}unmountAll(){for(let t of this.#e)t();this.#e=[]}remountAll(){for(let t of this.#t)this.#e.push(t())}};var It=class{#t;#e;constructor(t){this.#t=t,this.#e=p.attrs(t.element)}get strings(){return this.#e.strings}get numbers(){return this.#e.numbers}get booleans(){return this.#e.booleans}spec(t){return this.#t.once(()=>this.#e.spec(t))}on(t){return this.#t.mount(()=>this.#e.on(t))}};var mt=Symbol(),ft=Symbol(),gt=Symbol(),tt=class{element;shadow;renderNow;render;attrs;#t=0;#e=0;#r=new Y;#s=ut();#o=new Vt;[mt](t){this.#t++,this.#e=0,this.#s=ut();let e=t();return this.#s.resolve(),e}[ft](){this.#o.unmountAll()}[gt](){this.#o.remountAll()}constructor(t,e,s,o){this.element=t,this.shadow=e,this.renderNow=s,this.render=o,this.attrs=new It(this)}get renderCount(){return this.#t}get rendered(){return this.#s.promise}name(t){this.once(()=>this.element.setAttribute("view",t))}styles(...t){this.once(()=>qt(this.shadow,t))}css(...t){return this.styles(...t)}once(t){return this.#r.guarantee(this.#e++,t)}mount(t){return this.once(()=>this.#o.mount(t))}life(t){let e;return this.mount(()=>{let[s,o]=t();return e=s,o}),e}wake(t){return this.life(()=>[t(),()=>{}])}op=(()=>{let t=this;function e(s){return t.once(()=>G.load(s))}return e.load=e,e.promise=s=>this.once(()=>G.promise(s)),e})();signal=(()=>{let t=this;function e(s,o){return t.once(()=>x(s,o))}return e.derived=function(o,i){return t.once(()=>x.derived(o,i))},e.lazy=function(o,i){return t.once(()=>x.lazy(o,i))},e})();derived(t,e){return this.once(()=>x.derived(t,e))}lazy(t,e){return this.once(()=>x.lazy(t,e))}};var M=class extends HTMLElement{static styles;shadow;#t;#e=0;#r=new R;#s=new Q(this,()=>this.update());createShadow(){return this.attachShadow({mode:"open"})}constructor(){super(),this.shadow=this.createShadow(),this.#t=new tt(this,this.shadow,this.updateNow,this.update)}render(t){}updateNow=()=>{this.#t[mt](()=>{p.render(this.shadow,this.#r.effect(()=>this.render(this.#t),this.update))})};update=P(0,this.updateNow);connectedCallback(){if(this.#e===0){let t=this.constructor.styles;t&&qt(this.shadow,t),this.updateNow()}else this.#t[gt]();this.#s.start(),this.#e++}disconnectedCallback(){this.#t[ft](),this.#r.clear(),this.#s.stop()}};var Wt=class{#t;#e;constructor(t,e){this.#e=t,this.#t=e}attr(t,e){return this.#e.attrs.set(t,e),this}children(...t){return this.#e.children.push(...t),this}render(){return this.#t(this.#e)}};var bt=class{props;attrs=new Map;children=[];constructor(t){this.props=t}};function Ye(r,t,e,s){return class extends t{static view=et(s,r);#t=new R;createShadow(){return this.attachShadow(r)}render(i){return s(i)(...this.#t.effect(()=>e(this),()=>this.update()))}}}var{I:on}=Me;var Ze=r=>r.strings===void 0;var Je={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ye=r=>(...t)=>({_$litDirective$:r,values:t}),Ft=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var yt=(r,t)=>{let e=r._$AN;if(e===void 0)return!1;for(let s of e)s._$AO?.(t,!1),yt(s,t);return!0},Xt=r=>{let t,e;do{if((t=r._$AM)===void 0)break;e=t._$AN,e.delete(r),r=t}while(e?.size===0)},Ke=r=>{for(let t;t=r._$AM;r=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(r))break;e.add(r),Hr(t)}};function Mr(r){this._$AN!==void 0?(Xt(this),this._$AM=r,Ke(this)):this._$AM=r}function Nr(r,t=!1,e=0){let s=this._$AH,o=this._$AN;if(o!==void 0&&o.size!==0)if(t)if(Array.isArray(s))for(let i=e;i<s.length;i++)yt(s[i],!1),Xt(s[i]);else s!=null&&(yt(s,!1),Xt(s));else yt(this,r)}var Hr=r=>{r.type==Je.CHILD&&(r._$AP??=Nr,r._$AQ??=Mr)},Yt=class extends Ft{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),Ke(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(yt(this,t),Xt(this))}setValue(t){if(Ze(this._$Ct))this._$Ct._$AI(t,this);else{let e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}};var Zt=class r extends HTMLElement{static#t=!1;static make(){return this.#t||(p.register({SlyView:r},{soft:!0,upgrade:!0}),this.#t=!0),document.createElement("sly-view")}};var Jt=class{viewFn;settings;#t=Zt.make();#e=new R;#r;#s;#o;#i=new Q(this.#t,()=>this.#a());constructor(t,e){this.viewFn=t,this.settings=e,this.#s=this.#t.attachShadow(this.settings),this.#r=new tt(this.#t,this.#s,this.#n,this.#a)}update(t){return this.#o=t,this.#n(),this.#t}#n=()=>{this.#r[mt](()=>{let t=this.#e.effect(()=>this.viewFn(this.#r)(...this.#o.props),()=>this.#a());Nt(this.#t,[...this.#o.attrs]),p.render(this.#s,t),p.render(this.#t,this.#o.children),this.#i.start()})};#a=P(0,this.#n);disconnected(){this.#r[ft](),this.#e.clear(),this.#i.stop()}reconnected(){this.#r[gt](),this.#i.start()}};function Qe(r,t){return ye(class extends Yt{#t=new Jt(r,t);render(s){return this.#t.update(s)}disconnected(){this.#t.disconnected()}reconnected(){this.#t.reconnected()}})}function et(r,t){let e=Qe(r,t);function s(...o){return e(new bt(o))}return s.props=(...o)=>new Wt(new bt(o),e),s.transmute=o=>et(n=>{let c=r(n);return(...a)=>c(...o(...a))},t),s.component=(o=M)=>({props:i=>Ye(t,o,i,r)}),s}function b(r){return et(r,{mode:"open"})}b.settings=r=>({render:t=>et(t,r)});b.render=b;b.component=r=>b(t=>()=>r(t)).component(M).props(()=>[]);function h(r,t){return()=>Br({hz:r,frames:t})}var Br=b(r=>({hz:t,frames:e})=>{r.name("loading"),r.styles(X,Ur);let s=r.signal(0);return r.mount(()=>Ne(async()=>{await He(1e3/t);let o=s.get()+1;s.set(o>=e.length?0:o)})),e.at(s.get())}),Ur=d`
20
21
  :host {
21
22
  font-family: monospace;
22
23
  white-space: pre;
23
24
  user-select: none;
24
25
  }
25
- `;var d=20,J=10,K=4,wn=h(d,["|","/","-","\\"]),vn=h(d,["\u2808","\u2810","\u2820","\u2880","\u2840","\u2804","\u2802","\u2801"]),_n=h(d,["\u2B06\uFE0F","\u2197\uFE0F","\u27A1\uFE0F","\u2198\uFE0F","\u2B07\uFE0F","\u2199\uFE0F","\u2B05\uFE0F","\u2196\uFE0F"]),An=h(d,["\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1"]),Sn=h(d,["\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1"]),En=h(d,["\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B0\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1"]),Cn=h(d,["\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B1\u25B0\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0"]),kn=h(d,["\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581","\u2588\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2588"]),Pn=h(d,["\u2588\u2581\u2581\u2581\u2581","\u2588\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2581\u2581\u2581"]),Tn=h(K,["\u{1F6B6}","\u{1F3C3}"]),Rn=h(J,["\u25F7","\u25F6","\u25F5","\u25F4"]),On=h(d,["=----","-=---","--=--","---=-","----=","----=","---=-","--=--","-=---","=----"]),Mn=h(d,["o----","-o---","--o--","---o-","----o","----o","---o-","--o--","-o---","o----"]),Nn=h(J,["[ ]","[ ]","[= ]","[== ]","[===]","[ ==]","[ =]"]),Hn=h(J,["[ ]","[ ]","[= ]","[== ]","[===]","[ ==]","[ =]","[ ]","[ ]","[ =]","[ ==]","[===]","[== ]","[= ]"]),zn=h(J,[" "," ",". ",".. ","..."," .."," ."]),Un=h(d,[". ",". ",".. ","..."," .."," ."," ."," ..","...",".. "]),Dn=h(d,[".....",".....",":....","::...",":::..","::::.",":::::",":::::",".::::","..:::","...::","....:"]),jn=h(d,[":....",":....","::...",".::..","..::.","...::","....:","....:","...::","..::.",".::..","::..."]),Ln=h(d,[".....",".....","..:..",".:::.",".:::.",":::::",":::::","::.::",":...:"]),Bn=h(d,[".....",".....","..:..",".:::.",".:::.",":::::",":::::","::.::",":...:",".....",".....",":...:","::.::",":::::",":::::",".:::.",".:::.","..:.."]),qn=h(d,["000","100","110","111","011","001"]),Vn=h(d,["11111","01111","00111","10011","11001","01100","00110","10011","11001","11100","11110"]),Wn=h(d,["11111","01111","10111","11011","11101","11110","11111","11110","11101","11011","10111","01111"]),In=h(K,["\u{1F539}","\u{1F535}"]),Fn=h(J,["\u{1F642}","\u{1F642}","\u{1F617}","\u{1F619}","\u{1F618}","\u{1F618}","\u{1F619}"]),Xn=h(d,["\u{1F550}","\u{1F551}","\u{1F552}","\u{1F553}","\u{1F554}","\u{1F555}","\u{1F556}","\u{1F557}","\u{1F558}","\u{1F559}","\u{1F55A}","\u{1F55B}"]),Yn=h(d,["\u{1F91C} \u{1F91B}","\u{1F91C} \u{1F91B}","\u{1F91C} \u{1F91B}"," \u{1F91C} \u{1F91B} "," \u{1F91C}\u{1F91B} "," \u{1F91C}\u{1F91B} "," \u{1F91C}\u{1F4A5}\u{1F91B} ","\u{1F91C} \u{1F4A5} \u{1F91B}","\u{1F91C} \u2728 \u{1F91B}","\u{1F91C} \u2728 \u{1F91B}"]),yr=h(K,["\u{1F30E}","\u{1F30F}","\u{1F30D}"]),Zn=h(K,["\u{1F513}","\u{1F512}"]),Jn=h(K,["\u{1F505}","\u{1F506}"]),Kn=h(K,["\u{1F508}","\u{1F508}","\u{1F509}","\u{1F50A}","\u{1F50A}","\u{1F509}"]),Qn=h(J,["\u{1F311}","\u{1F311}","\u{1F311}","\u{1F318}","\u{1F317}","\u{1F316}","\u{1F315}","\u{1F314}","\u{1F313}","\u{1F312}"]);var $r=y(r=>t=>(r.name("error"),r.styles(B,wr),typeof t=="string"?t:t instanceof Error?v`<strong>${t.name}:</strong> <span>${t.message}</span>`:"error")),wr=g`
26
+ `;var y=20,rt=10,st=4,Vn=h(y,["|","/","-","\\"]),In=h(y,["\u2808","\u2810","\u2820","\u2880","\u2840","\u2804","\u2802","\u2801"]),Wn=h(y,["\u2B06\uFE0F","\u2197\uFE0F","\u27A1\uFE0F","\u2198\uFE0F","\u2B07\uFE0F","\u2199\uFE0F","\u2B05\uFE0F","\u2196\uFE0F"]),Fn=h(y,["\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1"]),Xn=h(y,["\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B1\u25B0\u25B1\u25B1\u25B1"]),Yn=h(y,["\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B1\u25B0\u25B0\u25B0\u25B1","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1"]),Zn=h(y,["\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B1\u25B0\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B0\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B0\u25B0","\u25B1\u25B1\u25B1\u25B1\u25B0"]),Jn=h(y,["\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581","\u2588\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2588"]),Kn=h(y,["\u2588\u2581\u2581\u2581\u2581","\u2588\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2588\u2588\u2588","\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581","\u2588\u2588\u2588\u2581\u2581","\u2588\u2588\u2581\u2581\u2581"]),Qn=h(st,["\u{1F6B6}","\u{1F3C3}"]),Gn=h(rt,["\u25F7","\u25F6","\u25F5","\u25F4"]),ta=h(y,["=----","-=---","--=--","---=-","----=","----=","---=-","--=--","-=---","=----"]),ea=h(y,["o----","-o---","--o--","---o-","----o","----o","---o-","--o--","-o---","o----"]),ra=h(rt,["[ ]","[ ]","[= ]","[== ]","[===]","[ ==]","[ =]"]),sa=h(rt,["[ ]","[ ]","[= ]","[== ]","[===]","[ ==]","[ =]","[ ]","[ ]","[ =]","[ ==]","[===]","[== ]","[= ]"]),oa=h(rt,[" "," ",". ",".. ","..."," .."," ."]),ia=h(y,[". ",". ",".. ","..."," .."," ."," ."," ..","...",".. "]),na=h(y,[".....",".....",":....","::...",":::..","::::.",":::::",":::::",".::::","..:::","...::","....:"]),aa=h(y,[":....",":....","::...",".::..","..::.","...::","....:","....:","...::","..::.",".::..","::..."]),la=h(y,[".....",".....","..:..",".:::.",".:::.",":::::",":::::","::.::",":...:"]),ca=h(y,[".....",".....","..:..",".:::.",".:::.",":::::",":::::","::.::",":...:",".....",".....",":...:","::.::",":::::",":::::",".:::.",".:::.","..:.."]),pa=h(y,["000","100","110","111","011","001"]),ha=h(y,["11111","01111","00111","10011","11001","01100","00110","10011","11001","11100","11110"]),ua=h(y,["11111","01111","10111","11011","11101","11110","11111","11110","11101","11011","10111","01111"]),da=h(st,["\u{1F539}","\u{1F535}"]),ma=h(rt,["\u{1F642}","\u{1F642}","\u{1F617}","\u{1F619}","\u{1F618}","\u{1F618}","\u{1F619}"]),fa=h(y,["\u{1F550}","\u{1F551}","\u{1F552}","\u{1F553}","\u{1F554}","\u{1F555}","\u{1F556}","\u{1F557}","\u{1F558}","\u{1F559}","\u{1F55A}","\u{1F55B}"]),ga=h(y,["\u{1F91C} \u{1F91B}","\u{1F91C} \u{1F91B}","\u{1F91C} \u{1F91B}"," \u{1F91C} \u{1F91B} "," \u{1F91C}\u{1F91B} "," \u{1F91C}\u{1F91B} "," \u{1F91C}\u{1F4A5}\u{1F91B} ","\u{1F91C} \u{1F4A5} \u{1F91B}","\u{1F91C} \u2728 \u{1F91B}","\u{1F91C} \u2728 \u{1F91B}"]),jr=h(st,["\u{1F30E}","\u{1F30F}","\u{1F30D}"]),ba=h(st,["\u{1F513}","\u{1F512}"]),ya=h(st,["\u{1F505}","\u{1F506}"]),va=h(st,["\u{1F508}","\u{1F508}","\u{1F509}","\u{1F50A}","\u{1F50A}","\u{1F509}"]),xa=h(rt,["\u{1F311}","\u{1F311}","\u{1F311}","\u{1F318}","\u{1F317}","\u{1F316}","\u{1F315}","\u{1F314}","\u{1F313}","\u{1F312}"]);var Lr=b(r=>t=>(r.name("error"),r.styles(X,qr),typeof t=="string"?t:t instanceof Error?m`<strong>${t.name}:</strong> <span>${t.message}</span>`:"error")),qr=d`
26
27
  :host {
27
28
  font-family: monospace;
28
29
  color: red;
29
30
  }
30
- `;var Vt={};Ke(Vt,{basic:()=>dt});var dt=g`
31
-
32
- ${B}
31
+ `;function Fr(r,t){return t.transmute((...e)=>[r,...e])}function tr(r){return Rt(r).map(t=>t.view)}function er(r,t){return Rt(t).map(e=>class extends e{context=r;static view=Fr(r,super.view)})}var rr=d`@layer view {
33
32
 
34
33
  :host {
35
- display: block;
36
- --bg: var(--shiny-bg, #111);
37
- --alpha: var(--shiny-alpha, #afa);
38
- --good: var(--shiny-good, #0f4);
39
- --bad: var(--shiny-bad, #f40);
40
- --invalid: var(--shiny-invalid, #8888);
34
+ opacity: 0.8;
35
+ display: inline-flex;
36
+ width: max-content;
37
+ height: max-content;
38
+
39
+ --padding: 0.3em;
40
+ border-radius: 0.2em;
41
+ border: 0.1em solid currentColor;
42
+
43
+ cursor: pointer;
44
+ background: transparent;
45
+ user-select: none;
41
46
  }
42
47
 
43
- `;var Le=g`
48
+ :host(:not([disabled]):is(:hover, :focus-visible)) { opacity: 1; }
49
+ :host(:not([disabled]):active) { opacity: 0.6; }
50
+
51
+ :host([disabled]) {
52
+ cursor: default;
53
+ color: var(--lame);
54
+ }
55
+
56
+ :host([hidden]) {
57
+ display: none !important;
58
+ }
59
+
60
+ :host([lame]) { color: var(--lame); }
61
+ :host([angry]) { color: var(--angry); }
62
+ :host([zesty]) { color: var(--zesty); }
63
+ :host([happy]) { color: var(--happy); }
64
+ :host([calm]) { color: var(--calm); }
65
+ :host([sad]) { color: var(--sad); }
66
+ :host([quirky]) { color: var(--quirky); }
67
+
68
+ button {
69
+ background: transparent;
70
+ border: none;
71
+
72
+ font: inherit;
73
+ color: inherit;
74
+ cursor: inherit;
75
+ outline: inherit;
76
+ text-shadow: inherit;
77
+
78
+ display: inline-flex;
79
+ justify-content: center;
80
+ align-items: center;
81
+
82
+ width: 100%;
83
+ height: 100%;
84
+ padding: var(--padding);
85
+ }
86
+
87
+ slot {
88
+ display: contents;
89
+ }
90
+
91
+ }`;var A=d`
92
+
93
+ @layer reset, underlay, view, overlay;
94
+
95
+ ${X}
96
+
97
+ @layer overlay {
98
+ [hidden] { display: none !important; }
99
+ }
100
+
101
+ `;var S=class extends M{context};var Kt=class extends b(t=>e=>{t.name("shiny-button"),t.styles(A,e.theme,rr);let s=t.attrs.spec({disabled:Boolean,hidden:Boolean});return m`
102
+ <button
103
+ part=button
104
+ ?disabled="${s.disabled}"
105
+ ?hidden="${s.hidden}">
106
+ <slot></slot>
107
+ </button>
108
+ `}).component(S).props(t=>[t.context]){};var sr=d`@layer view {
44
109
 
45
110
  button {
46
111
  background: transparent;
@@ -49,7 +114,7 @@ button {
49
114
  }
50
115
 
51
116
  button {
52
- opacity: 0.5;
117
+ opacity: var(--inactive-opacity);
53
118
  cursor: pointer;
54
119
  cursor: copy;
55
120
 
@@ -62,18 +127,18 @@ button {
62
127
  }
63
128
 
64
129
  [data-status="invalid"] {
65
- color: var(--invalid);
130
+ color: var(--lame);
66
131
  }
67
132
 
68
133
  [data-status="good"] {
69
134
  opacity: 1;
70
- color: var(--good);
135
+ color: var(--happy);
71
136
  filter: drop-shadow(0 0 0.3em color-mix(in oklab, transparent, currentColor 50%));
72
137
  }
73
138
 
74
139
  [data-status="bad"] {
75
140
  opacity: 1;
76
- color: var(--bad);
141
+ color: var(--angry);
77
142
  filter: drop-shadow(0 0 0.3em color-mix(in oklab, transparent, currentColor 50%));
78
143
  }
79
144
 
@@ -82,22 +147,292 @@ svg {
82
147
  height: 1em;
83
148
  }
84
149
 
85
- `;var Q=class extends P{theme=dt};var ie=j`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-clipboard"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2" /><path d="M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /></svg>`;var Be=j`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" class="icon icon-tabler icons-tabler-filled icon-tabler-clipboard-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M17.997 4.17a3 3 0 0 1 2.003 2.83v12a3 3 0 0 1 -3 3h-10a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 2.003 -2.83a4 4 0 0 0 3.997 3.83h4a4 4 0 0 0 3.98 -3.597zm-7.29 7.123a1 1 0 0 0 -1.414 0l-.083 .094a1 1 0 0 0 .083 1.32l1.292 1.293l-1.292 1.293a1 1 0 0 0 0 1.414l.094 .083a1 1 0 0 0 1.32 -.083l1.293 -1.293l1.293 1.293a1 1 0 0 0 1.414 0l.083 -.094a1 1 0 0 0 -.083 -1.32l-1.293 -1.293l1.293 -1.293a1 1 0 0 0 0 -1.414l-.094 -.083a1 1 0 0 0 -1.32 .083l-1.293 1.292zm3.293 -9.293a2 2 0 1 1 0 4h-4a2 2 0 1 1 0 -4z" /></svg>`;var qe=j`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" class="icon icon-tabler icons-tabler-filled icon-tabler-clipboard-check"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M17.997 4.17a3 3 0 0 1 2.003 2.83v12a3 3 0 0 1 -3 3h-10a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 2.003 -2.83a4 4 0 0 0 3.997 3.83h4a4 4 0 0 0 3.98 -3.597zm-3.704 7.123l-3.293 3.292l-1.293 -1.292a1 1 0 1 0 -1.414 1.414l2 2a1 1 0 0 0 1.414 0l4 -4a1 1 0 0 0 -1.414 -1.414m-.293 -9.293a2 2 0 1 1 0 4h-4a2 2 0 1 1 0 -4z" /></svg>`;var Wt=class extends y(t=>(e,s,o=1e3)=>{t.name("shiny-copy"),t.styles(e,Le);let i=()=>s===void 0?"invalid":"neutral",n=t.signal(i()),c=t.once(()=>E(o,()=>n.set(i()))),a=t.once(()=>async p=>{await n.set(p),await c()});async function l(){if(s!==void 0)try{await navigator.clipboard.writeText(s),await a("good")}catch(p){console.error(p),await a("bad")}}let m=(()=>{switch(n.get()){case"neutral":return ie;case"invalid":return ie;case"good":return qe;case"bad":return Be;default:throw new Error("invalid copy status")}})();return v`
86
- <button data-status="${n.get()}" @click="${l}">
87
- ${m}
150
+ }`;var ve=E`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-clipboard"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2" /><path d="M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /></svg>`;var or=E`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" class="icon icon-tabler icons-tabler-filled icon-tabler-clipboard-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M17.997 4.17a3 3 0 0 1 2.003 2.83v12a3 3 0 0 1 -3 3h-10a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 2.003 -2.83a4 4 0 0 0 3.997 3.83h4a4 4 0 0 0 3.98 -3.597zm-7.29 7.123a1 1 0 0 0 -1.414 0l-.083 .094a1 1 0 0 0 .083 1.32l1.292 1.293l-1.292 1.293a1 1 0 0 0 0 1.414l.094 .083a1 1 0 0 0 1.32 -.083l1.293 -1.293l1.293 1.293a1 1 0 0 0 1.414 0l.083 -.094a1 1 0 0 0 -.083 -1.32l-1.293 -1.293l1.293 -1.293a1 1 0 0 0 0 -1.414l-.094 -.083a1 1 0 0 0 -1.32 .083l-1.293 1.292zm3.293 -9.293a2 2 0 1 1 0 4h-4a2 2 0 1 1 0 -4z" /></svg>`;var ir=E`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" class="icon icon-tabler icons-tabler-filled icon-tabler-clipboard-check"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M17.997 4.17a3 3 0 0 1 2.003 2.83v12a3 3 0 0 1 -3 3h-10a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 2.003 -2.83a4 4 0 0 0 3.997 3.83h4a4 4 0 0 0 3.98 -3.597zm-3.704 7.123l-3.293 3.292l-1.293 -1.292a1 1 0 1 0 -1.414 1.414l2 2a1 1 0 0 0 1.414 0l4 -4a1 1 0 0 0 -1.414 -1.414m-.293 -9.293a2 2 0 1 1 0 4h-4a2 2 0 1 1 0 -4z" /></svg>`;var Qt=class extends b(t=>(e,s,o=1e3)=>{t.name("shiny-copy"),t.styles(A,e.theme,sr);let i=()=>s===void 0?"invalid":"neutral",n=t.signal(i()),c=t.once(()=>P(o,()=>n.set(i()))),a=t.once(()=>async l=>{await n.set(l),await c()});async function u(){if(s!==void 0)try{await navigator.clipboard.writeText(s),await a("good")}catch(l){console.error(l),await a("bad")}}let g=(()=>{switch(n.get()){case"neutral":return ve;case"invalid":return ve;case"good":return ir;case"bad":return or;default:throw new Error("invalid copy status")}})();return m`
151
+ <button data-status="${n.get()}" @click="${u}">
152
+ ${g}
88
153
  </button>
89
- `}).component(class extends Q{attrs=u.attrs(this).spec({text:String,ms:Number})}).props(t=>[t.theme,t.attrs.text,t.attrs.ms]){};var Ve=g`
154
+ `}).component(class extends S{#t=p.attrs(this).spec({text:String,ms:Number});get text(){return this.#t.text}set text(t){this.#t.text=t}get ms(){return this.#t.ms}set ms(t){this.#t.ms=t}}).props(t=>[t.context,t.text,t.ms]){};var nr=d`@layer view {
155
+
156
+ :host {
157
+ display: block;
158
+ width: 100%;
159
+ height: 100%;
160
+ --button-size: 2em;
161
+ --anim-duration: 200ms;
162
+ --blanket-backdrop-filter: blur(0.5em);
163
+ --blanket-bg: color-mix(in oklab, transparent, var(--bg));
164
+ }
165
+
166
+ .shell {
167
+ position: relative;
168
+ width: 100%;
169
+ height: 100%;
170
+
171
+ [part="blanket"] {
172
+ opacity: 0;
173
+
174
+ content: "";
175
+ display: block;
176
+ position: absolute;
177
+ inset: 0;
178
+
179
+ background: var(--blanket-bg);
180
+ backdrop-filter: var(--blanket-backdrop-filter);
181
+
182
+ will-change: opacity;
183
+ transition: all var(--anim-duration) ease;
184
+ }
185
+
186
+ .clipper {
187
+ pointer-events: none;
188
+ position: absolute;
189
+ inset: 0;
190
+ width: 100%;
191
+ height: 100%;
192
+ overflow: hidden;
193
+ > * { pointer-events: all; }
194
+ }
195
+
196
+ [part="tray"] {
197
+ position: absolute;
198
+ top: 0;
199
+ width: calc(100% - var(--button-size));
200
+
201
+ display: flex;
202
+ flex-direction: column;
203
+ height: auto;
204
+ max-height: 100%;
205
+
206
+ opacity: 1;
207
+ transform: translateX(-100%);
208
+ will-change: opacity, transform;
209
+ transition: all var(--anim-duration) ease;
210
+
211
+ > slot {
212
+ display: block;
213
+ height: 100%;
214
+ overflow-y: auto;
215
+ }
216
+
217
+ > button {
218
+ position: absolute;
219
+ top: 0;
220
+ left: 100%;
221
+
222
+ opacity: var(--inactive-opacity);
223
+ background: transparent;
224
+ border: none;
225
+ cursor: pointer;
226
+
227
+ &:is(:hover, :focus-visible) {
228
+ opacity: 1;
229
+ }
230
+
231
+ > slot {
232
+ display: contents;
233
+ }
234
+
235
+ svg {
236
+ width: var(--button-size);
237
+ height: var(--button-size);
238
+ }
239
+ }
240
+ }
241
+
242
+ &[data-side="right"] {
243
+ [part="tray"] {
244
+ right: 0;
245
+ transform: translateX(100%);
246
+ > button {
247
+ left: unset;
248
+ right: 100%;
249
+ }
250
+ }
251
+ }
252
+
253
+ slot[name="plate"] {
254
+ display: block;
255
+ width: 100%;
256
+ height: 100%;
257
+ }
258
+
259
+ &[data-open] {
260
+ [part="blanket"] {
261
+ opacity: 1;
262
+ }
263
+ [part="tray"] {
264
+ opacity: 1;
265
+ transform: translateX(0%);
266
+ }
267
+ }
268
+ }
269
+
270
+ }`;var vt=class{$open=x(!1);constructor(t=!1){t&&this.$open.set(!0)}get isOpen(){return this.$open.get()}async setOpen(t){return this.$open.set(t)}open=async()=>{await this.setOpen(!0)};close=async()=>{await this.setOpen(!1)};toggle=async()=>this.setOpen(!this.isOpen)};var Gt=class{#t;constructor(t){this.#t=t.attachInternals().states}assign(...t){this.#t.forEach(e=>this.#t.delete(e));for(let e of t)this.#t.add(e);return this}};var ar=E`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 6l-12 12" /><path d="M6 6l12 12" /></svg>`;var lr=E`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-menu-2"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 6l16 0" /><path d="M4 12l16 0" /><path d="M4 18l16 0" /></svg>`;var te=class extends b(t=>(e,s)=>{t.name("shiny-drawer"),t.styles(A,e.theme,nr);let o=t.once(()=>new Gt(t.element)),i=s.side??"left",n=t.once(()=>s.control??new vt);return o.assign(i),t.mount(()=>p.events(window,{keydown:c=>{c.code==="Escape"&&n.close()}})),p.attrs(t.element).booleans.open=n.isOpen,m`
271
+ <div class=shell ?data-open="${n.isOpen}" data-side="${i}">
272
+ <slot name=plate ?inert="${n.isOpen}"></slot>
273
+
274
+ <div class=clipper>
275
+ <div part=blanket @click="${n.close}" ?inert="${!n.isOpen}"></div>
276
+
277
+ <div part=tray>
278
+ <slot ?inert="${!n.isOpen}"></slot>
279
+
280
+ ${s.button?m`
281
+ <button @click="${n.toggle}">
282
+ ${n.isOpen?m`
283
+ <slot name=button-x>
284
+ ${ar}
285
+ </slot>
286
+ `:m`
287
+ <slot name=button>
288
+ ${lr}
289
+ </slot>
290
+ `}
291
+ </button>
292
+ `:null}
293
+ </div>
294
+ </div>
295
+ </div>
296
+ `}).component(class extends S{#t=p.attrs(this).spec({open:Boolean,button:Boolean,side:String});get button(){return this.#t.button}set button(t){this.#t.button=t}get side(){return this.#t.side==="right"?"right":"left"}set side(t){this.#t.side=t}control=new vt(this.#t.open);get isOpen(){return this.control.isOpen}get toggle(){return this.control.toggle}get open(){return this.control.open}get close(){return this.control.close}}).props(t=>[t.context,{control:t.control,button:t.button,side:t.side}]){};var cr=d`@layer view {
90
297
 
91
298
  button {
92
299
  padding: 1em;
93
300
  min-width: 4em;
94
301
  }
95
302
 
96
- `;var It=class extends y(t=>(e,s)=>{t.styles(e,Ve);let o=t.signal(s);return v`
303
+ }`;var ee=class extends b(t=>(e,s)=>{t.name("shiny-example"),t.styles(A,e.theme,cr);let o=t.signal(s);return m`
97
304
  <button @click="${()=>{o.value++}}">
98
305
  ${o()}
99
306
  </button>
100
- `}).component(class extends Q{attrs=u.attrs(this).spec({start:Number})}).props(t=>[t.theme,t.attrs.start??1]){};var We={ShinyCopy:Wt,ShinyExample:It};function Sr(r){return St(We).map(t=>class extends t{theme=r;static view=super.view.transmute((...e)=>[r,...e])})}function Ie(r){return St(Sr(r)).map(t=>t.view)}var Fe=g`
307
+ `}).component(class extends S{attrs=p.attrs(this).spec({start:Number})}).props(t=>[t.context,t.attrs.start??1]){};var pr=d`@layer view {
308
+
309
+ :host {
310
+ display: inline-flex;
311
+ flex-direction: column;
312
+ }
313
+
314
+ slot[part="tabs"] {
315
+ display: flex;
316
+
317
+ &::slotted(*) {
318
+ border-radius: 0.3em;
319
+ }
320
+
321
+ &::slotted([data-active]) {
322
+ opacity: 1;
323
+ color: currentColor;
324
+ text-decoration: underline;
325
+ }
326
+
327
+ &::slotted(:not([data-last], [data-next-is-active])) {
328
+ border-right: none;
329
+ }
330
+
331
+ &::slotted([data-active]:not([data-first])) {
332
+ border-left: none;
333
+ }
334
+
335
+ &::slotted(:not([data-last])) {
336
+ border-top-right-radius: 0;
337
+ border-bottom-right-radius: 0;
338
+ }
339
+
340
+ &::slotted(:not([data-first])) {
341
+ border-top-left-radius: 0;
342
+ border-bottom-left-radius: 0;
343
+ }
344
+ }
345
+
346
+ } `;var V=class{length=1;$index=x(0);constructor(t=0){this.$index.value=t}clamp(t){return t=Math.min(t,this.length-1),t=Math.max(t,0),t}get index(){return this.clamp(this.$index.get())}async setIndex(t){return this.$index.set(t)}async shimmy(t){let e=this.clamp(this.index+t);return this.setIndex(e)}};var re=class extends b(t=>(e,s)=>{t.name("shiny-tabs"),t.styles(A,e.theme,pr);let o=t.attrs.spec({index:Number}),i=t.once(()=>s??new V(o.index??0)),n=t.signal([]),c=t.signal([]);async function a(l){let f=l.currentTarget;await n.set(f.assignedElements())}async function u(l){let f=l.currentTarget;await c.set(f.assignedElements())}o.index=i.$index(),i.length=n().length;function g(l,f){let w=i.clamp(l+f);return w===l?!1:w===i.index}for(let[l,f]of n().entries()){let w=l===i.index,C=p.attrs(f);C.booleans.disabled=w,C.booleans["data-active"]=w,C.booleans["data-first"]=l===0,C.booleans["data-last"]=l===i.length-1,C.booleans["data-next-is-active"]=g(l,1),C.booleans["data-previous-is-active"]=g(l,-1),f.onclick=()=>i.setIndex(l)}for(let[l,f]of c().entries()){let w=l===i.index;p.attrs(f).booleans.active=w,p.attrs(f).booleans.hidden=!w}return m`
347
+ <slot part=tabs @slotchange="${a}"></slot>
348
+ <slot part=panels name=panel @slotchange="${u}"></slot>
349
+ `}).component(class extends S{control=new V;get index(){return this.control.index}get length(){return this.control.length}setIndex=this.control.setIndex.bind(this.control);shimmy=this.control.shimmy.bind(this.control)}).props(t=>[t.context,t.control]){};var hr={ShinyButton:Kt,ShinyCopy:Qt,ShinyDrawer:te,ShinyExample:ee,ShinyTabs:re};function se(r){let t=er(r,hr),e=tr(t);return{components:t,views:e}}function oe(){return{bg:"#111",alpha:"#def","inactive-opacity":"0.5",lame:"#8888",angry:"#f50",zesty:"#cf0",happy:"#0fa",calm:"#0af",sad:"#74f",quirky:"#f49"}}function ie(r){return _t(Object.entries(r).map(([t,e])=>`--${t}: var(--shiny-${t}, ${e});`).join(`
350
+ `))}var ur=d`@layer overlay {
351
+
352
+ :host {
353
+ ${ie({...oe()})}
354
+ }
355
+
356
+ :host([view="shiny-button"]:not([plain])) {
357
+ position: relative;
358
+
359
+ --buttoncolor: var(--calm);
360
+ --padding: 0.3em 0.7em;
361
+
362
+ color: white;
363
+ border-radius: 2em;
364
+ background: var(--buttoncolor);
365
+ border: none;
366
+
367
+ font-weight: medium;
368
+ text-shadow: 0.1em 0.1em 0.1em #0004;
369
+ box-shadow: 0.1em 0.2em 0.3em #0002;
370
+ }
371
+
372
+ :host([view="shiny-button"][lame]) { --buttoncolor: var(--lame); }
373
+ :host([view="shiny-button"][angry]) { --buttoncolor: var(--angry); }
374
+ :host([view="shiny-button"][zesty]) { --buttoncolor: var(--zesty); }
375
+ :host([view="shiny-button"][happy]) { --buttoncolor: var(--happy); }
376
+ :host([view="shiny-button"][calm]) { --buttoncolor: var(--calm); }
377
+ :host([view="shiny-button"][sad]) { --buttoncolor: var(--sad); }
378
+ :host([view="shiny-button"][quirky]) { --buttoncolor: var(--quirky); }
379
+
380
+ :host([view="shiny-button"][gradient]:not([plain])) {
381
+ border: none;
382
+ background: linear-gradient(
383
+ to bottom right,
384
+ color-mix(in oklab, var(--buttoncolor), white 40%),
385
+ color-mix(in oklab, var(--buttoncolor), black 20%)
386
+ );
387
+
388
+ &::before {
389
+ content: "";
390
+ display: block;
391
+ position: absolute;
392
+ z-index: 0;
393
+ inset: 0.15em;
394
+ border-radius: inherit;
395
+ background: color-mix(in oklab, var(--buttoncolor), #0004 50%);
396
+ }
397
+
398
+ > * {
399
+ position: relative;
400
+ z-index: 1;
401
+ }
402
+ }
403
+
404
+ :host([view="shiny-drawer"]) {
405
+ display: block;
406
+
407
+ &::part(tray) {
408
+ padding: 1em;
409
+ background: linear-gradient(
410
+ to top right,
411
+ #00a9dd69,
412
+ #70ffd77a
413
+ );
414
+ }
415
+ }
416
+
417
+ :host([view="shiny-drawer"]:state(left)) {
418
+ &::part(tray) {
419
+ border-bottom-right-radius: 0.5em;
420
+ }
421
+ }
422
+
423
+ :host([view="shiny-drawer"]:state(right)) {
424
+ &::part(tray) {
425
+ border-bottom-left-radius: 0.5em;
426
+ }
427
+ }
428
+
429
+ }`;var N=se({theme:ur}).views;var dr=d`@layer overlay {
430
+
431
+ :host {
432
+ ${ie(oe())}
433
+ }
434
+
435
+ }`;var mr=()=>new Ot(()=>["lorem kettlebell dolor sit amet, mountain squats consectetur trail-running. adipiscing deadlift elit, sed do 45lb turkish get-up eiusmod tempor incididunt ut hike magna aliqua. ut enim ad minim clean & press, quis nostrud exercitation lunges ullamco kettlebell snatch trailhead nisi ut aliquip ex dolore summit irure dolor.","lorem protein dolor sit amet, creatine scoop elit shaker bottle tempor. grilled steak magna keto-fasting culpa, carb-loading perspiciatis cheat day. whey isolate dolor sit macros elit, intermittent fasting tempor electrolyte magna; barefoot shoes culpa, liver perspiciatis ancestral squat rack gospel. lorem bulking dolor sit cut elit, tdee tracker tempor calorie deficit magna; chicken breast culpa gatorade perspiciatis meal prep.","lorem caffeine dolor sit amet, double espresso elit cold brew tempor jitter. adderall magna focus culpa, lion\u2019s mane perspiciatis nootropic. nicotine gum dolor sit vape elit, dopamine hit tempor buzz magna; lsd microdosing culpa, productivity perspiciatis agile sprint. lorem latte dolor sit drip elit, french press tempor aeropress magna; insomnia culpa, circadian rhythm perspiciatis blue light filter.","lorem arch dolor sit amet, pacman -Syu elit rolling release tempor breakage. i3-gaps commodo tiling, bspwm magna culpa xinitrc. alias neovim configs in .dotfiles forest, r/unixporn veniam rice showcase perspiciatis.","lorem authlocal dolor sit amet, user-sovereign identity elit, cryptographic tempor signatures. ed25519 magna keypair culpa, elliptic perspiciatis handshake ut zero-knowledge proof. decentralized login elit mnemonic seed tempor recovery phrase. DID magna alias culpa federation, lorem oauth2 perspiciatis antiquated.","lorem webgpu dolor sit amet, fragment shader elit vertex buffer tempor pipeline; bindgroup magna sampler culpa, wgsl perspiciatis alignment bug. compute pass workgroup barrier magna, mipmap cascade culpa drawcall instancing overflow. spir-v dolor sit wasm elit, canvas context lost magna; fallback webgl2 perspiciatis, polyfill slowpath dolore, glsl antique culpa extension hell 144hz tearing. command encoder perspiciatis out-of-memory, chromium nightly.","lorem sedentary dolor sit amet, infinite scroll elit chair-bound tempor. commit marathon magna carpal tunnel culpa, caffeine perspiciatis heartbeat irregular. lorem backlog dolor sit ticket elit, jira sprint tempor sedentary slump magna; gym membership culpa expired, standing desk perspiciatis unused. lorem procrastination dolor sit youtube elit, keyboard crumbs tempor pizza box magna; cardio avoidant culpa, hike someday perspiciatis maybe."]);var fr=d`@layer view {
101
436
 
102
437
  :host {
103
438
  position: relative;
@@ -134,6 +469,12 @@ button {
134
469
  }
135
470
  }
136
471
 
472
+ p.lipsum {
473
+ opacity: 0.7;
474
+ font-family: serif;
475
+ font-style: italic;
476
+ }
477
+
137
478
  .meta {
138
479
  flex: 1 1 10em;
139
480
  display: flex;
@@ -144,6 +485,14 @@ button {
144
485
  color: var(--prime);
145
486
  }
146
487
 
488
+ [view="shiny-tabs"] {
489
+ gap: 0.5em;
490
+ &::part(tabs) {
491
+ font-size: 0.8em;
492
+ opacity: 0.8;
493
+ }
494
+ }
495
+
147
496
  .codes {
148
497
  display: flex;
149
498
  flex-direction: column;
@@ -175,6 +524,7 @@ button {
175
524
  white-space: pre;
176
525
  text-wrap: wrap;
177
526
  tab-size: 2;
527
+ word-break: break-word;
178
528
 
179
529
  font-size: 0.8em;
180
530
  font-family: monospace;
@@ -184,6 +534,7 @@ button {
184
534
 
185
535
  [view="shiny-copy"] {
186
536
  flex: 0 0 0;
537
+ font-size: 1.5em;
187
538
  padding: 0.2em;
188
539
  }
189
540
  }
@@ -201,45 +552,210 @@ button {
201
552
  border: 1px dashed #fff4;
202
553
  }
203
554
 
204
- `;function Xe(r){let t=r.split(/\r|\n/),e;for(let o of t)if(!/^\s+$/.test(o)){let n=o.match(/^(\t+).+/);if(n){let c=n[1].length;if(e=e===void 0||c<e?c:e,e===0)break}}let s=new RegExp(`^\\t{${e}}`);return t.map(o=>/^\s+$/.test(o)?"":o).map(o=>o.replace(s,"")).join(`
205
- `)}var Ye=y(r=>t=>{r.name(t.name),r.styles(dt,Fe);function e(s,o){let i=Xe(o).trim();return v`
206
- <div class=codeblock>
555
+ }`;var xt=b(r=>t=>{r.name(`demo-${t.name}`),r.styles(A,fr,t.style);function e(s,o){let i=De(o).trim();return m`
556
+ <div class=codeblock slot=panel>
207
557
  <div class=zone>
208
558
  <h3>${s}</h3>
209
559
  <code>${i}</code>
210
560
  </div>
211
- ${t.views.ShinyCopy(i)}
561
+ ${N.ShinyCopy(i)}
212
562
  </div>
213
- `}return v`
563
+ `}return m`
214
564
  <div class=meta>
215
- <h2>✨ ${t.name}</h2>
565
+ <h2>✨ shiny-${t.name}</h2>
216
566
  <div class=explain>${t.explain}</div>
217
- <div class=codes>
218
- ${e("sly view",t.exampleView)}
219
- ${e("html web component",t.exampleComponent)}
220
- </div>
567
+ ${N.ShinyTabs.props().children(m`
568
+ ${t.snippets.map(([s])=>N.ShinyButton.props().attr("plain",!0).children(s.button).render())}
569
+ ${t.snippets.map(([s,o])=>e(s.text,o))}
570
+ `).render()}
221
571
  </div>
222
572
 
223
573
  <div class=content part=content>
224
574
  ${t.content}
225
575
  </div>
226
- `});var Ze=Ie(Vt.basic);u.register({ShinyDemo:y.component(r=>(r.styles(g`
576
+ `});var gr=[{label:"aura",views:N},{label:"plain",views:se({theme:dr}).views}],k={html:{button:"html",text:"html web component"},view:{button:"view",text:"sly view"},css:{button:"css",text:"custom css"}},br=mr(),ot=()=>br.takeFirst();p.register({ShinyDemo:b.component(r=>{r.styles(d`
227
577
  :host {
228
578
  display: flex;
229
579
  flex-direction: column;
230
580
  gap: 1em;
231
581
  }
232
582
 
233
- [view="shiny-copy"]::part(content) {
234
- font-size: 4em;
583
+ .themes {
584
+ display: flex;
585
+ justify-content: end;
586
+ gap: 0.5em;
587
+
588
+ span {
589
+ font-size: 1.2em;
590
+ opacity: 0.5;
591
+ font-family: serif;
592
+ font-style: italic;
593
+ }
594
+
595
+ [view="demo-tabs"] {
596
+ display: flex;
597
+ }
235
598
  }
236
- `),[Ye({views:Ze,name:"shiny-copy",explain:v`
237
- <p>button for click-to-copy text</p>
238
- `,exampleView:`
239
- ShinyCopy("hello world")
240
- `,exampleComponent:`
241
- <shiny-copy text="hello world"></shiny-copy>
242
- `,content:Ze.ShinyCopy("hello world")})]))});console.log("\u2728 shiny");
599
+ `);let t=r.once(()=>new V(0)),s=r.derived(()=>gr.at(t.$index()))().views;br.takeAll();let o=[xt({name:"button",explain:m`
600
+ <p>clicky-clacky pressy button.</p>
601
+ `,snippets:[[k.html,`
602
+ <shiny-button>hello</shiny-button>
603
+ `],[k.view,`
604
+ ShinyButton
605
+ .props()
606
+ .children("hello")
607
+ .render()
608
+ `],[k.css,`
609
+ shiny-button {
610
+ font-size: 1em;
611
+ --happy: #0fa;
612
+ --angry: #f50;
613
+ --lame: #8888;
614
+ --inactive-opacity: 0.5;
615
+ }
616
+ `]],content:[s.ShinyButton.props().children("button").render(),s.ShinyButton.props().attr("gradient",!0).children("gradient").render(),s.ShinyButton.props().attr("angry",!0).attr("gradient",!0).children("angry").render(),s.ShinyButton.props().attr("happy",!0).attr("gradient",!0).children("happy").render(),s.ShinyButton.props().attr("zesty",!0).attr("gradient",!0).children("zesty").render(),s.ShinyButton.props().attr("sad",!0).attr("gradient",!0).children("sad").render(),s.ShinyButton.props().attr("quirky",!0).attr("gradient",!0).children("quirky").render(),s.ShinyButton.props().attr("plain",!0).children("plain").render()],style:d`
617
+ .content {
618
+ flex-direction: row;
619
+ flex-wrap: wrap;
620
+ align-content: center;
621
+ gap: 0.5em;
622
+
623
+ sly-view {
624
+ font-size: 1.2em;
625
+ }
626
+ }
627
+ `}),xt({name:"tabs",explain:m`
628
+ <p>button bar. panels optional.</p>
629
+ `,snippets:[[k.html,`
630
+ <shiny-tabs>
631
+ <shiny-button>tab1</shiny-button>
632
+ <shiny-button>tab2</shiny-button>
633
+ <shiny-button>tab3</shiny-button>
634
+ <div slot=panel>panel1</div>
635
+ <div slot=panel>panel2</div>
636
+ <div slot=panel>panel3</div>
637
+ </shiny-tabs>
638
+ `],[k.view,`
639
+ ShinyTabs
640
+ .props()
641
+ .children(html\`
642
+ \${ShinyButton.props()
643
+ .children("tab1").render()}
644
+ \${ShinyButton.props()
645
+ .children("tab2").render()}
646
+ \${ShinyButton.props()
647
+ .children("tab3").render()}
648
+ <div slot=panel>panel1</div>
649
+ <div slot=panel>panel2</div>
650
+ <div slot=panel>panel3</div>
651
+ \`)
652
+ .render()
653
+ `],[k.css,`
654
+ shiny-tabs {
655
+ &::part(tabs) {}
656
+ &::part(panels) {}
657
+ > shiny-button {}
658
+ }
659
+ `]],content:s.ShinyTabs.props().children(m`
660
+ ${s.ShinyButton.props().children("tab1").render()}
661
+ ${s.ShinyButton.props().children("tab2").render()}
662
+ ${s.ShinyButton.props().children("tab3").render()}
663
+ <p slot=panel class=lipsum>${ot()}</p>
664
+ <p slot=panel class=lipsum>${ot()}</p>
665
+ <p slot=panel class=lipsum>${ot()}</p>
666
+ `).render(),style:d`
667
+ .content {
668
+ justify-content: start;
669
+ p { margin-top: 0.5em; }
670
+ }
671
+ `}),xt({name:"copy",explain:m`
672
+ <p>click-to-copy text button.</p>
673
+ `,snippets:[[k.html,`
674
+ <shiny-copy text="hello world"></shiny-copy>
675
+ `],[k.view,`
676
+ ShinyCopy("hello world")
677
+ `],[k.css,`
678
+ shiny-copy {
679
+ font-size: 1em;
680
+ --happy: #0fa;
681
+ --angry: #f50;
682
+ --lame: #8888;
683
+ --inactive-opacity: 0.5;
684
+ }
685
+ `]],content:s.ShinyCopy("hello world"),style:d`
686
+ .content sly-view {
687
+ font-size: 4em;
688
+ }
689
+ `}),xt({name:"drawer",explain:m`
690
+ <p>slide-out panel. button optional.</p>
691
+ `,snippets:[[k.html,`
692
+ <shiny-drawer button side=left>
693
+ <header>example</header>
694
+ <section slot=plate>
695
+ lorem kettlebell..
696
+ </section>
697
+ </shiny-drawer>
698
+ `],[k.view,`
699
+ ShinyDrawer
700
+ .props({button: true, side: "left"})
701
+ .children(html\`
702
+ <header>example</header>
703
+ <section slot=plate>
704
+ lorem kettlebell..
705
+ </section>
706
+ \`)
707
+ .render()
708
+ `],[k.css,`
709
+ shiny-drawer {
710
+ --button-size: 2em;
711
+ --anim-duration: 200ms;
712
+ --blanket-backdrop-filter: blur(0.5em);
713
+ --blanket-bg: color-mix(
714
+ in oklab,
715
+ transparent,
716
+ var(--bg)
717
+ );
718
+ }
719
+ `]],content:s.ShinyDrawer.props({button:!0}).children(m`
720
+ <header>
721
+ <h2>example drawer</h2>
722
+ <p>you can put any content in here.</p>
723
+ <p class=lipsum>${ot()}</p>
724
+ </header>
725
+ <section slot=plate>
726
+ <p class=lipsum>${ot()}</p>
727
+ <p class=lipsum>${ot()}</p>
728
+ </section>
729
+ `).render(),style:d`
730
+ .content sly-view {
731
+ border-radius: 0.5em;
732
+ overflow: hidden;
733
+ --button-size: 3em;
734
+
735
+ header {
736
+ > * + * { margin-top: 0.5em; }
737
+ }
738
+
739
+ section {
740
+ display: flex;
741
+ flex-direction: column;
742
+ justify-content: center;
743
+ min-height: 100%;
744
+ padding: 1em;
745
+ padding-top: 3em;
746
+ > * + * { margin-top: 0.5em; }
747
+ }
748
+ }
749
+ `})];return m`
750
+ <div class=themes>
751
+ <span>theme</span>
752
+ ${N.ShinyTabs.props(t).children(gr.map(i=>m`
753
+ ${N.ShinyButton.props().children(i.label).render()}
754
+ `)).render()}
755
+ </div>
756
+
757
+ ${o}
758
+ `})});console.log("\u2728shiny");
243
759
  /*! Bundled license information:
244
760
 
245
761
  @lit/reactive-element/css-tag.js: