@e280/shiny 0.1.0-2 → 0.1.0-21

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 (247) hide show
  1. package/README.md +51 -63
  2. package/package.json +19 -26
  3. package/s/_archive/components/button/component.ts +30 -0
  4. package/s/_archive/components/button/showcase.ts +119 -0
  5. package/s/_archive/components/button/style.css.ts +63 -0
  6. package/s/{ui → _archive/components}/copy/component.ts +12 -5
  7. package/s/_archive/components/copy/showcase.ts +51 -0
  8. package/s/{ui → _archive/components}/copy/style.css.ts +6 -6
  9. package/s/_archive/components/drawer/component.ts +90 -0
  10. package/s/_archive/components/drawer/control.ts +31 -0
  11. package/s/_archive/components/drawer/showcase.ts +111 -0
  12. package/s/_archive/components/drawer/style.css.ts +127 -0
  13. package/s/{ui → _archive/components}/example/component.ts +6 -4
  14. package/s/_archive/components/example/showcase.ts +32 -0
  15. package/s/{ui → _archive/components}/example/style.css.ts +2 -2
  16. package/s/_archive/components/foundation.css.ts +15 -0
  17. package/s/{ui → _archive/components}/framework.ts +1 -2
  18. package/s/_archive/components/raw-components.ts +15 -0
  19. package/s/_archive/components/tabs/component.ts +70 -0
  20. package/s/_archive/components/tabs/control.ts +31 -0
  21. package/s/_archive/components/tabs/showcase.ts +171 -0
  22. package/s/_archive/components/tabs/style.css.ts +46 -0
  23. package/s/_archive/demo/demo.bundle.ts +47 -0
  24. package/s/{demo → _archive/demo}/demo.css +1 -0
  25. package/s/_archive/demo/lipsum.ts +6 -0
  26. package/s/_archive/demo/utils/lipsum.ts +19 -0
  27. package/s/_archive/demo/views/exhibit/style.css.ts +85 -0
  28. package/s/_archive/demo/views/exhibit/view.ts +61 -0
  29. package/s/_archive/demo/views/showcase/style.css.ts +53 -0
  30. package/s/_archive/demo/views/showcase/view.ts +54 -0
  31. package/s/_archive/demo/viewsets.ts +12 -0
  32. package/s/_archive/index.html.ts +34 -0
  33. package/s/_archive/index.ts +19 -0
  34. package/s/_archive/install/aura.bundle.ts +9 -0
  35. package/s/_archive/install/plain.bundle.ts +9 -0
  36. package/s/{shiny.ts → _archive/shiny.ts} +2 -2
  37. package/s/_archive/themes/aura.css.ts +86 -0
  38. package/s/_archive/themes/index.barrel.ts +4 -0
  39. package/s/{themes → _archive/themes}/index.ts +1 -0
  40. package/s/_archive/themes/infra/css-vars.ts +46 -0
  41. package/s/_archive/themes/plain.css.ts +11 -0
  42. package/s/_archive/utils/states.ts +15 -0
  43. package/s/demo/globals.d.ts +3 -0
  44. package/s/demo/main.bundle.ts +16 -0
  45. package/s/demo/main.css +71 -0
  46. package/s/demo/parts/exhibit.ts +15 -0
  47. package/s/demo/utils/lipsum.ts +19 -0
  48. package/s/demo/views/codebox/style.css.ts +45 -0
  49. package/s/demo/views/codebox/use-prism-styles.ts +13 -0
  50. package/s/demo/views/codebox/view.ts +39 -0
  51. package/s/demo/views/showcase/style.css.ts +80 -0
  52. package/s/demo/views/showcase/view.ts +50 -0
  53. package/s/demo/views/stylebox/view.ts +21 -0
  54. package/s/icons/tabler/menu-2.svg.ts +4 -0
  55. package/s/icons/tabler/x.svg.ts +4 -0
  56. package/s/index.html.ts +42 -32
  57. package/s/index.ts +6 -7
  58. package/s/test.ts +5 -0
  59. package/s/theme/parts/core.ts +34 -0
  60. package/s/theme/parts/reset.ts +20 -0
  61. package/s/theme/parts/vars.ts +41 -0
  62. package/s/theme/theme-string.ts +15 -0
  63. package/s/theme/theme.css.ts +7 -0
  64. package/s/utils/states.ts +15 -0
  65. package/s/views/button/showcase.ts +43 -0
  66. package/s/views/button/style.css.ts +110 -0
  67. package/s/views/button/view.ts +32 -0
  68. package/s/views/copy/parts/copy-status.ts +3 -0
  69. package/s/views/copy/parts/determine-base-status.ts +7 -0
  70. package/s/views/copy/parts/use-copier.ts +20 -0
  71. package/s/views/copy/showcase.ts +54 -0
  72. package/s/views/copy/style.css.ts +51 -0
  73. package/s/views/copy/view.ts +60 -0
  74. package/s/views/drawer/control.ts +31 -0
  75. package/s/views/drawer/showcase.ts +83 -0
  76. package/s/views/drawer/style.css.ts +128 -0
  77. package/s/views/drawer/view.ts +76 -0
  78. package/s/views/tabs/control.ts +31 -0
  79. package/s/views/tabs/showcase.ts +89 -0
  80. package/s/views/tabs/style.css.ts +46 -0
  81. package/s/views/tabs/view.ts +66 -0
  82. package/x/{demo → _archive/demo}/demo.css +1 -0
  83. package/x/demo/main.bundle.js +13 -0
  84. package/x/demo/main.bundle.js.map +1 -0
  85. package/x/demo/main.bundle.min.js +811 -0
  86. package/x/demo/main.bundle.min.js.map +7 -0
  87. package/x/demo/main.css +71 -0
  88. package/x/demo/parts/exhibit.d.ts +11 -0
  89. package/x/demo/parts/exhibit.js +2 -0
  90. package/x/demo/parts/exhibit.js.map +1 -0
  91. package/x/demo/utils/lipsum.d.ts +2 -0
  92. package/x/demo/utils/lipsum.js +11 -0
  93. package/x/demo/utils/lipsum.js.map +1 -0
  94. package/x/demo/views/codebox/style.css.js +44 -0
  95. package/x/demo/views/codebox/style.css.js.map +1 -0
  96. package/x/demo/views/codebox/use-prism-styles.d.ts +1 -0
  97. package/x/demo/views/codebox/use-prism-styles.js +12 -0
  98. package/x/demo/views/codebox/use-prism-styles.js.map +1 -0
  99. package/x/demo/views/codebox/view.d.ts +2 -0
  100. package/x/demo/views/codebox/view.js +29 -0
  101. package/x/demo/views/codebox/view.js.map +1 -0
  102. package/x/demo/views/showcase/style.css.js +79 -0
  103. package/x/demo/views/showcase/style.css.js.map +1 -0
  104. package/x/demo/views/showcase/view.d.ts +2 -0
  105. package/x/demo/views/showcase/view.js +44 -0
  106. package/x/demo/views/showcase/view.js.map +1 -0
  107. package/x/demo/views/stylebox/view.d.ts +3 -0
  108. package/x/demo/views/stylebox/view.js +13 -0
  109. package/x/demo/views/stylebox/view.js.map +1 -0
  110. package/x/icons/tabler/menu-2.svg.d.ts +2 -0
  111. package/x/icons/tabler/menu-2.svg.js +3 -0
  112. package/x/icons/tabler/menu-2.svg.js.map +1 -0
  113. package/x/icons/tabler/x.svg.d.ts +2 -0
  114. package/x/icons/tabler/x.svg.js +3 -0
  115. package/x/icons/tabler/x.svg.js.map +1 -0
  116. package/x/index.d.ts +6 -5
  117. package/x/index.html +212 -61
  118. package/x/index.html.js +40 -29
  119. package/x/index.html.js.map +1 -1
  120. package/x/index.js +6 -5
  121. package/x/index.js.map +1 -1
  122. package/x/test.js +3 -0
  123. package/x/test.js.map +1 -0
  124. package/x/theme/parts/core.d.ts +1 -0
  125. package/x/theme/parts/core.js +33 -0
  126. package/x/theme/parts/core.js.map +1 -0
  127. package/x/theme/parts/reset.d.ts +1 -0
  128. package/x/theme/parts/reset.js +19 -0
  129. package/x/theme/parts/reset.js.map +1 -0
  130. package/x/theme/parts/vars.d.ts +1 -0
  131. package/x/theme/parts/vars.js +34 -0
  132. package/x/theme/parts/vars.js.map +1 -0
  133. package/x/theme/theme-string.d.ts +1 -0
  134. package/x/theme/theme-string.js +14 -0
  135. package/x/theme/theme-string.js.map +1 -0
  136. package/x/theme/theme.css.d.ts +1 -0
  137. package/x/theme/theme.css.js +4 -0
  138. package/x/theme/theme.css.js.map +1 -0
  139. package/x/utils/states.d.ts +5 -0
  140. package/x/utils/states.js +13 -0
  141. package/x/utils/states.js.map +1 -0
  142. package/x/views/button/showcase.d.ts +1 -0
  143. package/x/views/button/showcase.js +41 -0
  144. package/x/views/button/showcase.js.map +1 -0
  145. package/x/views/button/style.css.js +109 -0
  146. package/x/views/button/style.css.js.map +1 -0
  147. package/x/views/button/view.d.ts +5 -0
  148. package/x/views/button/view.js +23 -0
  149. package/x/views/button/view.js.map +1 -0
  150. package/x/views/copy/parts/copy-status.d.ts +1 -0
  151. package/x/views/copy/parts/copy-status.js +2 -0
  152. package/x/views/copy/parts/copy-status.js.map +1 -0
  153. package/x/views/copy/parts/determine-base-status.d.ts +1 -0
  154. package/x/views/copy/parts/determine-base-status.js +6 -0
  155. package/x/views/copy/parts/determine-base-status.js.map +1 -0
  156. package/x/views/copy/parts/use-copier.d.ts +6 -0
  157. package/x/views/copy/parts/use-copier.js +13 -0
  158. package/x/views/copy/parts/use-copier.js.map +1 -0
  159. package/x/views/copy/showcase.d.ts +1 -0
  160. package/x/views/copy/showcase.js +51 -0
  161. package/x/views/copy/showcase.js.map +1 -0
  162. package/x/views/copy/style.css.d.ts +2 -0
  163. package/x/{ui → views}/copy/style.css.js +14 -9
  164. package/x/views/copy/style.css.js.map +1 -0
  165. package/x/views/copy/view.d.ts +4 -0
  166. package/x/views/copy/view.js +49 -0
  167. package/x/views/copy/view.js.map +1 -0
  168. package/x/views/drawer/control.d.ts +9 -0
  169. package/x/views/drawer/control.js +24 -0
  170. package/x/views/drawer/control.js.map +1 -0
  171. package/x/views/drawer/showcase.d.ts +1 -0
  172. package/x/views/drawer/showcase.js +75 -0
  173. package/x/views/drawer/showcase.js.map +1 -0
  174. package/x/views/drawer/style.css.d.ts +2 -0
  175. package/x/views/drawer/style.css.js +127 -0
  176. package/x/views/drawer/style.css.js.map +1 -0
  177. package/x/views/drawer/view.d.ts +6 -0
  178. package/x/views/drawer/view.js +60 -0
  179. package/x/views/drawer/view.js.map +1 -0
  180. package/x/views/tabs/control.d.ts +9 -0
  181. package/x/views/tabs/control.js +24 -0
  182. package/x/views/tabs/control.js.map +1 -0
  183. package/x/views/tabs/showcase.d.ts +1 -0
  184. package/x/views/tabs/showcase.js +86 -0
  185. package/x/views/tabs/showcase.js.map +1 -0
  186. package/x/views/tabs/style.css.d.ts +2 -0
  187. package/x/views/tabs/style.css.js +45 -0
  188. package/x/views/tabs/style.css.js.map +1 -0
  189. package/x/views/tabs/view.d.ts +5 -0
  190. package/x/views/tabs/view.js +52 -0
  191. package/x/views/tabs/view.js.map +1 -0
  192. package/s/demo/demo.bundle.ts +0 -42
  193. package/s/demo/views/demonstration/style.css.ts +0 -108
  194. package/s/demo/views/demonstration/view.ts +0 -49
  195. package/s/install.bundle.ts +0 -9
  196. package/s/themes/basic.css.ts +0 -18
  197. package/s/themes/index.barrel.ts +0 -3
  198. package/s/ui/raw-components.ts +0 -9
  199. package/x/demo/demo.bundle.js +0 -37
  200. package/x/demo/demo.bundle.js.map +0 -1
  201. package/x/demo/demo.bundle.min.js +0 -277
  202. package/x/demo/demo.bundle.min.js.map +0 -7
  203. package/x/demo/views/demonstration/style.css.js +0 -107
  204. package/x/demo/views/demonstration/style.css.js.map +0 -1
  205. package/x/demo/views/demonstration/view.d.ts +0 -10
  206. package/x/demo/views/demonstration/view.js +0 -36
  207. package/x/demo/views/demonstration/view.js.map +0 -1
  208. package/x/install.bundle.js +0 -5
  209. package/x/install.bundle.js.map +0 -1
  210. package/x/install.bundle.min.js +0 -135
  211. package/x/install.bundle.min.js.map +0 -7
  212. package/x/shiny.d.ts +0 -14
  213. package/x/shiny.js +0 -8
  214. package/x/shiny.js.map +0 -1
  215. package/x/tests.test.d.ts +0 -1
  216. package/x/tests.test.js +0 -3
  217. package/x/tests.test.js.map +0 -1
  218. package/x/themes/basic.css.d.ts +0 -1
  219. package/x/themes/basic.css.js +0 -17
  220. package/x/themes/basic.css.js.map +0 -1
  221. package/x/themes/index.barrel.d.ts +0 -1
  222. package/x/themes/index.barrel.js +0 -2
  223. package/x/themes/index.barrel.js.map +0 -1
  224. package/x/themes/index.d.ts +0 -1
  225. package/x/themes/index.js +0 -2
  226. package/x/themes/index.js.map +0 -1
  227. package/x/ui/copy/component.d.ts +0 -372
  228. package/x/ui/copy/component.js +0 -56
  229. package/x/ui/copy/component.js.map +0 -1
  230. package/x/ui/copy/style.css.js.map +0 -1
  231. package/x/ui/example/component.d.ts +0 -371
  232. package/x/ui/example/component.js +0 -20
  233. package/x/ui/example/component.js.map +0 -1
  234. package/x/ui/example/style.css.js +0 -10
  235. package/x/ui/example/style.css.js.map +0 -1
  236. package/x/ui/framework.d.ts +0 -8
  237. package/x/ui/framework.js +0 -6
  238. package/x/ui/framework.js.map +0 -1
  239. package/x/ui/raw-components.d.ts +0 -6
  240. package/x/ui/raw-components.js +0 -7
  241. package/x/ui/raw-components.js.map +0 -1
  242. /package/s/{tests.test.ts → _archive/tests.test.ts} +0 -0
  243. /package/x/demo/{demo.bundle.d.ts → main.bundle.d.ts} +0 -0
  244. /package/x/demo/views/{demonstration → codebox}/style.css.d.ts +0 -0
  245. /package/x/{ui/copy → demo/views/showcase}/style.css.d.ts +0 -0
  246. /package/x/{install.bundle.d.ts → test.d.ts} +0 -0
  247. /package/x/{ui/example → views/button}/style.css.d.ts +0 -0
