@todovue/tv-demo 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -14
- package/dist/ToUp-BAcInP4Z.js +53 -0
- package/dist/ToUp-CJUZN3du.cjs +1 -0
- package/dist/tv-demo.cjs.js +1 -1
- package/dist/tv-demo.css +1 -1
- package/dist/tv-demo.es.js +305 -262
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<p align="center"><img width="150" src="https://
|
|
1
|
+
<p align="center"><img width="150" src="https://res.cloudinary.com/dcdfhi8qz/image/upload/v1763663056/uqqtkgp1lg3xdplutpga.png" alt="TODOvue logo">
|
|
2
2
|
</p>
|
|
3
3
|
|
|
4
4
|
# TODOvue Demo Catalog (TvDemo)
|
|
@@ -139,19 +139,21 @@ import { TvDemo } from '@todovue/tv-demo'
|
|
|
139
139
|
|
|
140
140
|
---
|
|
141
141
|
## Props
|
|
142
|
-
| Name
|
|
143
|
-
|
|
144
|
-
| component
|
|
145
|
-
| variants
|
|
146
|
-
| hideBackground
|
|
147
|
-
| demoStyle
|
|
148
|
-
| componentName
|
|
149
|
-
| npmInstall
|
|
150
|
-
| sourceLink
|
|
151
|
-
| urlClone
|
|
152
|
-
| isDevComponent
|
|
153
|
-
| version
|
|
154
|
-
| readmePath
|
|
142
|
+
| Name | Type | Default | Description | Required |
|
|
143
|
+
|-------------------|---------|---------------|---------------------------------------------------------------------|----------|
|
|
144
|
+
| component | Object | | Component to display | `true` |
|
|
145
|
+
| variants | Array | | Variations of the component | `true` |
|
|
146
|
+
| hideBackground | Boolean | `false` | Hide the background of the component demo | `false` |
|
|
147
|
+
| demoStyle | Object | | Style of the component | `false` |
|
|
148
|
+
| componentName | String | `null` | Name of the component to display in the demo | `false` |
|
|
149
|
+
| npmInstall | String | `null` | Command to install the component (without `npm install`) | `false` |
|
|
150
|
+
| sourceLink | String | `null` | Link to the source code of the component | `false` |
|
|
151
|
+
| urlClone | String | `null` | Link to clone the repository of the component (without `git clone`) | `false` |
|
|
152
|
+
| isDevComponent | Boolean | `false` | Indicates that the component is in development (to include `-D`) | `false` |
|
|
153
|
+
| version | String | `1.0.0` | Version of the component | `false` |
|
|
154
|
+
| readmePath | String | `./README.md` | Path to the README file of the component | `false` |
|
|
155
|
+
| showDocumentation | Boolean | `true` | Show or hide the documentation tab | `false` |
|
|
156
|
+
| showChangelog | Boolean | `true` | Show or hide the changelog tab | `false` |
|
|
155
157
|
|
|
156
158
|
---
|
|
157
159
|
## Events
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ref as T, watch as b, onMounted as g, onBeforeUnmount as h, createBlock as v, openBlock as i, Transition as k, withCtx as y, createElementBlock as E, createCommentVNode as L, normalizeClass as S, createElementVNode as B } from "vue";
|
|
2
|
+
const C = ["aria-label"], x = {
|
|
3
|
+
__name: "ToUp",
|
|
4
|
+
props: {
|
|
5
|
+
showOffset: { type: Number, default: 280 },
|
|
6
|
+
scrollTarget: { type: [String, Object], default: null },
|
|
7
|
+
theme: { type: String, default: "dark" },
|
|
8
|
+
ariaLabel: { type: String, default: "Scroll back to top" }
|
|
9
|
+
},
|
|
10
|
+
emits: ["click"],
|
|
11
|
+
setup(r, { emit: u }) {
|
|
12
|
+
const o = r, d = u, l = T(!1);
|
|
13
|
+
let t = null;
|
|
14
|
+
const m = () => typeof o.scrollTarget == "string" ? document.querySelector(o.scrollTarget) || window : o.scrollTarget instanceof HTMLElement ? o.scrollTarget : window, f = (e) => !e || e === window ? !0 : e.scrollHeight > e.clientHeight, p = () => {
|
|
15
|
+
const e = m();
|
|
16
|
+
return f(e) ? e : window;
|
|
17
|
+
}, n = () => {
|
|
18
|
+
if (!t) {
|
|
19
|
+
l.value = !1;
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const e = t === window ? window.scrollY || document.documentElement.scrollTop : t.scrollTop;
|
|
23
|
+
l.value = e >= o.showOffset;
|
|
24
|
+
}, s = () => {
|
|
25
|
+
t && t.removeEventListener("scroll", n);
|
|
26
|
+
}, c = () => {
|
|
27
|
+
s(), t = p(), t.addEventListener("scroll", n, { passive: !0 }), n();
|
|
28
|
+
}, w = () => {
|
|
29
|
+
const e = { top: 0, behavior: "smooth" };
|
|
30
|
+
t && t !== window ? t.scrollTo(e) : window.scrollTo(e), d("click");
|
|
31
|
+
};
|
|
32
|
+
return b(() => o.scrollTarget, c), g(c), h(s), (e, a) => (i(), v(k, { name: "tv-to-up" }, {
|
|
33
|
+
default: y(() => [
|
|
34
|
+
l.value ? (i(), E("button", {
|
|
35
|
+
key: 0,
|
|
36
|
+
type: "button",
|
|
37
|
+
class: S(["tv-to-up", `${r.theme}-mode`]),
|
|
38
|
+
"aria-label": r.ariaLabel,
|
|
39
|
+
onClick: w
|
|
40
|
+
}, [...a[0] || (a[0] = [
|
|
41
|
+
B("span", {
|
|
42
|
+
class: "tv-to-up-icon",
|
|
43
|
+
"aria-hidden": "true"
|
|
44
|
+
}, "↑", -1)
|
|
45
|
+
])], 10, C)) : L("", !0)
|
|
46
|
+
]),
|
|
47
|
+
_: 1
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
export {
|
|
52
|
+
x as default
|
|
53
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),T=["aria-label"],b={__name:"ToUp",props:{showOffset:{type:Number,default:280},scrollTarget:{type:[String,Object],default:null},theme:{type:String,default:"dark"},ariaLabel:{type:String,default:"Scroll back to top"}},emits:["click"],setup(l,{emit:u}){const r=l,d=u,n=t.ref(!1);let o=null;const m=()=>typeof r.scrollTarget=="string"?document.querySelector(r.scrollTarget)||window:r.scrollTarget instanceof HTMLElement?r.scrollTarget:window,f=e=>!e||e===window?!0:e.scrollHeight>e.clientHeight,p=()=>{const e=m();return f(e)?e:window},s=()=>{if(!o){n.value=!1;return}const e=o===window?window.scrollY||document.documentElement.scrollTop:o.scrollTop;n.value=e>=r.showOffset},c=()=>{o&&o.removeEventListener("scroll",s)},a=()=>{c(),o=p(),o.addEventListener("scroll",s,{passive:!0}),s()},w=()=>{const e={top:0,behavior:"smooth"};o&&o!==window?o.scrollTo(e):window.scrollTo(e),d("click")};return t.watch(()=>r.scrollTarget,a),t.onMounted(a),t.onBeforeUnmount(c),(e,i)=>(t.openBlock(),t.createBlock(t.Transition,{name:"tv-to-up"},{default:t.withCtx(()=>[n.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["tv-to-up",`${l.theme}-mode`]),"aria-label":l.ariaLabel,onClick:w},[...i[0]||(i[0]=[t.createElementVNode("span",{class:"tv-to-up-icon","aria-hidden":"true"},"↑",-1)])],10,T)):t.createCommentVNode("",!0)]),_:1}))}};exports.default=b;
|
package/dist/tv-demo.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),Q=require("vue-highlight-code"),G=require("vue3-markdown-it"),b=72,R=6,Y=(n,u)=>n?.id??n?.title??`variant-${u}`,J=(n={})=>`${n.title??""} ${n.description??""}`.toLowerCase(),W=n=>{const u=e.ref("dark"),y=e.ref([]),g=e.ref(""),$=e.ref("demo"),k=e.ref(""),r=e.ref(null),c=e.ref(null),f=e.ref(360),N=e.ref(0);let v=null,h=!1;const p=e.computed(()=>(n.variants||[]).map((t,a)=>({variant:t,index:a,key:Y(t,a),searchableText:J(t)}))),z=e.computed(()=>p.value.length),s=e.computed(()=>{const t=k.value.trim().toLowerCase();return t?p.value.filter(a=>a.searchableText.includes(t)):p.value}),M=e.computed(()=>s.value.length),m=e.computed(()=>!!k.value.trim()&&s.value.length===0),i=()=>{f.value=c.value?.clientHeight||f.value},D=()=>{h&&(window.removeEventListener("resize",i),h=!1)};e.watch(()=>c.value,t=>{if(v&&(v.disconnect(),v=null),!t){D();return}e.nextTick(()=>{i(),typeof ResizeObserver<"u"?(v=new ResizeObserver(a=>{const d=a?.[0];d&&(f.value=d.contentRect.height)}),v.observe(t)):h||(window.addEventListener("resize",i),h=!0)})}),e.onMounted(()=>{const t=localStorage.getItem("theme");t&&(u.value=t),e.nextTick(i)}),e.onBeforeUnmount(()=>{v&&(v.disconnect(),v=null),D()});const T=async()=>{try{const t=await fetch(n.readmePath);if(!t.ok)throw new Error("README.md not found");g.value=await t.text()}catch{g.value="⚠️ Documentation not found."}},x=()=>{u.value=u.value==="dark"?"light":"dark",localStorage.setItem("theme",u.value)};e.watch(()=>p.value,t=>{if(!t.length){r.value=null;return}t.some(a=>a.key===r.value)||(r.value=t[0].key)},{immediate:!0}),e.watch(()=>s.value,t=>{if(!t.length){r.value=null;return}t.some(a=>a.key===r.value)||(r.value=t[0].key)});const C=t=>{c.value&&(c.value.scrollTop=t,N.value=t)};e.watch(k,()=>{C(0)});const V=e.computed(()=>s.value.findIndex(t=>t.key===r.value)),E=e.computed(()=>Math.max(1,Math.ceil(f.value/b))),B=e.computed(()=>Math.max(0,Math.floor(N.value/b)-R)),o=e.computed(()=>Math.min(s.value.length,B.value+E.value+R*2)),l=e.computed(()=>s.value.slice(B.value,o.value)),L=e.computed(()=>B.value*b),A=e.computed(()=>Math.max(0,(s.value.length-o.value)*b)),O=()=>{if(!c.value)return;const t=V.value;if(t<0)return;const a=B.value+2,d=o.value-3;if(t<a)C(Math.max(0,t*b));else if(t>d){const S=Math.max(0,t-E.value+1);C(S*b)}};e.watch(r,O);const H=e.computed(()=>m.value?{}:(s.value.find(a=>a.key===r.value)||p.value.find(a=>a.key===r.value)||s.value[0]||p.value[0])?.variant||{}),K=t=>{N.value=t.target.scrollTop},P=t=>{const a=s.value;if(!a.length)return;const d=V.value<0?0:V.value,S=Math.min(a.length-1,Math.max(0,d+t));r.value=a[S].key},_=t=>{switch(t.key){case"ArrowDown":t.preventDefault(),P(1);break;case"ArrowUp":t.preventDefault(),P(-1);break;case"Home":t.preventDefault(),s.value.length&&(r.value=s.value[0].key);break;case"End":t.preventDefault(),s.value.length&&(r.value=s.value[s.value.length-1].key);break}},F=t=>{r.value=t},j=e.computed(()=>{const t=u.value==="dark"?n.demoStyle?.dark:n.demoStyle?.light;return{body:{backgroundColor:t?.backgroundBody||"",color:t?.color||""},content:{backgroundColor:t?.backgroundContent||"",color:t?.color||""}}}),q=t=>{let a="";t==="npm"?a=`npm install ${n.isDevComponent?"-D ":""}${n.npmInstall}`:a=`git clone ${n.urlClone}`,navigator.clipboard.writeText(a).then(()=>{I(`Copied to clipboard: ${a}`,"success",3e3)}).catch(d=>{I(`Failed to copy: ${d}`,"error",3e3)})},I=(t,a="success",d=3e3)=>{const S=`toast-${Date.now()}-${Math.random().toString(36).substr(2,9)}`;y.value.push({id:S,message:t,type:a,duration:d})},U=t=>{const a=y.value.findIndex(d=>d.id===t);a>-1&&y.value.splice(a,1)};return e.watchEffect(T),{customStyle:j,toasts:y,readmeContent:g,selectedTab:$,searchQuery:k,selectedVariantKey:r,totalVariantsCount:z,filteredVariantsCount:M,variantsListRef:c,virtualizedVariants:l,virtualPaddingTop:L,virtualPaddingBottom:A,emptySearchState:m,theme:u,variant:H,addToast:I,removeToast:U,selectVariant:F,setClickItem:q,toggleTheme:x,handleVariantsScroll:K,handleVariantsKeydown:_}},X={class:"tv-demo-case"},Z={class:"tv-demo-header"},ee={class:"tv-demo-links"},te=["href"],oe={key:1},ne={key:3},ae={class:"tv-demo-theme"},le={class:"switch"},re=["checked"],se={class:"tv-demo-tabs"},ce={key:0,class:"tv-demo-layout"},ie={class:"tv-demo-sidebar-header"},de={class:"tv-demo-sidebar-meta"},me=["aria-activedescendant"],ue=["id","aria-selected","onClick"],ve={class:"tv-demo-variant-card-content"},fe={class:"tv-demo-variant-card-title"},pe={class:"tv-demo-variant-card-description"},ke={key:1,class:"tv-demo-empty-state"},he={class:"tv-demo-content","aria-live":"polite"},ye={class:"tv-demo-content-header"},ge={class:"tv-demo-description"},Ve={class:"tv-demo-component-content"},Ee={key:1,class:"tv-demo-empty-component"},be={key:1,class:"tv-demo-empty-code"},Ne={key:1,class:"tv-demo-content"},Ce={key:0,class:"markdown-body"},Be={key:1},Se={class:"tv-demo-footer-content"},we={class:"tv-demo-footer-main"},De={class:"tv-demo-footer-brand"},Te={class:"tv-demo-footer-brand-text"},xe={class:"tv-demo-footer-brand-version"},$e={class:"tv-demo-footer-bottom"},ze={class:"tv-demo-footer-copyright"},w={__name:"TvDemo",props:{demoStyle:{type:Object,default:()=>({body:{},content:{}})},hideBackground:Boolean,component:Object,variants:Array,componentName:{type:String,default:"Component Demo"},sourceLink:{type:String,default:null},urlClone:{type:String,default:null},npmInstall:{type:String,default:null},isDevComponent:{type:Boolean,default:!1},version:{type:String,default:"0.0.0"},readmePath:{type:String,default:"/README.md"}},setup(n){const u=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./ToastContainer-Cx0oFM8l.cjs"))),y=n,{customStyle:g,toasts:$,readmeContent:k,selectedTab:r,searchQuery:c,selectedVariantKey:f,totalVariantsCount:N,filteredVariantsCount:v,variantsListRef:h,virtualizedVariants:p,virtualPaddingTop:z,virtualPaddingBottom:s,emptySearchState:M,theme:m,variant:i,removeToast:D,setClickItem:T,toggleTheme:x,selectVariant:C,handleVariantsScroll:V,handleVariantsKeydown:E}=W(y);return(B,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(`${e.unref(m)}-mode tv-demo`),style:e.normalizeStyle(e.unref(g).body)},[e.createElementVNode("div",{class:e.normalizeClass(["tv-demo-body",{[`${e.unref(m)}-mode`]:!n.hideBackground}]),style:e.normalizeStyle(e.unref(g).content)},[e.createElementVNode("div",X,[e.createElementVNode("div",Z,[e.createElementVNode("div",null,[e.createElementVNode("div",ee,[n.sourceLink||n.npmInstall||n.urlClone?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n.sourceLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:n.sourceLink,target:"_blank",class:"tv-demo-links-item"}," 📂 Source ",8,te)):e.createCommentVNode("",!0),n.sourceLink&&(n.npmInstall||n.urlClone)?(e.openBlock(),e.createElementBlock("span",oe," | ")):e.createCommentVNode("",!0),n.npmInstall?(e.openBlock(),e.createElementBlock("div",{key:2,class:"tv-demo-links-item",onClick:o[0]||(o[0]=l=>e.unref(T)("npm"))}," 📦 NPM Command ")):e.createCommentVNode("",!0),n.npmInstall&&n.urlClone?(e.openBlock(),e.createElementBlock("span",ne," | ")):e.createCommentVNode("",!0),n.urlClone?(e.openBlock(),e.createElementBlock("div",{key:4,class:"tv-demo-links-item",onClick:o[1]||(o[1]=l=>e.unref(T)("clone"))}," 📝 Clone Component ")):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("div",ae,[o[13]||(o[13]=e.createElementVNode("span",{style:{"font-size":"0.9rem",opacity:"0.8"}},"Theme",-1)),e.createElementVNode("label",le,[e.createElementVNode("input",{type:"checkbox",checked:e.unref(m)==="dark",onChange:o[2]||(o[2]=(...l)=>e.unref(x)&&e.unref(x)(...l))},null,40,re),o[12]||(o[12]=e.createElementVNode("span",{class:"slider round"},null,-1))])])])]),e.createElementVNode("div",se,[e.createElementVNode("button",{class:e.normalizeClass({active:e.unref(r)==="demo"}),onClick:o[3]||(o[3]=l=>r.value="demo")},"📌 Demo",2),e.createElementVNode("button",{class:e.normalizeClass({active:e.unref(r)==="docs"}),onClick:o[4]||(o[4]=l=>r.value="docs")},"📖 Documentation",2)]),e.unref(r)==="demo"?(e.openBlock(),e.createElementBlock("div",ce,[e.createElementVNode("aside",{class:e.normalizeClass(["tv-demo-sidebar",`${e.unref(m)}-mode`])},[e.createElementVNode("div",ie,[e.createElementVNode("div",null,[e.createElementVNode("p",de,e.toDisplayString(e.unref(v))+" / "+e.toDisplayString(e.unref(N))+" variants",1),o[14]||(o[14]=e.createElementVNode("h3",null,"Variants",-1))]),e.createElementVNode("button",{class:"tv-demo-sidebar-collapse","aria-label":"Scroll to top",onClick:o[5]||(o[5]=l=>e.unref(h)?.scrollTo({top:0,behavior:"smooth"}))}," ⬆️ ")]),e.createElementVNode("label",{class:e.normalizeClass(["tv-demo-search",`${e.unref(m)}-mode`])},[o[15]||(o[15]=e.createElementVNode("span",{class:"tv-demo-search-icon"},"🔍",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[6]||(o[6]=l=>e.isRef(c)?c.value=l:null),type:"search",placeholder:"Search variants...",class:"tv-demo-search-input","aria-label":"Search variants",onKeydown:o[7]||(o[7]=e.withKeys(e.withModifiers(l=>e.unref(E)(l),["prevent"]),["down"]))},null,544),[[e.vModelText,e.unref(c)]]),e.unref(c)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"tv-demo-search-clear","aria-label":"Clear search",onClick:o[8]||(o[8]=l=>c.value="")},"✕")):e.createCommentVNode("",!0)],2),e.createElementVNode("div",{class:e.normalizeClass(["tv-demo-variants",`${e.unref(m)}-mode`]),role:"listbox",tabindex:"0","aria-label":"Available variants","aria-activedescendant":e.unref(f)?`variant-${e.unref(f)}`:null,onKeydown:o[10]||(o[10]=(...l)=>e.unref(E)&&e.unref(E)(...l)),ref_key:"variantsListRef",ref:h,onScroll:o[11]||(o[11]=(...l)=>e.unref(V)&&e.unref(V)(...l))},[e.createElementVNode("div",{style:e.normalizeStyle({paddingTop:`${e.unref(z)}px`,paddingBottom:`${e.unref(s)}px`})},[e.unref(M)?(e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("p",null,'No matches for "'+e.toDisplayString(e.unref(c))+'".',1),e.createElementVNode("button",{class:"tv-demo-reset",type:"button",onClick:o[9]||(o[9]=l=>c.value="")},"Clear filter")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(p),l=>(e.openBlock(),e.createElementBlock("button",{key:l.key,id:`variant-${l.key}`,type:"button",class:e.normalizeClass(["tv-demo-variant-card",{active:l.key===e.unref(f)}]),role:"option","aria-selected":l.key===e.unref(f),onClick:L=>e.unref(C)(l.key)},[e.createElementVNode("span",ve,[e.createElementVNode("span",fe,e.toDisplayString(l.variant.title),1),e.createElementVNode("span",pe,e.toDisplayString(l.variant.description),1)]),o[16]||(o[16]=e.createElementVNode("span",{class:"tv-demo-variant-card-icon"},"→",-1))],10,ue))),128))],4)],42,me)],2),e.createElementVNode("section",he,[e.createElementVNode("div",ye,[e.createElementVNode("div",null,[o[17]||(o[17]=e.createElementVNode("p",{class:"tv-demo-content-label"},"Preview",-1)),e.createElementVNode("h3",null,e.toDisplayString(e.unref(i).title||"Select a variant"),1)])]),e.createElementVNode("p",ge,e.toDisplayString(e.unref(i).description||"Select a variant from the list to view its details."),1),e.createElementVNode("div",Ve,[e.unref(i)&&n.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.component),e.normalizeProps(e.mergeProps({key:0},e.unref(i).propsData)),null,16)):(e.openBlock(),e.createElementBlock("p",Ee,"No component to render."))]),o[18]||(o[18]=e.createElementVNode("h3",null,"Code:",-1)),e.unref(i)?.html?(e.openBlock(),e.createBlock(e.unref(Q.HighCode),{class:"tv-demo-code",codeValue:e.unref(i).html,theme:e.unref(m),lang:"html",codeLines:"",key:e.unref(i).title,height:"auto"},null,8,["codeValue","theme"])):(e.openBlock(),e.createElementBlock("p",be,"No snippet available."))])])):e.createCommentVNode("",!0),e.unref(r)==="docs"?(e.openBlock(),e.createElementBlock("div",Ne,[e.unref(k)?(e.openBlock(),e.createElementBlock("div",Ce,[e.createVNode(e.unref(G),{source:e.unref(k),html:""},null,8,["source"])])):(e.openBlock(),e.createElementBlock("div",Be,"No documentation available."))])):e.createCommentVNode("",!0)])],6)],6),e.createElementVNode("footer",{class:e.normalizeClass(["tv-demo-footer",`${e.unref(m)}-mode`])},[e.createElementVNode("div",Se,[e.createElementVNode("div",we,[e.createElementVNode("div",De,[o[19]||(o[19]=e.createElementVNode("span",{class:"tv-demo-footer-logo"},[e.createElementVNode("img",{src:"https://firebasestorage.googleapis.com/v0/b/todovue-blog.appspot.com/o/icono_git.png?alt=media&token=86270c30-8235-4424-b72b-7a585f228685",alt:""})],-1)),e.createElementVNode("span",Te,e.toDisplayString(n.componentName),1),e.createElementVNode("span",xe,"v"+e.toDisplayString(n.version),1)]),o[20]||(o[20]=e.createStaticVNode('<div class="tv-demo-footer-info"><p class="tv-demo-footer-text"> Designed & Developed by <a href="https://cris-dev.com/" target="_blank" rel="noopener noreferrer" class="tv-demo-footer-link"> cris-dev.com </a></p><div class="tv-demo-footer-divider"></div><p class="tv-demo-footer-text"> Made with <span class="tv-demo-footer-heart">💙</span> using Vue.js </p></div>',1))]),e.createElementVNode("div",$e,[e.createElementVNode("p",ze," © "+e.toDisplayString(new Date().getFullYear())+" TODOvue. All rights reserved. ",1)])])],2),e.createVNode(e.unref(u),{toasts:e.unref($),onRemoveToast:e.unref(D)},null,8,["toasts","onRemoveToast"])],64))}};w.install=n=>{n.component("TvDemo",w)};const Me={install(n){n.component("TvDemo",w)}};exports.TvDemo=w;exports.TvDemoPlugin=Me;exports.default=w;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),J=require("vue-highlight-code"),O=require("vue3-markdown-it"),b=72,H=6,W=(n,u)=>n?.id??n?.title??`variant-${u}`,X=(n={})=>`${n.title??""} ${n.description??""}`.toLowerCase(),Z=n=>{const u=e.ref("dark"),y=e.ref([]),N=e.ref(""),g=e.ref(""),z=e.ref("demo"),p=e.ref(""),r=e.ref(null),c=e.ref(null),d=e.ref(360),k=e.ref(0);let v=null,V=!1;const h=e.computed(()=>(n.variants||[]).map((t,a)=>({variant:t,index:a,key:W(t,a),searchableText:X(t)}))),M=e.computed(()=>h.value.length),s=e.computed(()=>{const t=p.value.trim().toLowerCase();return t?h.value.filter(a=>a.searchableText.includes(t)):h.value}),I=e.computed(()=>s.value.length),T=e.computed(()=>!!p.value.trim()&&s.value.length===0),i=()=>{d.value=c.value?.clientHeight||d.value},f=()=>{V&&(window.removeEventListener("resize",i),V=!1)};e.watch(()=>c.value,t=>{if(v&&(v.disconnect(),v=null),!t){f();return}e.nextTick(()=>{i(),typeof ResizeObserver<"u"?(v=new ResizeObserver(a=>{const m=a?.[0];m&&(d.value=m.contentRect.height)}),v.observe(t)):V||(window.addEventListener("resize",i),V=!0)})}),e.onMounted(()=>{const t=localStorage.getItem("theme");t&&(u.value=t),e.nextTick(i)}),e.onBeforeUnmount(()=>{v&&(v.disconnect(),v=null),f()});const L=async()=>{try{const t=await fetch(n.readmePath);if(!t.ok)throw new Error("README.md not found");N.value=await t.text()}catch{N.value="Documentation not found."}},x=async()=>{try{const t=await fetch(n.changelogPath);if(!t.ok)throw new Error("CHANGELOG.md not found");g.value=await t.text()}catch{g.value="Changelog not found."}},$=()=>{u.value=u.value==="dark"?"light":"dark",localStorage.setItem("theme",u.value)};e.watch(()=>h.value,t=>{if(!t.length){r.value=null;return}t.some(a=>a.key===r.value)||(r.value=t[0].key)},{immediate:!0}),e.watch(()=>s.value,t=>{if(!t.length){r.value=null;return}t.some(a=>a.key===r.value)||(r.value=t[0].key)});const B=t=>{c.value&&(c.value.scrollTop=t,k.value=t)};e.watch(p,()=>{B(0)});const E=e.computed(()=>s.value.findIndex(t=>t.key===r.value)),C=e.computed(()=>Math.max(1,Math.ceil(d.value/b))),w=e.computed(()=>Math.max(0,Math.floor(k.value/b)-H)),o=e.computed(()=>Math.min(s.value.length,w.value+C.value+H*2)),l=e.computed(()=>s.value.slice(w.value,o.value)),R=e.computed(()=>w.value*b),K=e.computed(()=>Math.max(0,(s.value.length-o.value)*b)),F=()=>{if(!c.value)return;const t=E.value;if(t<0)return;const a=w.value+2,m=o.value-3;if(t<a)B(Math.max(0,t*b));else if(t>m){const S=Math.max(0,t-C.value+1);B(S*b)}};e.watch(r,F);const U=e.computed(()=>T.value?{}:(s.value.find(a=>a.key===r.value)||h.value.find(a=>a.key===r.value)||s.value[0]||h.value[0])?.variant||{}),q=t=>{k.value=t.target.scrollTop},A=t=>{const a=s.value;if(!a.length)return;const m=E.value<0?0:E.value,S=Math.min(a.length-1,Math.max(0,m+t));r.value=a[S].key},G=t=>{switch(t.key){case"ArrowDown":t.preventDefault(),A(1);break;case"ArrowUp":t.preventDefault(),A(-1);break;case"Home":t.preventDefault(),s.value.length&&(r.value=s.value[0].key);break;case"End":t.preventDefault(),s.value.length&&(r.value=s.value[s.value.length-1].key);break}},j=t=>{r.value=t},_=e.computed(()=>{const t=u.value==="dark"?n.demoStyle?.dark:n.demoStyle?.light;return{body:{backgroundColor:t?.backgroundBody||"",color:t?.color||""},content:{backgroundColor:t?.backgroundContent||"",color:t?.color||""}}}),Q=t=>{let a="";t==="npm"?a=`npm install ${n.isDevComponent?"-D ":""}${n.npmInstall}`:a=`git clone ${n.urlClone}`,navigator.clipboard.writeText(a).then(()=>{P(`Copied to clipboard: ${a}`,"success",3e3)}).catch(m=>{P(`Failed to copy: ${m}`,"error",3e3)})},P=(t,a="success",m=3e3)=>{const S=`toast-${Date.now()}-${Math.random().toString(36).substr(2,9)}`;y.value.push({id:S,message:t,type:a,duration:m})},Y=t=>{const a=y.value.findIndex(m=>m.id===t);a>-1&&y.value.splice(a,1)};return e.watchEffect(async()=>{await L(),await x()}),{customStyle:_,toasts:y,readmeContent:N,changelogContent:g,selectedTab:z,searchQuery:p,selectedVariantKey:r,totalVariantsCount:M,filteredVariantsCount:I,variantsListRef:c,virtualizedVariants:l,virtualPaddingTop:R,virtualPaddingBottom:K,emptySearchState:T,theme:u,variant:U,addToast:P,removeToast:Y,selectVariant:j,setClickItem:Q,toggleTheme:$,handleVariantsScroll:q,handleVariantsKeydown:G}},ee={class:"tv-demo-case"},te={class:"tv-demo-header"},oe={class:"tv-demo-links"},ne=["href"],ae={key:1},le={key:3},re={class:"tv-demo-theme"},se={class:"switch"},ce=["checked"],ie={class:"tv-demo-tabs"},de={key:0,class:"tv-demo-layout"},me={class:"tv-demo-sidebar-header"},ue={class:"tv-demo-sidebar-meta"},ve=["aria-activedescendant"],fe=["id","aria-selected","onClick"],he={class:"tv-demo-variant-card-content"},ke={class:"tv-demo-variant-card-title"},pe={class:"tv-demo-variant-card-description"},ye={key:1,class:"tv-demo-empty-state"},ge={class:"tv-demo-content","aria-live":"polite"},Ve={class:"tv-demo-content-header"},Ee={class:"tv-demo-description"},Ce={class:"tv-demo-component-content"},be={key:1,class:"tv-demo-empty-component"},Ne={key:1,class:"tv-demo-empty-code"},Be={key:1,class:"tv-demo-content"},we={key:0,class:"markdown-body"},Se={key:1},De={key:2,class:"tv-demo-content"},Te={key:0,class:"markdown-body"},xe={key:1},$e={class:"tv-demo-footer-content"},ze={class:"tv-demo-footer-main"},Me={class:"tv-demo-footer-brand"},Ie={class:"tv-demo-footer-brand-text"},Le={class:"tv-demo-footer-brand-version"},Pe={class:"tv-demo-footer-bottom"},Re={class:"tv-demo-footer-copyright"},D={__name:"TvDemo",props:{demoStyle:{type:Object,default:()=>({body:{},content:{}})},hideBackground:Boolean,component:Object,variants:Array,componentName:{type:String,default:"Component Demo"},sourceLink:{type:String,default:null},urlClone:{type:String,default:null},npmInstall:{type:String,default:null},isDevComponent:{type:Boolean,default:!1},version:{type:String,default:"0.0.0"},readmePath:{type:String,default:"/README.md"},changelogPath:{type:String,default:"/CHANGELOG.md"},showDocumentation:{type:Boolean,default:!0},showChangelog:{type:Boolean,default:!0}},setup(n){const u=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./ToastContainer-Cx0oFM8l.cjs"))),y=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./ToUp-CJUZN3du.cjs"))),N=n,{customStyle:g,toasts:z,readmeContent:p,changelogContent:r,selectedTab:c,searchQuery:d,selectedVariantKey:k,totalVariantsCount:v,filteredVariantsCount:V,variantsListRef:h,virtualizedVariants:M,virtualPaddingTop:s,virtualPaddingBottom:I,emptySearchState:T,theme:i,variant:f,removeToast:L,setClickItem:x,toggleTheme:$,selectVariant:B,handleVariantsScroll:E,handleVariantsKeydown:C}=Z(N);return(w,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(`${e.unref(i)}-mode tv-demo`),style:e.normalizeStyle(e.unref(g).body)},[e.createElementVNode("div",{class:e.normalizeClass(["tv-demo-body",{[`${e.unref(i)}-mode`]:!n.hideBackground}]),style:e.normalizeStyle(e.unref(g).content)},[e.createElementVNode("div",ee,[e.createElementVNode("div",te,[e.createElementVNode("div",null,[e.createElementVNode("div",oe,[n.sourceLink||n.npmInstall||n.urlClone?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n.sourceLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:n.sourceLink,target:"_blank",class:"tv-demo-links-item"}," View source code ",8,ne)):e.createCommentVNode("",!0),n.sourceLink&&(n.npmInstall||n.urlClone)?(e.openBlock(),e.createElementBlock("span",ae," | ")):e.createCommentVNode("",!0),n.npmInstall?(e.openBlock(),e.createElementBlock("div",{key:2,class:"tv-demo-links-item",onClick:o[0]||(o[0]=l=>e.unref(x)("npm"))}," Copy install command ")):e.createCommentVNode("",!0),n.npmInstall&&n.urlClone?(e.openBlock(),e.createElementBlock("span",le," | ")):e.createCommentVNode("",!0),n.urlClone?(e.openBlock(),e.createElementBlock("div",{key:4,class:"tv-demo-links-item",onClick:o[1]||(o[1]=l=>e.unref(x)("clone"))}," Copy repository clone URL ")):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("div",re,[o[14]||(o[14]=e.createElementVNode("span",{style:{"font-size":"0.9rem",opacity:"0.8"}},"Theme",-1)),e.createElementVNode("label",se,[e.createElementVNode("input",{type:"checkbox",checked:e.unref(i)==="dark",onChange:o[2]||(o[2]=(...l)=>e.unref($)&&e.unref($)(...l))},null,40,ce),o[13]||(o[13]=e.createElementVNode("span",{class:"slider round"},null,-1))])])])]),e.createElementVNode("div",ie,[e.createElementVNode("button",{class:e.normalizeClass({active:e.unref(c)==="demo"}),onClick:o[3]||(o[3]=l=>c.value="demo")},"Demo",2),n.showDocumentation?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass({active:e.unref(c)==="docs"}),onClick:o[4]||(o[4]=l=>c.value="docs")},"Documentation",2)):e.createCommentVNode("",!0),n.showChangelog?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass({active:e.unref(c)==="changelog"}),onClick:o[5]||(o[5]=l=>c.value="changelog")},"Changelog",2)):e.createCommentVNode("",!0)]),e.unref(c)==="demo"?(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("aside",{class:e.normalizeClass(["tv-demo-sidebar",`${e.unref(i)}-mode`])},[e.createElementVNode("div",me,[e.createElementVNode("div",null,[e.createElementVNode("p",ue,e.toDisplayString(e.unref(V))+" / "+e.toDisplayString(e.unref(v))+" variants",1),o[15]||(o[15]=e.createElementVNode("h3",null,"Variants",-1))]),e.createElementVNode("button",{class:"tv-demo-sidebar-collapse","aria-label":"Scroll to top",onClick:o[6]||(o[6]=l=>e.unref(h)?.scrollTo({top:0,behavior:"smooth"}))}," ⬆️ ")]),e.createElementVNode("label",{class:e.normalizeClass(["tv-demo-search",`${e.unref(i)}-mode`])},[o[16]||(o[16]=e.createElementVNode("span",{class:"tv-demo-search-icon"},"🔍",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[7]||(o[7]=l=>e.isRef(d)?d.value=l:null),type:"search",placeholder:"Search variants...",class:"tv-demo-search-input","aria-label":"Search variants",onKeydown:o[8]||(o[8]=e.withKeys(e.withModifiers(l=>e.unref(C)(l),["prevent"]),["down"]))},null,544),[[e.vModelText,e.unref(d)]]),e.unref(d)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"tv-demo-search-clear","aria-label":"Clear search",onClick:o[9]||(o[9]=l=>d.value="")},"✕")):e.createCommentVNode("",!0)],2),e.createElementVNode("div",{class:e.normalizeClass(["tv-demo-variants",`${e.unref(i)}-mode`]),role:"listbox",tabindex:"0","aria-label":"Available variants","aria-activedescendant":e.unref(k)?`variant-${e.unref(k)}`:null,onKeydown:o[11]||(o[11]=(...l)=>e.unref(C)&&e.unref(C)(...l)),ref_key:"variantsListRef",ref:h,onScroll:o[12]||(o[12]=(...l)=>e.unref(E)&&e.unref(E)(...l))},[e.createElementVNode("div",{style:e.normalizeStyle({paddingTop:`${e.unref(s)}px`,paddingBottom:`${e.unref(I)}px`})},[e.unref(T)?(e.openBlock(),e.createElementBlock("div",ye,[e.createElementVNode("p",null,'No matches for "'+e.toDisplayString(e.unref(d))+'".',1),e.createElementVNode("button",{class:"tv-demo-reset",type:"button",onClick:o[10]||(o[10]=l=>d.value="")},"Clear filter")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(M),l=>(e.openBlock(),e.createElementBlock("button",{key:l.key,id:`variant-${l.key}`,type:"button",class:e.normalizeClass(["tv-demo-variant-card",{active:l.key===e.unref(k)}]),role:"option","aria-selected":l.key===e.unref(k),onClick:R=>e.unref(B)(l.key)},[e.createElementVNode("span",he,[e.createElementVNode("span",ke,e.toDisplayString(l.variant.title),1),e.createElementVNode("span",pe,e.toDisplayString(l.variant.description),1)]),o[17]||(o[17]=e.createElementVNode("span",{class:"tv-demo-variant-card-icon"},"→",-1))],10,fe))),128))],4)],42,ve)],2),e.createElementVNode("section",ge,[e.createElementVNode("div",Ve,[e.createElementVNode("div",null,[o[18]||(o[18]=e.createElementVNode("p",{class:"tv-demo-content-label"},"Preview",-1)),e.createElementVNode("h3",null,e.toDisplayString(e.unref(f).title||"Select a variant"),1)])]),e.createElementVNode("p",Ee,e.toDisplayString(e.unref(f).description||"Select a variant from the list to view its details."),1),e.createElementVNode("div",Ce,[e.unref(f)&&n.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.component),e.normalizeProps(e.mergeProps({key:0},e.unref(f).propsData)),null,16)):(e.openBlock(),e.createElementBlock("p",be,"No component to render."))]),o[19]||(o[19]=e.createElementVNode("h3",null,"Code:",-1)),e.unref(f)?.html?(e.openBlock(),e.createBlock(e.unref(J.HighCode),{class:"tv-demo-code",codeValue:e.unref(f).html,theme:e.unref(i),lang:"html",codeLines:"",key:e.unref(f).title,height:"auto"},null,8,["codeValue","theme"])):(e.openBlock(),e.createElementBlock("p",Ne,"No snippet available."))])])):e.createCommentVNode("",!0),e.unref(c)==="docs"&&n.showDocumentation?(e.openBlock(),e.createElementBlock("div",Be,[e.unref(p)?(e.openBlock(),e.createElementBlock("div",we,[e.createVNode(e.unref(O),{source:e.unref(p),html:""},null,8,["source"])])):(e.openBlock(),e.createElementBlock("div",Se,"No documentation available."))])):e.createCommentVNode("",!0),e.unref(c)==="changelog"&&n.showChangelog?(e.openBlock(),e.createElementBlock("div",De,[e.unref(r)?(e.openBlock(),e.createElementBlock("div",Te,[e.createVNode(e.unref(O),{source:e.unref(r),html:""},null,8,["source"])])):(e.openBlock(),e.createElementBlock("div",xe,"No changelog available."))])):e.createCommentVNode("",!0)])],6)],6),e.createElementVNode("footer",{class:e.normalizeClass(["tv-demo-footer",`${e.unref(i)}-mode`])},[e.createElementVNode("div",$e,[e.createElementVNode("div",ze,[e.createElementVNode("div",Me,[o[20]||(o[20]=e.createElementVNode("span",{class:"tv-demo-footer-logo"},[e.createElementVNode("img",{src:"https://firebasestorage.googleapis.com/v0/b/todovue-blog.appspot.com/o/icono_git.png?alt=media&token=86270c30-8235-4424-b72b-7a585f228685",alt:""})],-1)),e.createElementVNode("span",Ie,e.toDisplayString(n.componentName),1),e.createElementVNode("span",Le,"v"+e.toDisplayString(n.version),1)]),o[21]||(o[21]=e.createStaticVNode('<div class="tv-demo-footer-info"><p class="tv-demo-footer-text"> Designed & Developed by <a href="https://cris-dev.com/" target="_blank" rel="noopener noreferrer" class="tv-demo-footer-link"> cris-dev.com </a></p><div class="tv-demo-footer-divider"></div><p class="tv-demo-footer-text"> Made with <span class="tv-demo-footer-heart">💙</span> using Vue.js </p></div>',1))]),e.createElementVNode("div",Pe,[e.createElementVNode("p",Re," © "+e.toDisplayString(new Date().getFullYear())+" TODOvue. All rights reserved. ",1)])])],2),e.createVNode(e.unref(u),{toasts:e.unref(z),onRemoveToast:e.unref(L)},null,8,["toasts","onRemoveToast"]),e.createVNode(e.unref(y),{theme:e.unref(i),"scroll-target":".tv-demo-body","aria-label":"Back to top"},null,8,["theme"])],64))}};D.install=n=>{n.component("TvDemo",D)};const Ae={install(n){n.component("TvDemo",D)}};exports.TvDemo=D;exports.TvDemoPlugin=Ae;exports.default=D;
|
package/dist/tv-demo.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Kanit:wght@600&family=Lato:wght@300&display=swap";.markdown-body{--base-size-4: .25rem;--base-size-8: .5rem;--base-size-16: 1rem;--base-size-24: 1.5rem;--base-size-40: 2.5rem;--base-text-weight-normal: 400;--base-text-weight-medium: 500;--base-text-weight-semibold: 600;--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fgColor-accent: Highlight}@media(prefers-color-scheme:dark){.markdown-body,[data-theme=dark]{color-scheme:dark;--focus-outlineColor: #1f6feb;--fgColor-default: #f0f6fc;--fgColor-muted: #9198a1;--fgColor-accent: #4493f8;--fgColor-success: #3fb950;--fgColor-attention: #d29922;--fgColor-danger: #f85149;--fgColor-done: #ab7df8;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--bgColor-attention-muted: #bb800926;--borderColor-default: #3d444d;--borderColor-muted: #3d444db3;--borderColor-neutral-muted: #3d444db3;--borderColor-accent-emphasis: #1f6feb;--borderColor-success-emphasis: #238636;--borderColor-attention-emphasis: #9e6a03;--borderColor-danger-emphasis: #da3633;--borderColor-done-emphasis: #8957e5;--color-prettylights-syntax-comment: #9198a1;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #f0f6fc;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-brackethighlighter-angle: #9198a1;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #f0f6fc;--color-prettylights-syntax-markup-bold: #f0f6fc;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #f0f6fc;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d}}@media(prefers-color-scheme:light){.markdown-body,[data-theme=light]{color-scheme:light;--focus-outlineColor: #0969da;--fgColor-default: #1f2328;--fgColor-muted: #59636e;--fgColor-accent: #0969da;--fgColor-success: #1a7f37;--fgColor-attention: #9a6700;--fgColor-danger: #d1242f;--fgColor-done: #8250df;--bgColor-default: #ffffff;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--bgColor-attention-muted: #fff8c5;--borderColor-default: #d1d9e0;--borderColor-muted: #d1d9e0b3;--borderColor-neutral-muted: #d1d9e0b3;--borderColor-accent-emphasis: #0969da;--borderColor-success-emphasis: #1a7f37;--borderColor-attention-emphasis: #9a6700;--borderColor-danger-emphasis: #cf222e;--borderColor-done-emphasis: #8250df;--color-prettylights-syntax-comment: #59636e;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-storage-modifier-import: #1f2328;--color-prettylights-syntax-entity-tag: #0550ae;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-brackethighlighter-angle: #59636e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #1f2328;--color-prettylights-syntax-markup-bold: #1f2328;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #d1d9e0;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #818b98}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8, 8px)!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter)!important}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:var(--base-text-weight-medium, 500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Lato,sans-serif;font-size:1rem}h1,h2,h3,h4,h5,h6{font-family:Kanit,sans-serif;font-size:2rem}.dark-mode,.dark-mode body{background-color:#7a7d7d;color:#f4faff}.dark-mode .tv-search-results::-webkit-scrollbar-thumb{background-color:#0e131f}.dark-mode .tv-search-results::-webkit-scrollbar-thumb:hover{background-color:#000}.light-mode,.light-mode body{background-color:#e0e1e1;color:#000b14}.light-mode .tv-search-results::-webkit-scrollbar-thumb{background-color:#b9c4df}.light-mode .tv-search-results::-webkit-scrollbar-thumb:hover{background-color:#96a7cf}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background-color:#f1f9f9}::-webkit-scrollbar-thumb{background-color:#b9c4df}::-webkit-scrollbar-thumb:hover{background-color:#96a7cf}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(400px)}}.markdown-body{padding:40px 30px!important;border-radius:16px;color:#fff;font-size:16px;line-height:1.8;font-family:Lato,sans-serif}.markdown-body h1,.markdown-body h2,.markdown-body h3{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Kanit,sans-serif;margin-top:2em;margin-bottom:1em;font-weight:700}.markdown-body h1{font-size:2.5rem;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#3b82f6,#8b5cf6) 1;padding-bottom:.5em}.markdown-body h2{font-size:2rem}.markdown-body h3{font-size:1.6rem}.markdown-body pre{background:linear-gradient(135deg,#1e293b,#0f172a);padding:20px;border-radius:12px;overflow-x:auto;box-shadow:0 8px 24px #0000004d,inset 0 1px #ffffff0d;border:2px solid rgba(59,130,246,.2)}.markdown-body code{background:linear-gradient(135deg,#3b82f626,#8b5cf626);padding:4px 8px;border-radius:6px;font-size:.9em;border:1px solid rgba(59,130,246,.3)}.markdown-body p{margin-bottom:1.2em}.tv-demo-tabs{display:flex;margin-bottom:10px;gap:8px}.tv-demo-tabs button{border:none;padding:12px 20px;cursor:pointer;font-size:1rem;border-radius:8px 8px 0 0;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500;letter-spacing:.3px;position:relative}.tv-demo-tabs button:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#60a5fa);opacity:0;transition:opacity .3s ease}.tv-demo-tabs button.active:after{opacity:1}.tv-demo-tabs button:active{transform:translateY(1px)}.tv-demo *{box-sizing:border-box;margin:0;padding:0}.tv-demo-content{padding:20px;border:1px solid #4a4a4a;border-radius:0 5px 5px;min-width:0;max-width:100%;overflow:hidden}.tv-demo-content .tv-demo-description{font-size:1.1rem}.tv-demo-content .tv-demo-component-content{display:flex;margin:0 auto;padding:20px;justify-content:center;width:100%;max-width:100%;overflow:hidden}.tv-demo-content>*{max-width:100%}a,.tv-demo-links-item{text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:1rem;padding:10px 20px;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;letter-spacing:.3px}a:before,.tv-demo-links-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}a:hover:before,.tv-demo-links-item:hover:before{left:100%}a:active,.tv-demo-links-item:active{transform:translateY(1px)}.dark-mode .tv-demo-select{background-color:#b9c4df;color:#0e131f;border:1px solid #B9C4DF}.dark-mode .tv-demo-option{background:#b9c4df}.dark-mode .no-background{background-color:#0e131f;color:#b9c4df;box-shadow:0 0 10px #0e131f}.dark-mode .tv-demo-tabs button{background-color:#b9c4df;color:#000b14}.dark-mode .tv-demo-tabs button.active{background:#8598c7;font-weight:700}.dark-mode .tv-demo-tabs button:hover{background:#96a7cf}.dark-mode .tv-demo-links-item,.dark-mode a.tv-demo-links-item{color:#60a5fa;border-color:#3b82f680}.dark-mode .tv-demo-links-item:hover,.dark-mode a.tv-demo-links-item:hover{background:#3b82f640;border-color:#3b82f680;box-shadow:0 4px 16px #3b82f633;transform:translateY(-2px)}.light-mode .tv-demo-select{background-color:#0e131f;color:#b9c4df;border:1px solid #0E131F}.light-mode .tv-demo-option{background:#0e131f}.light-mode .no-background{background-color:#b9c4df;color:#0e131f;box-shadow:0 0 10px #b9c4df}.light-mode .tv-demo-tabs button{background-color:#0e131f;color:#f4faff}.light-mode .tv-demo-tabs button.active{background:#000;font-weight:700}.light-mode .tv-demo-tabs button:hover{background:#000}.light-mode .tv-demo-links-item,.light-mode a.tv-demo-links-item{color:#1e40af;border-color:#1e40af66}.light-mode .tv-demo-links-item:hover,.light-mode a.tv-demo-links-item:hover{background:#1e40af2e;border-color:#1e40af66;box-shadow:0 4px 16px #1e40af26;transform:translateY(-2px)}.tv-demo-body{margin:0 auto;min-height:100vh;width:80%}.tv-demo-body.dark-mode{background-color:#0e131f}.tv-demo-body.dark-mode .tv-demo-select{background-color:#b9c4df;color:#0e131f;border:1px solid #B9C4DF}.tv-demo-body.dark-mode .tv-demo-option{background:#b9c4df}.tv-demo-body.dark-mode .tv-demo-links-item{color:#b9c4df}.tv-demo-body.light-mode{background-color:#b9c4df}.tv-demo-body.light-mode .tv-demo-select{background-color:#0e131f;color:#b9c4df;border:1px solid #0E131F}.tv-demo-body.light-mode .tv-demo-option{background:#0e131f}.tv-demo-body.light-mode .tv-demo-links-item{color:#0e131f}.tv-demo-body .tv-demo-theme{display:flex;align-items:center;gap:10px;min-height:100%;padding:0 20px;width:100%}.tv-demo-body .tv-demo-links{display:flex;gap:12px;align-content:center;align-items:center;flex-wrap:wrap}.tv-demo-body .tv-demo-links a{color:inherit}.tv-demo-body .tv-demo-links>span{opacity:.3;font-weight:300}.tv-demo-body .tv-demo-header{padding:25px 0;display:flex;justify-content:space-between}.tv-demo-body .tv-demo-case{padding:0 40px 40px;position:relative}.tv-demo-body .tv-demo-case-demo .demo{margin-bottom:20px}.tv-demo-body .tv-demo-case-demo h3{font-size:1.4rem;padding-top:20px;font-family:Kanit,sans-serif;font-weight:600}.tv-demo-body .tv-demo-case-demo h1{font-size:2.5rem;font-weight:700;font-family:Kanit,sans-serif;background:linear-gradient(135deg,#3b82f6,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tv-demo-body .tv-demo-case-demo h1 span{font-size:1rem;font-weight:300}.tv-demo-body .tv-demo-select{border-radius:8px;cursor:pointer;font-size:16px;height:44px;margin-bottom:20px;margin-top:10px;padding:0 16px;width:100%;border:2px solid transparent;transition:all .3s ease;font-weight:500;outline:none;box-shadow:0 2px 8px #0000001a}.tv-demo-body .tv-demo-select:hover{border-color:#3b82f64d;box-shadow:0 4px 12px #00000026}.tv-demo-body .tv-demo-select:focus{border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61a,0 4px 12px #00000026}.tv-demo-body .tv-demo-select-theme{width:150px}.tv-demo-body .tv-demo-option{font-size:16px}.tv-demo-body .tv-demo-component{align-items:center;display:flex;height:100%;justify-content:center;margin-top:5px;width:100%}.tv-demo-body .tv-demo-no-component{color:inherit;font-size:1.5rem;font-weight:500;text-align:center}.tv-demo-body .tv-demo-code{margin-top:5px;width:100%!important;height:auto!important;padding:20px 0}.tv-demo-footer{position:relative;padding:0;font-family:Lato,sans-serif;transition:all .3s ease;overflow:hidden}.tv-demo-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.5) 50%,transparent 100%)}.tv-demo-footer.dark-mode{background:linear-gradient(135deg,#111726,#0e131f,#13192a);color:#f4faff}.tv-demo-footer.dark-mode .tv-demo-footer-text,.tv-demo-footer.dark-mode .tv-demo-footer-copyright{color:#8eccff}.tv-demo-footer.dark-mode .tv-demo-footer-link{color:#3b82f6}.tv-demo-footer.dark-mode .tv-demo-footer-link:hover{color:#60a5fa;text-shadow:0 0 8px rgba(59,130,246,.3)}.tv-demo-footer.dark-mode .tv-demo-footer-brand-text{color:#f4faff;text-shadow:0 0 20px rgba(59,130,246,.3)}.tv-demo-footer.dark-mode .tv-demo-footer-divider{background:#ffffff1a}.tv-demo-footer.light-mode{background:linear-gradient(135deg,#cbd3e7,#b9c4df,#c4cde4);color:#000b14}.tv-demo-footer.light-mode .tv-demo-footer-text,.tv-demo-footer.light-mode .tv-demo-footer-copyright{color:#002747}.tv-demo-footer.light-mode .tv-demo-footer-link{color:#1e40af}.tv-demo-footer.light-mode .tv-demo-footer-link:hover{color:#3b82f6;text-shadow:0 0 8px rgba(30,64,175,.2)}.tv-demo-footer.light-mode .tv-demo-footer-brand-text{color:#000b14;text-shadow:0 0 20px rgba(30,64,175,.2)}.tv-demo-footer.light-mode .tv-demo-footer-divider{background:#0000001a}.tv-demo-footer-content{margin:0 auto;padding:40px 20px 20px}.tv-demo-footer-main{display:flex;flex-direction:column;align-items:center;gap:30px;margin-bottom:30px}.tv-demo-footer-brand{display:flex;align-items:center;gap:12px;font-family:Kanit,sans-serif;font-size:1.8rem;font-weight:700}.tv-demo-footer-logo{max-width:25px;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(59,130,246,.3))}.tv-demo-footer-logo img{width:100%}.tv-demo-footer-brand-text{letter-spacing:.5px;background:linear-gradient(135deg,#3b82f6,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tv-demo-footer-brand-version{letter-spacing:.3px;font-size:1rem;-webkit-background-clip:text;background-clip:text}.tv-demo-footer-info{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}.tv-demo-footer-text{font-size:1rem;display:flex;align-items:center;gap:8px;margin:0;opacity:.85;transition:all .3s ease;font-weight:400}.tv-demo-footer-text:hover{opacity:1;transform:translateY(-2px)}.tv-demo-footer-divider{width:1px;height:20px;opacity:.3}.tv-demo-footer-link{text-decoration:none!important;font-weight:600!important;position:relative;transition:all .3s ease;padding:0 0 2px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;letter-spacing:normal!important;display:inline!important;gap:0!important;overflow:visible!important}.tv-demo-footer-link:before{display:none!important}.tv-demo-footer-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:currentColor;transition:width .3s ease}.tv-demo-footer-link:hover{transform:none!important;box-shadow:none!important;background:transparent!important}.tv-demo-footer-link:hover:after{width:100%}.tv-demo-footer-heart{font-size:1.2rem;display:inline-block;animation:pulse 2s infinite ease-in-out;filter:drop-shadow(0 0 4px rgba(59,130,246,.4))}.tv-demo-footer-bottom{padding-top:20px;border-top:1px solid rgba(255,255,255,.05);text-align:center}.tv-demo-footer-copyright{font-size:.85rem;margin:0;opacity:.6;font-weight:300;letter-spacing:.3px}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(-2deg)}50%{transform:translateY(-10px) rotate(0)}75%{transform:translateY(-5px) rotate(2deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}.switch{position:relative;display:inline-block;width:60px;height:32px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background:linear-gradient(135deg,#cbd5e1,#94a3b8);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000001a,0 2px 8px #00000026}.slider:before{position:absolute;content:"";height:24px;width:24px;left:4px;bottom:4px;background:linear-gradient(135deg,#fff,#f8fafc);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0003,0 1px 3px #0000001a}input:checked+.slider{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:inset 0 2px 4px #0000001a,0 2px 12px #3b82f666}input:focus+.slider{box-shadow:inset 0 2px 4px #0000001a,0 0 0 3px #3b82f633,0 2px 8px #00000026}input:checked+.slider:before{transform:translate(28px);box-shadow:0 2px 8px #00000040,0 1px 3px #00000026}.slider:hover{box-shadow:inset 0 2px 4px #0000001a,0 4px 12px #0003}input:checked+.slider:hover{box-shadow:inset 0 2px 4px #0000001a,0 4px 16px #3b82f680}.slider.round{border-radius:32px}.slider.round:before{border-radius:50%}.tv-demo-layout{display:grid;grid-template-columns:320px 1fr;gap:20px;margin-top:20px;width:100%;max-width:100%}.tv-demo-sidebar{display:flex;flex-direction:column;border-radius:16px;padding:20px;border:1px solid rgba(255,255,255,.08);background:#00000040;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:100%}.tv-demo-sidebar.light-mode{border-color:#00000014;background:#fff9}.tv-demo-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tv-demo-sidebar-header h3{margin:0;font-size:1.3rem}.tv-demo-sidebar-meta{font-size:.85rem;opacity:.7;margin-bottom:4px}.tv-demo-sidebar-collapse{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;font-size:.9rem;padding:6px 8px}.tv-demo-sidebar-collapse:hover{border-color:#fff9}.light-mode .tv-demo-sidebar-collapse{border-color:#00000026}.light-mode .tv-demo-sidebar-collapse:hover{border-color:#00000073}.tv-demo-search{display:flex;align-items:center;gap:8px;border-radius:999px;padding:6px 12px;border:1px solid rgba(255,255,255,.2);margin-bottom:16px;background:#ffffff0d}.tv-demo-search.light-mode{border-color:#0000001a;background:#00000008}.tv-demo-search-icon{font-size:.85rem}.tv-demo-search-input{background:transparent;border:none;flex:1;font-size:.9rem;outline:none;color:inherit}.tv-demo-search-clear{background:transparent;border:none;cursor:pointer;font-size:.85rem;opacity:.7}.tv-demo-variants{position:relative;flex:1;overflow:auto;border-radius:12px;padding:4px;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.tv-demo-variants.light-mode{border-color:#00000014;background:#00000003}.tv-demo-variant-card{width:100%;display:flex;justify-content:space-between;gap:12px;border:none;background:#0000004d;color:inherit;padding:14px;border-radius:12px;text-align:left;cursor:pointer;margin-bottom:8px;transition:transform .2s ease,box-shadow .2s ease}.tv-demo-variant-card:hover{transform:translate(4px);box-shadow:0 10px 20px #0000004d}.tv-demo-variant-card.active{outline:2px solid rgba(59,130,246,.7);background:#3b82f626}.light-mode .tv-demo-variant-card{background:#fffc}.light-mode .tv-demo-variant-card.active{background:#3b82f61f}.tv-demo-variant-card-content{flex:1}.tv-demo-variant-card-title{display:block;font-weight:600;margin-bottom:4px}.tv-demo-variant-card-description{font-size:.85rem;opacity:.75}.tv-demo-variant-card-icon{opacity:.7}.tv-demo-empty-state{text-align:center;padding:20px;opacity:.8}.tv-demo-reset{margin-top:12px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:inherit;cursor:pointer}.tv-demo-empty-component,.tv-demo-empty-code{text-align:center;padding:20px;opacity:.8}@media(max-width:1024px){.tv-demo-layout{grid-template-columns:1fr}.tv-demo-sidebar{max-height:none}}@media(max-width:768px){.tv-demo-layout{grid-template-columns:1fr}}@media(max-width:768px){.tv-demo-case{padding:10px!important}.tv-demo-body{width:90%}.tv-demo-header{flex-direction:column;align-items:flex-start;gap:10px;padding:0}.tv-demo-header .tv-demo-theme{width:100%;padding-left:0;padding-right:0}.tv-demo-header .tv-demo-select-theme{width:100%}.tv-demo-footer-content{padding:30px 15px 15px}.tv-demo-footer-brand{font-size:1.5rem;gap:10px}.tv-demo-footer-logo{font-size:2rem}.tv-demo-footer-info{gap:15px;flex-direction:column;text-align:center}.tv-demo-footer-text{font-size:.9rem}.tv-demo-footer-divider{display:none}}@media(max-width:640px){.tv-demo-case{padding:15px!important}.tv-demo-body{width:100%;border-radius:0}.tv-demo-content{padding:15px;border-radius:0 8px 8px}.tv-demo-content .tv-demo-component-content{padding:15px;margin:15px auto}.tv-demo-tabs{gap:4px}.tv-demo-tabs button{padding:8px 12px;font-size:.85rem}.tv-demo-footer-brand{font-size:1.3rem}.tv-demo-footer-logo{max-width:18px}.tv-demo-footer-text{font-size:.85rem;gap:6px}.tv-demo-footer-copyright{font-size:.75rem}.tv-demo-footer-brand-version{font-size:.85rem}a,.tv-demo-links-item{padding:5px 10px;font-size:.85rem;gap:4px}.markdown-body{padding:20px 15px;font-size:14px}.markdown-body h1{font-size:1.8rem}.markdown-body h2{font-size:1.5rem}.markdown-body h3{font-size:1.2rem}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#272822;color:#ddd}.hljs-tag,.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-strong,.hljs-number,.hljs-name{color:#f92672}.hljs-code{color:#66d9ef}.hljs-attribute,.hljs-attr,.hljs-symbol,.hljs-regexp,.hljs-link{color:#bf79db}.hljs-string,.hljs-bullet,.hljs-subst,.hljs-title,.hljs-section,.hljs-emphasis,.hljs-type,.hljs-built_in,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-addition,.hljs-variable,.hljs-template-tag,.hljs-template-variable{color:#a6e22e}.hljs-title.class_,.hljs-class .hljs-title{color:#fff}.hljs-comment,.hljs-quote,.hljs-deletion,.hljs-meta{color:#75715e}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag,.hljs-title,.hljs-section,.hljs-type,.hljs-selector-id{font-weight:700}.cb[data-v-3c0bc7c1]{position:absolute;cursor:pointer;transition:.3s opacity linear;opacity:.5;height:30px;width:80px;right:0}.cb:hover .cb_tooltip[data-v-3c0bc7c1]{display:block}.cb[data-v-3c0bc7c1]:hover{opacity:1}.cb_tooltip[data-v-3c0bc7c1]{font-family:sans-serif;display:none;position:absolute;left:-96px;font-size:12px;color:#fff;width:80px;height:30px;line-height:30px;background:#000c;box-sizing:border-box;text-align:center;border-radius:4px}.cb_copy[data-v-3c0bc7c1]{position:absolute;font-family:sans-serif;display:block;font-size:12px;color:#fff;width:80px;height:30px;line-height:30px;background:#000c;box-sizing:border-box;text-align:center;border-radius:4px}.cb textarea[data-v-3c0bc7c1]{-webkit-user-select:none;user-select:none;position:absolute;padding:0;width:0;height:0;background:transparent;resize:none;opacity:0;border-color:#0000}.TL[data-v-b98f7724]{display:flex;align-items:center;justify-content:center;width:40px;height:30px;position:relative}.TL_word[data-v-b98f7724]{width:20px;height:20px;text-align:center;color:#aaa;font-size:16px}.code[data-v-f4a493be]{display:flex;flex-direction:column;font-size:0;position:relative;text-align:left;overflow:hidden}.code_header[data-v-f4a493be]{min-height:14px;position:relative}.code_area[data-v-f4a493be]{position:relative;overflow:hidden;padding-left:20px;margin:auto 0;display:flex}.code_area textarea[data-v-f4a493be]{overflow-y:hidden;box-sizing:border-box;caret-color:#7f7f7f;-webkit-text-fill-color:transparent;white-space:pre;word-wrap:normal;border:0;position:absolute;z-index:1000;top:0;left:0;width:100%;height:100%;background:none;border:none;outline:none;resize:none;padding:0 20px 20px;line-height:1.3;overflow:overlay;font-family:Consolas,Monaco,monospace}.code_area textarea[data-v-f4a493be]::-webkit-scrollbar-track{background-color:#eee}.code_area textarea[data-v-f4a493be]::-webkit-scrollbar-thumb{background:#afabab}.code_area textarea[data-v-f4a493be]::-webkit-scrollbar{width:8px;height:8px}.code_area textarea[data-v-f4a493be]::-webkit-scrollbar-corner{background-color:#eee}.code_area_link[data-v-f4a493be]{position:absolute}.code_area.change_hight[data-v-f4a493be]{height:calc(100% - 30px)}.code_area.srollbar_style[data-v-f4a493be]::-webkit-scrollbar-track{background-color:#eee}.code_area.srollbar_style[data-v-f4a493be]::-webkit-scrollbar-thumb{background:#afabab}.code_area.srollbar_style[data-v-f4a493be]::-webkit-scrollbar{width:8px;height:8px}.code_area.srollbar_style[data-v-f4a493be]::-webkit-scrollbar-corner{background-color:#eee}.code_area pre[data-v-f4a493be]{position:relative;margin:0;height:100%;overflow:hidden}.code_header[data-v-f4a493be]{position:relative;display:flex;justify-content:flex-start;width:100%}.code pre code[data-v-f4a493be]{font-family:Consolas,Monaco,monospace;line-height:1.3;position:relative;overflow-x:visible;border-radius:0;box-sizing:border-box;display:block;border:none;margin:0}.wrapper-content[data-v-f4a493be]::-webkit-scrollbar-track{background-color:#eee;border-radius:5px}.wrapper-content[data-v-f4a493be]::-webkit-scrollbar-thumb{background:#afabab;border-radius:5px}.wrapper-content[data-v-f4a493be]::-webkit-scrollbar{width:6px}.code_area_lines[data-v-f4a493be]{display:flex;flex-direction:column;width:10px;align-items:center;position:absolute;transform:translate(-18px)}.code_area_lines_item[data-v-f4a493be]{height:24px;width:10px;font-size:12px;color:#adb5bd;text-align:center;display:flex;justify-content:center;align-items:center;opacity:.6}.code_area_lines_item.dark[data-v-f4a493be]{color:#adb5bd}.code_area_lines_item.light[data-v-f4a493be]{color:#212529}.atom_one_dark.hljs,.atom_one_dark .hljs{color:#abb2bf;background:#282c34}.atom_one_dark .hljs-comment,.atom_one_dark .hljs-quote{color:#5c6370;font-style:italic}.atom_one_dark .hljs-doctag,.atom_one_dark .hljs-keyword,.atom_one_dark .hljs-formula{color:#c678dd}.atom_one_dark .hljs-section,.atom_one_dark .hljs-name,.atom_one_dark .hljs-selector-tag,.atom_one_dark .hljs-deletion,.atom_one_dark .hljs-subst{color:#e06c75}.atom_one_dark .hljs-literal{color:#56b6c2}.atom_one_dark .hljs-string,.atom_one_dark .hljs-regexp,.atom_one_dark .hljs-addition,.atom_one_dark .hljs-attribute,.atom_one_dark .hljs-meta .hljs-string{color:#98c379}.atom_one_dark .hljs-attr,.atom_one_dark .hljs-variable,.atom_one_dark .hljs-template-variable,.atom_one_dark .hljs-type,.atom_one_dark .hljs-selector-class,.atom_one_dark .hljs-selector-attr,.atom_one_dark .hljs-selector-pseudo,.atom_one_dark .hljs-number{color:#d19a66}.atom_one_dark .hljs-symbol,.atom_one_dark .hljs-bullet,.atom_one_dark .hljs-link,.atom_one_dark .hljs-meta,.atom_one_dark .hljs-selector-id,.atom_one_dark .hljs-title{color:#61aeee}.atom_one_dark .hljs-built_in,.atom_one_dark .hljs-title .class_,.atom_one_dark .hljs-class .hljs-title{color:#e6c07b}.atom_one_dark .hljs-emphasis{font-style:italic}.atom_one_dark .hljs-strong{font-weight:700}.atom_one_dark .hljs-link{text-decoration:underline}.atom_one_light.hljs,.atom_one_light .hljs{color:#383a42;background:#edf2f4}.atom_one_light .hljs-comment,.atom_one_light .hljs-quote{color:#a0a1a7;font-style:italic}.atom_one_light .hljs-doctag,.atom_one_light .hljs-keyword,.atom_one_light .hljs-formula{color:#a626a4}.atom_one_light .hljs-section,.atom_one_light .hljs-name,.atom_one_light .hljs-selector-tag,.atom_one_light .hljs-deletion,.atom_one_light .hljs-subst{color:#e45649}.atom_one_light .hljs-literal{color:#0184bb}.atom_one_light .hljs-string,.atom_one_light .hljs-regexp,.atom_one_light .hljs-addition,.atom_one_light .hljs-attribute,.atom_one_light .hljs-meta .hljs-string{color:#50a14f}.atom_one_light .hljs-attr,.atom_one_light .hljs-variable,.atom_one_light .hljs-template-variable,.atom_one_light .hljs-type,.atom_one_light .hljs-selector-class,.atom_one_light .hljs-selector-attr,.atom_one_light .hljs-selector-pseudo,.atom_one_light .hljs-number{color:#986801}.atom_one_light .hljs-symbol,.atom_one_light .hljs-bullet,.atom_one_light .hljs-link,.atom_one_light .hljs-meta,.atom_one_light .hljs-selector-id,.atom_one_light .hljs-title{color:#4078f2}.atom_one_light .hljs-built_in,.atom_one_light .hljs-title .class_,.atom_one_light .hljs-class .hljs-title{color:#c18401}.atom_one_light .hljs-emphasis{font-style:italic}.atom_one_light .hljs-strong{font-weight:700}.atom_one_light .hljs-link{text-decoration:underline}@keyframes slideInRight-84ed156b{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight-84ed156b{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.toast-notification[data-v-84ed156b]{display:flex;align-items:center;gap:12px;min-width:320px;max-width:450px;padding:14px 16px;margin-bottom:12px;border-radius:12px;box-shadow:0 10px 30px #0003,0 0 0 1px #ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#1e1e1ef2,#141414f2);border:1px solid rgba(255,255,255,.08);opacity:0;transform:translate(400px);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.toast-notification[data-v-84ed156b]:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:currentColor}.toast-notification.visible[data-v-84ed156b]{animation:slideInRight-84ed156b .3s ease-out forwards}.toast-notification.leaving[data-v-84ed156b]{animation:slideOutRight-84ed156b .3s ease-in forwards}.toast-notification.success[data-v-84ed156b]:before{background:#22c55e}.toast-notification.error[data-v-84ed156b]:before{background:#ef4444}.toast-notification.warning[data-v-84ed156b]:before{background:#f59e0b}.toast-notification.info[data-v-84ed156b]:before{background:#3b82f6}.toast-icon[data-v-84ed156b]{display:flex;align-items:center;justify-content:center;min-width:28px;width:28px;height:28px;border-radius:50%;font-weight:700;font-size:14px;flex-shrink:0}.toast-content[data-v-84ed156b]{flex:1;min-width:0}.toast-message[data-v-84ed156b]{margin:0;font-size:14px;font-weight:500;color:#fff;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.toast-close[data-v-84ed156b]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:#ffffff1a;color:#fff9;border-radius:6px;cursor:pointer;font-size:12px;font-weight:700;transition:all .2s ease;flex-shrink:0}.toast-close[data-v-84ed156b]:hover{background:#ffffff26;color:#ffffffe6;transform:scale(1.1)}.toast-close[data-v-84ed156b]:active{transform:scale(.95)}.light-mode .toast-notification[data-v-84ed156b]{background:linear-gradient(135deg,#fffffffa,#f5f5f5fa);border:1px solid rgba(0,0,0,.08);box-shadow:0 10px 30px #00000026,0 0 0 1px #0000000d}.light-mode .toast-notification .toast-message[data-v-84ed156b]{color:#1f2937}.light-mode .toast-notification .toast-close[data-v-84ed156b]{background:#0000000d;color:#00000080}.light-mode .toast-notification .toast-close[data-v-84ed156b]:hover{background:#0000001a;color:#000c}.toast-container[data-v-25add11c]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;pointer-events:none}.toast-container[data-v-25add11c]>*{pointer-events:auto}@media(max-width:640px){.toast-container[data-v-25add11c]{top:10px;right:10px;left:10px;align-items:center}}
|
|
1
|
+
@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Kanit:wght@600&family=Lato:wght@300&display=swap";.markdown-body{--base-size-4: .25rem;--base-size-8: .5rem;--base-size-16: 1rem;--base-size-24: 1.5rem;--base-size-40: 2.5rem;--base-text-weight-normal: 400;--base-text-weight-medium: 500;--base-text-weight-semibold: 600;--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fgColor-accent: Highlight}@media(prefers-color-scheme:dark){.markdown-body,[data-theme=dark]{color-scheme:dark;--focus-outlineColor: #1f6feb;--fgColor-default: #f0f6fc;--fgColor-muted: #9198a1;--fgColor-accent: #4493f8;--fgColor-success: #3fb950;--fgColor-attention: #d29922;--fgColor-danger: #f85149;--fgColor-done: #ab7df8;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--bgColor-attention-muted: #bb800926;--borderColor-default: #3d444d;--borderColor-muted: #3d444db3;--borderColor-neutral-muted: #3d444db3;--borderColor-accent-emphasis: #1f6feb;--borderColor-success-emphasis: #238636;--borderColor-attention-emphasis: #9e6a03;--borderColor-danger-emphasis: #da3633;--borderColor-done-emphasis: #8957e5;--color-prettylights-syntax-comment: #9198a1;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #f0f6fc;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-brackethighlighter-angle: #9198a1;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #f0f6fc;--color-prettylights-syntax-markup-bold: #f0f6fc;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #f0f6fc;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d}}@media(prefers-color-scheme:light){.markdown-body,[data-theme=light]{color-scheme:light;--focus-outlineColor: #0969da;--fgColor-default: #1f2328;--fgColor-muted: #59636e;--fgColor-accent: #0969da;--fgColor-success: #1a7f37;--fgColor-attention: #9a6700;--fgColor-danger: #d1242f;--fgColor-done: #8250df;--bgColor-default: #ffffff;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--bgColor-attention-muted: #fff8c5;--borderColor-default: #d1d9e0;--borderColor-muted: #d1d9e0b3;--borderColor-neutral-muted: #d1d9e0b3;--borderColor-accent-emphasis: #0969da;--borderColor-success-emphasis: #1a7f37;--borderColor-attention-emphasis: #9a6700;--borderColor-danger-emphasis: #cf222e;--borderColor-done-emphasis: #8250df;--color-prettylights-syntax-comment: #59636e;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-storage-modifier-import: #1f2328;--color-prettylights-syntax-entity-tag: #0550ae;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-brackethighlighter-angle: #59636e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #1f2328;--color-prettylights-syntax-markup-bold: #1f2328;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #d1d9e0;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #818b98}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8, 8px)!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter)!important}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:var(--base-text-weight-medium, 500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Lato,sans-serif;font-size:1rem}h1,h2,h3,h4,h5,h6{font-family:Kanit,sans-serif;font-size:2rem}.dark-mode,.dark-mode body{background-color:#7a7d7d;color:#f4faff}.dark-mode .tv-search-results::-webkit-scrollbar-thumb{background-color:#0e131f}.dark-mode .tv-search-results::-webkit-scrollbar-thumb:hover{background-color:#000}.light-mode,.light-mode body{background-color:#e0e1e1;color:#000b14}.light-mode .tv-search-results::-webkit-scrollbar-thumb{background-color:#b9c4df}.light-mode .tv-search-results::-webkit-scrollbar-thumb:hover{background-color:#96a7cf}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background-color:#f1f9f9}::-webkit-scrollbar-thumb{background-color:#b9c4df}::-webkit-scrollbar-thumb:hover{background-color:#96a7cf}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(400px)}}.markdown-body{padding:40px 30px!important;border-radius:16px;color:#fff;font-size:16px;line-height:1.8;font-family:Lato,sans-serif}.markdown-body a{color:#3b82f6;text-decoration:none;font-weight:600;transition:color .2s ease}.markdown-body a:hover{color:#60a5fa;text-decoration:underline}.markdown-body h1,.markdown-body h2,.markdown-body h3{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Kanit,sans-serif;margin-top:2em;margin-bottom:1em;font-weight:700}.markdown-body h1{font-size:2.5rem;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#3b82f6,#8b5cf6) 1;padding-bottom:.5em}.markdown-body h2{font-size:2rem}.markdown-body h3{font-size:1.6rem}.markdown-body pre{background:linear-gradient(135deg,#1e293b,#0f172a);padding:20px;border-radius:12px;overflow-x:auto;box-shadow:0 8px 24px #0000004d,inset 0 1px #ffffff0d;border:2px solid rgba(59,130,246,.2)}.markdown-body code{background:linear-gradient(135deg,#3b82f626,#8b5cf626);padding:4px 8px;border-radius:6px;font-size:.9em;border:1px solid rgba(59,130,246,.3)}.markdown-body p{margin-bottom:1.2em}.tv-demo-tabs{display:flex;margin-bottom:10px;gap:8px}.tv-demo-tabs button{border:none;padding:12px 20px;cursor:pointer;font-size:1rem;border-radius:8px 8px 0 0;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500;letter-spacing:.3px;position:relative}.tv-demo-tabs button:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#60a5fa);opacity:0;transition:opacity .3s ease}.tv-demo-tabs button.active:after{opacity:1}.tv-demo-tabs button:active{transform:translateY(1px)}.tv-demo *{box-sizing:border-box;margin:0;padding:0}.tv-demo-content{padding:20px;border:1px solid #4a4a4a;border-radius:0 5px 5px;min-width:0;max-width:100%;overflow:hidden}.tv-demo-content .tv-demo-description{font-size:1.1rem}.tv-demo-content .tv-demo-component-content{display:flex;margin:0 auto;padding:20px;justify-content:center;width:100%;max-width:100%;overflow:hidden}.tv-demo-content>*{max-width:100%}.tv-demo-links-item{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:.95rem;color:inherit;font-weight:600;background:none;border:none;text-decoration:none;position:relative;padding:2px 0;letter-spacing:.02em;transition:color .25s ease,transform .25s ease;isolation:isolate}.tv-demo-links-item:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:currentColor;opacity:.25;transform-origin:left;transform:scaleX(.3);transition:opacity .25s ease,transform .25s ease}.tv-demo-links-item:hover,.tv-demo-links-item:focus-visible{transform:translateY(-1px)}.tv-demo-links-item:hover:after,.tv-demo-links-item:focus-visible:after{opacity:.85;transform:scaleX(1)}.tv-demo-links-item:focus-visible{outline:none;box-shadow:0 0 0 2px currentColor;border-radius:4px}.dark-mode .tv-demo-select{background-color:#b9c4df;color:#0e131f;border:1px solid #B9C4DF}.dark-mode .tv-demo-option{background:#b9c4df}.dark-mode .no-background{background-color:#0e131f;color:#b9c4df;box-shadow:0 0 10px #0e131f}.dark-mode .tv-demo-tabs button{background-color:#b9c4df;color:#000b14}.dark-mode .tv-demo-tabs button.active{background:#8598c7;font-weight:700}.dark-mode .tv-demo-tabs button:hover{background:#96a7cf}.dark-mode .tv-demo-links-item,.dark-mode a.tv-demo-links-item{color:#60a5fa;text-decoration-color:#60a5fa99;text-shadow:0 0 12px rgba(96,165,250,.35)}.dark-mode .tv-demo-links-item:hover,.dark-mode a.tv-demo-links-item:hover{color:#93c5fd;text-decoration-color:#93c5fde6}.light-mode .tv-demo-select{background-color:#0e131f;color:#b9c4df;border:1px solid #0E131F}.light-mode .tv-demo-option{background:#0e131f}.light-mode .no-background{background-color:#b9c4df;color:#0e131f;box-shadow:0 0 10px #b9c4df}.light-mode .tv-demo-tabs button{background-color:#0e131f;color:#f4faff}.light-mode .tv-demo-tabs button.active{background:#000;font-weight:700}.light-mode .tv-demo-tabs button:hover{background:#000}.light-mode .tv-demo-links-item,.light-mode a.tv-demo-links-item{color:#1e40af;text-decoration-color:#1e40af99;text-shadow:0 0 12px rgba(30,64,175,.25)}.light-mode .tv-demo-links-item:hover,.light-mode a.tv-demo-links-item:hover{color:#1d4ed8;text-decoration-color:#1d4ed8e6}.tv-demo-body{margin:0 auto;min-height:100vh;width:80%}.tv-demo-body.dark-mode{background-color:#0e131f}.tv-demo-body.dark-mode .tv-demo-select{background-color:#b9c4df;color:#0e131f;border:1px solid #B9C4DF}.tv-demo-body.dark-mode .tv-demo-option{background:#b9c4df}.tv-demo-body.dark-mode .tv-demo-links-item{color:#b9c4df;text-decoration-color:#b9c4df99}.tv-demo-body.light-mode{background-color:#b9c4df}.tv-demo-body.light-mode .tv-demo-select{background-color:#0e131f;color:#b9c4df;border:1px solid #0E131F}.tv-demo-body.light-mode .tv-demo-option{background:#0e131f}.tv-demo-body.light-mode .tv-demo-links-item{color:#0e131f;text-decoration-color:#0e131f99}.tv-demo-body .tv-demo-theme{display:flex;align-items:center;gap:10px;min-height:100%;padding:0 20px;width:100%}.tv-demo-body .tv-demo-links{display:flex;gap:12px;align-content:center;align-items:center;flex-wrap:wrap}.tv-demo-body .tv-demo-links a{color:inherit}.tv-demo-body .tv-demo-links>span{opacity:.3;font-weight:300}.tv-demo-body .tv-demo-header{padding:25px 0;display:flex;justify-content:space-between}.tv-demo-body .tv-demo-case{padding:0 40px 40px;position:relative}.tv-demo-body .tv-demo-case-demo .demo{margin-bottom:20px}.tv-demo-body .tv-demo-case-demo h3{font-size:1.4rem;padding-top:20px;font-family:Kanit,sans-serif;font-weight:600}.tv-demo-body .tv-demo-case-demo h1{font-size:2.5rem;font-weight:700;font-family:Kanit,sans-serif;background:linear-gradient(135deg,#3b82f6,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tv-demo-body .tv-demo-case-demo h1 span{font-size:1rem;font-weight:300}.tv-demo-body .tv-demo-select{border-radius:8px;cursor:pointer;font-size:16px;height:44px;margin-bottom:20px;margin-top:10px;padding:0 16px;width:100%;border:2px solid transparent;transition:all .3s ease;font-weight:500;outline:none;box-shadow:0 2px 8px #0000001a}.tv-demo-body .tv-demo-select:hover{border-color:#3b82f64d;box-shadow:0 4px 12px #00000026}.tv-demo-body .tv-demo-select:focus{border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61a,0 4px 12px #00000026}.tv-demo-body .tv-demo-select-theme{width:150px}.tv-demo-body .tv-demo-option{font-size:16px}.tv-demo-body .tv-demo-component{align-items:center;display:flex;height:100%;justify-content:center;margin-top:5px;width:100%}.tv-demo-body .tv-demo-no-component{color:inherit;font-size:1.5rem;font-weight:500;text-align:center}.tv-demo-body .tv-demo-code{margin-top:5px;width:100%!important;height:auto!important;padding:20px 0}.tv-demo-footer{position:relative;padding:0;font-family:Lato,sans-serif;transition:all .3s ease;overflow:hidden}.tv-demo-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.5) 50%,transparent 100%)}.tv-demo-footer.dark-mode{background:linear-gradient(135deg,#111726,#0e131f,#13192a);color:#f4faff}.tv-demo-footer.dark-mode .tv-demo-footer-text,.tv-demo-footer.dark-mode .tv-demo-footer-copyright{color:#8eccff}.tv-demo-footer.dark-mode .tv-demo-footer-link{color:#3b82f6}.tv-demo-footer.dark-mode .tv-demo-footer-link:hover{color:#60a5fa;text-shadow:0 0 8px rgba(59,130,246,.3)}.tv-demo-footer.dark-mode .tv-demo-footer-brand-text{color:#f4faff;text-shadow:0 0 20px rgba(59,130,246,.3)}.tv-demo-footer.dark-mode .tv-demo-footer-divider{background:#ffffff1a}.tv-demo-footer.light-mode{background:linear-gradient(135deg,#cbd3e7,#b9c4df,#c4cde4);color:#000b14}.tv-demo-footer.light-mode .tv-demo-footer-text,.tv-demo-footer.light-mode .tv-demo-footer-copyright{color:#002747}.tv-demo-footer.light-mode .tv-demo-footer-link{color:#1e40af}.tv-demo-footer.light-mode .tv-demo-footer-link:hover{color:#3b82f6;text-shadow:0 0 8px rgba(30,64,175,.2)}.tv-demo-footer.light-mode .tv-demo-footer-brand-text{color:#000b14;text-shadow:0 0 20px rgba(30,64,175,.2)}.tv-demo-footer.light-mode .tv-demo-footer-divider{background:#0000001a}.tv-demo-footer-content{margin:0 auto;padding:40px 20px 20px}.tv-demo-footer-main{display:flex;flex-direction:column;align-items:center;gap:30px;margin-bottom:30px}.tv-demo-footer-brand{display:flex;align-items:center;gap:12px;font-family:Kanit,sans-serif;font-size:1.8rem;font-weight:700}.tv-demo-footer-logo{max-width:25px;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(59,130,246,.3))}.tv-demo-footer-logo img{width:100%}.tv-demo-footer-brand-text{letter-spacing:.5px;background:linear-gradient(135deg,#3b82f6,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tv-demo-footer-brand-version{letter-spacing:.3px;font-size:1rem;-webkit-background-clip:text;background-clip:text}.tv-demo-footer-info{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}.tv-demo-footer-text{font-size:1rem;display:flex;align-items:center;gap:8px;margin:0;opacity:.85;transition:all .3s ease;font-weight:400}.tv-demo-footer-text:hover{opacity:1;transform:translateY(-2px)}.tv-demo-footer-divider{width:1px;height:20px;opacity:.3}.tv-demo-footer-link{text-decoration:none!important;font-weight:600!important;position:relative;transition:all .3s ease;padding:0 0 2px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;letter-spacing:normal!important;display:inline!important;gap:0!important;overflow:visible!important}.tv-demo-footer-link:before{display:none!important}.tv-demo-footer-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:currentColor;transition:width .3s ease}.tv-demo-footer-link:hover{transform:none!important;box-shadow:none!important;background:transparent!important}.tv-demo-footer-link:hover:after{width:100%}.tv-demo-footer-heart{font-size:1.2rem;display:inline-block;animation:pulse 2s infinite ease-in-out;filter:drop-shadow(0 0 4px rgba(59,130,246,.4))}.tv-demo-footer-bottom{padding-top:20px;border-top:1px solid rgba(255,255,255,.05);text-align:center}.tv-demo-footer-copyright{font-size:.85rem;margin:0;opacity:.6;font-weight:300;letter-spacing:.3px}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(-2deg)}50%{transform:translateY(-10px) rotate(0)}75%{transform:translateY(-5px) rotate(2deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}.switch{position:relative;display:inline-block;width:60px;height:32px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background:linear-gradient(135deg,#cbd5e1,#94a3b8);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000001a,0 2px 8px #00000026}.slider:before{position:absolute;content:"";height:24px;width:24px;left:4px;bottom:4px;background:linear-gradient(135deg,#fff,#f8fafc);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0003,0 1px 3px #0000001a}input:checked+.slider{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:inset 0 2px 4px #0000001a,0 2px 12px #3b82f666}input:focus+.slider{box-shadow:inset 0 2px 4px #0000001a,0 0 0 3px #3b82f633,0 2px 8px #00000026}input:checked+.slider:before{transform:translate(28px);box-shadow:0 2px 8px #00000040,0 1px 3px #00000026}.slider:hover{box-shadow:inset 0 2px 4px #0000001a,0 4px 12px #0003}input:checked+.slider:hover{box-shadow:inset 0 2px 4px #0000001a,0 4px 16px #3b82f680}.slider.round{border-radius:32px}.slider.round:before{border-radius:50%}.tv-demo-layout{display:grid;grid-template-columns:320px 1fr;gap:20px;margin-top:20px;width:100%;max-width:100%}.tv-demo-sidebar{display:flex;flex-direction:column;border-radius:16px;padding:20px;border:1px solid rgba(255,255,255,.08);background:#00000040;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:100%}.tv-demo-sidebar.light-mode{border-color:#00000014;background:#fff9}.tv-demo-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tv-demo-sidebar-header h3{margin:0;font-size:1.3rem}.tv-demo-sidebar-meta{font-size:.85rem;opacity:.7;margin-bottom:4px}.tv-demo-sidebar-collapse{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;font-size:.9rem;padding:6px 8px}.tv-demo-sidebar-collapse:hover{border-color:#fff9}.light-mode .tv-demo-sidebar-collapse{border-color:#00000026}.light-mode .tv-demo-sidebar-collapse:hover{border-color:#00000073}.tv-demo-search{display:flex;align-items:center;gap:8px;border-radius:999px;padding:6px 12px;border:1px solid rgba(255,255,255,.2);margin-bottom:16px;background:#ffffff0d}.tv-demo-search.light-mode{border-color:#0000001a;background:#00000008}.tv-demo-search-icon{font-size:.85rem}.tv-demo-search-input{background:transparent;border:none;flex:1;font-size:.9rem;outline:none;color:inherit}.tv-demo-search-clear{background:transparent;border:none;cursor:pointer;font-size:.85rem;opacity:.7}.tv-demo-variants{position:relative;flex:1;overflow:auto;border-radius:12px;padding:4px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;max-height:550px}.tv-demo-variants.light-mode{border-color:#00000014;background:#00000003}.tv-demo-variant-card{width:100%;display:flex;justify-content:space-between;gap:12px;border:none;background:#0000004d;color:inherit;padding:14px;border-radius:12px;text-align:left;cursor:pointer;margin-bottom:8px;transition:transform .2s ease,box-shadow .2s ease}.tv-demo-variant-card:hover{transform:translate(4px);box-shadow:0 10px 20px #0000004d}.tv-demo-variant-card.active{outline:2px solid rgba(59,130,246,.7);background:#3b82f626}.light-mode .tv-demo-variant-card{background:#fffc}.light-mode .tv-demo-variant-card.active{background:#3b82f61f}.tv-demo-variant-card-content{flex:1}.tv-demo-variant-card-title{display:block;font-weight:600;margin-bottom:4px}.tv-demo-variant-card-description{font-size:.85rem;opacity:.75}.tv-demo-variant-card-icon{opacity:.7}.tv-demo-empty-state{text-align:center;padding:20px;opacity:.8}.tv-demo-reset{margin-top:12px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:inherit;cursor:pointer}.tv-demo-empty-component,.tv-demo-empty-code{text-align:center;padding:20px;opacity:.8}.tv-to-up{position:fixed;right:clamp(16px,4vw,40px);bottom:clamp(16px,4vw,40px);display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;border:none;cursor:pointer;font-family:Lato,sans-serif;font-weight:600;font-size:.95rem;letter-spacing:.04em;box-shadow:0 12px 30px #00000040;transition:transform .25s ease,box-shadow .25s ease,opacity .2s ease;z-index:40}.tv-to-up:hover{transform:translateY(-3px);box-shadow:0 18px 35px #0000004d}.tv-to-up:focus-visible{outline:2px solid rgba(59,130,246,.6);outline-offset:4px}.tv-to-up.dark-mode{color:#f4faff;background:linear-gradient(135deg,#1b243b,#3b82f6)}.tv-to-up.light-mode{color:#f1f9f9;background:linear-gradient(135deg,#9dacd2,#2563eb)}.tv-to-up-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ffffff26;border:1px solid rgba(255,255,255,.3);font-size:1.1rem}.tv-to-up-label{text-transform:uppercase;font-size:.85rem}.tv-to-up-enter-active,.tv-to-up-leave-active{transition:opacity .2s ease,transform .2s ease}.tv-to-up-enter-from,.tv-to-up-leave-to{opacity:0;transform:translateY(12px)}@media(max-width:1024px){.tv-demo-layout{grid-template-columns:1fr}.tv-demo-sidebar{max-height:none}}@media(max-width:768px){.tv-demo-layout{grid-template-columns:1fr}}@media(max-width:768px){.tv-demo-case{padding:10px!important}.tv-demo-body{width:90%}.tv-demo-header{flex-direction:column;align-items:flex-start;gap:10px;padding:0}.tv-demo-header .tv-demo-theme{width:100%;padding-left:0;padding-right:0}.tv-demo-header .tv-demo-select-theme{width:100%}.tv-demo-footer-content{padding:30px 15px 15px}.tv-demo-footer-brand{font-size:1.5rem;gap:10px}.tv-demo-footer-logo{font-size:2rem}.tv-demo-footer-info{gap:15px;flex-direction:column;text-align:center}.tv-demo-footer-text{font-size:.9rem}.tv-demo-footer-divider{display:none}}@media(max-width:640px){.tv-demo-case{padding:15px!important}.tv-demo-body{width:100%;border-radius:0}.tv-demo-content{padding:15px;border-radius:0 8px 8px}.tv-demo-content .tv-demo-component-content{padding:15px;margin:15px auto}.tv-demo-tabs{gap:4px}.tv-demo-tabs button{padding:8px 12px;font-size:.85rem}.tv-demo-footer-brand{font-size:1.3rem}.tv-demo-footer-logo{max-width:18px}.tv-demo-footer-text{font-size:.85rem;gap:6px}.tv-demo-footer-copyright{font-size:.75rem}.tv-demo-footer-brand-version{font-size:.85rem}.tv-demo-links-item{padding:0;font-size:.85rem;gap:4px}.markdown-body{padding:20px 15px;font-size:14px}.markdown-body h1{font-size:1.8rem}.markdown-body h2{font-size:1.5rem}.markdown-body h3{font-size:1.2rem}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#272822;color:#ddd}.hljs-tag,.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-strong,.hljs-number,.hljs-name{color:#f92672}.hljs-code{color:#66d9ef}.hljs-attribute,.hljs-attr,.hljs-symbol,.hljs-regexp,.hljs-link{color:#bf79db}.hljs-string,.hljs-bullet,.hljs-subst,.hljs-title,.hljs-section,.hljs-emphasis,.hljs-type,.hljs-built_in,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-addition,.hljs-variable,.hljs-template-tag,.hljs-template-variable{color:#a6e22e}.hljs-title.class_,.hljs-class .hljs-title{color:#fff}.hljs-comment,.hljs-quote,.hljs-deletion,.hljs-meta{color:#75715e}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag,.hljs-title,.hljs-section,.hljs-type,.hljs-selector-id{font-weight:700}.cb[data-v-3c0bc7c1]{position:absolute;cursor:pointer;transition:.3s opacity linear;opacity:.5;height:30px;width:80px;right:0}.cb:hover .cb_tooltip[data-v-3c0bc7c1]{display:block}.cb[data-v-3c0bc7c1]:hover{opacity:1}.cb_tooltip[data-v-3c0bc7c1]{font-family:sans-serif;display:none;position:absolute;left:-96px;font-size:12px;color:#fff;width:80px;height:30px;line-height:30px;background:#000c;box-sizing:border-box;text-align:center;border-radius:4px}.cb_copy[data-v-3c0bc7c1]{position:absolute;font-family:sans-serif;display:block;font-size:12px;color:#fff;width:80px;height:30px;line-height:30px;background:#000c;box-sizing:border-box;text-align:center;border-radius:4px}.cb textarea[data-v-3c0bc7c1]{-webkit-user-select:none;user-select:none;position:absolute;padding:0;width:0;height:0;background:transparent;resize:none;opacity:0;border-color:#0000}.TL[data-v-b98f7724]{display:flex;align-items:center;justify-content:center;width:40px;height:30px;position:relative}.TL_word[data-v-b98f7724]{width:20px;height:20px;text-align:center;color:#aaa;font-size:16px}.code[data-v-f4a493be]{display:flex;flex-direction:column;font-size:0;position:relative;text-align:left;overflow:hidden}.code_header[data-v-f4a493be]{min-height:14px;position:relative}.code_area[data-v-f4a493be]{position:relative;overflow:hidden;padding-left:20px;margin:auto 0;display:flex}.code_area textarea[data-v-f4a493be]{overflow-y:hidden;box-sizing:border-box;caret-color:#7f7f7f;-webkit-text-fill-color:transparent;white-space:pre;word-wrap:normal;border:0;position:absolute;z-index:1000;top:0;left:0;width:100%;height:100%;background:none;border:none;outline:none;resize:none;padding:0 20px 20px;line-height:1.3;overflow:overlay;font-family:Consolas,Monaco,monospace}.code_area textarea[data-v-f4a493be]::-webkit-scrollbar-track{background-color:#eee}.code_area textarea[data-v-f4a493be]::-webkit-scrollbar-thumb{background:#afabab}.code_area textarea[data-v-f4a493be]::-webkit-scrollbar{width:8px;height:8px}.code_area textarea[data-v-f4a493be]::-webkit-scrollbar-corner{background-color:#eee}.code_area_link[data-v-f4a493be]{position:absolute}.code_area.change_hight[data-v-f4a493be]{height:calc(100% - 30px)}.code_area.srollbar_style[data-v-f4a493be]::-webkit-scrollbar-track{background-color:#eee}.code_area.srollbar_style[data-v-f4a493be]::-webkit-scrollbar-thumb{background:#afabab}.code_area.srollbar_style[data-v-f4a493be]::-webkit-scrollbar{width:8px;height:8px}.code_area.srollbar_style[data-v-f4a493be]::-webkit-scrollbar-corner{background-color:#eee}.code_area pre[data-v-f4a493be]{position:relative;margin:0;height:100%;overflow:hidden}.code_header[data-v-f4a493be]{position:relative;display:flex;justify-content:flex-start;width:100%}.code pre code[data-v-f4a493be]{font-family:Consolas,Monaco,monospace;line-height:1.3;position:relative;overflow-x:visible;border-radius:0;box-sizing:border-box;display:block;border:none;margin:0}.wrapper-content[data-v-f4a493be]::-webkit-scrollbar-track{background-color:#eee;border-radius:5px}.wrapper-content[data-v-f4a493be]::-webkit-scrollbar-thumb{background:#afabab;border-radius:5px}.wrapper-content[data-v-f4a493be]::-webkit-scrollbar{width:6px}.code_area_lines[data-v-f4a493be]{display:flex;flex-direction:column;width:10px;align-items:center;position:absolute;transform:translate(-18px)}.code_area_lines_item[data-v-f4a493be]{height:24px;width:10px;font-size:12px;color:#adb5bd;text-align:center;display:flex;justify-content:center;align-items:center;opacity:.6}.code_area_lines_item.dark[data-v-f4a493be]{color:#adb5bd}.code_area_lines_item.light[data-v-f4a493be]{color:#212529}.atom_one_dark.hljs,.atom_one_dark .hljs{color:#abb2bf;background:#282c34}.atom_one_dark .hljs-comment,.atom_one_dark .hljs-quote{color:#5c6370;font-style:italic}.atom_one_dark .hljs-doctag,.atom_one_dark .hljs-keyword,.atom_one_dark .hljs-formula{color:#c678dd}.atom_one_dark .hljs-section,.atom_one_dark .hljs-name,.atom_one_dark .hljs-selector-tag,.atom_one_dark .hljs-deletion,.atom_one_dark .hljs-subst{color:#e06c75}.atom_one_dark .hljs-literal{color:#56b6c2}.atom_one_dark .hljs-string,.atom_one_dark .hljs-regexp,.atom_one_dark .hljs-addition,.atom_one_dark .hljs-attribute,.atom_one_dark .hljs-meta .hljs-string{color:#98c379}.atom_one_dark .hljs-attr,.atom_one_dark .hljs-variable,.atom_one_dark .hljs-template-variable,.atom_one_dark .hljs-type,.atom_one_dark .hljs-selector-class,.atom_one_dark .hljs-selector-attr,.atom_one_dark .hljs-selector-pseudo,.atom_one_dark .hljs-number{color:#d19a66}.atom_one_dark .hljs-symbol,.atom_one_dark .hljs-bullet,.atom_one_dark .hljs-link,.atom_one_dark .hljs-meta,.atom_one_dark .hljs-selector-id,.atom_one_dark .hljs-title{color:#61aeee}.atom_one_dark .hljs-built_in,.atom_one_dark .hljs-title .class_,.atom_one_dark .hljs-class .hljs-title{color:#e6c07b}.atom_one_dark .hljs-emphasis{font-style:italic}.atom_one_dark .hljs-strong{font-weight:700}.atom_one_dark .hljs-link{text-decoration:underline}.atom_one_light.hljs,.atom_one_light .hljs{color:#383a42;background:#edf2f4}.atom_one_light .hljs-comment,.atom_one_light .hljs-quote{color:#a0a1a7;font-style:italic}.atom_one_light .hljs-doctag,.atom_one_light .hljs-keyword,.atom_one_light .hljs-formula{color:#a626a4}.atom_one_light .hljs-section,.atom_one_light .hljs-name,.atom_one_light .hljs-selector-tag,.atom_one_light .hljs-deletion,.atom_one_light .hljs-subst{color:#e45649}.atom_one_light .hljs-literal{color:#0184bb}.atom_one_light .hljs-string,.atom_one_light .hljs-regexp,.atom_one_light .hljs-addition,.atom_one_light .hljs-attribute,.atom_one_light .hljs-meta .hljs-string{color:#50a14f}.atom_one_light .hljs-attr,.atom_one_light .hljs-variable,.atom_one_light .hljs-template-variable,.atom_one_light .hljs-type,.atom_one_light .hljs-selector-class,.atom_one_light .hljs-selector-attr,.atom_one_light .hljs-selector-pseudo,.atom_one_light .hljs-number{color:#986801}.atom_one_light .hljs-symbol,.atom_one_light .hljs-bullet,.atom_one_light .hljs-link,.atom_one_light .hljs-meta,.atom_one_light .hljs-selector-id,.atom_one_light .hljs-title{color:#4078f2}.atom_one_light .hljs-built_in,.atom_one_light .hljs-title .class_,.atom_one_light .hljs-class .hljs-title{color:#c18401}.atom_one_light .hljs-emphasis{font-style:italic}.atom_one_light .hljs-strong{font-weight:700}.atom_one_light .hljs-link{text-decoration:underline}@keyframes slideInRight-84ed156b{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight-84ed156b{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.toast-notification[data-v-84ed156b]{display:flex;align-items:center;gap:12px;min-width:320px;max-width:450px;padding:14px 16px;margin-bottom:12px;border-radius:12px;box-shadow:0 10px 30px #0003,0 0 0 1px #ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#1e1e1ef2,#141414f2);border:1px solid rgba(255,255,255,.08);opacity:0;transform:translate(400px);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.toast-notification[data-v-84ed156b]:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:currentColor}.toast-notification.visible[data-v-84ed156b]{animation:slideInRight-84ed156b .3s ease-out forwards}.toast-notification.leaving[data-v-84ed156b]{animation:slideOutRight-84ed156b .3s ease-in forwards}.toast-notification.success[data-v-84ed156b]:before{background:#22c55e}.toast-notification.error[data-v-84ed156b]:before{background:#ef4444}.toast-notification.warning[data-v-84ed156b]:before{background:#f59e0b}.toast-notification.info[data-v-84ed156b]:before{background:#3b82f6}.toast-icon[data-v-84ed156b]{display:flex;align-items:center;justify-content:center;min-width:28px;width:28px;height:28px;border-radius:50%;font-weight:700;font-size:14px;flex-shrink:0}.toast-content[data-v-84ed156b]{flex:1;min-width:0}.toast-message[data-v-84ed156b]{margin:0;font-size:14px;font-weight:500;color:#fff;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.toast-close[data-v-84ed156b]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:#ffffff1a;color:#fff9;border-radius:6px;cursor:pointer;font-size:12px;font-weight:700;transition:all .2s ease;flex-shrink:0}.toast-close[data-v-84ed156b]:hover{background:#ffffff26;color:#ffffffe6;transform:scale(1.1)}.toast-close[data-v-84ed156b]:active{transform:scale(.95)}.light-mode .toast-notification[data-v-84ed156b]{background:linear-gradient(135deg,#fffffffa,#f5f5f5fa);border:1px solid rgba(0,0,0,.08);box-shadow:0 10px 30px #00000026,0 0 0 1px #0000000d}.light-mode .toast-notification .toast-message[data-v-84ed156b]{color:#1f2937}.light-mode .toast-notification .toast-close[data-v-84ed156b]{background:#0000000d;color:#00000080}.light-mode .toast-notification .toast-close[data-v-84ed156b]:hover{background:#0000001a;color:#000c}.toast-container[data-v-25add11c]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;pointer-events:none}.toast-container[data-v-25add11c]>*{pointer-events:auto}@media(max-width:640px){.toast-container[data-v-25add11c]{top:10px;right:10px;left:10px;align-items:center}}
|
package/dist/tv-demo.es.js
CHANGED
|
@@ -1,135 +1,143 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
import { HighCode as
|
|
3
|
-
import
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
let
|
|
7
|
-
const
|
|
8
|
-
() => (a.variants || []).map((e,
|
|
1
|
+
import { ref as b, computed as m, watch as A, nextTick as W, onMounted as ce, onBeforeUnmount as ve, watchEffect as ue, defineAsyncComponent as X, createElementBlock as r, openBlock as i, Fragment as Q, createElementVNode as o, createVNode as H, normalizeStyle as _, normalizeClass as C, unref as t, createCommentVNode as y, toDisplayString as w, withDirectives as me, withKeys as he, withModifiers as fe, isRef as ye, vModelText as ge, renderList as ke, createBlock as Z, resolveDynamicComponent as pe, normalizeProps as be, mergeProps as Ce, createStaticVNode as we } from "vue";
|
|
2
|
+
import { HighCode as Te } from "vue-highlight-code";
|
|
3
|
+
import ee from "vue3-markdown-it";
|
|
4
|
+
const L = 72, te = 6, Se = (a, g) => a?.id ?? a?.title ?? `variant-${g}`, xe = (a = {}) => `${a.title ?? ""} ${a.description ?? ""}`.toLowerCase(), De = (a) => {
|
|
5
|
+
const g = b("dark"), D = b([]), M = b(""), V = b(""), K = b("demo"), x = b(""), d = b(null), v = b(null), h = b(360), S = b(0);
|
|
6
|
+
let k = null, $ = !1;
|
|
7
|
+
const T = m(
|
|
8
|
+
() => (a.variants || []).map((e, l) => ({
|
|
9
9
|
variant: e,
|
|
10
|
-
index:
|
|
11
|
-
key:
|
|
12
|
-
searchableText:
|
|
10
|
+
index: l,
|
|
11
|
+
key: Se(e, l),
|
|
12
|
+
searchableText: xe(e)
|
|
13
13
|
}))
|
|
14
|
-
),
|
|
15
|
-
const e =
|
|
16
|
-
return e ?
|
|
17
|
-
}),
|
|
18
|
-
() => !!
|
|
19
|
-
),
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
|
|
14
|
+
), U = m(() => T.value.length), c = m(() => {
|
|
15
|
+
const e = x.value.trim().toLowerCase();
|
|
16
|
+
return e ? T.value.filter((l) => l.searchableText.includes(e)) : T.value;
|
|
17
|
+
}), G = m(() => c.value.length), z = m(
|
|
18
|
+
() => !!x.value.trim() && c.value.length === 0
|
|
19
|
+
), u = () => {
|
|
20
|
+
h.value = v.value?.clientHeight || h.value;
|
|
21
|
+
}, p = () => {
|
|
22
|
+
$ && (window.removeEventListener("resize", u), $ = !1);
|
|
23
23
|
};
|
|
24
|
-
|
|
24
|
+
A(
|
|
25
25
|
() => v.value,
|
|
26
26
|
(e) => {
|
|
27
|
-
if (
|
|
28
|
-
|
|
27
|
+
if (k && (k.disconnect(), k = null), !e) {
|
|
28
|
+
p();
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
}),
|
|
31
|
+
W(() => {
|
|
32
|
+
u(), typeof ResizeObserver < "u" ? (k = new ResizeObserver((l) => {
|
|
33
|
+
const f = l?.[0];
|
|
34
|
+
f && (h.value = f.contentRect.height);
|
|
35
|
+
}), k.observe(e)) : $ || (window.addEventListener("resize", u), $ = !0);
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
-
),
|
|
38
|
+
), ce(() => {
|
|
39
39
|
const e = localStorage.getItem("theme");
|
|
40
|
-
e && (
|
|
41
|
-
}),
|
|
42
|
-
|
|
40
|
+
e && (g.value = e), W(u);
|
|
41
|
+
}), ve(() => {
|
|
42
|
+
k && (k.disconnect(), k = null), p();
|
|
43
43
|
});
|
|
44
|
-
const
|
|
44
|
+
const F = async () => {
|
|
45
45
|
try {
|
|
46
46
|
const e = await fetch(a.readmePath);
|
|
47
47
|
if (!e.ok) throw new Error("README.md not found");
|
|
48
|
-
|
|
48
|
+
M.value = await e.text();
|
|
49
49
|
} catch {
|
|
50
|
-
|
|
50
|
+
M.value = "Documentation not found.";
|
|
51
51
|
}
|
|
52
|
-
}, P = () => {
|
|
53
|
-
|
|
52
|
+
}, P = async () => {
|
|
53
|
+
try {
|
|
54
|
+
const e = await fetch(a.changelogPath);
|
|
55
|
+
if (!e.ok) throw new Error("CHANGELOG.md not found");
|
|
56
|
+
V.value = await e.text();
|
|
57
|
+
} catch {
|
|
58
|
+
V.value = "Changelog not found.";
|
|
59
|
+
}
|
|
60
|
+
}, O = () => {
|
|
61
|
+
g.value = g.value === "dark" ? "light" : "dark", localStorage.setItem("theme", g.value);
|
|
54
62
|
};
|
|
55
|
-
|
|
56
|
-
() =>
|
|
63
|
+
A(
|
|
64
|
+
() => T.value,
|
|
57
65
|
(e) => {
|
|
58
66
|
if (!e.length) {
|
|
59
|
-
|
|
67
|
+
d.value = null;
|
|
60
68
|
return;
|
|
61
69
|
}
|
|
62
|
-
e.some((
|
|
70
|
+
e.some((l) => l.key === d.value) || (d.value = e[0].key);
|
|
63
71
|
},
|
|
64
72
|
{ immediate: !0 }
|
|
65
|
-
),
|
|
66
|
-
() =>
|
|
73
|
+
), A(
|
|
74
|
+
() => c.value,
|
|
67
75
|
(e) => {
|
|
68
76
|
if (!e.length) {
|
|
69
|
-
|
|
77
|
+
d.value = null;
|
|
70
78
|
return;
|
|
71
79
|
}
|
|
72
|
-
e.some((
|
|
80
|
+
e.some((l) => l.key === d.value) || (d.value = e[0].key);
|
|
73
81
|
}
|
|
74
82
|
);
|
|
75
|
-
const
|
|
76
|
-
v.value && (v.value.scrollTop = e,
|
|
83
|
+
const B = (e) => {
|
|
84
|
+
v.value && (v.value.scrollTop = e, S.value = e);
|
|
77
85
|
};
|
|
78
|
-
|
|
79
|
-
|
|
86
|
+
A(x, () => {
|
|
87
|
+
B(0);
|
|
80
88
|
});
|
|
81
|
-
const
|
|
82
|
-
() =>
|
|
83
|
-
), I =
|
|
84
|
-
() => Math.max(0, Math.floor(
|
|
85
|
-
), n =
|
|
89
|
+
const E = m(
|
|
90
|
+
() => c.value.findIndex((e) => e.key === d.value)
|
|
91
|
+
), I = m(() => Math.max(1, Math.ceil(h.value / L))), R = m(
|
|
92
|
+
() => Math.max(0, Math.floor(S.value / L) - te)
|
|
93
|
+
), n = m(
|
|
86
94
|
() => Math.min(
|
|
87
|
-
|
|
88
|
-
R.value + I.value +
|
|
95
|
+
c.value.length,
|
|
96
|
+
R.value + I.value + te * 2
|
|
89
97
|
)
|
|
90
|
-
),
|
|
91
|
-
() =>
|
|
92
|
-
),
|
|
93
|
-
() => Math.max(0, (
|
|
98
|
+
), s = m(
|
|
99
|
+
() => c.value.slice(R.value, n.value)
|
|
100
|
+
), q = m(() => R.value * L), oe = m(
|
|
101
|
+
() => Math.max(0, (c.value.length - n.value) * L)
|
|
94
102
|
);
|
|
95
|
-
|
|
103
|
+
A(d, () => {
|
|
96
104
|
if (!v.value) return;
|
|
97
|
-
const e =
|
|
105
|
+
const e = E.value;
|
|
98
106
|
if (e < 0) return;
|
|
99
|
-
const
|
|
100
|
-
if (e <
|
|
101
|
-
|
|
102
|
-
else if (e >
|
|
103
|
-
const
|
|
104
|
-
|
|
107
|
+
const l = R.value + 2, f = n.value - 3;
|
|
108
|
+
if (e < l)
|
|
109
|
+
B(Math.max(0, e * L));
|
|
110
|
+
else if (e > f) {
|
|
111
|
+
const N = Math.max(0, e - I.value + 1);
|
|
112
|
+
B(N * L);
|
|
105
113
|
}
|
|
106
114
|
});
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
},
|
|
110
|
-
const
|
|
111
|
-
if (!
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
},
|
|
115
|
+
const ne = m(() => z.value ? {} : (c.value.find((l) => l.key === d.value) || T.value.find((l) => l.key === d.value) || c.value[0] || T.value[0])?.variant || {}), ae = (e) => {
|
|
116
|
+
S.value = e.target.scrollTop;
|
|
117
|
+
}, J = (e) => {
|
|
118
|
+
const l = c.value;
|
|
119
|
+
if (!l.length) return;
|
|
120
|
+
const f = E.value < 0 ? 0 : E.value, N = Math.min(l.length - 1, Math.max(0, f + e));
|
|
121
|
+
d.value = l[N].key;
|
|
122
|
+
}, le = (e) => {
|
|
115
123
|
switch (e.key) {
|
|
116
124
|
case "ArrowDown":
|
|
117
|
-
e.preventDefault(),
|
|
125
|
+
e.preventDefault(), J(1);
|
|
118
126
|
break;
|
|
119
127
|
case "ArrowUp":
|
|
120
|
-
e.preventDefault(),
|
|
128
|
+
e.preventDefault(), J(-1);
|
|
121
129
|
break;
|
|
122
130
|
case "Home":
|
|
123
|
-
e.preventDefault(),
|
|
131
|
+
e.preventDefault(), c.value.length && (d.value = c.value[0].key);
|
|
124
132
|
break;
|
|
125
133
|
case "End":
|
|
126
|
-
e.preventDefault(),
|
|
134
|
+
e.preventDefault(), c.value.length && (d.value = c.value[c.value.length - 1].key);
|
|
127
135
|
break;
|
|
128
136
|
}
|
|
129
|
-
},
|
|
130
|
-
|
|
131
|
-
},
|
|
132
|
-
const e =
|
|
137
|
+
}, se = (e) => {
|
|
138
|
+
d.value = e;
|
|
139
|
+
}, ie = m(() => {
|
|
140
|
+
const e = g.value === "dark" ? a.demoStyle?.dark : a.demoStyle?.light;
|
|
133
141
|
return {
|
|
134
142
|
body: {
|
|
135
143
|
backgroundColor: e?.backgroundBody || "",
|
|
@@ -140,66 +148,75 @@ const M = 72, W = 6, we = (a, p) => a?.id ?? a?.title ?? `variant-${p}`, Se = (a
|
|
|
140
148
|
color: e?.color || ""
|
|
141
149
|
}
|
|
142
150
|
};
|
|
143
|
-
}),
|
|
144
|
-
let
|
|
145
|
-
e === "npm" ?
|
|
146
|
-
|
|
147
|
-
}).catch((
|
|
148
|
-
|
|
151
|
+
}), re = (e) => {
|
|
152
|
+
let l = "";
|
|
153
|
+
e === "npm" ? l = `npm install ${a.isDevComponent ? "-D " : ""}${a.npmInstall}` : l = `git clone ${a.urlClone}`, navigator.clipboard.writeText(l).then(() => {
|
|
154
|
+
j(`Copied to clipboard: ${l}`, "success", 3e3);
|
|
155
|
+
}).catch((f) => {
|
|
156
|
+
j(`Failed to copy: ${f}`, "error", 3e3);
|
|
149
157
|
});
|
|
150
|
-
},
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
},
|
|
154
|
-
const
|
|
155
|
-
|
|
158
|
+
}, j = (e, l = "success", f = 3e3) => {
|
|
159
|
+
const N = `toast-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
160
|
+
D.value.push({ id: N, message: e, type: l, duration: f });
|
|
161
|
+
}, de = (e) => {
|
|
162
|
+
const l = D.value.findIndex((f) => f.id === e);
|
|
163
|
+
l > -1 && D.value.splice(l, 1);
|
|
156
164
|
};
|
|
157
|
-
return
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
165
|
+
return ue(async () => {
|
|
166
|
+
await F(), await P();
|
|
167
|
+
}), {
|
|
168
|
+
customStyle: ie,
|
|
169
|
+
toasts: D,
|
|
170
|
+
readmeContent: M,
|
|
171
|
+
changelogContent: V,
|
|
172
|
+
selectedTab: K,
|
|
173
|
+
searchQuery: x,
|
|
174
|
+
selectedVariantKey: d,
|
|
175
|
+
totalVariantsCount: U,
|
|
176
|
+
filteredVariantsCount: G,
|
|
166
177
|
variantsListRef: v,
|
|
167
|
-
virtualizedVariants:
|
|
168
|
-
virtualPaddingTop:
|
|
169
|
-
virtualPaddingBottom:
|
|
170
|
-
emptySearchState:
|
|
171
|
-
theme:
|
|
172
|
-
variant:
|
|
173
|
-
addToast:
|
|
174
|
-
removeToast:
|
|
175
|
-
selectVariant:
|
|
176
|
-
setClickItem:
|
|
177
|
-
toggleTheme:
|
|
178
|
-
handleVariantsScroll:
|
|
179
|
-
handleVariantsKeydown:
|
|
178
|
+
virtualizedVariants: s,
|
|
179
|
+
virtualPaddingTop: q,
|
|
180
|
+
virtualPaddingBottom: oe,
|
|
181
|
+
emptySearchState: z,
|
|
182
|
+
theme: g,
|
|
183
|
+
variant: ne,
|
|
184
|
+
addToast: j,
|
|
185
|
+
removeToast: de,
|
|
186
|
+
selectVariant: se,
|
|
187
|
+
setClickItem: re,
|
|
188
|
+
toggleTheme: O,
|
|
189
|
+
handleVariantsScroll: ae,
|
|
190
|
+
handleVariantsKeydown: le
|
|
180
191
|
};
|
|
181
|
-
},
|
|
192
|
+
}, Ve = { class: "tv-demo-case" }, $e = { class: "tv-demo-header" }, Ee = { class: "tv-demo-links" }, Ie = ["href"], Le = { key: 1 }, Me = { key: 3 }, Be = { class: "tv-demo-theme" }, Re = { class: "switch" }, Ne = ["checked"], Ae = { class: "tv-demo-tabs" }, ze = {
|
|
182
193
|
key: 0,
|
|
183
194
|
class: "tv-demo-layout"
|
|
184
|
-
},
|
|
195
|
+
}, Pe = { class: "tv-demo-sidebar-header" }, Oe = { class: "tv-demo-sidebar-meta" }, He = ["aria-activedescendant"], Ke = ["id", "aria-selected", "onClick"], Ue = { class: "tv-demo-variant-card-content" }, Ge = { class: "tv-demo-variant-card-title" }, Fe = { class: "tv-demo-variant-card-description" }, je = {
|
|
185
196
|
key: 1,
|
|
186
197
|
class: "tv-demo-empty-state"
|
|
187
|
-
},
|
|
198
|
+
}, Qe = {
|
|
188
199
|
class: "tv-demo-content",
|
|
189
200
|
"aria-live": "polite"
|
|
190
|
-
},
|
|
201
|
+
}, _e = { class: "tv-demo-content-header" }, Ye = { class: "tv-demo-description" }, qe = { class: "tv-demo-component-content" }, Je = {
|
|
191
202
|
key: 1,
|
|
192
203
|
class: "tv-demo-empty-component"
|
|
193
|
-
},
|
|
204
|
+
}, We = {
|
|
194
205
|
key: 1,
|
|
195
206
|
class: "tv-demo-empty-code"
|
|
196
|
-
},
|
|
207
|
+
}, Xe = {
|
|
197
208
|
key: 1,
|
|
198
209
|
class: "tv-demo-content"
|
|
199
|
-
},
|
|
210
|
+
}, Ze = {
|
|
200
211
|
key: 0,
|
|
201
212
|
class: "markdown-body"
|
|
202
|
-
},
|
|
213
|
+
}, et = { key: 1 }, tt = {
|
|
214
|
+
key: 2,
|
|
215
|
+
class: "tv-demo-content"
|
|
216
|
+
}, ot = {
|
|
217
|
+
key: 0,
|
|
218
|
+
class: "markdown-body"
|
|
219
|
+
}, nt = { key: 1 }, at = { class: "tv-demo-footer-content" }, lt = { class: "tv-demo-footer-main" }, st = { class: "tv-demo-footer-brand" }, it = { class: "tv-demo-footer-brand-text" }, rt = { class: "tv-demo-footer-brand-version" }, dt = { class: "tv-demo-footer-bottom" }, ct = { class: "tv-demo-footer-copyright" }, Y = {
|
|
203
220
|
__name: "TvDemo",
|
|
204
221
|
props: {
|
|
205
222
|
demoStyle: { type: Object, default: () => ({ body: {}, content: {} }) },
|
|
@@ -212,246 +229,272 @@ const M = 72, W = 6, we = (a, p) => a?.id ?? a?.title ?? `variant-${p}`, Se = (a
|
|
|
212
229
|
npmInstall: { type: String, default: null },
|
|
213
230
|
isDevComponent: { type: Boolean, default: !1 },
|
|
214
231
|
version: { type: String, default: "0.0.0" },
|
|
215
|
-
readmePath: { type: String, default: "/README.md" }
|
|
232
|
+
readmePath: { type: String, default: "/README.md" },
|
|
233
|
+
changelogPath: { type: String, default: "/CHANGELOG.md" },
|
|
234
|
+
showDocumentation: { type: Boolean, default: !0 },
|
|
235
|
+
showChangelog: { type: Boolean, default: !0 }
|
|
216
236
|
},
|
|
217
237
|
setup(a) {
|
|
218
|
-
const
|
|
238
|
+
const g = X(
|
|
219
239
|
/* webpackChunkName: "toastContainer" */
|
|
220
240
|
() => import("./ToastContainer-NkcFPXPf.js")
|
|
221
|
-
),
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
241
|
+
), D = X(
|
|
242
|
+
/* webpackChunkName: "toUp" */
|
|
243
|
+
() => import("./ToUp-BAcInP4Z.js")
|
|
244
|
+
), M = a, {
|
|
245
|
+
customStyle: V,
|
|
246
|
+
toasts: K,
|
|
247
|
+
readmeContent: x,
|
|
248
|
+
changelogContent: d,
|
|
249
|
+
selectedTab: v,
|
|
250
|
+
searchQuery: h,
|
|
251
|
+
selectedVariantKey: S,
|
|
252
|
+
totalVariantsCount: k,
|
|
253
|
+
filteredVariantsCount: $,
|
|
254
|
+
variantsListRef: T,
|
|
255
|
+
virtualizedVariants: U,
|
|
256
|
+
virtualPaddingTop: c,
|
|
257
|
+
virtualPaddingBottom: G,
|
|
258
|
+
emptySearchState: z,
|
|
259
|
+
theme: u,
|
|
260
|
+
variant: p,
|
|
261
|
+
removeToast: F,
|
|
262
|
+
setClickItem: P,
|
|
263
|
+
toggleTheme: O,
|
|
264
|
+
selectVariant: B,
|
|
265
|
+
handleVariantsScroll: E,
|
|
242
266
|
handleVariantsKeydown: I
|
|
243
|
-
} =
|
|
244
|
-
return (R, n) => (
|
|
267
|
+
} = De(M);
|
|
268
|
+
return (R, n) => (i(), r(Q, null, [
|
|
245
269
|
o("div", {
|
|
246
|
-
class: C(`${t(
|
|
247
|
-
style:
|
|
270
|
+
class: C(`${t(u)}-mode tv-demo`),
|
|
271
|
+
style: _(t(V).body)
|
|
248
272
|
}, [
|
|
249
273
|
o("div", {
|
|
250
|
-
class: C(["tv-demo-body", { [`${t(
|
|
251
|
-
style:
|
|
274
|
+
class: C(["tv-demo-body", { [`${t(u)}-mode`]: !a.hideBackground }]),
|
|
275
|
+
style: _(t(V).content)
|
|
252
276
|
}, [
|
|
253
|
-
o("div",
|
|
254
|
-
o("div",
|
|
277
|
+
o("div", Ve, [
|
|
278
|
+
o("div", $e, [
|
|
255
279
|
o("div", null, [
|
|
256
|
-
o("div",
|
|
257
|
-
a.sourceLink || a.npmInstall || a.urlClone ? (
|
|
258
|
-
a.sourceLink ? (
|
|
280
|
+
o("div", Ee, [
|
|
281
|
+
a.sourceLink || a.npmInstall || a.urlClone ? (i(), r(Q, { key: 0 }, [
|
|
282
|
+
a.sourceLink ? (i(), r("a", {
|
|
259
283
|
key: 0,
|
|
260
284
|
href: a.sourceLink,
|
|
261
285
|
target: "_blank",
|
|
262
286
|
class: "tv-demo-links-item"
|
|
263
|
-
}, "
|
|
264
|
-
a.sourceLink && (a.npmInstall || a.urlClone) ? (
|
|
265
|
-
a.npmInstall ? (
|
|
287
|
+
}, " View source code ", 8, Ie)) : y("", !0),
|
|
288
|
+
a.sourceLink && (a.npmInstall || a.urlClone) ? (i(), r("span", Le, " | ")) : y("", !0),
|
|
289
|
+
a.npmInstall ? (i(), r("div", {
|
|
266
290
|
key: 2,
|
|
267
291
|
class: "tv-demo-links-item",
|
|
268
|
-
onClick: n[0] || (n[0] = (
|
|
269
|
-
}, "
|
|
270
|
-
a.npmInstall && a.urlClone ? (
|
|
271
|
-
a.urlClone ? (
|
|
292
|
+
onClick: n[0] || (n[0] = (s) => t(P)("npm"))
|
|
293
|
+
}, " Copy install command ")) : y("", !0),
|
|
294
|
+
a.npmInstall && a.urlClone ? (i(), r("span", Me, " | ")) : y("", !0),
|
|
295
|
+
a.urlClone ? (i(), r("div", {
|
|
272
296
|
key: 4,
|
|
273
297
|
class: "tv-demo-links-item",
|
|
274
|
-
onClick: n[1] || (n[1] = (
|
|
275
|
-
}, "
|
|
276
|
-
], 64)) :
|
|
298
|
+
onClick: n[1] || (n[1] = (s) => t(P)("clone"))
|
|
299
|
+
}, " Copy repository clone URL ")) : y("", !0)
|
|
300
|
+
], 64)) : y("", !0)
|
|
277
301
|
])
|
|
278
302
|
]),
|
|
279
303
|
o("div", null, [
|
|
280
|
-
o("div",
|
|
281
|
-
n[
|
|
282
|
-
o("label",
|
|
304
|
+
o("div", Be, [
|
|
305
|
+
n[14] || (n[14] = o("span", { style: { "font-size": "0.9rem", opacity: "0.8" } }, "Theme", -1)),
|
|
306
|
+
o("label", Re, [
|
|
283
307
|
o("input", {
|
|
284
308
|
type: "checkbox",
|
|
285
|
-
checked: t(
|
|
286
|
-
onChange: n[2] || (n[2] = (...
|
|
287
|
-
}, null, 40,
|
|
288
|
-
n[
|
|
309
|
+
checked: t(u) === "dark",
|
|
310
|
+
onChange: n[2] || (n[2] = (...s) => t(O) && t(O)(...s))
|
|
311
|
+
}, null, 40, Ne),
|
|
312
|
+
n[13] || (n[13] = o("span", { class: "slider round" }, null, -1))
|
|
289
313
|
])
|
|
290
314
|
])
|
|
291
315
|
])
|
|
292
316
|
]),
|
|
293
|
-
o("div",
|
|
317
|
+
o("div", Ae, [
|
|
294
318
|
o("button", {
|
|
295
|
-
class: C({ active: t(
|
|
296
|
-
onClick: n[3] || (n[3] = (
|
|
297
|
-
}, "
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
319
|
+
class: C({ active: t(v) === "demo" }),
|
|
320
|
+
onClick: n[3] || (n[3] = (s) => v.value = "demo")
|
|
321
|
+
}, "Demo", 2),
|
|
322
|
+
a.showDocumentation ? (i(), r("button", {
|
|
323
|
+
key: 0,
|
|
324
|
+
class: C({ active: t(v) === "docs" }),
|
|
325
|
+
onClick: n[4] || (n[4] = (s) => v.value = "docs")
|
|
326
|
+
}, "Documentation", 2)) : y("", !0),
|
|
327
|
+
a.showChangelog ? (i(), r("button", {
|
|
328
|
+
key: 1,
|
|
329
|
+
class: C({ active: t(v) === "changelog" }),
|
|
330
|
+
onClick: n[5] || (n[5] = (s) => v.value = "changelog")
|
|
331
|
+
}, "Changelog", 2)) : y("", !0)
|
|
302
332
|
]),
|
|
303
|
-
t(
|
|
333
|
+
t(v) === "demo" ? (i(), r("div", ze, [
|
|
304
334
|
o("aside", {
|
|
305
|
-
class: C(["tv-demo-sidebar", `${t(
|
|
335
|
+
class: C(["tv-demo-sidebar", `${t(u)}-mode`])
|
|
306
336
|
}, [
|
|
307
|
-
o("div",
|
|
337
|
+
o("div", Pe, [
|
|
308
338
|
o("div", null, [
|
|
309
|
-
o("p",
|
|
310
|
-
n[
|
|
339
|
+
o("p", Oe, w(t($)) + " / " + w(t(k)) + " variants", 1),
|
|
340
|
+
n[15] || (n[15] = o("h3", null, "Variants", -1))
|
|
311
341
|
]),
|
|
312
342
|
o("button", {
|
|
313
343
|
class: "tv-demo-sidebar-collapse",
|
|
314
344
|
"aria-label": "Scroll to top",
|
|
315
|
-
onClick: n[
|
|
345
|
+
onClick: n[6] || (n[6] = (s) => t(T)?.scrollTo({ top: 0, behavior: "smooth" }))
|
|
316
346
|
}, " ⬆️ ")
|
|
317
347
|
]),
|
|
318
348
|
o("label", {
|
|
319
|
-
class: C(["tv-demo-search", `${t(
|
|
349
|
+
class: C(["tv-demo-search", `${t(u)}-mode`])
|
|
320
350
|
}, [
|
|
321
|
-
n[
|
|
322
|
-
|
|
323
|
-
"onUpdate:modelValue": n[
|
|
351
|
+
n[16] || (n[16] = o("span", { class: "tv-demo-search-icon" }, "🔍", -1)),
|
|
352
|
+
me(o("input", {
|
|
353
|
+
"onUpdate:modelValue": n[7] || (n[7] = (s) => ye(h) ? h.value = s : null),
|
|
324
354
|
type: "search",
|
|
325
355
|
placeholder: "Search variants...",
|
|
326
356
|
class: "tv-demo-search-input",
|
|
327
357
|
"aria-label": "Search variants",
|
|
328
|
-
onKeydown: n[
|
|
358
|
+
onKeydown: n[8] || (n[8] = he(fe((s) => t(I)(s), ["prevent"]), ["down"]))
|
|
329
359
|
}, null, 544), [
|
|
330
|
-
[
|
|
360
|
+
[ge, t(h)]
|
|
331
361
|
]),
|
|
332
|
-
t(
|
|
362
|
+
t(h) ? (i(), r("button", {
|
|
333
363
|
key: 0,
|
|
334
364
|
type: "button",
|
|
335
365
|
class: "tv-demo-search-clear",
|
|
336
366
|
"aria-label": "Clear search",
|
|
337
|
-
onClick: n[
|
|
338
|
-
}, "✕")) :
|
|
367
|
+
onClick: n[9] || (n[9] = (s) => h.value = "")
|
|
368
|
+
}, "✕")) : y("", !0)
|
|
339
369
|
], 2),
|
|
340
370
|
o("div", {
|
|
341
371
|
class: C([
|
|
342
372
|
"tv-demo-variants",
|
|
343
|
-
`${t(
|
|
373
|
+
`${t(u)}-mode`
|
|
344
374
|
]),
|
|
345
375
|
role: "listbox",
|
|
346
376
|
tabindex: "0",
|
|
347
377
|
"aria-label": "Available variants",
|
|
348
|
-
"aria-activedescendant": t(
|
|
349
|
-
onKeydown: n[
|
|
378
|
+
"aria-activedescendant": t(S) ? `variant-${t(S)}` : null,
|
|
379
|
+
onKeydown: n[11] || (n[11] = (...s) => t(I) && t(I)(...s)),
|
|
350
380
|
ref_key: "variantsListRef",
|
|
351
|
-
ref:
|
|
352
|
-
onScroll: n[
|
|
381
|
+
ref: T,
|
|
382
|
+
onScroll: n[12] || (n[12] = (...s) => t(E) && t(E)(...s))
|
|
353
383
|
}, [
|
|
354
384
|
o("div", {
|
|
355
|
-
style:
|
|
385
|
+
style: _({ paddingTop: `${t(c)}px`, paddingBottom: `${t(G)}px` })
|
|
356
386
|
}, [
|
|
357
|
-
t(
|
|
358
|
-
o("p", null, 'No matches for "' +
|
|
387
|
+
t(z) ? (i(), r("div", je, [
|
|
388
|
+
o("p", null, 'No matches for "' + w(t(h)) + '".', 1),
|
|
359
389
|
o("button", {
|
|
360
390
|
class: "tv-demo-reset",
|
|
361
391
|
type: "button",
|
|
362
|
-
onClick: n[
|
|
392
|
+
onClick: n[10] || (n[10] = (s) => h.value = "")
|
|
363
393
|
}, "Clear filter")
|
|
364
|
-
])) : (
|
|
365
|
-
key:
|
|
366
|
-
id: `variant-${
|
|
394
|
+
])) : (i(!0), r(Q, { key: 0 }, ke(t(U), (s) => (i(), r("button", {
|
|
395
|
+
key: s.key,
|
|
396
|
+
id: `variant-${s.key}`,
|
|
367
397
|
type: "button",
|
|
368
|
-
class: C(["tv-demo-variant-card", { active:
|
|
398
|
+
class: C(["tv-demo-variant-card", { active: s.key === t(S) }]),
|
|
369
399
|
role: "option",
|
|
370
|
-
"aria-selected":
|
|
371
|
-
onClick: (
|
|
400
|
+
"aria-selected": s.key === t(S),
|
|
401
|
+
onClick: (q) => t(B)(s.key)
|
|
372
402
|
}, [
|
|
373
|
-
o("span",
|
|
374
|
-
o("span",
|
|
375
|
-
o("span",
|
|
403
|
+
o("span", Ue, [
|
|
404
|
+
o("span", Ge, w(s.variant.title), 1),
|
|
405
|
+
o("span", Fe, w(s.variant.description), 1)
|
|
376
406
|
]),
|
|
377
|
-
n[
|
|
378
|
-
], 10,
|
|
407
|
+
n[17] || (n[17] = o("span", { class: "tv-demo-variant-card-icon" }, "→", -1))
|
|
408
|
+
], 10, Ke))), 128))
|
|
379
409
|
], 4)
|
|
380
|
-
], 42,
|
|
410
|
+
], 42, He)
|
|
381
411
|
], 2),
|
|
382
|
-
o("section",
|
|
383
|
-
o("div",
|
|
412
|
+
o("section", Qe, [
|
|
413
|
+
o("div", _e, [
|
|
384
414
|
o("div", null, [
|
|
385
|
-
n[
|
|
386
|
-
o("h3", null,
|
|
415
|
+
n[18] || (n[18] = o("p", { class: "tv-demo-content-label" }, "Preview", -1)),
|
|
416
|
+
o("h3", null, w(t(p).title || "Select a variant"), 1)
|
|
387
417
|
])
|
|
388
418
|
]),
|
|
389
|
-
o("p",
|
|
390
|
-
o("div",
|
|
391
|
-
t(
|
|
419
|
+
o("p", Ye, w(t(p).description || "Select a variant from the list to view its details."), 1),
|
|
420
|
+
o("div", qe, [
|
|
421
|
+
t(p) && a.component ? (i(), Z(pe(a.component), be(Ce({ key: 0 }, t(p).propsData)), null, 16)) : (i(), r("p", Je, "No component to render."))
|
|
392
422
|
]),
|
|
393
|
-
n[
|
|
394
|
-
t(
|
|
423
|
+
n[19] || (n[19] = o("h3", null, "Code:", -1)),
|
|
424
|
+
t(p)?.html ? (i(), Z(t(Te), {
|
|
395
425
|
class: "tv-demo-code",
|
|
396
|
-
codeValue: t(
|
|
397
|
-
theme: t(
|
|
426
|
+
codeValue: t(p).html,
|
|
427
|
+
theme: t(u),
|
|
398
428
|
lang: "html",
|
|
399
429
|
codeLines: "",
|
|
400
|
-
key: t(
|
|
430
|
+
key: t(p).title,
|
|
401
431
|
height: "auto"
|
|
402
|
-
}, null, 8, ["codeValue", "theme"])) : (
|
|
432
|
+
}, null, 8, ["codeValue", "theme"])) : (i(), r("p", We, "No snippet available."))
|
|
403
433
|
])
|
|
404
|
-
])) :
|
|
405
|
-
t(
|
|
406
|
-
t(
|
|
407
|
-
|
|
408
|
-
source: t(
|
|
434
|
+
])) : y("", !0),
|
|
435
|
+
t(v) === "docs" && a.showDocumentation ? (i(), r("div", Xe, [
|
|
436
|
+
t(x) ? (i(), r("div", Ze, [
|
|
437
|
+
H(t(ee), {
|
|
438
|
+
source: t(x),
|
|
439
|
+
html: ""
|
|
440
|
+
}, null, 8, ["source"])
|
|
441
|
+
])) : (i(), r("div", et, "No documentation available."))
|
|
442
|
+
])) : y("", !0),
|
|
443
|
+
t(v) === "changelog" && a.showChangelog ? (i(), r("div", tt, [
|
|
444
|
+
t(d) ? (i(), r("div", ot, [
|
|
445
|
+
H(t(ee), {
|
|
446
|
+
source: t(d),
|
|
409
447
|
html: ""
|
|
410
448
|
}, null, 8, ["source"])
|
|
411
|
-
])) : (
|
|
412
|
-
])) :
|
|
449
|
+
])) : (i(), r("div", nt, "No changelog available."))
|
|
450
|
+
])) : y("", !0)
|
|
413
451
|
])
|
|
414
452
|
], 6)
|
|
415
453
|
], 6),
|
|
416
454
|
o("footer", {
|
|
417
|
-
class: C(["tv-demo-footer", `${t(
|
|
455
|
+
class: C(["tv-demo-footer", `${t(u)}-mode`])
|
|
418
456
|
}, [
|
|
419
|
-
o("div",
|
|
420
|
-
o("div",
|
|
421
|
-
o("div",
|
|
422
|
-
n[
|
|
457
|
+
o("div", at, [
|
|
458
|
+
o("div", lt, [
|
|
459
|
+
o("div", st, [
|
|
460
|
+
n[20] || (n[20] = o("span", { class: "tv-demo-footer-logo" }, [
|
|
423
461
|
o("img", {
|
|
424
462
|
src: "https://firebasestorage.googleapis.com/v0/b/todovue-blog.appspot.com/o/icono_git.png?alt=media&token=86270c30-8235-4424-b72b-7a585f228685",
|
|
425
463
|
alt: ""
|
|
426
464
|
})
|
|
427
465
|
], -1)),
|
|
428
|
-
o("span",
|
|
429
|
-
o("span",
|
|
466
|
+
o("span", it, w(a.componentName), 1),
|
|
467
|
+
o("span", rt, "v" + w(a.version), 1)
|
|
430
468
|
]),
|
|
431
|
-
n[
|
|
469
|
+
n[21] || (n[21] = we('<div class="tv-demo-footer-info"><p class="tv-demo-footer-text"> Designed & Developed by <a href="https://cris-dev.com/" target="_blank" rel="noopener noreferrer" class="tv-demo-footer-link"> cris-dev.com </a></p><div class="tv-demo-footer-divider"></div><p class="tv-demo-footer-text"> Made with <span class="tv-demo-footer-heart">💙</span> using Vue.js </p></div>', 1))
|
|
432
470
|
]),
|
|
433
|
-
o("div",
|
|
434
|
-
o("p",
|
|
471
|
+
o("div", dt, [
|
|
472
|
+
o("p", ct, " © " + w((/* @__PURE__ */ new Date()).getFullYear()) + " TODOvue. All rights reserved. ", 1)
|
|
435
473
|
])
|
|
436
474
|
])
|
|
437
475
|
], 2),
|
|
438
|
-
|
|
439
|
-
toasts: t(
|
|
440
|
-
onRemoveToast: t(
|
|
441
|
-
}, null, 8, ["toasts", "onRemoveToast"])
|
|
476
|
+
H(t(g), {
|
|
477
|
+
toasts: t(K),
|
|
478
|
+
onRemoveToast: t(F)
|
|
479
|
+
}, null, 8, ["toasts", "onRemoveToast"]),
|
|
480
|
+
H(t(D), {
|
|
481
|
+
theme: t(u),
|
|
482
|
+
"scroll-target": ".tv-demo-body",
|
|
483
|
+
"aria-label": "Back to top"
|
|
484
|
+
}, null, 8, ["theme"])
|
|
442
485
|
], 64));
|
|
443
486
|
}
|
|
444
487
|
};
|
|
445
|
-
|
|
446
|
-
a.component("TvDemo",
|
|
488
|
+
Y.install = (a) => {
|
|
489
|
+
a.component("TvDemo", Y);
|
|
447
490
|
};
|
|
448
|
-
const
|
|
491
|
+
const ft = {
|
|
449
492
|
install(a) {
|
|
450
|
-
a.component("TvDemo",
|
|
493
|
+
a.component("TvDemo", Y);
|
|
451
494
|
}
|
|
452
495
|
};
|
|
453
496
|
export {
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
497
|
+
Y as TvDemo,
|
|
498
|
+
ft as TvDemoPlugin,
|
|
499
|
+
Y as default
|
|
457
500
|
};
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"author": "Cristhian Daza",
|
|
5
5
|
"description": "This is a default demo display for TODOvue components. Use this area to showcase the component's usage, props, variants, and live behavior in isolation.",
|
|
6
6
|
"license": "MIT",
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.2.0",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"scripts": {
|
|
47
47
|
"dev": "vite",
|
|
48
48
|
"build": "vite build",
|
|
49
|
-
"build:demo": "cp README.md public/ && VITE_BUILD_TARGET=demo vite build",
|
|
49
|
+
"build:demo": "cp README.md public/ && cp CHANGELOG.md public/ && VITE_BUILD_TARGET=demo vite build",
|
|
50
50
|
"verify:dist": "node scripts/verify-dist.mjs"
|
|
51
51
|
},
|
|
52
52
|
"sideEffects": [
|