@@ -0,0 +1,811 @@
1
+ var Lo=Object.create;var tr=Object.defineProperty;var Do=Object.getOwnPropertyDescriptor;var Ho=Object.getOwnPropertyNames;var No=Object.getPrototypeOf,qo=Object.prototype.hasOwnProperty;var Uo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Bo=(e,t)=>{for(var r in t)tr(e,r,{get:t[r],enumerable:!0})},Io=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ho(t))!qo.call(e,s)&&s!==r&&tr(e,s,{get:()=>t[s],enumerable:!(o=Do(t,s))||o.enumerable});return e};var Wo=(e,t,r)=>(r=e!=null?Lo(No(e)):{},Io(t||!e||!e.__esModule?tr(r,"default",{value:e,enumerable:!0}):r,e));var bo=Uo((Bd,Ve)=>{var Fs=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var f=(function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,r=0,o={},s={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function a(i){return i instanceof n?new n(i.type,a(i.content),i.alias):Array.isArray(i)?i.map(a):i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(a){return Object.prototype.toString.call(a).slice(8,-1)},objId:function(a){return a.__id||Object.defineProperty(a,"__id",{value:++r}),a.__id},clone:function a(i,c){c=c||{};var p,u;switch(s.util.type(i)){case"Object":if(u=s.util.objId(i),c[u])return c[u];p={},c[u]=p;for(var g in i)i.hasOwnProperty(g)&&(p[g]=a(i[g],c));return p;case"Array":return u=s.util.objId(i),c[u]?c[u]:(p=[],c[u]=p,i.forEach(function(A,d){p[d]=a(A,c)}),p);default:return i}},getLanguage:function(a){for(;a;){var i=t.exec(a.className);if(i)return i[1].toLowerCase();a=a.parentElement}return"none"},setLanguage:function(a,i){a.className=a.className.replace(RegExp(t,"gi"),""),a.classList.add("language-"+i)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(p){var a=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(p.stack)||[])[1];if(a){var i=document.getElementsByTagName("script");for(var c in i)if(i[c].src==a)return i[c]}return null}},isActive:function(a,i,c){for(var p="no-"+i;a;){var u=a.classList;if(u.contains(i))return!0;if(u.contains(p))return!1;a=a.parentElement}return!!c}},languages:{plain:o,plaintext:o,text:o,txt:o,extend:function(a,i){var c=s.util.clone(s.languages[a]);for(var p in i)c[p]=i[p];return c},insertBefore:function(a,i,c,p){p=p||s.languages;var u=p[a],g={};for(var A in u)if(u.hasOwnProperty(A)){if(A==i)for(var d in c)c.hasOwnProperty(d)&&(g[d]=c[d]);c.hasOwnProperty(A)||(g[A]=u[A])}var k=p[a];return p[a]=g,s.languages.DFS(s.languages,function(C,z){z===k&&C!=a&&(this[C]=g)}),g},DFS:function a(i,c,p,u){u=u||{};var g=s.util.objId;for(var A in i)if(i.hasOwnProperty(A)){c.call(i,A,i[A],p||A);var d=i[A],k=s.util.type(d);k==="Object"&&!u[g(d)]?(u[g(d)]=!0,a(d,c,null,u)):k==="Array"&&!u[g(d)]&&(u[g(d)]=!0,a(d,c,A,u))}}},plugins:{},highlightAll:function(a,i){s.highlightAllUnder(document,a,i)},highlightAllUnder:function(a,i,c){var p={callback:c,container:a,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};s.hooks.run("before-highlightall",p),p.elements=Array.prototype.slice.apply(p.container.querySelectorAll(p.selector)),s.hooks.run("before-all-elements-highlight",p);for(var u=0,g;g=p.elements[u++];)s.highlightElement(g,i===!0,p.callback)},highlightElement:function(a,i,c){var p=s.util.getLanguage(a),u=s.languages[p];s.util.setLanguage(a,p);var g=a.parentElement;g&&g.nodeName.toLowerCase()==="pre"&&s.util.setLanguage(g,p);var A=a.textContent,d={element:a,language:p,grammar:u,code:A};function k(z){d.highlightedCode=z,s.hooks.run("before-insert",d),d.element.innerHTML=d.highlightedCode,s.hooks.run("after-highlight",d),s.hooks.run("complete",d),c&&c.call(d.element)}if(s.hooks.run("before-sanity-check",d),g=d.element.parentElement,g&&g.nodeName.toLowerCase()==="pre"&&!g.hasAttribute("tabindex")&&g.setAttribute("tabindex","0"),!d.code){s.hooks.run("complete",d),c&&c.call(d.element);return}if(s.hooks.run("before-highlight",d),!d.grammar){k(s.util.encode(d.code));return}if(i&&e.Worker){var C=new Worker(s.filename);C.onmessage=function(z){k(z.data)},C.postMessage(JSON.stringify({language:d.language,code:d.code,immediateClose:!0}))}else k(s.highlight(d.code,d.grammar,d.language))},highlight:function(a,i,c){var p={code:a,grammar:i,language:c};if(s.hooks.run("before-tokenize",p),!p.grammar)throw new Error('The language "'+p.language+'" has no grammar.');return p.tokens=s.tokenize(p.code,p.grammar),s.hooks.run("after-tokenize",p),n.stringify(s.util.encode(p.tokens),p.language)},tokenize:function(a,i){var c=i.rest;if(c){for(var p in c)i[p]=c[p];delete i.rest}var u=new h;return b(u,u.head,a),m(a,u,i,u.head,0),x(u)},hooks:{all:{},add:function(a,i){var c=s.hooks.all;c[a]=c[a]||[],c[a].push(i)},run:function(a,i){var c=s.hooks.all[a];if(!(!c||!c.length))for(var p=0,u;u=c[p++];)u(i)}},Token:n};e.Prism=s;function n(a,i,c,p){this.type=a,this.content=i,this.alias=c,this.length=(p||"").length|0}n.stringify=function a(i,c){if(typeof i=="string")return i;if(Array.isArray(i)){var p="";return i.forEach(function(k){p+=a(k,c)}),p}var u={type:i.type,content:a(i.content,c),tag:"span",classes:["token",i.type],attributes:{},language:c},g=i.alias;g&&(Array.isArray(g)?Array.prototype.push.apply(u.classes,g):u.classes.push(g)),s.hooks.run("wrap",u);var A="";for(var d in u.attributes)A+=" "+d+'="'+(u.attributes[d]||"").replace(/"/g,"&quot;")+'"';return"<"+u.tag+' class="'+u.classes.join(" ")+'"'+A+">"+u.content+"</"+u.tag+">"};function l(a,i,c,p){a.lastIndex=i;var u=a.exec(c);if(u&&p&&u[1]){var g=u[1].length;u.index+=g,u[0]=u[0].slice(g)}return u}function m(a,i,c,p,u,g){for(var A in c)if(!(!c.hasOwnProperty(A)||!c[A])){var d=c[A];d=Array.isArray(d)?d:[d];for(var k=0;k<d.length;++k){if(g&&g.cause==A+","+k)return;var C=d[k],z=C.inside,Ct=!!C.lookbehind,Tt=!!C.greedy,Wt=C.alias;if(Tt&&!C.pattern.global){var ce=C.pattern.toString().match(/[imsuy]*$/)[0];C.pattern=RegExp(C.pattern.source,ce+"g")}for(var ue=C.pattern||C,L=p.next,D=u;L!==i.tail&&!(g&&D>=g.reach);D+=L.value.length,L=L.next){var st=L.value;if(i.length>a.length)return;if(!(st instanceof n)){var ht=1,W;if(Tt){if(W=l(ue,D,a,Ct),!W||W.index>=a.length)break;var pe=W.index,Po=W.index+W[0].length,dt=D;for(dt+=L.value.length;pe>=dt;)L=L.next,dt+=L.value.length;if(dt-=L.value.length,D=dt,L.value instanceof n)continue;for(var Gt=L;Gt!==i.tail&&(dt<Po||typeof Gt.value=="string");Gt=Gt.next)ht++,dt+=Gt.value.length;ht--,st=a.slice(D,dt),W.index-=D}else if(W=l(ue,0,st,Ct),!W)continue;var pe=W.index,he=W[0],Ke=st.slice(0,pe),vr=st.slice(pe+he.length),Ye=D+st.length;g&&Ye>g.reach&&(g.reach=Ye);var de=L.prev;Ke&&(de=b(i,de,Ke),D+=Ke.length),S(i,de,ht);var jo=new n(A,z?s.tokenize(he,z):he,Wt,he);if(L=b(i,de,jo),vr&&b(i,L,vr),ht>1){var Qe={cause:A+","+k,reach:Ye};m(a,i,c,L.prev,D,Qe),g&&Qe.reach>g.reach&&(g.reach=Qe.reach)}}}}}}function h(){var a={value:null,prev:null,next:null},i={value:null,prev:a,next:null};a.next=i,this.head=a,this.tail=i,this.length=0}function b(a,i,c){var p=i.next,u={value:c,prev:i,next:p};return i.next=u,p.prev=u,a.length++,u}function S(a,i,c){for(var p=i.next,u=0;u<c&&p!==a.tail;u++)p=p.next;i.next=p,p.prev=i,a.length-=u}function x(a){for(var i=[],c=a.head.next;c!==a.tail;)i.push(c.value),c=c.next;return i}if(!e.document)return e.addEventListener&&(s.disableWorkerMessageHandler||e.addEventListener("message",function(a){var i=JSON.parse(a.data),c=i.language,p=i.code,u=i.immediateClose;e.postMessage(s.highlight(p,s.languages[c],c)),u&&e.close()},!1)),s;var v=s.util.currentScript();v&&(s.filename=v.src,v.hasAttribute("data-manual")&&(s.manual=!0));function y(){s.manual||s.highlightAll()}if(!s.manual){var $=document.readyState;$==="loading"||$==="interactive"&&v&&v.defer?document.addEventListener("DOMContentLoaded",y):window.requestAnimationFrame?window.requestAnimationFrame(y):window.setTimeout(y,16)}return s})(Fs);typeof Ve<"u"&&Ve.exports&&(Ve.exports=f);typeof global<"u"&&(global.Prism=f);f.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};f.languages.markup.tag.inside["attr-value"].inside.entity=f.languages.markup.entity;f.languages.markup.doctype.inside["internal-subset"].inside=f.languages.markup;f.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))});Object.defineProperty(f.languages.markup.tag,"addInlined",{value:function(t,r){var o={};o["language-"+r]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:f.languages[r]},o.cdata=/^<!\[CDATA\[|\]\]>$/i;var s={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:o}};s["language-"+r]={pattern:/[\s\S]+/,inside:f.languages[r]};var n={};n[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:s},f.languages.insertBefore("markup","cdata",n)}});Object.defineProperty(f.languages.markup.tag,"addAttribute",{value:function(e,t){f.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:f.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});f.languages.html=f.languages.markup;f.languages.mathml=f.languages.markup;f.languages.svg=f.languages.markup;f.languages.xml=f.languages.extend("markup",{});f.languages.ssml=f.languages.xml;f.languages.atom=f.languages.xml;f.languages.rss=f.languages.xml;(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var r=e.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))})(f);f.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};f.languages.javascript=f.languages.extend("clike",{"class-name":[f.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});f.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;f.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:f.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:f.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:f.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:f.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:f.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});f.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:f.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});f.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});f.languages.markup&&(f.languages.markup.tag.addInlined("script","javascript"),f.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));f.languages.js=f.languages.javascript;(function(){if(typeof f>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var e="Loading\u2026",t=function(v,y){return"\u2716 Error "+v+" while fetching file: "+y},r="\u2716 Error: File does not exist or is empty",o={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},s="data-src-status",n="loading",l="loaded",m="failed",h="pre[data-src]:not(["+s+'="'+l+'"]):not(['+s+'="'+n+'"])';function b(v,y,$){var a=new XMLHttpRequest;a.open("GET",v,!0),a.onreadystatechange=function(){a.readyState==4&&(a.status<400&&a.responseText?y(a.responseText):a.status>=400?$(t(a.status,a.statusText)):$(r))},a.send(null)}function S(v){var y=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(v||"");if(y){var $=Number(y[1]),a=y[2],i=y[3];return a?i?[$,Number(i)]:[$,void 0]:[$,$]}}f.hooks.add("before-highlightall",function(v){v.selector+=", "+h}),f.hooks.add("before-sanity-check",function(v){var y=v.element;if(y.matches(h)){v.code="",y.setAttribute(s,n);var $=y.appendChild(document.createElement("CODE"));$.textContent=e;var a=y.getAttribute("data-src"),i=v.language;if(i==="none"){var c=(/\.(\w+)$/.exec(a)||[,"none"])[1];i=o[c]||c}f.util.setLanguage($,i),f.util.setLanguage(y,i);var p=f.plugins.autoloader;p&&p.loadLanguages(i),b(a,function(u){y.setAttribute(s,l);var g=S(y.getAttribute("data-range"));if(g){var A=u.split(/\r\n?|\n/g),d=g[0],k=g[1]==null?A.length:g[1];d<0&&(d+=A.length),d=Math.max(0,Math.min(d-1,A.length)),k<0&&(k+=A.length),k=Math.max(0,Math.min(k,A.length)),u=A.slice(d,k).join(`
2
+ `),y.hasAttribute("data-start")||y.setAttribute("data-start",String(d+1))}$.textContent=u,f.highlightElement($)},function(u){y.setAttribute(s,m),$.textContent=u})}}),f.plugins.fileHighlight={highlight:function(y){for(var $=(y||document).querySelectorAll(h),a=0,i;i=$[a++];)f.highlightElement(i)}};var x=!1;f.fileHighlight=function(){x||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),x=!0),f.plugins.fileHighlight.highlight.apply(this,arguments)}})()});var fe=globalThis,me=fe.ShadowRoot&&(fe.ShadyCSS===void 0||fe.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,er=Symbol(),xr=new WeakMap,Vt=class{constructor(t,r,o){if(this._$cssResult$=!0,o!==er)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o,r=this.t;if(me&&t===void 0){let o=r!==void 0&&r.length===1;o&&(t=xr.get(r)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),o&&xr.set(r,t))}return t}toString(){return this.cssText}},Zt=e=>new Vt(typeof e=="string"?e:e+"",void 0,er),w=(e,...t)=>{let r=e.length===1?e[0]:t.reduce((o,s,n)=>o+(l=>{if(l._$cssResult$===!0)return l.cssText;if(typeof l=="number")return l;throw Error("Value passed to 'css' function must be a 'css' function result: "+l+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+e[n+1],e[0]);return new Vt(r,e,er)},ge=(e,t)=>{if(me)e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet);else for(let r of t){let o=document.createElement("style"),s=fe.litNonce;s!==void 0&&o.setAttribute("nonce",s),o.textContent=r.cssText,e.appendChild(o)}},Ft=me?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(let o of t.cssRules)r+=o.cssText;return Zt(r)})(e):e;var{is:Go,defineProperty:Vo,getOwnPropertyDescriptor:Zo,getOwnPropertyNames:Xo,getOwnPropertySymbols:Jo,getPrototypeOf:Ko}=Object,be=globalThis,wr=be.trustedTypes,Yo=wr?wr.emptyScript:"",Qo=be.reactiveElementPolyfillSupport,Xt=(e,t)=>e,rr={toAttribute(e,t){switch(t){case Boolean:e=e?Yo:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},Ar=(e,t)=>!Go(e,t),$r={attribute:!0,type:String,converter:rr,reflect:!1,useDefault:!1,hasChanged:Ar};Symbol.metadata??=Symbol("metadata"),be.litPropertyMetadata??=new WeakMap;var nt=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,r=$r){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(t,r),!r.noAccessor){let o=Symbol(),s=this.getPropertyDescriptor(t,o,r);s!==void 0&&Vo(this.prototype,t,s)}}static getPropertyDescriptor(t,r,o){let{get:s,set:n}=Zo(this.prototype,t)??{get(){return this[r]},set(l){this[r]=l}};return{get:s,set(l){let m=s?.call(this);n?.call(this,l),this.requestUpdate(t,m,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??$r}static _$Ei(){if(this.hasOwnProperty(Xt("elementProperties")))return;let t=Ko(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(Xt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Xt("properties"))){let r=this.properties,o=[...Xo(r),...Jo(r)];for(let s of o)this.createProperty(s,r[s])}let t=this[Symbol.metadata];if(t!==null){let r=litPropertyMetadata.get(t);if(r!==void 0)for(let[o,s]of r)this.elementProperties.set(o,s)}this._$Eh=new Map;for(let[r,o]of this.elementProperties){let s=this._$Eu(r,o);s!==void 0&&this._$Eh.set(s,r)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let r=[];if(Array.isArray(t)){let o=new Set(t.flat(1/0).reverse());for(let s of o)r.unshift(Ft(s))}else t!==void 0&&r.push(Ft(t));return r}static _$Eu(t,r){let o=r.attribute;return o===!1?void 0:typeof o=="string"?o: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,r=this.constructor.elementProperties;for(let o of r.keys())this.hasOwnProperty(o)&&(t.set(o,this[o]),delete this[o]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ge(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,r,o){this._$AK(t,o)}_$ET(t,r){let o=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,o);if(s!==void 0&&o.reflect===!0){let n=(o.converter?.toAttribute!==void 0?o.converter:rr).toAttribute(r,o.type);this._$Em=t,n==null?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,r){let o=this.constructor,s=o._$Eh.get(t);if(s!==void 0&&this._$Em!==s){let n=o.getPropertyOptions(s),l=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:rr;this._$Em=s;let m=l.fromAttribute(r,n.type);this[s]=m??this._$Ej?.get(s)??m,this._$Em=null}}requestUpdate(t,r,o,s=!1,n){if(t!==void 0){let l=this.constructor;if(s===!1&&(n=this[t]),o??=l.getPropertyOptions(t),!((o.hasChanged??Ar)(n,r)||o.useDefault&&o.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(l._$Eu(t,o))))return;this.C(t,r,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,r,{useDefault:o,reflect:s,wrapped:n},l){o&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,l??r??this[t]),n!==!0||l!==void 0)||(this._$AL.has(t)||(this.hasUpdated||o||(r=void 0),this._$AL.set(t,r)),s===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(r){Promise.reject(r)}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[s,n]of this._$Ep)this[s]=n;this._$Ep=void 0}let o=this.constructor.elementProperties;if(o.size>0)for(let[s,n]of o){let{wrapped:l}=n,m=this[s];l!==!0||this._$AL.has(s)||m===void 0||this.C(s,void 0,n,m)}}let t=!1,r=this._$AL;try{t=this.shouldUpdate(r),t?(this.willUpdate(r),this._$EO?.forEach(o=>o.hostUpdate?.()),this.update(r)):this._$EM()}catch(o){throw t=!1,this._$EM(),o}t&&this._$AE(r)}willUpdate(t){}_$AE(t){this._$EO?.forEach(r=>r.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(r=>this._$ET(r,this[r])),this._$EM()}updated(t){}firstUpdated(t){}};nt.elementStyles=[],nt.shadowRootOptions={mode:"open"},nt[Xt("elementProperties")]=new Map,nt[Xt("finalized")]=new Map,Qo?.({ReactiveElement:nt}),(be.reactiveElementVersions??=[]).push("2.1.2");var sr=globalThis,Sr=e=>e,ye=sr.trustedTypes,kr=ye?ye.createPolicy("lit-html",{createHTML:e=>e}):void 0,nr="$lit$",it=`lit$${Math.random().toFixed(9).slice(2)}$`,ir="?"+it,ts=`<${ir}>`,$t=document,Kt=()=>$t.createComment(""),Yt=e=>e===null||typeof e!="object"&&typeof e!="function",ar=Array.isArray,Or=e=>ar(e)||typeof e?.[Symbol.iterator]=="function",or=`[
3
+ \f\r]`,Jt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,_r=/-->/g,Er=/>/g,xt=RegExp(`>|${or}(?:([^\\s"'>=/]+)(${or}*=${or}*(?:[^
4
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),Cr=/'/g,Tr=/"/g,Rr=/^(?:script|style|textarea|title)$/i,lr=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),E=lr(1),Z=lr(2),js=lr(3),at=Symbol.for("lit-noChange"),M=Symbol.for("lit-nothing"),Fr=new WeakMap,wt=$t.createTreeWalker($t,129);function zr(e,t){if(!ar(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return kr!==void 0?kr.createHTML(t):t}var Mr=(e,t)=>{let r=e.length-1,o=[],s,n=t===2?"<svg>":t===3?"<math>":"",l=Jt;for(let m=0;m<r;m++){let h=e[m],b,S,x=-1,v=0;for(;v<h.length&&(l.lastIndex=v,S=l.exec(h),S!==null);)v=l.lastIndex,l===Jt?S[1]==="!--"?l=_r:S[1]!==void 0?l=Er:S[2]!==void 0?(Rr.test(S[2])&&(s=RegExp("</"+S[2],"g")),l=xt):S[3]!==void 0&&(l=xt):l===xt?S[0]===">"?(l=s??Jt,x=-1):S[1]===void 0?x=-2:(x=l.lastIndex-S[2].length,b=S[1],l=S[3]===void 0?xt:S[3]==='"'?Tr:Cr):l===Tr||l===Cr?l=xt:l===_r||l===Er?l=Jt:(l=xt,s=void 0);let y=l===xt&&e[m+1].startsWith("/>")?" ":"";n+=l===Jt?h+ts:x>=0?(o.push(b),h.slice(0,x)+nr+h.slice(x)+it+y):h+it+(x===-2?m:y)}return[zr(e,n+(e[r]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),o]},Qt=class e{constructor({strings:t,_$litType$:r},o){let s;this.parts=[];let n=0,l=0,m=t.length-1,h=this.parts,[b,S]=Mr(t,r);if(this.el=e.createElement(b,o),wt.currentNode=this.el.content,r===2||r===3){let x=this.el.content.firstChild;x.replaceWith(...x.childNodes)}for(;(s=wt.nextNode())!==null&&h.length<m;){if(s.nodeType===1){if(s.hasAttributes())for(let x of s.getAttributeNames())if(x.endsWith(nr)){let v=S[l++],y=s.getAttribute(x).split(it),$=/([.?@])?(.*)/.exec(v);h.push({type:1,index:n,name:$[2],strings:y,ctor:$[1]==="."?xe:$[1]==="?"?we:$[1]==="@"?$e:St}),s.removeAttribute(x)}else x.startsWith(it)&&(h.push({type:6,index:n}),s.removeAttribute(x));if(Rr.test(s.tagName)){let x=s.textContent.split(it),v=x.length-1;if(v>0){s.textContent=ye?ye.emptyScript:"";for(let y=0;y<v;y++)s.append(x[y],Kt()),wt.nextNode(),h.push({type:2,index:++n});s.append(x[v],Kt())}}}else if(s.nodeType===8)if(s.data===ir)h.push({type:2,index:n});else{let x=-1;for(;(x=s.data.indexOf(it,x+1))!==-1;)h.push({type:7,index:n}),x+=it.length-1}n++}}static createElement(t,r){let o=$t.createElement("template");return o.innerHTML=t,o}};function At(e,t,r=e,o){if(t===at)return t;let s=o!==void 0?r._$Co?.[o]:r._$Cl,n=Yt(t)?void 0:t._$litDirective$;return s?.constructor!==n&&(s?._$AO?.(!1),n===void 0?s=void 0:(s=new n(e),s._$AT(e,r,o)),o!==void 0?(r._$Co??=[])[o]=s:r._$Cl=s),s!==void 0&&(t=At(e,s._$AS(e,t.values),s,o)),t}var ve=class{constructor(t,r){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:r},parts:o}=this._$AD,s=(t?.creationScope??$t).importNode(r,!0);wt.currentNode=s;let n=wt.nextNode(),l=0,m=0,h=o[0];for(;h!==void 0;){if(l===h.index){let b;h.type===2?b=new Ot(n,n.nextSibling,this,t):h.type===1?b=new h.ctor(n,h.name,h.strings,this,t):h.type===6&&(b=new Ae(n,this,t)),this._$AV.push(b),h=o[++m]}l!==h?.index&&(n=wt.nextNode(),l++)}return wt.currentNode=$t,s}p(t){let r=0;for(let o of this._$AV)o!==void 0&&(o.strings!==void 0?(o._$AI(t,o,r),r+=o.strings.length-2):o._$AI(t[r])),r++}},Ot=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,r,o,s){this.type=2,this._$AH=M,this._$AN=void 0,this._$AA=t,this._$AB=r,this._$AM=o,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,r=this._$AM;return r!==void 0&&t?.nodeType===11&&(t=r.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,r=this){t=At(this,t,r),Yt(t)?t===M||t==null||t===""?(this._$AH!==M&&this._$AR(),this._$AH=M):t!==this._$AH&&t!==at&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Or(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!==M&&Yt(this._$AH)?this._$AA.nextSibling.data=t:this.T($t.createTextNode(t)),this._$AH=t}$(t){let{values:r,_$litType$:o}=t,s=typeof o=="number"?this._$AC(t):(o.el===void 0&&(o.el=Qt.createElement(zr(o.h,o.h[0]),this.options)),o);if(this._$AH?._$AD===s)this._$AH.p(r);else{let n=new ve(s,this),l=n.u(this.options);n.p(r),this.T(l),this._$AH=n}}_$AC(t){let r=Fr.get(t.strings);return r===void 0&&Fr.set(t.strings,r=new Qt(t)),r}k(t){ar(this._$AH)||(this._$AH=[],this._$AR());let r=this._$AH,o,s=0;for(let n of t)s===r.length?r.push(o=new e(this.O(Kt()),this.O(Kt()),this,this.options)):o=r[s],o._$AI(n),s++;s<r.length&&(this._$AR(o&&o._$AB.nextSibling,s),r.length=s)}_$AR(t=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);t!==this._$AB;){let o=Sr(t).nextSibling;Sr(t).remove(),t=o}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},St=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,r,o,s,n){this.type=1,this._$AH=M,this._$AN=void 0,this.element=t,this.name=r,this._$AM=s,this.options=n,o.length>2||o[0]!==""||o[1]!==""?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=M}_$AI(t,r=this,o,s){let n=this.strings,l=!1;if(n===void 0)t=At(this,t,r,0),l=!Yt(t)||t!==this._$AH&&t!==at,l&&(this._$AH=t);else{let m=t,h,b;for(t=n[0],h=0;h<n.length-1;h++)b=At(this,m[o+h],r,h),b===at&&(b=this._$AH[h]),l||=!Yt(b)||b!==this._$AH[h],b===M?t=M:t!==M&&(t+=(b??"")+n[h+1]),this._$AH[h]=b}l&&!s&&this.j(t)}j(t){t===M?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},xe=class extends St{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===M?void 0:t}},we=class extends St{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==M)}},$e=class extends St{constructor(t,r,o,s,n){super(t,r,o,s,n),this.type=5}_$AI(t,r=this){if((t=At(this,t,r,0)??M)===at)return;let o=this._$AH,s=t===M&&o!==M||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,n=t!==M&&(o===M||s);s&&this.element.removeEventListener(this.name,this,o),n&&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)}},Ae=class{constructor(t,r,o){this.element=t,this.type=6,this._$AN=void 0,this._$AM=r,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(t){At(this,t)}},Pr={M:nr,P:it,A:ir,C:1,L:Mr,R:ve,D:Or,V:At,I:Ot,H:St,N:we,U:$e,B:xe,F:Ae},es=sr.litHtmlPolyfillSupport;es?.(Qt,Ot),(sr.litHtmlVersions??=[]).push("3.3.2");var N=(e,t,r)=>{let o=r?.renderBefore??t,s=o._$litPart$;if(s===void 0){let n=r?.renderBefore??null;o._$litPart$=s=new Ot(t.insertBefore(Kt(),n),n,void 0,r??{})}return s._$AI(e),s};var cr=globalThis,Rt=class extends nt{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 r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=N(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return at}};Rt._$litElement$=!0,Rt.finalized=!0,cr.litElementHydrateSupport?.({LitElement:Rt});var rs=cr.litElementPolyfillSupport;rs?.({LitElement:Rt});(cr.litElementVersions??=[]).push("4.2.2");var X={string:(e,t)=>e.getAttribute(t)??void 0,number:(e,t)=>{let r=e.getAttribute(t);return r===null||!r?void 0:Number(r)},boolean:(e,t)=>e.getAttribute(t)!==null},q={string:(e,t,r)=>(r===void 0?e.removeAttribute(t):e.setAttribute(t,r),!0),number:(e,t,r)=>(r===void 0?e.removeAttribute(t):e.setAttribute(t,r.toString()),!0),boolean:(e,t,r)=>(r?e.setAttribute(t,""):e.removeAttribute(t),!0),any:(e,t,r)=>{r==null?e.removeAttribute(t):typeof r=="string"?e.setAttribute(t,r):typeof r=="number"?e.setAttribute(t,r.toString()):typeof r=="boolean"?r===!0?e.setAttribute(t,""):e.removeAttribute(t):console.warn(`invalid attribute "${t}" type is "${typeof r}"`)},entries:(e,t)=>{for(let[r,o]of t)q.any(e,r,o)},record:(e,t)=>q.entries(e,Object.entries(t))};function jr(e,t={}){let r=document.createElement(e);return q.record(r,t),r}function Lr(e){let t=document.createDocumentFragment();return N(e,t),t.firstElementChild}function Se(e,t){let r=[];for(let[o,s]of Object.entries(t))if(typeof s=="function")e.addEventListener(o,s),r.push(()=>e.removeEventListener(o,s));else{let[n,l]=s;e.addEventListener(o,l,n),r.push(()=>e.removeEventListener(o,l))}return()=>r.forEach(o=>o())}function Dr(e,t){let r=new MutationObserver(t);return r.observe(e,{attributes:!0}),()=>r.disconnect()}var ke=class{element;constructor(t){this.element=t}strings=new Proxy({},{get:(t,r)=>X.string(this.element,r),set:(t,r,o)=>q.string(this.element,r,o)});numbers=new Proxy({},{get:(t,r)=>X.number(this.element,r),set:(t,r,o)=>q.number(this.element,r,o)});booleans=new Proxy({},{get:(t,r)=>X.boolean(this.element,r),set:(t,r,o)=>q.boolean(this.element,r,o)})};var Hr=(e,t,r={})=>new Proxy(t,{get:(o,s)=>{switch(t[s]){case String:return X.string(e,s);case Number:return X.number(e,s);case Boolean:return X.boolean(e,s);default:throw new Error(`invalid attribute type for "${s}"`)}},set:(o,s,n)=>{try{switch(r.beforeSet?.(s),t[s]){case String:return q.string(e,s,n);case Number:return q.number(e,s,n);case Boolean:return q.boolean(e,s,n);default:throw new Error(`invalid attribute type for "${s}"`)}}finally{r.afterSet?.(s)}}});function zt(e){let t=new ke(e);return{strings:t.strings,numbers:t.numbers,booleans:t.booleans,on:r=>Dr(e,r),spec:(r,o={})=>Hr(e,r,o)}}zt.get=X;zt.set=q;function Nr(e){return new ur(e)}var ur=class{tagName;#t=new Map;#e=[];constructor(t){this.tagName=t}attr(t,r=!0){return this.#t.set(t,r),this}attrs(t){for(let[r,o]of Object.entries(t))this.attr(r,o);return this}children(...t){return this.#e.push(...t),this}done(){let t=document.createElement(this.tagName);return q.entries(t,this.#t),t.append(...this.#e),t}};function Mt(e,t=document){let r=t.querySelector(e);if(!r)throw new Error(`element not found (${e})`);return r}function _e(e,t=document){return t.querySelector(e)}function Ee(e,t=document){return Array.from(t.querySelectorAll(e))}var Ce=class e{element;#t;constructor(t){this.element=t}in(t){return new e(typeof t=="string"?Mt(t,this.element):t)}require(t){return Mt(t,this.element)}maybe(t){return _e(t,this.element)}all(t){return Ee(t,this.element)}render(...t){return N(t,this.element)}get attrs(){return this.#t??=zt(this.element)}events(t){return Se(this.element,t)}};function qr(e){return e.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function Ur(e,t={}){let{soft:r=!1,upgrade:o=!0}=t;for(let[s,n]of Object.entries(e)){let l=qr(s),m=customElements.get(l);r&&m||(customElements.define(l,n),o&&document.querySelectorAll(l).forEach(h=>{h.constructor===HTMLElement&&customElements.upgrade(h)}))}}function F(e,t=document){return Mt(e,t)}F.in=(e,t=document)=>new Ce(t).in(e);F.require=Mt;F.maybe=_e;F.all=Ee;F.el=jr;F.elmer=Nr;F.mk=Lr;F.events=Se;F.attrs=zt;F.register=Ur;F.render=(e,...t)=>N(t,e);function Br(e,t){let r,o,s=[];function n(){r=[],o&&clearTimeout(o),o=void 0,s=[]}return n(),((...l)=>{r=l,o&&clearTimeout(o);let m=new Promise((h,b)=>{s.push({resolve:h,reject:b})});return o=setTimeout(()=>{Promise.resolve().then(()=>t(...r)).then(h=>{for(let{resolve:b}of s)b(h);n()}).catch(h=>{for(let{reject:b}of s)b(h);n()})},e),m})}function kt(){let e,t,r=new Promise((s,n)=>{e=s,t=n});function o(s){return s.then(e).catch(t),r}return{promise:r,resolve:e,reject:t,entangle:o}}function Pt(e){let t=null;return((...r)=>(t?t.params=r:(t={params:r,deferred:kt()},queueMicrotask(()=>{let{params:o,deferred:s}=t;t=null,Promise.resolve(e(...o)).then(s.resolve).catch(s.reject)})),t.deferred.promise))}var J={};Bo(J,{clone:()=>te,equal:()=>os,freeze:()=>ss});function te(e,t=new Set){if(t.has(e))throw new Error("cannot clone circular reference");let r;return typeof e=="function"||e!==null&&typeof e=="object"?(t.add(e),Array.isArray(e)?r=e.map(o=>te(o,new Set(t))):e.constructor===Object?r=Object.fromEntries(Object.entries(e).map(([o,s])=>[o,te(s,new Set(t))])):e instanceof Map?r=new Map(Array.from(e,([o,s])=>[o,te(s,new Set(t))])):e instanceof Set?r=new Set(Array.from(e,o=>te(o,new Set(t)))):e instanceof Date?r=new Date(e.getTime()):r=e,t.delete(e)):r=e,r}var ee=Object.freeze({happy:e=>e!=null,sad:e=>e==null,boolean:e=>typeof e=="boolean",number:e=>typeof e=="number",string:e=>typeof e=="string",bigint:e=>typeof e=="bigint",object:e=>typeof e=="object"&&e!==null,array:e=>Array.isArray(e),fn:e=>typeof e=="function",symbol:e=>typeof e=="symbol"});var os=(e,t)=>{function r(o,s,n){if(!ee.object(o)||!ee.object(s))return o===s;if(n.includes(o))throw new Error("forbidden circularity detected in deep equal comparison");let l=[...n,o];if(o instanceof Map&&s instanceof Map){if(o.size!==s.size)return!1;for(let[m,h]of o)if(!s.has(m)||!r(h,s.get(m),l))return!1}else if(o instanceof Set&&s instanceof Set){if(o.size!==s.size)return!1;for(let m of o)if(!Array.from(s).some(h=>r(m,h,l)))return!1}else{let m=Object.keys(o),h=Object.keys(s);if(m.length!==h.length)return!1;for(let b of m)if(!h.includes(b)||!r(o[b],s[b],l))return!1}return!0}return r(e,t,[])};function ss(e){function t(r,o){if(!ee.object(r)||o.includes(r))return r;let s=[...o,r];if(r instanceof Map)for(let n of r.entries())for(let l of n)t(l,s);else if(r instanceof Set)for(let n of r)t(n,s);else if(Array.isArray(r))for(let n of r)t(n,s);else for(let n of Object.values(r))t(n,s);return Object.freeze(r)}return t(e,[])}function Ir(e){if(e.ok)return e.value;let{error:t}=e;throw t instanceof Error?t:typeof t=="string"?new Error(t):new Error("unknown")}function Wr(e){if(e.ok)throw new Error("didn't get needed error");return e.error}var Te=class e extends Map{static require(t,r){if(t.has(r))return t.get(r);throw new Error(`required key not found: "${r}"`)}static guarantee(t,r,o){if(t.has(r))return t.get(r);{let s=o();return t.set(r,s),s}}array(){return[...this]}require(t){return e.require(this,t)}guarantee(t,r){return e.guarantee(this,t,r)}};function Fe(e){let t,r=!1,o=()=>{r=!0,clearTimeout(t)},s=async()=>{r||(await e(o),!r&&(t=setTimeout(s,0)))};return s(),o}var Oe=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),[r]=this.#t.splice(t,1);return r}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 Re=(e=0)=>new Promise(t=>setTimeout(t,e));function ns(){let e=new Set;async function t(...h){await Promise.all([...e].map(b=>b(...h)))}function r(h){return e.add(h),()=>{e.delete(h)}}async function o(...h){return t(...h)}function s(h){return r(h)}async function n(h){let{promise:b,resolve:S}=kt(),x=s(async(...v)=>{h&&await h(...v),S(v),x()});return b}function l(){e.clear()}let m={pub:o,sub:s,publish:t,subscribe:r,on:r,next:n,clear:l};return Object.assign(s,m),Object.assign(o,m),m}function lt(e){let t=ns();return e&&t.sub(e),t.sub}function ft(e,...t){let r=e.length-1;return e.slice(0,r).reduce((o,s,n)=>o+s+t[n],"")+e[r]}function Gr(e){let t=e.split(/\r|\n/),r;for(let s of t)if(!/^\s+$/.test(s)){let l=s.match(/^(\t+).+/);if(l){let m=l[1].length;if(r=r===void 0||m<r?m:r,r===0)break}}let o=new RegExp(`^\\t{${r}}`);return t.map(s=>/^\s+$/.test(s)?"":s).map(s=>s.replace(o,"")).join(`
5
+ `)}function Vr(e){return J.freeze(J.clone(e))}var pr=class{#t=[];#e=new WeakMap;#r=[];#o=new Set;notifyRead(t){this.#t.at(-1)?.add(t)}async notifyWrite(t){if(this.#o.has(t))throw new Error("circularity forbidden");let r=this.#s(t).pub();return this.#r.at(-1)?.add(r),r}observe(t){this.#t.push(new Set);let r=t();return{seen:this.#t.pop(),result:r}}subscribe(t,r){return this.#s(t)(async()=>{let o=new Set;this.#r.push(o),this.#o.add(t),o.add(r()),this.#o.delete(t),await Promise.all(o),this.#r.pop()})}#s(t){let r=this.#e.get(t);return r||(r=lt(),this.#e.set(t,r)),r}},O=globalThis[Symbol.for("e280.tracker")]??=new pr;var K=Symbol("optic");var re=class{calculate;#t=!1;#e;constructor(t){this.calculate=t,this.#e=t()}get(){return this.#t&&(this.#t=!1,this.#e=this.calculate()),this.#e}invalidate(){this.#t=!0}};var ze=class e{on=lt();onFrozen=lt();[K];#t;#e;#r;#o=Pt(()=>{this.on.publish(this.state),this.onFrozen.publish(this.frozen)});constructor(t){this[K]=t,this.#t=J.clone(t.getState()),this.#e=new re(()=>J.clone(t.getState())),this.#r=new re(()=>Vr(t.getState()))}async update(){let t=this[K].getState();!J.equal(t,this.#t)&&(this.#e.invalidate(),this.#r.invalidate(),this.#t=J.clone(t),this.#o(),await O.notifyWrite(this))}get state(){return O.notifyRead(this),this.#e.get()}get frozen(){return O.notifyRead(this),this.#r.get()}async mutate(t){return this[K].mutate(t)}lens(t){let r=new e({getState:()=>t(this[K].getState()),mutate:o=>this[K].mutate(s=>o(t(s))),registerLens:this[K].registerLens});return this[K].registerLens(r),r}};var Me=class e{sneak;on;dispose;constructor(t,r){if(new.target!==e)throw new Error("Derived cannot be subclassed");return jt(t,r)}get value(){return this.get()}get(){return O.notifyRead(this),this.sneak}toString(){return`(derived "${String(this.get())}")`}};function Pe(e,t){let r=[],o=()=>{for(let l of r)l();r=[]},s=()=>{let{seen:l,result:m}=O.observe(e);for(let h of l)r.push(O.subscribe(h,n));return m},n=Pt(()=>{o(),t?t(s()):s()});return{result:s(),dispose:o}}function Lt(e,t){return Object.is(e,t)}function jt(e,t){function r(){return r.get()}let o=t?.compare??Lt;Object.setPrototypeOf(r,Me.prototype),r.on=lt();let{result:s,dispose:n}=Pe(e,async l=>{!o(r.sneak,l)&&(r.sneak=l,await Promise.all([O.notifyWrite(r),r.on.pub(l)]))});return r.sneak=s,r.dispose=n,r}var _t=Symbol(),mt=Symbol(),gt=Symbol(),je=Symbol(),Y=Symbol(),oe=Symbol(),ct=Symbol();var Le=class e{sneak;[oe];[mt];[ct];[gt];[Y];constructor(t,r){if(new.target!==e)throw new Error("Lazy cannot be subclassed");return De(t,r)}get value(){return this.get()}[je](){for(let s of this[ct])s();this[ct]=[];let{seen:t,result:r}=O.observe(this[oe]),o=async()=>{this[mt]=!0};for(let s of t)this[ct].push(O.subscribe(s,o));return this[gt]=()=>{for(let s of this[ct])s();this[ct]=[]},r}get(){if(!this[gt])this.sneak=this[je](),this[mt]=!1;else if(this[mt]){this[mt]=!1;let t=this[je]();!this[Y](this.sneak,t)&&(this.sneak=t,O.notifyWrite(this))}return O.notifyRead(this),this.sneak}dispose(){this[gt]&&this[gt]()}toString(){return`($lazy "${String(this.get())}")`}};function De(e,t){function r(){return r.get()}return Object.setPrototypeOf(r,Le.prototype),r.sneak=void 0,r[oe]=e,r[mt]=!1,r[gt]=void 0,r[ct]=[],r[Y]=t?.compare??Lt,r}var He=class e{sneak;on;[_t];[Y];constructor(t,r){if(new.target!==e)throw new Error("Signal cannot be subclassed");return H(t,r)}get value(){return this.get()}set value(t){this.set(t)}get(){return O.notifyRead(this),this.sneak}async set(t,r=!1){let o=this.sneak;return this.sneak=t,(r||!this[Y](o,t))&&await this.publish(),t}async publish(){if(this[_t])throw new Error("forbid circularity");let t=this.sneak,r=Promise.resolve();try{this[_t]=!0,r=Promise.all([O.notifyWrite(this),this.on.pub(t)])}finally{this[_t]=!1}return await r,t}toString(){return`($signal "${String(this.get())}")`}};function H(e,t){function r(o){let s=r;return arguments.length===0?s.get():s.set(arguments[0])}return Object.setPrototypeOf(r,He.prototype),r.sneak=e,r.on=lt(),r[_t]=!1,r[Y]=t?.compare??Lt,r}H.derived=jt;H.lazy=De;function Zr(e){if(!e.done)throw new Error("wait not done");return Ir(e)}function Xr(e){if(!e.done)throw new Error("wait not done");return Wr(e)}var Jr=e=>!e.done;var Kr=e=>e.done&&e.ok;function Yr(e,t){return Jr(e)?t.pending():Kr(e)?t.ok(Zr(e)):t.err(Xr(e))}var bt=w`
6
+ * {
7
+ margin: 0;
8
+ padding: 0;
9
+ box-sizing: border-box;
10
+
11
+ scrollbar-width: thin;
12
+ scrollbar-color: #888 transparent;
13
+ }
14
+
15
+ ::-webkit-scrollbar { width: 8px; }
16
+ ::-webkit-scrollbar-track { background: transparent; }
17
+ ::-webkit-scrollbar-thumb { background: #888; border-radius: 1em; }
18
+ ::-webkit-scrollbar-thumb:hover { background: #999; }
19
+ `;var Ne=class e extends HTMLElement{static register(){F.register({SlyShadow:e},{soft:!0})}connectedCallback(){this.hasAttribute("view")||this.setAttribute("view","")}};var qe=class{render;count=0;rendered=kt();constructor(t){this.render=t}doneRender(){this.count++,this.rendered.resolve(),this.rendered=kt()}},Et=class extends qe{host;shadow;constructor(t,r,o){super(t),this.host=r,this.shadow=o}};var hr=class{#t=[];get scope(){let t=this.#t.at(-1);if(!t)throw new Error("hooks must be called within a render fn");return t}increment(){let t=this.scope,r=t.position++;return{scope:t,position:r}}wrap(t,r){t.position=0,this.#t.push(t);try{return r()}finally{this.#t.pop()}}},Q=globalThis[Symbol.for("e280.hooks")]??=new hr;var Dt=class{#t=[];clear(){this.#t.forEach(t=>t()),this.#t=[]}observe(t,r){let{seen:o,result:s}=O.observe(t);this.clear();for(let n of o){let l=O.subscribe(n,r);this.#t.push(l)}return s}};function T(e){let{scope:t,position:r}=Q.increment();return t.values.guarantee(r,e)}function ut(e){let{scope:t}=Q.increment();return T(()=>t.mounts.mount(e))}var Ue=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 Ht=class{cx;position=0;values=new Te;mounts=new Ue;constructor(t){this.cx=t}};var{I:cc}=Pr;var Qr=e=>e.strings===void 0;var Be={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},qt=e=>(...t)=>({_$litDirective$:e,values:t}),Nt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,r,o){this._$Ct=t,this._$AM=r,this._$Ci=o}_$AS(t,r){return this.update(t,r)}update(t,r){return this.render(...r)}};var se=(e,t)=>{let r=e._$AN;if(r===void 0)return!1;for(let o of r)o._$AO?.(t,!1),se(o,t);return!0},Ie=e=>{let t,r;do{if((t=e._$AM)===void 0)break;r=t._$AN,r.delete(e),e=t}while(r?.size===0)},to=e=>{for(let t;t=e._$AM;e=t){let r=t._$AN;if(r===void 0)t._$AN=r=new Set;else if(r.has(e))break;r.add(e),hs(t)}};function us(e){this._$AN!==void 0?(Ie(this),this._$AM=e,to(this)):this._$AM=e}function ps(e,t=!1,r=0){let o=this._$AH,s=this._$AN;if(s!==void 0&&s.size!==0)if(t)if(Array.isArray(o))for(let n=r;n<o.length;n++)se(o[n],!1),Ie(o[n]);else o!=null&&(se(o,!1),Ie(o));else se(this,e)}var hs=e=>{e.type==Be.CHILD&&(e._$AP??=ps,e._$AQ??=us)},ne=class extends Nt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,r,o){super._$AT(t,r,o),to(this),this.isConnected=t._$AU}_$AO(t,r=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),r&&(se(this,t),Ie(this))}setValue(t){if(Qr(this._$Ct))this._$Ct._$AI(t,this);else{let r=[...this._$Ct._$AH];r[this._$Ci]=t,this._$Ct._$AI(r,this,0)}}disconnected(){}reconnected(){}};function We(e){return T(()=>new dr(e))}var dr=class{current;constructor(t){this.current=t}};function fr(){let{scope:e}=Q.increment();return e.cx}function eo(){let e=fr();if(!(e instanceof Et))throw new Error("this hook only works on shadow views (but was called in a light view)");return e}function mr(){return fr().render}function ro(){return fr().rendered.promise}function yt(){return eo().host}function oo(){return eo().shadow}function Ge(e){let t=yt(),r=mr(),o=We(new Set);return ut(()=>F.attrs(t).on(s=>{for(let n of s)if(!o.current.has(n.attributeName)){r();break}})),ro().then(()=>o.current.clear()),T(()=>F.attrs(t).spec(e,{beforeSet:s=>o.current.add(s)}))}function so(e,t){ge(e,ds(t))}function ds(e){let t=[];if(Array.isArray(e)){let r=new Set(e.flat(1/0).reverse());for(let o of r)t.unshift(Ft(o))}else e!==void 0&&t.push(Ft(e));return t}function I(...e){let t=oo();T(()=>so(t,e))}var tt=I;function j(e=""){let t=yt();T(()=>t.setAttribute("view",e))}function pt(e){return T(()=>H(e))}function no(e,t){for(let[r,o]of Object.entries(t))ms(e,r,o)}function ms(e,t,r){let o=e.getAttribute(t),s=gs(r);s!==o&&(s===null?e.removeAttribute(t):e.setAttribute(t,s))}function gs(e){return typeof e=="string"?e:typeof e=="number"?e.toString():e?"":null}function bs(){Ne.register();let e=document.createElement("sly-shadow"),t=e.attachShadow({mode:"open"});return{host:e,shadow:t}}function R(e){return io(bs,e)}R.setup=e=>(t=>io(e,t));function io(e,t){let r=qt(class extends ne{#t;#e;#r;#o=new Dt;constructor(s){super(s);let{host:n,shadow:l}=e(),m=Pt(()=>{if(!this.#r)throw new Error("cannot render before props");if(!this.isConnected)return;let h=this.#s(this.#r);N(h,this.#t.shadow),this.#t.doneRender()});this.#t=new Et(m,n,l),this.#e=new Ht(this.#t)}#s(s){return this.#r=s,this.#o.observe(()=>Q.wrap(this.#e,()=>t(...this.#r)),this.#t.render)}render({props:s,children:n,attrs:l}){let{host:m}=this.#t;return this.isConnected&&(l&&no(m,l),N(n,this.#t.host),N(this.#s(s),this.#t.shadow),this.#t.doneRender()),m}disconnected(){N(null,this.#t.shadow),N(null,this.#t.host),this.#e.mounts.unmountAll(),this.#o.clear()}reconnected(){this.#e.mounts.remountAll(),this.#t.render()}});function o(...s){return r({props:s})}return o.with=r,o}function et(e,t){return()=>ys({hz:e,frames:t})}var ys=R(({hz:e,frames:t})=>{j("loading"),tt(bt,vs);let r=pt(0);return ut(()=>Fe(async()=>{await Re(1e3/e);let o=r.get()+1;r.set(o>=t.length?0:o)})),t.at(r.get())}),vs=w`
20
+ :host {
21
+ font-family: monospace;
22
+ white-space: pre;
23
+ user-select: none;
24
+ }
25
+ `;var rt=R(e=>(j("error"),tt(bt,xs),typeof e=="string"?e:e instanceof Error?E`<strong>${e.name}:</strong> <span>${e.message}</span>`:"error")),xs=w`
26
+ :host {
27
+ font-family: monospace;
28
+ color: red;
29
+ }
30
+ `;function ot(e,t){return(r,o)=>Yr(r,{pending:e,err:t,ok:o})}var yp=ot(et(10,[" "," ",". ",".. ","..."," .."," ."]),rt);var Ap=ot(et(3,["\u{1F30E}","\u{1F30F}","\u{1F30D}"]),rt);var Cp=ot(et(10,["\u{1F312}","\u{1F313}","\u{1F314}","\u{1F315}","\u{1F316}","\u{1F317}","\u{1F318}","\u{1F311}","\u{1F311}","\u{1F311}"]),rt);var zp=ot(et(16,["|","/","-","\\"]),rt);var Dp=ot(et(20,[":....",":....","::...",".::..","..::.","...::","....:","....:","...::","..::.",".::..","::..."]),rt);function _(e,t){return()=>ws({hz:e,frames:t})}var ws=R(({hz:e,frames:t})=>{j("loading"),tt(bt,$s);let r=pt(0);return ut(()=>Fe(async()=>{await Re(1e3/e);let o=r.get()+1;r.set(o>=t.length?0:o)})),t.at(r.get())}),$s=w`
31
+ :host {
32
+ font-family: monospace;
33
+ white-space: pre;
34
+ user-select: none;
35
+ }
36
+ `;var P=20,Ut=10,Bt=4,eh=_(P,["|","/","-","\\"]),rh=_(P,["\u2808","\u2810","\u2820","\u2880","\u2840","\u2804","\u2802","\u2801"]),oh=_(P,["\u2B06\uFE0F","\u2197\uFE0F","\u27A1\uFE0F","\u2198\uFE0F","\u2B07\uFE0F","\u2199\uFE0F","\u2B05\uFE0F","\u2196\uFE0F"]),sh=_(P,["\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"]),nh=_(P,["\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"]),ih=_(P,["\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"]),ah=_(P,["\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"]),lh=_(P,["\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"]),ch=_(P,["\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"]),uh=_(Bt,["\u{1F6B6}","\u{1F3C3}"]),ph=_(Ut,["\u25F7","\u25F6","\u25F5","\u25F4"]),hh=_(P,["=----","-=---","--=--","---=-","----=","----=","---=-","--=--","-=---","=----"]),dh=_(P,["o----","-o---","--o--","---o-","----o","----o","---o-","--o--","-o---","o----"]),fh=_(Ut,["[ ]","[ ]","[= ]","[== ]","[===]","[ ==]","[ =]"]),mh=_(Ut,["[ ]","[ ]","[= ]","[== ]","[===]","[ ==]","[ =]","[ ]","[ ]","[ =]","[ ==]","[===]","[== ]","[= ]"]),gh=_(Ut,[" "," ",". ",".. ","..."," .."," ."]),bh=_(P,[". ",". ",".. ","..."," .."," ."," ."," ..","...",".. "]),yh=_(P,[".....",".....",":....","::...",":::..","::::.",":::::",":::::",".::::","..:::","...::","....:"]),vh=_(P,[":....",":....","::...",".::..","..::.","...::","....:","....:","...::","..::.",".::..","::..."]),xh=_(P,[".....",".....","..:..",".:::.",".:::.",":::::",":::::","::.::",":...:"]),wh=_(P,[".....",".....","..:..",".:::.",".:::.",":::::",":::::","::.::",":...:",".....",".....",":...:","::.::",":::::",":::::",".:::.",".:::.","..:.."]),$h=_(P,["000","100","110","111","011","001"]),Ah=_(P,["11111","01111","00111","10011","11001","01100","00110","10011","11001","11100","11110"]),Sh=_(P,["11111","01111","10111","11011","11101","11110","11111","11110","11101","11011","10111","01111"]),kh=_(Bt,["\u{1F539}","\u{1F535}"]),_h=_(Ut,["\u{1F642}","\u{1F642}","\u{1F617}","\u{1F619}","\u{1F618}","\u{1F618}","\u{1F619}"]),Eh=_(P,["\u{1F550}","\u{1F551}","\u{1F552}","\u{1F553}","\u{1F554}","\u{1F555}","\u{1F556}","\u{1F557}","\u{1F558}","\u{1F559}","\u{1F55A}","\u{1F55B}"]),Ch=_(P,["\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}"]),As=_(Bt,["\u{1F30E}","\u{1F30F}","\u{1F30D}"]),Th=_(Bt,["\u{1F513}","\u{1F512}"]),Fh=_(Bt,["\u{1F505}","\u{1F506}"]),Oh=_(Bt,["\u{1F508}","\u{1F508}","\u{1F509}","\u{1F50A}","\u{1F50A}","\u{1F509}"]),Rh=_(Ut,["\u{1F311}","\u{1F311}","\u{1F311}","\u{1F318}","\u{1F317}","\u{1F316}","\u{1F315}","\u{1F314}","\u{1F313}","\u{1F312}"]);var ks=R(e=>(j("error"),tt(bt,_s),typeof e=="string"?e:e instanceof Error?E`<strong>${e.name}:</strong> <span>${e.message}</span>`:"error")),_s=w`
37
+ :host {
38
+ font-family: monospace;
39
+ color: red;
40
+ }
41
+ `;var ao=w`@layer view {
42
+
43
+ button {
44
+ background: transparent;
45
+ border: none;
46
+ font-size: inherit;
47
+ }
48
+
49
+ button {
50
+ opacity: var(--inactive-opacity);
51
+ display: flex;
52
+ align-items: center;
53
+
54
+ cursor: copy;
55
+ color: inherit;
56
+ transition: all var(--anim-duration) linear;
57
+
58
+ &:is(:hover, :focus-visible) {
59
+ opacity: 1;
60
+ }
61
+
62
+ > span {
63
+ display: flex;
64
+ }
65
+ }
66
+
67
+ [data-status="invalid"] {
68
+ color: var(--lame);
69
+ }
70
+
71
+ [data-status="good"] {
72
+ opacity: 1;
73
+ color: var(--happy);
74
+ filter: drop-shadow(0 0 0.3em color-mix(in oklab, transparent, currentColor 50%));
75
+ }
76
+
77
+ [data-status="bad"] {
78
+ opacity: 1;
79
+ color: var(--angry);
80
+ filter: drop-shadow(0 0 0.3em color-mix(in oklab, transparent, currentColor 50%));
81
+ }
82
+
83
+ svg {
84
+ width: 1em;
85
+ height: 1em;
86
+ }
87
+
88
+ }`;var gr=Z`<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 lo=Z`<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 co=Z`<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>`;function br(e){return e===void 0?"invalid":"neutral"}function uo(e,t){let r=pt(br(e)),o=T(()=>Br(t,()=>r.set(br(e)))),s=T(()=>async n=>{await r.set(n),await o()});return{reset:o,flash:s,status:r()}}var po=ft`@layer core {
89
+
90
+ ::selection {
91
+ color: var(--selection);
92
+ background-color: var(--selection-bg);
93
+ }
94
+
95
+ ::-webkit-scrollbar { width: 8px; }
96
+ ::-webkit-scrollbar-track { background: transparent; }
97
+ ::-webkit-scrollbar-thumb { background: #444; border-radius: 1em; }
98
+ ::-webkit-scrollbar-thumb:hover { background: #666; }
99
+
100
+ a {
101
+ color: var(--link);
102
+ text-decoration: none;
103
+
104
+ &:visited {
105
+ color: color-mix(in srgb, purple, var(--link) 70%);
106
+ }
107
+
108
+ &:hover {
109
+ color: color-mix(in srgb, white, var(--link) 90%);
110
+ text-decoration: underline;
111
+ }
112
+
113
+ &:active {
114
+ color: color-mix(in srgb, white, var(--link) 50%);
115
+ }
116
+ }
117
+
118
+ }`;var ho=ft`@layer vars {
119
+
120
+ :is(:root, :host) {
121
+ ${Ts({bg:"#111",alpha:"#def",rounded:"0.5em",padding:"0.5em",prime:"#d068ff",code:"#3f1",link:"cyan",selection:"white","selection-bg":"#f70",lame:"#8888",angry:"#f50",zesty:"#cf0",happy:"#0fa",calm:"#0af",sad:"#74f",quirky:"#f49","inactive-opacity":"0.5","anim-duration":"150ms"})}
122
+ }
123
+
124
+ }`;function Cs([e,t]){return`--${e}: var(--shiny-${e}, ${t});`}function Ts(e){return Object.entries(e).map(Cs).join(`
125
+ `)}var fo=ft`@layer reset {
126
+
127
+ * {
128
+ margin: 0;
129
+ padding: 0;
130
+ box-sizing: border-box;
131
+
132
+ scrollbar-width: thin;
133
+ scrollbar-color: #888 transparent;
134
+ }
135
+
136
+ ::-webkit-scrollbar { width: 8px; }
137
+ ::-webkit-scrollbar-track { background: transparent; }
138
+ ::-webkit-scrollbar-thumb { background: #888; border-radius: 1em; }
139
+ ::-webkit-scrollbar-thumb:hover { background: #999; }
140
+
141
+ }`;var mo=ft`
142
+
143
+ @layer vars, reset, core, underlay, view, overlay;
144
+
145
+ ${ho}
146
+ ${fo}
147
+ ${po}
148
+
149
+ `;var U=new CSSStyleSheet;U.replaceSync(mo);var ie=R((e,t={})=>{j("shiny-copy"),I(U,ao);let r=uo(e,t.ms??1e3);async function o(){if(e!==void 0)try{if(t.fail)throw new Error("copy failed on purpose for testing purposes");await navigator.clipboard.writeText(e),await r.flash("good")}catch(s){console.error(s),await r.flash("bad")}}return E`
150
+ <button data-status="${r.status}" @click="${o}" part=button>
151
+ <span part=icon>
152
+ ${(()=>{switch(r.status){case"neutral":return gr;case"invalid":return gr;case"good":return co;case"bad":return lo;default:throw new Error("unknown copy status")}})()}
153
+ </span>
154
+ <slot></slot>
155
+ </button>
156
+ `});var G=e=>e;var go=w`@layer view {
157
+
158
+ section.showcase {
159
+ position: relative;
160
+ display: flex;
161
+ flex-direction: column;
162
+ padding: 1em;
163
+ gap: var(--padding);
164
+
165
+ background: linear-gradient(to right top, #252dd985, #aa6affbd);
166
+ box-shadow: 0 0 5em #5d1fadaa;
167
+ border-top: 2px solid #fff4;
168
+ border-radius: var(--rounded);
169
+
170
+ &::before {
171
+ z-index: 0;
172
+ content: "";
173
+ display: block;
174
+ position: absolute;
175
+ inset: 0;
176
+ border-radius: var(--rounded);
177
+ background: #0006;
178
+ width: calc(100% - var(--padding));
179
+ height: calc(100% - var(--padding));
180
+ margin: auto;
181
+ }
182
+
183
+ > * {
184
+ z-index: 1;
185
+ position: relative;
186
+ }
187
+ }
188
+
189
+ header {
190
+ display: flex;
191
+ flex-wrap: wrap;
192
+ place-content: center;
193
+ gap: var(--padding);
194
+
195
+ h2 {
196
+ flex: 1 1 auto;
197
+ color: var(--prime);
198
+ }
199
+ }
200
+
201
+ .sides {
202
+ display: flex;
203
+ flex-wrap: wrap;
204
+ gap: var(--padding);
205
+
206
+ > * {
207
+ flex: 1 1 0;
208
+ min-width: 0;
209
+ }
210
+ }
211
+
212
+ .codezone {
213
+ display: flex;
214
+ flex-direction: column;
215
+ gap: var(--padding);
216
+
217
+ > * {
218
+ flex: 1 1 auto;
219
+ }
220
+ }
221
+
222
+ .stage {
223
+ display: flex;
224
+ flex-direction: column;
225
+ justify-content: start;
226
+ align-items: center;
227
+ padding: calc(var(--padding) * 2) var(--padding);
228
+ border: 1px dashed color-mix(in oklch, transparent, currentColor 50%);
229
+ border-radius: var(--rounded);
230
+ }
231
+
232
+ }`;var Ze=Wo(bo(),1);(function(e){var t=e.languages.javascript["template-string"],r=t.pattern.source,o=t.inside.interpolation,s=o.inside["interpolation-punctuation"],n=o.pattern.source;function l(y,$){if(e.languages[y])return{pattern:RegExp("((?:"+$+")\\s*)"+r),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:y}}}}e.languages.javascript["template-string"]=[l("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),l("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),l("svg",/\bsvg/.source),l("markdown",/\b(?:markdown|md)/.source),l("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),l("sql",/\bsql/.source),t].filter(Boolean);function m(y,$){return"___"+$.toUpperCase()+"_"+y+"___"}function h(y,$,a){var i={code:y,grammar:$,language:a};return e.hooks.run("before-tokenize",i),i.tokens=e.tokenize(i.code,i.grammar),e.hooks.run("after-tokenize",i),i.tokens}function b(y){var $={};$["interpolation-punctuation"]=s;var a=e.tokenize(y,$);if(a.length===3){var i=[1,1];i.push.apply(i,h(a[1],e.languages.javascript,"javascript")),a.splice.apply(a,i)}return new e.Token("interpolation",a,o.alias,y)}function S(y,$,a){var i=e.tokenize(y,{interpolation:{pattern:RegExp(n),lookbehind:!0}}),c=0,p={},u=i.map(function(k){if(typeof k=="string")return k;for(var C=k.content,z;y.indexOf(z=m(c++,a))!==-1;);return p[z]=C,z}).join(""),g=h(u,$,a),A=Object.keys(p);c=0;function d(k){for(var C=0;C<k.length;C++){if(c>=A.length)return;var z=k[C];if(typeof z=="string"||typeof z.content=="string"){var Ct=A[c],Tt=typeof z=="string"?z:z.content,Wt=Tt.indexOf(Ct);if(Wt!==-1){++c;var ce=Tt.substring(0,Wt),ue=b(p[Ct]),L=Tt.substring(Wt+Ct.length),D=[];if(ce&&D.push(ce),D.push(ue),L){var st=[L];d(st),D.push.apply(D,st)}typeof z=="string"?(k.splice.apply(k,[C,1].concat(D)),C+=D.length-1):z.content=D}}else{var ht=z.content;Array.isArray(ht)?d(ht):d([ht])}}}return d(g),new e.Token(a,g,"language-"+a,y)}var x={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};e.hooks.add("after-tokenize",function(y){if(!(y.language in x))return;function $(a){for(var i=0,c=a.length;i<c;i++){var p=a[i];if(typeof p!="string"){var u=p.content;if(!Array.isArray(u)){typeof u!="string"&&$([u]);continue}if(p.type==="template-string"){var g=u[1];if(u.length===3&&typeof g!="string"&&g.type==="embedded-code"){var A=v(g),d=g.alias,k=Array.isArray(d)?d[0]:d,C=e.languages[k];if(!C)continue;u[1]=S(A,C,k)}}else $(u)}}}$(y.tokens)});function v(y){return typeof y=="string"?y:Array.isArray(y)?y.map(v).join(""):v(y.content)}})(Prism);var yo=w`@layer view {
233
+
234
+ :host {
235
+ display: flex;
236
+ flex-direction: column;
237
+ }
238
+
239
+ .box {
240
+ flex: 1 1 auto;
241
+ display: flex;
242
+ flex-direction: column;
243
+ background: #0003;
244
+ border-radius: var(--rounded);
245
+ backdrop-filter: blur(0.5em);
246
+ }
247
+
248
+ header {
249
+ display: flex;
250
+ justify-content: space-between;
251
+ padding: calc(var(--padding) / 4) var(--padding);
252
+
253
+ .title {
254
+ opacity: 0.4;
255
+ font-size: 1em;
256
+ font-weight: normal;
257
+ }
258
+
259
+ .buttons {
260
+ display: flex;
261
+ font-size: 1.2em;
262
+ }
263
+ }
264
+
265
+ code {
266
+ padding: calc(var(--padding) / 4) var(--padding);
267
+ color: var(--code);
268
+ white-space: pre;
269
+ tab-size: 2;
270
+ overflow-x: auto;
271
+ }
272
+
273
+ }`;function vo(){return T(()=>{let e=document.head.querySelector("[data-prism]");if(!e)throw new Error("failed to find [data-prism] stylesheet");let t=new CSSStyleSheet;return t.replaceSync(e.textContent),t})}var ae=class extends Nt{constructor(t){if(super(t),this.it=M,t.type!==Be.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===M||t==null)return this._t=void 0,this.it=t;if(t===at)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let r=[t];return r.raw=r,this._t={_$litType$:this.constructor.resultType,strings:r,values:[]}}};ae.directiveName="unsafeHTML",ae.resultType=1;var xo=qt(ae);var yr=R((e,t,r)=>{let o=vo();I(U,o,yo),r=Gr(r).trim();let s=Ze.default.highlight(r,t==="js"?Ze.default.languages.javascript:Ze.default.languages.css,t);return E`
274
+ <div class=box>
275
+ <header>
276
+ <h3 class=title>${e}</h3>
277
+ <div class=buttons>${ie(r)}</div>
278
+ </header>
279
+
280
+ <code>${xo(s)}</code>
281
+ </div>
282
+ `});var wo=R((e,t,r)=>(j("stylebox"),I(U,e,t),E`
283
+ <style>${Zt(e)}</style>
284
+ <style>${Zt(t)}</style>
285
+ ${r}
286
+ `));var $o=w`@layer view {
287
+
288
+ :host {
289
+ display: inline-flex;
290
+ flex-direction: column;
291
+ }
292
+
293
+ slot[part="tabs"] {
294
+ display: flex;
295
+ flex-wrap: wrap;
296
+
297
+ &::slotted([data-tabbed]) {
298
+ opacity: 1;
299
+ color: currentColor;
300
+ text-decoration: underline;
301
+ }
302
+ }
303
+
304
+ slot[part="tabs"][data-snug] {
305
+ &::slotted(*) {
306
+ border-radius: var(--rounded);
307
+ }
308
+
309
+ &::slotted(:not([data-last], [data-next-is-tabbed])) {
310
+ border-right: none;
311
+ }
312
+
313
+ &::slotted([data-tabbed]:not([data-first])) {
314
+ border-left: none;
315
+ }
316
+
317
+ &::slotted(:not([data-last])) {
318
+ border-top-right-radius: 0;
319
+ border-bottom-right-radius: 0;
320
+ }
321
+
322
+ &::slotted(:not([data-first])) {
323
+ border-top-left-radius: 0;
324
+ border-bottom-left-radius: 0;
325
+ }
326
+ }
327
+
328
+ } `;var It=class{length=1;$index=H(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())}async setIndex(t){return this.$index(t)}async shimmy(t){let r=this.clamp(this.index+t);return this.setIndex(r)}};var le=R((e={})=>{j("shiny-tabs"),tt(U,$o);let t=yt(),r=T(()=>F.attrs(t).spec({index:Number})),o=T(()=>e.control??new It(r.index??0)),s=pt([]),n=pt([]);async function l(b){let S=b.currentTarget;await s.set(S.assignedElements())}async function m(b){let S=b.currentTarget;await n.set(S.assignedElements())}r.index=o.$index(),o.length=s().length;function h(b,S){let x=o.clamp(b+S);return x===b?!1:x===o.index}for(let[b,S]of s().entries()){let x=b===o.index,v=F.attrs(S);v.booleans.disabled=x,v.booleans["data-snug"]=e.snug,v.booleans["data-tabbed"]=x,v.booleans["data-first"]=b===0,v.booleans["data-last"]=b===o.length-1,v.booleans["data-next-is-tabbed"]=h(b,1),v.booleans["data-previous-is-tabbed"]=h(b,-1),S.onclick=()=>o.setIndex(b)}for(let[b,S]of n().entries()){let x=b===o.index;F.attrs(S).booleans["data-tabbed"]=x,F.attrs(S).booleans.hidden=!x}return E`
329
+ <slot part=tabs ?data-snug="${e.snug}" @slotchange="${l}"></slot>
330
+ <slot part=panels name=panel @slotchange="${m}"></slot>
331
+ `});var Ao=w`@layer view {
332
+
333
+ :host {
334
+ display: inline-flex;
335
+ width: max-content;
336
+ height: max-content;
337
+
338
+ cursor: pointer;
339
+ background: transparent;
340
+ user-select: none;
341
+
342
+ --button-padding: 0.3em 0.7em;
343
+ --button-color: var(--calm);
344
+ }
345
+
346
+ slot {
347
+ z-index: 1;
348
+ position: relative;
349
+ display: block;
350
+ }
351
+
352
+ button {
353
+ opacity: 0.8;
354
+ position: relative;
355
+
356
+ font: inherit;
357
+ cursor: inherit;
358
+ text-shadow: inherit;
359
+ font-weight: medium;
360
+
361
+ display: inline-flex;
362
+ justify-content: center;
363
+ align-items: center;
364
+
365
+ width: 100%;
366
+ height: 100%;
367
+ padding: var(--button-padding);
368
+
369
+ border-radius: 2em;
370
+ background: var(--button-color);
371
+ text-shadow: 0.1em 0.1em 0.1em #0004;
372
+ box-shadow: 0.1em 0.2em 0.3em #0002;
373
+
374
+ color: white;
375
+ border: none;
376
+ background: linear-gradient(
377
+ to bottom right,
378
+ color-mix(in oklab, var(--button-color), white 40%),
379
+ color-mix(in oklab, var(--button-color), black 20%)
380
+ );
381
+
382
+ &::before {
383
+ content: "";
384
+ display: block;
385
+ position: absolute;
386
+ z-index: 0;
387
+ inset: 0.15em;
388
+ border-radius: inherit;
389
+ background: color-mix(in oklab, var(--button-color), #0004 50%);
390
+ }
391
+
392
+ &:not([disabled]):is(:hover, :focus-visible) { opacity: 1; }
393
+ &:not([disabled]):active { opacity: 0.6; }
394
+
395
+ &[data-vibe="lame"] { --button-color: var(--lame); }
396
+ &[data-vibe="angry"] { --button-color: var(--angry); }
397
+ &[data-vibe="zesty"] { --button-color: var(--zesty); }
398
+ &[data-vibe="happy"] { --button-color: var(--happy); }
399
+ &[data-vibe="calm"] { --button-color: var(--calm); }
400
+ &[data-vibe="sad"] { --button-color: var(--sad); }
401
+ &[data-vibe="quirky"] { --button-color: var(--quirky); }
402
+ &[data-vibe="tabbed"] { --button-color: var(--tabbed); }
403
+
404
+ > * {
405
+ position: relative;
406
+ z-index: 1;
407
+ }
408
+
409
+ &[disabled] {
410
+ cursor: default;
411
+ }
412
+
413
+ &[hidden] {
414
+ display: none !important;
415
+ }
416
+ }
417
+
418
+ :host([data-tabbed]) > button {
419
+ opacity: 1;
420
+ filter: brightness(120%);
421
+ }
422
+
423
+ :host(:not([data-tabbed])) > button[disabled] {
424
+ --button-color: var(--lame);
425
+ }
426
+
427
+ :host([data-snug]:not([data-last])) > button {
428
+ border-top-right-radius: 0;
429
+ border-bottom-right-radius: 0;
430
+ }
431
+
432
+ :host([data-snug]:not([data-first])) > button {
433
+ border-top-left-radius: 0;
434
+ border-bottom-left-radius: 0;
435
+ }
436
+
437
+ }`;var B=R((e,t={})=>{j("shiny-button"),I(U,Ao);let r=Ge({hidden:Boolean,disabled:Boolean});return E`
438
+ <button
439
+ part=button
440
+ data-vibe="${t.vibe??"calm"}"
441
+ ?disabled="${r.disabled}"
442
+ ?hidden="${r.hidden}"
443
+ @click="${t.onClick}">
444
+ <slot>${e}</slot>
445
+ </button>
446
+ `});var vt=R((e,t)=>{j("showcase"),I(U,go);let r=T(()=>new It),o=t.at(r.index);return E`
447
+ <section class=showcase>
448
+ <header>
449
+ <h2>✨${e}✨</h2>
450
+ <nav>
451
+ ${le.with({props:[{control:r,snug:!0}],children:t.map(s=>B(s.name))})}
452
+ </nav>
453
+ </header>
454
+
455
+ ${o&&E`
456
+ <div class=explain>${o.explain}</div>
457
+
458
+ <div class=sides>
459
+ <div class=codezone>
460
+ ${yr("lit-html","js",o.js)}
461
+ ${o.css&&yr("css","css",o.css.toString())}
462
+ </div>
463
+
464
+ <div class=stage>
465
+ ${wo(o.styleboxCss,o.css??w``,o.render())}
466
+ </div>
467
+ </div>
468
+ `}
469
+ </section>
470
+ `});var So=()=>vt("ShinyCopy",[G({name:"normal",explain:"click-to-copy button.",render:()=>ie("hello world"),styleboxCss:w`
471
+ :host {
472
+ font-size: 5em;
473
+ }
474
+ `,js:`
475
+ ShinyCopy("hello world")
476
+ `,css:w`
477
+ [view="shiny-copy"] {
478
+ --shiny-happy: #0fa;
479
+ --shiny-angry: #f50;
480
+ --shiny-lame: #8888;
481
+ --shiny-inactive-opacity: 0.5;
482
+ }
483
+ `}),G({name:"fail",explain:E`
484
+ <p>click-to-copy button. <em>deliberately fails so you can see.</em></p>
485
+ `,render:()=>ie("hello world",{fail:!0}),styleboxCss:w`
486
+ :host {
487
+ font-size: 4em;
488
+ }
489
+ `,js:`
490
+ ShinyCopy("hello world", {fail: true})
491
+ `,css:w`
492
+ [view="shiny-copy"] {
493
+ --shiny-happy: #0fa;
494
+ --shiny-angry: #f50;
495
+ --shiny-lame: #8888;
496
+ --shiny-inactive-opacity: 0.5;
497
+ }
498
+ `})]);var V=new Oe(()=>["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 ko=()=>vt("ShinyTabs",[G({name:"shiny",explain:"a button-bar of mutually-exclusive tabs. panels are optional.",render:()=>le.with({props:[{snug:!0}],children:E`
499
+ ${B("alpha")}
500
+ ${B("bravo")}
501
+ ${B("charlie")}
502
+ <p slot=panel>${V.takeFirst()}</p>
503
+ <p slot=panel>${V.takeFirst()}</p>
504
+ <p slot=panel>${V.takeFirst()}</p>
505
+ `}),styleboxCss:w`
506
+ [view="shiny-button"] { font-size: 1.2em; }
507
+ p { margin-top: var(--padding); }
508
+ `,js:`
509
+ ShinyTabs.with({
510
+ props: [{snug: true}],
511
+ children: html\`
512
+ \${ShinyButton("alpha")}
513
+ \${ShinyButton("bravo")}
514
+ \${ShinyButton("charlie")}
515
+ <p slot=panel>lorem kettlebell..</p>
516
+ <p slot=panel>lorem protein..</p>
517
+ <p slot=panel>lorem caffeine..</p>
518
+ \`,
519
+ })
520
+ `,css:w`
521
+ [view="shiny-tabs"] {
522
+ --shiny-rounded: 0.5em;
523
+ }
524
+ `}),G({name:"plain",explain:"a button-bar of mutually-exclusive tabs. panels are optional.",render:()=>le.with({props:[{snug:!0}],children:E`
525
+ <button>alpha</button>
526
+ <button>bravo</button>
527
+ <button>charlie</button>
528
+ <p slot=panel>${V.takeFirst()}</p>
529
+ <p slot=panel>${V.takeFirst()}</p>
530
+ <p slot=panel>${V.takeFirst()}</p>
531
+ `}),styleboxCss:w`
532
+ p { margin-top: var(--padding); }
533
+ button {
534
+ font-size: 1.5em;
535
+ padding: calc(var(--padding) / 2);
536
+ }
537
+ `,js:`
538
+ ShinyTabs.with({
539
+ props: [{snug: true}],
540
+ children: html\`
541
+ <button>alpha</button>
542
+ <button>bravo</button>
543
+ <button>charlie</button>
544
+ <p slot=panel>lorem kettlebell..</p>
545
+ <p slot=panel>lorem protein..</p>
546
+ <p slot=panel>lorem caffeine..</p>
547
+ \`,
548
+ })
549
+ `,css:w`
550
+ [view="shiny-tabs"] {
551
+ --shiny-rounded: 0.5em;
552
+ }
553
+ `})]);var _o=()=>vt("ShinyButton",[G({name:"catalog",explain:"click-to-copy button.",render:()=>[B("e280"),B("e280",{vibe:"happy"}),B("e280",{vibe:"sad"}),B("e280",{vibe:"angry"}),B("e280",{vibe:"zesty"}),B("e280",{vibe:"quirky"}),B("e280",{vibe:"lame"})],styleboxCss:w`
554
+ :host {
555
+ font-size: 1.5em;
556
+ display: flex;
557
+ justify-content: center;
558
+ flex-wrap: wrap;
559
+ gap: calc(var(--padding) / 2);
560
+ }
561
+ `,js:`
562
+ [
563
+ ShinyButton("e280"),
564
+ ShinyButton("e280", {vibe: "happy"}),
565
+ ShinyButton("e280", {vibe: "sad"}),
566
+ ShinyButton("e280", {vibe: "angry"}),
567
+ ShinyButton("e280", {vibe: "zesty"}),
568
+ ShinyButton("e280", {vibe: "quirky"}),
569
+ ShinyButton("e280", {vibe: "lame"}),
570
+ ]
571
+ `,css:void 0})]);var Eo=w`@layer view {
572
+
573
+ :host {
574
+ display: block;
575
+ width: 100%;
576
+ height: 100%;
577
+
578
+ --slate-bg: transparent;
579
+ --button-size: 2em;
580
+ --blanket-backdrop-filter: blur(0.5em);
581
+ --slate-hidden-opacity: 1;
582
+ --blanket-bg: color-mix(in oklab, transparent, var(--bg));
583
+ }
584
+
585
+ .shell {
586
+ position: relative;
587
+ width: 100%;
588
+ height: 100%;
589
+
590
+ [part="blanket"] {
591
+ opacity: 0;
592
+
593
+ content: "";
594
+ display: block;
595
+ position: absolute;
596
+ inset: 0;
597
+
598
+ background: var(--blanket-bg);
599
+ backdrop-filter: var(--blanket-backdrop-filter);
600
+
601
+ will-change: opacity;
602
+ transition: all var(--anim-duration) ease;
603
+ }
604
+
605
+ .clipper {
606
+ pointer-events: none;
607
+ position: absolute;
608
+ inset: 0;
609
+ width: 100%;
610
+ height: 100%;
611
+ overflow: hidden;
612
+ > * { pointer-events: all; }
613
+ }
614
+
615
+ [part="tray"] {
616
+ position: absolute;
617
+ top: 0;
618
+ width: calc(100% - var(--button-size));
619
+
620
+ display: flex;
621
+ flex-direction: column;
622
+ height: auto;
623
+ max-height: 100%;
624
+
625
+ transform: translateX(-100%);
626
+ will-change: opacity, transform;
627
+ transition: all var(--anim-duration) ease;
628
+
629
+ > [part="slate"] {
630
+ opacity: var(--slate-hidden-opacity);
631
+ will-change: opacity;
632
+ transition: opacity var(--anim-duration) ease;
633
+
634
+ display: block;
635
+ height: 100%;
636
+ overflow-y: auto;
637
+ background: var(--slate-bg);
638
+ }
639
+
640
+ > button {
641
+ position: absolute;
642
+ top: 0;
643
+ left: 100%;
644
+
645
+ opacity: var(--inactive-opacity);
646
+ background: transparent;
647
+ border: none;
648
+ cursor: pointer;
649
+
650
+ &:is(:hover, :focus-visible) {
651
+ opacity: 1;
652
+ }
653
+
654
+ > slot {
655
+ display: contents;
656
+ }
657
+
658
+ svg {
659
+ width: var(--button-size);
660
+ height: var(--button-size);
661
+ }
662
+ }
663
+ }
664
+
665
+ &[data-side="right"] {
666
+ [part="tray"] {
667
+ right: 0;
668
+ transform: translateX(100%);
669
+ > button {
670
+ left: unset;
671
+ right: 100%;
672
+ }
673
+ }
674
+ }
675
+
676
+ slot[name="plate"] {
677
+ display: block;
678
+ width: 100%;
679
+ height: 100%;
680
+ }
681
+
682
+ &[data-open] {
683
+ [part="blanket"] {
684
+ opacity: 1;
685
+ }
686
+ [part="tray"] {
687
+ transform: translateX(0%);
688
+ > [part="slate"] {
689
+ opacity: 1;
690
+ }
691
+ }
692
+ }
693
+ }
694
+
695
+ }`;var Xe=class{$open=H(!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 Je=class{#t;constructor(t){this.#t=t.attachInternals().states}assign(...t){this.#t.forEach(r=>this.#t.delete(r));for(let r of t)this.#t.add(r);return this}};var Co=Z`<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 To=Z`<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 Fo=R((e={})=>{j("shiny-drawer"),I(U,Eo);let t=yt(),r=T(()=>new Je(t)),o=T(()=>e.control??new Xe),s=Ge({side:String,button:Boolean,open:Boolean});s.open=o.isOpen;let n=e.button??s.button,l=e.side??(s.side==="right"?"right":"left");r.assign(l,o.isOpen?"opened":"closed"),ut(()=>F.events(window,{keydown:h=>{h.code==="Escape"&&o.close()}}));function m(){return E`
696
+ <button part=button @click="${o.toggle}">
697
+ ${o.isOpen?E`
698
+ <slot name=button-x>
699
+ ${Co}
700
+ </slot>
701
+ `:E`
702
+ <slot name=button>
703
+ ${To}
704
+ </slot>
705
+ `}
706
+ </button>
707
+ `}return E`
708
+ <div class=shell ?data-open="${o.isOpen}" data-side="${l}">
709
+ <slot name=plate ?inert="${o.isOpen}"></slot>
710
+
711
+ <div class=clipper>
712
+ <div part=blanket @click="${o.close}" ?inert="${!o.isOpen}"></div>
713
+
714
+ <div part=tray>
715
+ <slot part=slate ?inert="${!o.isOpen}"></slot>
716
+ ${n?m():null}
717
+ </div>
718
+ </div>
719
+ </div>
720
+ `});var Oo=w`
721
+ :host {
722
+ font-size: 1em;
723
+ width: 100%;
724
+ min-height: 100%;
725
+ }
726
+ p + p {
727
+ margin-top: var(--padding);
728
+ }
729
+ `,Ro=w`
730
+ [slot=plate] { padding-top: 2em; }
731
+ [view="shiny-drawer"] {
732
+ --slate-bg: color-mix(in oklch, var(--calm), #444);
733
+ &::part(slate) { padding: 1em; }
734
+ &:state(left)::part(slate) { border-bottom-right-radius: 0.5em; }
735
+ &:state(right)::part(slate) { border-bottom-left-radius: 0.5em; }
736
+ }
737
+ `,zo=e=>Fo.with({props:[{button:!0,side:e}],children:E`
738
+ <header>${V.takeFirst()}</header>
739
+ <section slot=plate>
740
+ <p>${V.takeFirst()}</p>
741
+ <p>${V.takeFirst()}</p>
742
+ </section>
743
+ `}),Mo=()=>vt("ShinyDrawer",[G({name:"left",explain:"slide-out panel. button optional.",styleboxCss:Oo,css:Ro,render:()=>zo("left"),js:`
744
+ ShinyDrawer.with({
745
+ props: [{button: true, side: "left"}],
746
+ children: html\`
747
+ <header>lorem kettlebell..</header>
748
+ <section slot=plate>
749
+ <p>lorem protein..</p>
750
+ <p>lorem caffeine..</p>
751
+ </section>
752
+ \`,
753
+ })
754
+ `}),G({name:"right",explain:"slide-out panel. button optional.",styleboxCss:Oo,css:Ro,render:()=>zo("right"),js:`
755
+ ShinyDrawer.with({
756
+ props: [{button: true, side: "right"}],
757
+ children: html\`
758
+ <header>lorem kettlebell..</header>
759
+ <section slot=plate>
760
+ <p>lorem protein..</p>
761
+ <p>lorem caffeine..</p>
762
+ </section>
763
+ \`,
764
+ })
765
+ `})]);F.render(F(".gallery"),[_o(),So(),ko(),Mo()]);console.log("\u2728shiny\u2728");
766
+ /*! Bundled license information:
767
+
768
+ prismjs/prism.js:
769
+ (**
770
+ * Prism: Lightweight, robust, elegant syntax highlighting
771
+ *
772
+ * @license MIT <https://opensource.org/licenses/MIT>
773
+ * @author Lea Verou <https://lea.verou.me>
774
+ * @namespace
775
+ * @public
776
+ *)
777
+
778
+ @lit/reactive-element/css-tag.js:
779
+ (**
780
+ * @license
781
+ * Copyright 2019 Google LLC
782
+ * SPDX-License-Identifier: BSD-3-Clause
783
+ *)
784
+
785
+ @lit/reactive-element/reactive-element.js:
786
+ lit-html/lit-html.js:
787
+ lit-element/lit-element.js:
788
+ lit-html/directive.js:
789
+ lit-html/async-directive.js:
790
+ lit-html/directives/unsafe-html.js:
791
+ (**
792
+ * @license
793
+ * Copyright 2017 Google LLC
794
+ * SPDX-License-Identifier: BSD-3-Clause
795
+ *)
796
+
797
+ lit-html/is-server.js:
798
+ (**
799
+ * @license
800
+ * Copyright 2022 Google LLC
801
+ * SPDX-License-Identifier: BSD-3-Clause
802
+ *)
803
+
804
+ lit-html/directive-helpers.js:
805
+ (**
806
+ * @license
807
+ * Copyright 2020 Google LLC
808
+ * SPDX-License-Identifier: BSD-3-Clause
809
+ *)
810
+ */
811
+ //# sourceMappingURL=main.bundle.min.js.map