zdashboard 2.0.0 → 2.1.1
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 +42 -1
- package/dist/cli.js +665 -304
- package/dist/cli.js.map +1 -1
- package/dist/web/assets/{MdViewer-DHLa9u9L.js → MdViewer-CgSHNqC3.js} +1 -1
- package/dist/web/assets/Workspace-BjAcIoe8.js +1 -0
- package/dist/web/assets/{file-text-D4672ckY.js → file-text-B46O-IoU.js} +1 -1
- package/dist/web/assets/index-CEza9SOJ.css +1 -0
- package/dist/web/assets/index-CcIhCGOi.js +90 -0
- package/dist/web/assets/{index-BRLQFQ6k.js → index-RpDccu4v.js} +1 -1
- package/dist/web/assets/{katex.min-D64GJ8fh.js → katex.min-BvZgSYSU.js} +1 -1
- package/dist/web/assets/web-BG3uPf-s.js +12 -0
- package/dist/web/assets/web-BH8k8F-d.js +26 -0
- package/dist/web/assets/web-CB5F-y_R.js +2 -0
- package/dist/web/assets/web-CTWlKjBz.js +32 -0
- package/dist/web/assets/{web-DqBNmBY8.js → web-CUFkwTcN.js} +11 -11
- package/dist/web/assets/web-D6ODdMUf.js +31 -0
- package/dist/web/assets/{web-4tpIem4N.js → web-DiGxrTCi.js} +2 -2
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/index-Deg587va.js +0 -87
- package/dist/web/assets/index-Dqj3ddhK.css +0 -1
- package/dist/web/assets/web-2je-DAWY.js +0 -30
- package/dist/web/assets/web-Bgs6ipDo.js +0 -31
- package/dist/web/assets/web-C0d3eOAl.js +0 -7
- package/dist/web/assets/web-DIAM7Pif.js +0 -26
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 240 10% 3.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--primary: 240 5.9% 10%;--primary-foreground: 0 0% 98%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--ring: 240 10% 3.9%;--radius: .5rem}.dark{--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 10% 3.9%;--card-foreground: 0 0% 98%;--popover: 240 10% 3.9%;--popover-foreground: 0 0% 98%;--primary: 0 0% 98%;--primary-foreground: 240 5.9% 10%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--accent: 240 3.7% 15.9%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 240 3.7% 15.9%;--input: 240 3.7% 15.9%;--ring: 240 4.9% 83.9%}*{border-color:hsl(var(--border))}body{background:hsl(var(--background));color:hsl(var(--foreground))}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-16{bottom:4rem}.right-2{right:.5rem}.right-8{right:2rem}.top-0{top:0}.top-2{top:.5rem}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-7{margin-bottom:1.75rem}.ml-1{margin-left:.25rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[38px\]{height:38px}.h-\[42\%\]{height:42%}.h-\[52px\]{height:52px}.h-\[72px\]{height:72px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[80vh\]{max-height:80vh}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-\[1\.25rem\]{min-height:1.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-\[240px\]{width:240px}.w-\[50px\]{width:50px}.w-\[78\%\]{width:78%}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[240px\]{max-width:240px}.max-w-\[252px\]{max-width:252px}.max-w-\[280px\]{max-width:280px}.max-w-\[420px\]{max-width:420px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[14px\]{border-radius:14px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-500\/30{border-color:#f59e0b4d}.border-border{border-color:hsl(var(--border))}.border-emerald-500\/30{border-color:#10b9814d}.border-input{border-color:hsl(var(--input))}.border-muted-foreground\/50{border-color:hsl(var(--muted-foreground) / .5)}.border-primary{border-color:hsl(var(--primary))}.border-red-500\/20{border-color:#ef444433}.border-red-500\/30{border-color:#ef44444d}.border-sky-500\/30{border-color:#0ea5e94d}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#0d1117\]{--tw-bg-opacity: 1;background-color:rgb(13 17 23 / var(--tw-bg-opacity, 1))}.bg-\[\#161b22\]{--tw-bg-opacity: 1;background-color:rgb(22 27 34 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-black\/40{background-color:#0006}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground{background-color:hsl(var(--muted-foreground))}.bg-orange-500\/10{background-color:#f973161a}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-sky-500\/15{background-color:#0ea5e926}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/5{background-color:#ffffff0d}.bg-yellow-500\/10{background-color:#eab3081a}.bg-zinc-500{--tw-bg-opacity: 1;background-color:rgb(113 113 122 / var(--tw-bg-opacity, 1))}.bg-zinc-700{--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[\#c9d1d9\]{--tw-text-opacity: 1;color:rgb(201 209 217 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-zinc-200{--tw-text-opacity: 1;color:rgb(228 228 231 / var(--tw-text-opacity, 1))}.text-zinc-300{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.text-zinc-500{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.running{animation-play-state:running}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}@media (prefers-color-scheme: dark){.dark\:prose-invert{--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-kbd: var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}}.last\:border-0:last-child{border-width:0px}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-emerald-500:hover{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted) / .7)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sky-500:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-zinc-600:hover{--tw-bg-opacity: 1;background-color:rgb(82 82 91 / var(--tw-bg-opacity, 1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-zinc-100:hover{--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.prose-headings\:scroll-mt-4 :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){scroll-margin-top:1rem}.prose-pre\:m-0 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){margin:0}.prose-pre\:bg-transparent :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){background-color:transparent}.prose-pre\:p-0 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){padding:0}@media (min-width: 640px){.sm\:static{position:static}.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:h-auto{height:auto}.sm\:w-\[252px\]{width:252px}.sm\:max-w-none{max-width:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-color-scheme: dark){.dark\:text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.dark\:text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.dark\:text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import{c as z,r as F,a as C,j as h,B as A,_ as X}from"./index-Deg587va.js";/**
|
|
2
|
-
* @license lucide-react v0.460.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const Y=z("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/**
|
|
7
|
-
* @license lucide-react v0.460.0 - ISC
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the ISC license.
|
|
10
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const ee=z("Eraser",[["path",{d:"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21",key:"182aya"}],["path",{d:"M22 21H7",key:"t4ddhn"}],["path",{d:"m5 11 9 9",key:"1mo9qw"}]]);/**
|
|
12
|
-
* @license lucide-react v0.460.0 - ISC
|
|
13
|
-
*
|
|
14
|
-
* This source code is licensed under the ISC license.
|
|
15
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const te=z("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
|
|
17
|
-
* @license lucide-react v0.460.0 - ISC
|
|
18
|
-
*
|
|
19
|
-
* This source code is licensed under the ISC license.
|
|
20
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const re=z("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);/**
|
|
22
|
-
* @license lucide-react v0.460.0 - ISC
|
|
23
|
-
*
|
|
24
|
-
* This source code is licensed under the ISC license.
|
|
25
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/const se=z("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var V={};const E=[[{color:"0, 0, 0",class:"ansi-black"},{color:"187, 0, 0",class:"ansi-red"},{color:"0, 187, 0",class:"ansi-green"},{color:"187, 187, 0",class:"ansi-yellow"},{color:"0, 0, 187",class:"ansi-blue"},{color:"187, 0, 187",class:"ansi-magenta"},{color:"0, 187, 187",class:"ansi-cyan"},{color:"255,255,255",class:"ansi-white"}],[{color:"85, 85, 85",class:"ansi-bright-black"},{color:"255, 85, 85",class:"ansi-bright-red"},{color:"0, 255, 0",class:"ansi-bright-green"},{color:"255, 255, 85",class:"ansi-bright-yellow"},{color:"85, 85, 255",class:"ansi-bright-blue"},{color:"255, 85, 255",class:"ansi-bright-magenta"},{color:"85, 255, 255",class:"ansi-bright-cyan"},{color:"255, 255, 255",class:"ansi-bright-white"}]],ne=/(https?:\/\/(?:[A-Za-z0-9#;/?:@=+$',_.!~*()[\]-]|&|%[A-Fa-f0-9]{2})+)/gm;class y{static escapeForHtml(e){return new y().escapeForHtml(e)}static linkify(e){return new y().linkify(e)}static ansiToHtml(e,r){return new y().ansiToHtml(e,r)}static ansiToJson(e,r){return new y().ansiToJson(e,r)}static ansiToText(e){return new y().ansiToText(e)}constructor(){this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null,this.bright=0,this.decorations=[]}setupPalette(){this.PALETTE_COLORS=[];for(let s=0;s<2;++s)for(let l=0;l<8;++l)this.PALETTE_COLORS.push(E[s][l].color);let e=[0,95,135,175,215,255],r=(s,l,u)=>e[s]+", "+e[l]+", "+e[u];for(let s=0;s<6;++s)for(let l=0;l<6;++l)for(let u=0;u<6;++u)this.PALETTE_COLORS.push(r(s,l,u));let n=8;for(let s=0;s<24;++s,n+=10)this.PALETTE_COLORS.push(n+", "+n+", "+n)}escapeForHtml(e){return e.replace(/[&<>\"]/gm,r=>r=="&"?"&":r=='"'?""":r=="<"?"<":r==">"?">":"")}linkify(e){return e.replace(ne,r=>`<a href="${r}">${r}</a>`)}ansiToHtml(e,r){return this.process(e,r,!0)}ansiToJson(e,r){return r=r||{},r.json=!0,r.clearLine=!1,this.process(e,r,!0)}ansiToText(e){return this.process(e,{},!1)}process(e,r,n){let s=this,l=e.split(/\033\[/),u=l.shift();r==null&&(r={}),r.clearLine=/\r/.test(e);let o=l.map(a=>this.processChunk(a,r,n));if(r&&r.json){let a=s.processChunkJson("");return a.content=u,a.clearLine=r.clearLine,o.unshift(a),r.remove_empty&&(o=o.filter(i=>!i.isEmpty())),o}else o.unshift(u);return o.join("")}processChunkJson(e,r,n){r=typeof r>"u"?{}:r;let s=r.use_classes=typeof r.use_classes<"u"&&r.use_classes,l=r.key=s?"class":"color",u={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:r.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:()=>!u.content},o=e.match(/^([!\x3c-\x3f]*)([\d;]*)([\x20-\x2c]*[\x40-\x7e])([\s\S]*)/m);if(!o)return u;u.content=o[4];let a=o[2].split(";");if(o[1]!==""||o[3]!=="m"||!n)return u;let i=this;for(;a.length>0;){let d=a.shift(),c=parseInt(d);if(isNaN(c)||c===0)i.fg=i.bg=null,i.decorations=[];else if(c===1)i.decorations.push("bold");else if(c===2)i.decorations.push("dim");else if(c===3)i.decorations.push("italic");else if(c===4)i.decorations.push("underline");else if(c===5)i.decorations.push("blink");else if(c===7)i.decorations.push("reverse");else if(c===8)i.decorations.push("hidden");else if(c===9)i.decorations.push("strikethrough");else if(c===21)i.removeDecoration("bold");else if(c===22)i.removeDecoration("bold"),i.removeDecoration("dim");else if(c===23)i.removeDecoration("italic");else if(c===24)i.removeDecoration("underline");else if(c===25)i.removeDecoration("blink");else if(c===27)i.removeDecoration("reverse");else if(c===28)i.removeDecoration("hidden");else if(c===29)i.removeDecoration("strikethrough");else if(c===39)i.fg=null;else if(c===49)i.bg=null;else if(c>=30&&c<38)i.fg=E[0][c%10][l];else if(c>=90&&c<98)i.fg=E[1][c%10][l];else if(c>=40&&c<48)i.bg=E[0][c%10][l];else if(c>=100&&c<108)i.bg=E[1][c%10][l];else if(c===38||c===48){let D=c===38;if(a.length>=1){let m=a.shift();if(m==="5"&&a.length>=1){let g=parseInt(a.shift());if(g>=0&&g<=255)if(!s)this.PALETTE_COLORS||i.setupPalette(),D?i.fg=this.PALETTE_COLORS[g]:i.bg=this.PALETTE_COLORS[g];else{let v=g>=16?"ansi-palette-"+g:E[g>7?1:0][g%8].class;D?i.fg=v:i.bg=v}}else if(m==="2"&&a.length>=3){let g=parseInt(a.shift()),v=parseInt(a.shift()),_=parseInt(a.shift());if(g>=0&&g<=255&&v>=0&&v<=255&&_>=0&&_<=255){let f=g+", "+v+", "+_;s?D?(i.fg="ansi-truecolor",i.fg_truecolor=f):(i.bg="ansi-truecolor",i.bg_truecolor=f):D?i.fg=f:i.bg=f}}}}}return i.fg===null&&i.bg===null&&i.decorations.length===0||(u.fg=i.fg,u.bg=i.bg,u.fg_truecolor=i.fg_truecolor,u.bg_truecolor=i.bg_truecolor,u.decorations=i.decorations,u.decoration=i.decorations.slice(-1).pop()||null,u.was_processed=!0),u}processChunk(e,r,n){r=r||{};let s=this.processChunkJson(e,r,n),l=r.use_classes;if(s.decorations=s.decorations.filter(c=>{if(c==="reverse"){s.fg||(s.fg=E[0][7][l?"class":"color"]),s.bg||(s.bg=E[0][0][l?"class":"color"]);let D=s.fg;s.fg=s.bg,s.bg=D;let m=s.fg_truecolor;return s.fg_truecolor=s.bg_truecolor,s.bg_truecolor=m,s.isInverted=!0,!1}return!0}),r.json)return s;if(s.isEmpty())return"";if(!s.was_processed)return s.content;let u=[],o=[],a=[],i={},d=c=>{let D=[],m;for(m in c)c.hasOwnProperty(m)&&D.push("data-"+m+'="'+this.escapeForHtml(c[m])+'"');return D.length>0?" "+D.join(" "):""};return s.isInverted&&(i["ansi-is-inverted"]="true"),s.fg&&(l?(u.push(s.fg+"-fg"),s.fg_truecolor!==null&&(i["ansi-truecolor-fg"]=s.fg_truecolor,s.fg_truecolor=null)):u.push("color:rgb("+s.fg+")")),s.bg&&(l?(u.push(s.bg+"-bg"),s.bg_truecolor!==null&&(i["ansi-truecolor-bg"]=s.bg_truecolor,s.bg_truecolor=null)):u.push("background-color:rgb("+s.bg+")")),s.decorations.forEach(c=>{if(l){o.push("ansi-"+c);return}c==="bold"?o.push("font-weight:bold"):c==="dim"?o.push("opacity:0.5"):c==="italic"?o.push("font-style:italic"):c==="hidden"?o.push("visibility:hidden"):c==="strikethrough"?a.push("line-through"):a.push(c)}),a.length&&o.push("text-decoration:"+a.join(" ")),l?'<span class="'+u.concat(o).join(" ")+'"'+d(i)+">"+s.content+"</span>":'<span style="'+u.concat(o).join(";")+'"'+d(i)+">"+s.content+"</span>"}removeDecoration(e){const r=this.decorations.indexOf(e);r>=0&&this.decorations.splice(r,1)}}var ie=y,k={exports:{}};function P(t){if(!t)return"";if(!/\r/.test(t))return t;for(t=t.replace(/\r+\n/gm,`
|
|
27
|
-
`);/\r./.test(t);)t=t.replace(/^([^\r\n]*)\r+([^\r\n]+)/gm,function(e,r,n){return n+r.slice(n.length)});return t}function ue(t){for(var e=0,r=0;r<t.length;r++)t[e].length<=t[r].length&&(e=r);return e}function N(t){if(!/\r/.test(t))return t;for(var e=t.split("\r"),r=[];e.length>0;){var n=ue(e);r.push(e[n]),e=e.slice(n+1)}return r.join("\r")}function ce(t){if(!t)return"";if(!/\r/.test(t))return t;if(!/\n/.test(t))return N(t);t=t.replace(/\r+\n/gm,`
|
|
28
|
-
`);var e=t.lastIndexOf(`
|
|
29
|
-
`);return P(t.slice(0,e))+`
|
|
30
|
-
`+N(t.slice(e+1))}k.exports=P;k.exports.escapeCarriageReturn=P;k.exports.escapeCarriageReturnSafe=ce;var oe=k.exports,O,I;function ae(){return I||(I=1,O=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/),O}var B,Z;function le(){return Z||(Z=1,B=/[\0-\x1F\x7F-\x9F]/),B}var S,q;function _e(){return q||(q=1,S=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/),S}var L,M;function he(){return M||(M=1,L=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/),L}var T,J;function fe(){return J||(J=1,T=function(t){var e={};e.src_Any=ae().source,e.src_Cc=le().source,e.src_Z=_e().source,e.src_P=he().source,e.src_ZPCc=[e.src_Z,e.src_P,e.src_Cc].join("|"),e.src_ZCc=[e.src_Z,e.src_Cc].join("|");var r="[><|]";return e.src_pseudo_letter="(?:(?!"+r+"|"+e.src_ZPCc+")"+e.src_Any+")",e.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",e.src_auth="(?:(?:(?!"+e.src_ZCc+"|[@/\\[\\]()]).)+@)?",e.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",e.src_host_terminator="(?=$|"+r+"|"+e.src_ZPCc+")(?!-|_|:\\d|\\.-|\\.(?!$|"+e.src_ZPCc+"))",e.src_path="(?:[/?#](?:(?!"+e.src_ZCc+"|"+r+`|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!`+e.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+e.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+e.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+e.src_ZCc+`|["]).)+\\"|\\'(?:(?!`+e.src_ZCc+"|[']).)+\\'|\\'(?="+e.src_pseudo_letter+"|[-]).|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!"+e.src_ZCc+"|[.]).|"+(t&&t["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+e.src_ZCc+").|;(?!"+e.src_ZCc+").|\\!+(?!"+e.src_ZCc+"|[!]).|\\?(?!"+e.src_ZCc+"|[?]).)+|\\/)?",e.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',e.src_xn="xn--[a-z0-9\\-]{1,59}",e.src_domain_root="(?:"+e.src_xn+"|"+e.src_pseudo_letter+"{1,63})",e.src_domain="(?:"+e.src_xn+"|(?:"+e.src_pseudo_letter+")|(?:"+e.src_pseudo_letter+"(?:-|"+e.src_pseudo_letter+"){0,61}"+e.src_pseudo_letter+"))",e.src_host="(?:(?:(?:(?:"+e.src_domain+")\\.)*"+e.src_domain+"))",e.tpl_host_fuzzy="(?:"+e.src_ip4+"|(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%)))",e.tpl_host_no_ip_fuzzy="(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))",e.src_host_strict=e.src_host+e.src_host_terminator,e.tpl_host_fuzzy_strict=e.tpl_host_fuzzy+e.src_host_terminator,e.src_host_port_strict=e.src_host+e.src_port+e.src_host_terminator,e.tpl_host_port_fuzzy_strict=e.tpl_host_fuzzy+e.src_port+e.src_host_terminator,e.tpl_host_port_no_ip_fuzzy_strict=e.tpl_host_no_ip_fuzzy+e.src_port+e.src_host_terminator,e.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+e.src_ZPCc+"|>|$))",e.tpl_email_fuzzy="(^|"+r+'|"|\\(|'+e.src_ZCc+")("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")",e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")",e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")",e}),T}function $(t){var e=Array.prototype.slice.call(arguments,1);return e.forEach(function(r){r&&Object.keys(r).forEach(function(n){t[n]=r[n]})}),t}function j(t){return Object.prototype.toString.call(t)}function pe(t){return j(t)==="[object String]"}function de(t){return j(t)==="[object Object]"}function ge(t){return j(t)==="[object RegExp]"}function H(t){return j(t)==="[object Function]"}function me(t){return t.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var U={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function De(t){return Object.keys(t||{}).reduce(function(e,r){return e||U.hasOwnProperty(r)},!1)}var xe={"http:":{validate:function(t,e,r){var n=t.slice(e);return r.re.http||(r.re.http=new RegExp("^\\/\\/"+r.re.src_auth+r.re.src_host_port_strict+r.re.src_path,"i")),r.re.http.test(n)?n.match(r.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(t,e,r){var n=t.slice(e);return r.re.no_http||(r.re.no_http=new RegExp("^"+r.re.src_auth+"(?:localhost|(?:(?:"+r.re.src_domain+")\\.)+"+r.re.src_domain_root+")"+r.re.src_port+r.re.src_host_terminator+r.re.src_path,"i")),r.re.no_http.test(n)?e>=3&&t[e-3]===":"||e>=3&&t[e-3]==="/"?0:n.match(r.re.no_http)[0].length:0}},"mailto:":{validate:function(t,e,r){var n=t.slice(e);return r.re.mailto||(r.re.mailto=new RegExp("^"+r.re.src_email_name+"@"+r.re.src_host_strict,"i")),r.re.mailto.test(n)?n.match(r.re.mailto)[0].length:0}}},Fe="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",ve="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function Ee(t){t.__index__=-1,t.__text_cache__=""}function be(t){return function(e,r){var n=e.slice(r);return t.test(n)?n.match(t)[0].length:0}}function W(){return function(t,e){e.normalize(t)}}function w(t){var e=t.re=fe()(t.__opts__),r=t.__tlds__.slice();t.onCompile(),t.__tlds_replaced__||r.push(Fe),r.push(e.src_xn),e.src_tlds=r.join("|");function n(o){return o.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(n(e.tpl_email_fuzzy),"i"),e.link_fuzzy=RegExp(n(e.tpl_link_fuzzy),"i"),e.link_no_ip_fuzzy=RegExp(n(e.tpl_link_no_ip_fuzzy),"i"),e.host_fuzzy_test=RegExp(n(e.tpl_host_fuzzy_test),"i");var s=[];t.__compiled__={};function l(o,a){throw new Error('(LinkifyIt) Invalid schema "'+o+'": '+a)}Object.keys(t.__schemas__).forEach(function(o){var a=t.__schemas__[o];if(a!==null){var i={validate:null,link:null};if(t.__compiled__[o]=i,de(a)){ge(a.validate)?i.validate=be(a.validate):H(a.validate)?i.validate=a.validate:l(o,a),H(a.normalize)?i.normalize=a.normalize:a.normalize?l(o,a):i.normalize=W();return}if(pe(a)){s.push(o);return}l(o,a)}}),s.forEach(function(o){t.__compiled__[t.__schemas__[o]]&&(t.__compiled__[o].validate=t.__compiled__[t.__schemas__[o]].validate,t.__compiled__[o].normalize=t.__compiled__[t.__schemas__[o]].normalize)}),t.__compiled__[""]={validate:null,normalize:W()};var u=Object.keys(t.__compiled__).filter(function(o){return o.length>0&&t.__compiled__[o]}).map(me).join("|");t.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+u+")","i"),t.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+u+")","ig"),t.re.pretest=RegExp("("+t.re.schema_test.source+")|("+t.re.host_fuzzy_test.source+")|@","i"),Ee(t)}function Ce(t,e){var r=t.__index__,n=t.__last_index__,s=t.__text_cache__.slice(r,n);this.schema=t.__schema__.toLowerCase(),this.index=r+e,this.lastIndex=n+e,this.raw=s,this.text=s,this.url=s}function G(t,e){var r=new Ce(t,e);return t.__compiled__[r.schema].normalize(r,t),r}function x(t,e){if(!(this instanceof x))return new x(t,e);e||De(t)&&(e=t,t={}),this.__opts__=$({},U,e),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=$({},xe,t),this.__compiled__={},this.__tlds__=ve,this.__tlds_replaced__=!1,this.re={},w(this)}x.prototype.add=function(e,r){return this.__schemas__[e]=r,w(this),this};x.prototype.set=function(e){return this.__opts__=$(this.__opts__,e),this};x.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var r,n,s,l,u,o,a,i,d;if(this.re.schema_test.test(e)){for(a=this.re.schema_search,a.lastIndex=0;(r=a.exec(e))!==null;)if(l=this.testSchemaAt(e,r[2],a.lastIndex),l){this.__schema__=r[2],this.__index__=r.index+r[1].length,this.__last_index__=r.index+r[0].length+l;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(i=e.search(this.re.host_fuzzy_test),i>=0&&(this.__index__<0||i<this.__index__)&&(n=e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))!==null&&(u=n.index+n[1].length,(this.__index__<0||u<this.__index__)&&(this.__schema__="",this.__index__=u,this.__last_index__=n.index+n[0].length))),this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]&&(d=e.indexOf("@"),d>=0&&(s=e.match(this.re.email_fuzzy))!==null&&(u=s.index+s[1].length,o=s.index+s[0].length,(this.__index__<0||u<this.__index__||u===this.__index__&&o>this.__last_index__)&&(this.__schema__="mailto:",this.__index__=u,this.__last_index__=o))),this.__index__>=0};x.prototype.pretest=function(e){return this.re.pretest.test(e)};x.prototype.testSchemaAt=function(e,r,n){return this.__compiled__[r.toLowerCase()]?this.__compiled__[r.toLowerCase()].validate(e,n,this):0};x.prototype.match=function(e){var r=0,n=[];this.__index__>=0&&this.__text_cache__===e&&(n.push(G(this,r)),r=this.__last_index__);for(var s=r?e.slice(r):e;this.test(s);)n.push(G(this,r)),s=s.slice(this.__last_index__),r+=this.__last_index__;return n.length?n:null};x.prototype.tlds=function(e,r){return e=Array.isArray(e)?e:[e],r?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(n,s,l){return n!==l[s-1]}).reverse(),w(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,w(this),this)};x.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url="mailto:"+e.url)};x.prototype.onCompile=function(){};var ye=x,ze=C&&C.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ae=C&&C.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),we=C&&C.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&ze(r,e,n[s]);return Ae(r,e),r}}(),K=C&&C.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(V,"__esModule",{value:!0});var ke=V.default=Ne;const je=K(ie),Re=oe,Oe=K(ye),b=we(F);function Be(t,e=!1){return t=(0,Re.escapeCarriageReturn)(Ie(t)),je.default.ansiToJson(t,{json:!0,remove_empty:!0,use_classes:e})}function Se(t){let e="";return t.bg&&(e+=`${t.bg}-bg `),t.fg&&(e+=`${t.fg}-fg `),t.decoration&&(e+=`ansi-${t.decoration} `),e===""?null:(e=e.substring(0,e.length-1),e)}function Le(t){const e={};switch(t.bg&&(e.backgroundColor=`rgb(${t.bg})`),t.fg&&(e.color=`rgb(${t.fg})`),t.decoration){case"bold":e.fontWeight="bold";break;case"dim":e.opacity="0.5";break;case"italic":e.fontStyle="italic";break;case"hidden":e.visibility="hidden";break;case"strikethrough":e.textDecoration="line-through";break;case"underline":e.textDecoration="underline";break;case"blink":e.textDecoration="blink";break}return e}function Te(t,e,r,n){const s=e?null:Le(r),l=e?Se(r):null;return t?t==="fuzzy"?Pe(r,n,s,l):$e(r,n,s,l):b.createElement("span",{style:s,key:n,className:l},r.content)}function $e(t,e,r,n){const s=[],l=/(\s|^)(https?:\/\/(?:www\.|(?!www))[^\s.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/g;let u=0,o;for(;(o=l.exec(t.content))!==null;){const[,a,i]=o,d=o.index+a.length;d>u&&s.push(t.content.substring(u,d));const c=i.startsWith("www.")?`http://${i}`:i;s.push(b.createElement("a",{key:u,href:c,target:"_blank"},`${i}`)),u=l.lastIndex}return u<t.content.length&&s.push(t.content.substring(u)),b.createElement("span",{style:r,key:e,className:n},s)}function Pe(t,e,r,n){var s;const l=(0,Oe.default)({fuzzyEmail:!1}).tlds(["io"],!0);if(!l.pretest(t.content))return b.createElement("span",{style:r,key:e,className:n},t.content);const u=l.match(t.content);if(!u)return b.createElement("span",{style:r,key:e,className:n},t.content);const o=[t.content.substring(0,(s=u[0])===null||s===void 0?void 0:s.index)];return u.forEach((a,i)=>{var d;o.push(b.createElement("a",{href:a.url,target:"_blank",key:i},t.content.substring(a.index,a.lastIndex))),u[i+1]&&o.push(t.content.substring(u[i].lastIndex,(d=u[i+1])===null||d===void 0?void 0:d.index))}),u[u.length-1].lastIndex!==t.content.length&&o.push(t.content.substring(u[u.length-1].lastIndex,t.content.length)),b.createElement("span",{style:r,key:e,className:n},o)}function Ne(t){const{className:e,useClasses:r,children:n,linkify:s}=t;return b.createElement("code",{className:e},Be(n??"",r??!1).map(Te.bind(null,s??!1,r??!1)))}function Ie(t){let e=t;do t=e,e=t.replace(/[^\n]\x08/gm,"");while(e.length<t.length);return t}function Ze(t){return/^\[(ERROR|FATAL)\]/.test(t)||/^ERROR\b/.test(t)?"text-red-400":/^\[(WARN|WARNING)\]/.test(t)||/^WARN(ING)?\b/.test(t)?"text-amber-400":/^\[DEBUG\]/.test(t)||/^DEBUG\b/.test(t)?"text-sky-400":/^\[(INFO|DOWNLOAD|PROGRESS)\]/.test(t)||/^INFO\b/.test(t)?"text-emerald-400":"text-zinc-200"}function qe(){const[t,e]=F.useState([]),[r,n]=F.useState({state:"idle",recipe:null,code:null}),[s,l]=F.useState([]),[u,o]=F.useState(""),[a,i]=F.useState(!0),d=F.useRef(""),c=F.useRef(null);F.useEffect(()=>{fetch("/__just/recipes",{cache:"no-store"}).then(f=>f.json()).then(f=>{e(f),f[0]&&o(f[0].name)}),fetch("/__config").then(f=>f.json()).then(f=>{d.current=f.stopToken??""});const _=new EventSource("/__just/logs");return _.onmessage=f=>{try{const p=JSON.parse(f.data);p.type==="log"?l(Q=>{const R=[...Q,p.text];return R.length>1e3?R.slice(-1e3):R}):p.type==="clear"?l([]):p.type==="state"&&n({state:p.state,recipe:p.recipe,code:p.code})}catch{}},_.onerror=()=>{_.close()},()=>_.close()},[]),F.useEffect(()=>{a&&c.current&&(c.current.scrollTop=c.current.scrollHeight)},[s,a]);const D=()=>{const _=c.current;_&&i(_.scrollHeight-_.scrollTop-_.clientHeight<40)},m=_=>{const f=_==="stop"?"{}":JSON.stringify({recipe:u});fetch(`/__just/${_}`,{method:"POST",headers:{"x-stop-token":d.current},body:f}).then(p=>p.json()).then(p=>n(p)).catch(p=>console.error("[zdashboard] just action failed:",p)),_!=="stop"&&i(!0)},g=r.state==="running"?"bg-green-500":r.state==="exited"&&r.code?"bg-red-500":"bg-muted-foreground",v=r.state==="running"?`运行中 · ${r.recipe??""}`:r.state==="exited"?`已退出${r.code!=null?` (code ${r.code})`:""}`:"未运行";return h.jsxs("div",{className:"h-full flex flex-col bg-[#0d1117] rounded-lg border overflow-hidden",children:[h.jsxs("div",{className:"flex-none flex items-center gap-2 px-3 h-11 border-b border-white/10 text-xs text-zinc-300",children:[h.jsx("span",{className:`h-2 w-2 rounded-full flex-none ${g}`}),h.jsx("span",{className:"text-zinc-400 truncate",children:v}),h.jsx("select",{value:r.recipe&&r.state==="running"?r.recipe:u,onChange:_=>o(_.target.value),disabled:r.state==="running",className:"h-7 rounded bg-white/5 border border-white/15 px-1.5 text-zinc-200 focus:outline-none disabled:opacity-50",children:t.map(_=>h.jsxs("option",{value:_.name,className:"bg-[#161b22]",children:[_.name,_.description?` — ${_.description}`:""]},_.name))}),h.jsxs("div",{className:"ml-auto flex items-center gap-1.5",children:[r.state==="running"?h.jsxs(A,{size:"sm",variant:"secondary",className:"h-7 gap-1 px-2.5 text-xs",onClick:()=>m("stop"),children:[h.jsx(se,{className:"h-3 w-3"}),"停止"]}):h.jsxs(A,{size:"sm",variant:"secondary",className:"h-7 gap-1 px-2.5 text-xs",onClick:()=>m("start"),disabled:!u,children:[h.jsx(te,{className:"h-3 w-3"}),"启动"]}),h.jsxs(A,{size:"sm",variant:"ghost",className:"h-7 gap-1 px-2.5 text-xs text-zinc-300 hover:text-zinc-100 hover:bg-white/10",onClick:()=>m("restart"),disabled:!r.recipe&&!u,children:[h.jsx(re,{className:"h-3 w-3"}),"重启"]}),h.jsxs(A,{size:"sm",variant:"ghost",className:"h-7 gap-1 px-2.5 text-xs text-zinc-300 hover:text-zinc-100 hover:bg-white/10",onClick:()=>l([]),children:[h.jsx(ee,{className:"h-3 w-3"}),"清屏"]})]})]}),h.jsxs("div",{ref:c,onScroll:D,className:"flex-1 min-h-0 overflow-auto p-3 font-mono text-xs leading-relaxed text-zinc-200",children:[s.length===0&&h.jsx("p",{className:"text-zinc-500",children:"选择 recipe 点「启动」,日志会实时流到这里。"}),s.map((_,f)=>{const p=_.replace(/\r?\n$/,"");return h.jsx("div",{className:"whitespace-pre-wrap break-all min-h-[1.25rem]",children:/\x1b\[/.test(p)?h.jsx(ke,{children:p}):h.jsx("span",{className:Ze(p),children:p})},f)})]}),!a&&h.jsxs("button",{onClick:()=>{i(!0),c.current&&(c.current.scrollTop=c.current.scrollHeight)},className:"absolute bottom-16 right-8 z-10 flex items-center gap-1 px-2.5 h-7 rounded-full bg-zinc-700 text-white text-xs shadow-lg hover:bg-zinc-600",children:[h.jsx(Y,{className:"h-3 w-3"}),"回到底部"]})]})}function Me(){return h.jsx(qe,{})}const Je=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"})),We={mode:"just",label:"Just Runner",icon:"📜",description:"Just 任务日志与执行",Workspace:F.lazy(()=>X(()=>Promise.resolve().then(()=>Je),void 0))};export{Me as JustWorkspace,We as default};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import{c as g,r as a,u as P,j as e,_ as $}from"./index-Deg587va.js";import{r as L,a as U,b as V,c as W,d as X,e as q,f as F}from"./katex.min-D64GJ8fh.js";import{M as B,r as G}from"./index-BRLQFQ6k.js";/**
|
|
2
|
-
* @license lucide-react v0.460.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const _=g("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
|
|
7
|
-
* @license lucide-react v0.460.0 - ISC
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the ISC license.
|
|
10
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const H=g("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
|
|
12
|
-
* @license lucide-react v0.460.0 - ISC
|
|
13
|
-
*
|
|
14
|
-
* This source code is licensed under the ISC license.
|
|
15
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const J=g("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
|
|
17
|
-
* @license lucide-react v0.460.0 - ISC
|
|
18
|
-
*
|
|
19
|
-
* This source code is licensed under the ISC license.
|
|
20
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const K=g("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
|
|
22
|
-
* @license lucide-react v0.460.0 - ISC
|
|
23
|
-
*
|
|
24
|
-
* This source code is licensed under the ISC license.
|
|
25
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/const Y=g("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/**
|
|
27
|
-
* @license lucide-react v0.460.0 - ISC
|
|
28
|
-
*
|
|
29
|
-
* This source code is licensed under the ISC license.
|
|
30
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
31
|
-
*/const C=g("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Q={draft:"bg-zinc-500 text-white",reviewing:"bg-amber-500 text-white",passed:"bg-emerald-600 text-white",rejected:"bg-red-500 text-white"},Z={draft:"草案",reviewing:"评审中",passed:"已通过",rejected:"未通过"},ee=[{key:"all",label:"全部"},{key:"open",label:"待处理"},{key:"answered",label:"已答复"},{key:"accepted",label:"已采纳"},{key:"dismissed",label:"已驳回"}],T={high:"bg-red-500",medium:"bg-amber-500",low:"bg-sky-500"},te={high:"高",medium:"中",low:"低"},E={open:"bg-red-500/15 text-red-600 dark:text-red-400 border-red-500/30",answered:"bg-sky-500/15 text-sky-600 dark:text-sky-400 border-sky-500/30",accepted:"bg-emerald-500/15 text-emerald-600 dark:text-emerald-400 border-emerald-500/30",dismissed:"bg-muted text-muted-foreground border-border"},M={open:"待处理",answered:"已答复",accepted:"已采纳",dismissed:"已驳回"};function se({children:t}){const d=a.useRef(null),[u,o]=a.useState(!1),c=async()=>{var r;const i=((r=d.current)==null?void 0:r.innerText)??"";try{await navigator.clipboard.writeText(i),o(!0),setTimeout(()=>o(!1),1500)}catch(l){console.error("[zdashboard] clipboard copy failed:",l)}};return e.jsxs("div",{className:"not-prose relative my-4 group",children:[e.jsx("button",{onClick:c,className:"absolute right-2 top-2 z-10 px-2 py-0.5 rounded border border-border bg-background/80 text-[11px] opacity-0 group-hover:opacity-100 transition-opacity",children:u?"已复制":"复制"}),e.jsx("pre",{ref:d,className:"overflow-auto rounded-md border bg-[#0d1117] p-3 text-xs leading-relaxed",children:t})]})}function re({path:t}){const[d,u]=a.useState(null);if(a.useEffect(()=>{let r=!0;return fetch("/"+encodeURI(t),{cache:"no-store"}).then(l=>l.text()).then(l=>{r&&u(l)}).catch(()=>{r&&u("")}),()=>{r=!1}},[t]),d===null)return e.jsx("p",{className:"p-3 text-xs text-muted-foreground",children:"加载中…"});const o=d.match(/^---\n([\s\S]*?)\n---\n?/),c=(o==null?void 0:o[1])??null,i=c?d.slice(o[0].length):d;return e.jsxs("div",{className:"prose dark:prose-invert mx-auto max-w-3xl p-8 prose-headings:scroll-mt-4 prose-pre:bg-transparent prose-pre:p-0 prose-pre:m-0",children:[c&&e.jsxs("details",{className:"not-prose mb-4 rounded border p-3 text-sm",children:[e.jsx("summary",{className:"cursor-pointer font-medium",children:"YAML frontmatter"}),e.jsx("pre",{className:"mt-2 whitespace-pre-wrap text-xs",children:c})]}),e.jsx(B,{remarkPlugins:[G,q,F],rehypePlugins:[L,U,[V,{behavior:"wrap",properties:{className:["no-underline"]}}],[W,{detect:!0,ignoreMissing:!0}],[X,{strict:!1}]],components:{pre:({children:r})=>e.jsx(se,{children:r}),a:({href:r,children:l})=>{const m=r==null?void 0:r.startsWith("http");return e.jsx("a",{href:r,target:m?"_blank":void 0,rel:m?"noreferrer noopener":void 0,children:l})}},children:i})]})}function ae({item:t,token:d,onUpdated:u}){const[o,c]=a.useState(t.answer??"");a.useEffect(()=>c(t.answer??""),[t.id,t.answer]);const i=async x=>{const h=await fetch("/__review/item",{method:"POST",headers:{"x-stop-token":d,"Content-Type":"application/json"},body:JSON.stringify({id:t.id,...x})});h.ok&&u(await h.json())},r=x=>x==="open"?{state:x,answer:o}:x==="answered"?{state:x,answer:o}:{state:x,answer:o||t.answer},l=t.state==="accepted"||t.state==="dismissed",m=l?t.state==="accepted"?"已采纳 — 可撤销后重新处理":"已驳回 — 可撤销后重新处理":t.state==="open"?"答复后可采纳或驳回,或直接采纳/驳回":"确认答复后采纳,或驳回 / 撤销";return e.jsxs("div",{className:"rounded-lg border bg-background shadow-sm overflow-hidden",children:[e.jsxs("div",{className:"flex items-center gap-2 px-3 pt-2.5 text-[11px] text-muted-foreground",children:[t.severity&&e.jsx("span",{className:`h-2 w-2 rounded-full ${T[t.severity]??"bg-muted-foreground"}`}),e.jsx("span",{className:"font-medium",children:t.category??"通用"}),t.severity&&e.jsx("span",{children:te[t.severity]??t.severity}),e.jsx("span",{className:`ml-auto px-1.5 py-0.5 rounded border text-[10px] font-medium ${E[t.state]??""}`,children:M[t.state]})]}),e.jsx("p",{className:"px-3 py-2 text-sm leading-relaxed",children:t.question}),e.jsxs("div",{className:"px-3 pb-3 flex flex-col gap-2",children:[e.jsx("textarea",{value:o,onChange:x=>c(x.target.value),placeholder:"答复 / 补充说明…",rows:2,className:"w-full rounded border border-border bg-background px-2 py-1.5 text-xs focus:outline-none focus:border-primary resize-y"}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[t.state==="accepted"?e.jsxs("span",{className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-emerald-500/15 text-emerald-600 dark:text-emerald-400 text-xs font-medium",children:[e.jsx(_,{className:"h-3 w-3"}),"已采纳"]}):t.state==="dismissed"?e.jsxs("span",{className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-muted text-muted-foreground text-xs font-medium",children:[e.jsx(C,{className:"h-3 w-3"}),"已驳回"]}):e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>i(r("answered")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-sky-600 hover:bg-sky-500 text-white text-xs",children:[e.jsx(Y,{className:"h-3 w-3"}),t.state==="answered"?"更新答复":"答复"]}),e.jsxs("button",{onClick:()=>i(r("accepted")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-emerald-600 hover:bg-emerald-500 text-white text-xs",children:[e.jsx(_,{className:"h-3 w-3"}),"采纳"]}),e.jsxs("button",{onClick:()=>i(r("dismissed")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-muted hover:bg-muted/70 text-xs",children:[e.jsx(C,{className:"h-3 w-3"}),"驳回"]})]}),l&&e.jsxs("button",{onClick:()=>i(r("open")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-muted hover:bg-muted/70 text-xs",children:[e.jsx(K,{className:"h-3 w-3"}),"撤销"]}),e.jsx("span",{className:"ml-auto text-[10px] text-muted-foreground",children:m})]})]})]})}function ne(){const[t,d]=a.useState(null),[u,o]=a.useState([]),[c,i]=a.useState(null),[r,l]=a.useState(null),[m,x]=a.useState(""),[h,R]=a.useState("all"),[j,w]=a.useState(!0),[k,v]=a.useState(""),z=a.useRef(!1),N=()=>{fetch("/__review",{cache:"no-store"}).then(s=>s.json()).then(d),fetch("/__docs",{cache:"no-store"}).then(s=>s.json()).then(s=>{o(s),i(n=>n&&s.includes(n)?n:s[0]??null)})};a.useEffect(()=>{N(),fetch("/__config").then(s=>s.json()).then(s=>x(s.stopToken??""))},[]),P(()=>{},N,z);const f={all:0,open:0,answered:0,accepted:0,dismissed:0};for(const s of(t==null?void 0:t.items)??[])f.all++,f[s.state]++;const S=a.useMemo(()=>{const s=new Map;for(const p of(t==null?void 0:t.items)??[]){if(h!=="all"&&p.state!==h)continue;const b=p.doc??null;s.has(b)||s.set(b,[]),s.get(b).push(p)}const n=p=>p??"(未关联文档)";return[...s.entries()].sort((p,b)=>n(p[0]).localeCompare(n(b[0]))).map(([p,b])=>({doc:p,label:n(p),items:b.sort((D,I)=>({high:0,medium:1,low:2})[D.severity??"medium"]-{high:0,medium:1,low:2}[I.severity??"medium"])}))},[t,h]),y=((t==null?void 0:t.items)??[]).find(s=>s.id===r)??null,A=s=>{l(s.id),i(s.doc??null)},O=async()=>{v("");const s=await fetch("/__review/status",{method:"POST",headers:{"x-stop-token":m,"Content-Type":"application/json"},body:'{"status":"passed"}'});s.ok?d(await s.json()):v((await s.json()).error??"failed")};return e.jsxs("div",{className:"flex h-full",children:[e.jsxs("aside",{className:"w-[240px] flex-none border-r bg-background overflow-auto",children:[e.jsx("div",{className:"px-3 pt-3 pb-1.5 flex flex-wrap gap-1",children:ee.map(s=>e.jsxs("button",{onClick:()=>R(s.key),className:`px-1.5 py-0.5 rounded text-[11px] border ${h===s.key?"bg-primary text-primary-foreground border-primary":"border-border hover:bg-muted text-muted-foreground"}`,children:[s.label," ",f[s.key]]},s.key))}),e.jsx("div",{className:"px-3 pb-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"文档 · 评审项"}),S.length===0&&e.jsx("p",{className:"px-3 py-2 text-xs text-muted-foreground",children:"无评审项"}),S.map(s=>e.jsxs("div",{children:[e.jsxs("div",{className:"px-3 py-1 text-[11px] font-medium text-muted-foreground flex items-center gap-1.5",children:[e.jsx("span",{className:"truncate",children:s.label}),e.jsx("span",{className:"ml-auto font-mono text-[10px]",children:s.items.length})]}),s.items.map(n=>e.jsxs("button",{onClick:()=>A(n),className:`w-full text-left px-3 py-1.5 text-xs border-l-2 flex items-center gap-1.5 hover:bg-muted ${r===n.id?"bg-muted font-medium border-primary":"border-transparent text-muted-foreground"}`,children:[n.severity&&e.jsx("span",{className:`h-1.5 w-1.5 rounded-full shrink-0 ${T[n.severity]??""}`}),e.jsx("span",{className:"truncate",children:n.question}),e.jsx("span",{className:`ml-auto shrink-0 text-[9px] px-1 rounded ${E[n.state]??""}`,children:M[n.state]})]},n.id))]},s.doc??"(none)"))]}),e.jsxs("div",{className:"flex-1 min-h-0 flex flex-col",children:[e.jsxs("div",{className:"flex-none flex items-center gap-2 px-3.5 border-b bg-background",children:[t&&e.jsx("span",{className:`px-2 py-0.5 rounded text-[11px] font-medium ${Q[t.status]??""}`,children:Z[t.status]??t.status}),f.open>0&&e.jsxs("span",{className:"text-[11px] text-muted-foreground",children:["还有 ",f.open," 项待处理"]}),e.jsx("button",{onClick:O,disabled:!t||t.status==="passed"||f.open>0,className:"ml-auto h-7 px-3 rounded bg-emerald-600 hover:bg-emerald-500 disabled:opacity-50 disabled:cursor-not-allowed text-white text-xs",children:"通过"})]}),k&&e.jsx("div",{className:"bg-red-500/10 text-red-600 dark:text-red-400 text-xs px-3.5 py-1.5 border-b border-red-500/20",children:k}),e.jsxs("div",{className:"flex-1 min-h-0 flex flex-col",children:[j&&e.jsxs("div",{className:"flex-1 min-h-0 overflow-auto border-b bg-background relative",children:[e.jsx("button",{onClick:()=>w(!1),title:"收起文档",className:"absolute right-2 top-2 z-10 h-6 px-2 rounded border border-border bg-background/80 text-xs hover:bg-muted",children:e.jsx(H,{className:"h-3.5 w-3.5"})}),c?e.jsx(re,{path:c}):e.jsx("p",{className:"p-6 text-sm text-muted-foreground",children:"在左侧选择评审项"})]}),e.jsxs("div",{className:j?"flex-none h-[42%] border-b overflow-auto p-3 flex flex-col gap-3":"flex-1 min-h-0 overflow-auto p-3 flex flex-col gap-3",style:j?void 0:{backgroundImage:"radial-gradient(circle at 1px 1px, hsl(var(--border)) 1px, transparent 0)",backgroundSize:"20px 20px"},children:[!j&&e.jsxs("button",{onClick:()=>w(!0),title:"展开文档",className:"self-start inline-flex items-center gap-1 h-6 px-2 rounded border border-border bg-background text-xs hover:bg-muted",children:[e.jsx(J,{className:"h-3.5 w-3.5"}),"展开文档"]}),y?e.jsx(ae,{item:y,token:m,onUpdated:d},y.id):e.jsx("p",{className:"text-xs text-muted-foreground text-center pt-6",children:"在左侧选择一个评审项"})]})]})]})]})}function oe(){return e.jsx(ne,{})}const de=Object.freeze(Object.defineProperty({__proto__:null,default:oe},Symbol.toStringTag,{value:"Module"})),xe={mode:"review",label:"文档评审",icon:"✅",description:"评审项状态流转 · zreview",Workspace:a.lazy(()=>$(()=>Promise.resolve().then(()=>de),void 0))};export{oe as ReviewWorkspace,xe as default};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{c as N,r as l,j as e,_ as v}from"./index-Deg587va.js";import{F as m}from"./file-text-D4672ckY.js";import{M as f,r as g}from"./index-BRLQFQ6k.js";/**
|
|
2
|
-
* @license lucide-react v0.460.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const k=N("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);function y(s,t){return t===0?0:Math.round(s/t*100)}function j({done:s,total:t}){const n=y(s,t),d=n===100?"bg-emerald-500/10 text-emerald-600 border-emerald-500/30":n>0?"bg-amber-500/10 text-amber-600 border-amber-500/30":"bg-muted text-muted-foreground border-border";return e.jsxs("span",{className:`inline-flex items-center px-1.5 py-0.5 rounded border text-[10px] font-mono ${d}`,children:[s,"/",t," · ",n,"%"]})}function w({tasks:s}){const t=s.split(`
|
|
7
|
-
`).filter(n=>n.trim().startsWith("- ["));return t.length?e.jsx("ul",{className:"space-y-1 text-xs",children:t.map((n,d)=>{const r=/- \[[xX]\]/.test(n),c=n.replace(/^-\s*\[[ xX]\]\s*/,"");return e.jsxs("li",{className:`flex items-start gap-2 ${r?"text-foreground":"text-muted-foreground"}`,children:[r?e.jsx("span",{className:"mt-0.5 h-3.5 w-3.5 shrink-0 rounded-full bg-emerald-500 text-white flex items-center justify-center text-[8px]",children:"✓"}):e.jsx("span",{className:"mt-0.5 h-3.5 w-3.5 shrink-0 rounded-full border border-muted-foreground/50"}),e.jsx("span",{children:c})]},d)})}):e.jsx("p",{className:"text-xs text-muted-foreground",children:"无 tasks.md"})}function _({item:s,onSelect:t}){return e.jsxs("button",{type:"button",onClick:t,className:"w-full text-left rounded-lg border bg-card p-4 hover:bg-muted/50 transition-colors",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(k,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"text-sm font-medium font-mono truncate",children:s.name}),e.jsx(j,{done:s.done,total:s.total})]}),e.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-muted-foreground",children:[e.jsx("span",{className:s.hasProposal?"text-foreground":"",children:"proposal"}),e.jsx("span",{className:s.hasDesign?"text-foreground":"",children:"design"})]})]})}function S(){const[s,t]=l.useState([]),[n,d]=l.useState(null),[r,c]=l.useState(null),[x,o]=l.useState(!0),[u,p]=l.useState(null),h=l.useCallback(()=>{o(!0),d(null),c(null),fetch("/__apply",{cache:"no-store"}).then(a=>a.json()).then(t).catch(a=>p(a.message)).finally(()=>o(!1))},[]);l.useEffect(()=>{h()},[h]);const b=l.useCallback(a=>{o(!0),d(a),fetch(`/__apply/change?name=${encodeURIComponent(a)}`,{cache:"no-store"}).then(i=>i.json()).then(c).catch(i=>p(i.message)).finally(()=>o(!1))},[]);return x&&!s.length?e.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"mx-auto mb-3.5 grid h-14 w-14 place-items-center rounded-[14px] bg-primary text-primary-foreground text-2xl font-bold animate-pulse",children:"⚙️"}),e.jsx("p",{children:"加载执行进度…"})]})}):u?e.jsx("div",{className:"flex h-full items-center justify-center text-destructive",children:e.jsx("p",{children:u})}):e.jsxs("div",{className:"mx-auto max-w-5xl h-full flex flex-col bg-background border rounded-lg shadow-sm overflow-hidden",children:[e.jsxs("div",{className:"flex-none px-4 py-3 border-b flex items-center gap-2",children:[e.jsx("span",{className:"text-sm font-medium",children:"OpenSpec 执行进度"}),e.jsx("span",{className:"ml-auto text-[11px] text-muted-foreground",children:"openspec/changes/"})]}),e.jsxs("div",{className:"flex-1 min-h-0 overflow-auto p-4 space-y-4",children:[s.length?e.jsx("div",{className:"grid gap-3 sm:grid-cols-2",children:s.map(a=>e.jsx(_,{item:a,onSelect:()=>b(a.name)},a.name))}):e.jsxs("div",{className:"text-center text-muted-foreground py-8",children:[e.jsx("p",{className:"text-sm",children:"没有进行中的 change"}),e.jsx("p",{className:"text-xs mt-1",children:"在 openspec/changes/ 下创建 change 后会显示在这里"})]}),n&&r&&!x&&e.jsxs("section",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"text-sm font-medium",children:r.name}),e.jsx(j,{done:r.done,total:r.total})]}),r.proposal&&e.jsxs("div",{children:[e.jsxs("h4",{className:"text-xs font-medium text-muted-foreground mb-2 flex items-center gap-1",children:[e.jsx(m,{className:"h-3 w-3"})," proposal.md"]}),e.jsx("div",{className:"prose dark:prose-invert max-w-none text-xs border rounded-lg p-3 bg-card",children:e.jsx(f,{remarkPlugins:[g],children:r.proposal})})]}),r.design&&e.jsxs("div",{children:[e.jsxs("h4",{className:"text-xs font-medium text-muted-foreground mb-2 flex items-center gap-1",children:[e.jsx(m,{className:"h-3 w-3"})," design.md"]}),e.jsx("div",{className:"prose dark:prose-invert max-w-none text-xs border rounded-lg p-3 bg-card",children:e.jsx(f,{remarkPlugins:[g],children:r.design})})]}),e.jsxs("div",{children:[e.jsxs("h4",{className:"text-xs font-medium text-muted-foreground mb-2 flex items-center gap-1",children:[e.jsx(m,{className:"h-3 w-3"})," tasks.md"]}),e.jsx("div",{className:"border rounded-lg p-3 bg-card",children:e.jsx(w,{tasks:r.tasks})})]})]})]})]})}function P(){return e.jsx(S,{})}const C=Object.freeze(Object.defineProperty({__proto__:null,default:P},Symbol.toStringTag,{value:"Module"})),W={mode:"apply",label:"执行进度",icon:"⚙️",description:"OpenSpec change 执行进度 · zapply",Workspace:l.lazy(()=>v(()=>Promise.resolve().then(()=>C),void 0))};export{P as ApplyWorkspace,W as default};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import{c as u,r as o,u as k,j as e,_ as N}from"./index-Deg587va.js";import{M as w}from"./MdViewer-DHLa9u9L.js";import"./katex.min-D64GJ8fh.js";import"./index-BRLQFQ6k.js";/**
|
|
2
|
-
* @license lucide-react v0.460.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const S=u("ImageOff",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]]);/**
|
|
7
|
-
* @license lucide-react v0.460.0 - ISC
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the ISC license.
|
|
10
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const $=u("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/**
|
|
12
|
-
* @license lucide-react v0.460.0 - ISC
|
|
13
|
-
*
|
|
14
|
-
* This source code is licensed under the ISC license.
|
|
15
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const V=u("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);/**
|
|
17
|
-
* @license lucide-react v0.460.0 - ISC
|
|
18
|
-
*
|
|
19
|
-
* This source code is licensed under the ISC license.
|
|
20
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const I=u("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);/**
|
|
22
|
-
* @license lucide-react v0.460.0 - ISC
|
|
23
|
-
*
|
|
24
|
-
* This source code is licensed under the ISC license.
|
|
25
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/const _=u("Tablet",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["line",{x1:"12",x2:"12.01",y1:"18",y2:"18",key:"1dp563"}]]),M=[{key:"page",label:"页面"},{key:"component",label:"组件"},{key:"icon",label:"图标"},{key:"token",label:"Tokens"},{key:"md",label:"文档"},{key:"video",label:"视频"},{key:"audio",label:"音频"},{key:"pdf",label:"PDF"},{key:"code",label:"代码"},{key:"font",label:"字体"},{key:"other",label:"其他"}];function z({path:t}){return e.jsx("iframe",{src:"/"+encodeURI(t),title:"预览",className:"w-full h-full border-0 bg-white"})}function C({path:t}){const[i,c]=o.useState("-"),[x,n]=o.useState(1),[m,d]=o.useState(!1),l=t.split("/").pop(),r={backgroundImage:"linear-gradient(45deg,hsl(var(--border)) 25%,transparent 25%),linear-gradient(-45deg,hsl(var(--border)) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,hsl(var(--border)) 75%),linear-gradient(-45deg,transparent 75%,hsl(var(--border)) 75%)",backgroundSize:"16px 16px",backgroundPosition:"0 0,0 8px,8px -8px,-8px 0"};return e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:"flex-none px-4 py-2 border-b text-xs flex items-center gap-3",children:[e.jsx("span",{className:"font-mono text-foreground",children:l}),e.jsx("span",{className:"text-muted-foreground",children:i}),e.jsxs("div",{className:"ml-auto flex items-center gap-1",children:[e.jsx("button",{onClick:()=>n(s=>Math.max(.25,+(s-.25).toFixed(2))),className:"w-6 h-6 rounded bg-muted hover:bg-muted/70","aria-label":"缩小",children:"−"}),e.jsxs("span",{className:"w-10 text-center text-muted-foreground",children:[Math.round(x*100),"%"]}),e.jsx("button",{onClick:()=>n(s=>Math.min(8,+(s+.25).toFixed(2))),className:"w-6 h-6 rounded bg-muted hover:bg-muted/70","aria-label":"放大",children:"+"}),e.jsx("button",{onClick:()=>n(1),className:"ml-1 px-2 h-6 rounded bg-muted hover:bg-muted/70",children:"复位"})]})]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-auto grid place-items-center p-6",style:r,children:m?e.jsx("p",{className:"text-muted-foreground",children:"该格式无法预览"}):e.jsx("img",{src:"/"+encodeURI(t),alt:l,style:{transform:`scale(${x})`},className:"max-w-full max-h-full object-contain transition-transform",onLoad:s=>c(`${s.currentTarget.naturalWidth} × ${s.currentTarget.naturalHeight} px`),onError:()=>d(!0)})})]})}function R({path:t}){const[i,c]=o.useState('<p class="p-3 text-xs text-muted-foreground">解析中…</p>');return o.useEffect(()=>{fetch("/"+encodeURI(t),{cache:"no-store"}).then(x=>x.text()).then(x=>{const n=x.match(/--[A-Za-z0-9_-]+\s*:\s*[^;}\n]+/g)??[];if(!n.length){c('<p class="p-3 text-xs">未发现 CSS 变量</p>');return}const m=a=>/^(#([0-9a-fA-F]{3,8})\b|rgb|rgba|hsl|hsla|oklch|oklab|color\()/i.test(a.trim()),d=n.filter(a=>m(a)),l=n.filter(a=>/font|family|type/.test(a.toLowerCase())&&!m(a)),r=n.filter(a=>!d.includes(a)&&!l.includes(a));let s="";if(d.length){s+=`<div class="mb-7"><div class="mb-3 text-[11px] font-semibold uppercase text-muted-foreground">配色 · ${d.length}</div><div class="grid gap-3" style="grid-template-columns:repeat(auto-fill,minmax(150px,1fr))">`;for(const a of d)s+=`<div class="overflow-hidden rounded-lg border bg-background"><div class="h-[72px] border-b" style="background:${a}"></div><div class="px-2.5 pt-2 font-mono text-[11px] break-all">${a.split(":")[0].trim()}</div><div class="px-2.5 pb-2 text-xs text-muted-foreground">${a.split(":").slice(1).join(":").trim()}</div></div>`;s+="</div></div>"}if(l.length){s+=`<div class="mb-7"><div class="mb-3 text-[11px] font-semibold uppercase text-muted-foreground">字体 · ${l.length}</div><div class="grid gap-3" style="grid-template-columns:repeat(auto-fill,minmax(150px,1fr))">`;for(const a of l)s+=`<div class="overflow-hidden rounded-lg border bg-background"><div class="grid h-[72px] place-items-center text-2xl" style="font-family:${a.split(":").slice(1).join(":").trim()}">Aa</div><div class="px-2.5 font-mono text-[11px]">${a.split(":")[0].trim()}</div></div>`;s+="</div></div>"}if(r.length){s+=`<div class="mb-7"><div class="mb-3 text-[11px] font-semibold uppercase text-muted-foreground">其他 · ${r.length}</div><div class="flex flex-col gap-1">`;for(const a of r)s+=`<div class="flex justify-between gap-3 px-2.5 py-1.5 rounded border bg-background text-xs"><span class="font-mono">${a.split(":")[0].trim()}</span><span class="text-muted-foreground">${a.split(":").slice(1).join(":").trim()}</span></div>`;s+="</div></div>"}c(s||'<p class="p-3 text-xs">无</p>')})},[t]),e.jsx("div",{className:"p-8",dangerouslySetInnerHTML:{__html:i}})}function E({path:t}){return e.jsx("div",{className:"grid place-items-center p-8",children:e.jsx("video",{src:"/"+encodeURI(t),controls:!0,className:"max-w-full max-h-[80vh] rounded border"})})}function T({path:t}){return e.jsx("div",{className:"grid place-items-center p-8",children:e.jsx("audio",{src:"/"+encodeURI(t),controls:!0,className:"w-full max-w-2xl"})})}function U({path:t}){return e.jsx("div",{className:"grid place-items-center p-8 h-full",children:e.jsx("iframe",{src:"/"+encodeURI(t),title:"PDF",className:"w-full h-full max-h-[80vh] rounded border bg-white"})})}function h({path:t}){const[i,c]=o.useState("");return o.useEffect(()=>{fetch("/"+encodeURI(t),{cache:"no-store"}).then(x=>x.text()).then(c)},[t]),e.jsx("pre",{className:"p-6 text-xs leading-relaxed overflow-auto h-full",children:i||"加载中…"})}function P({path:t}){const[i,c]=o.useState("");return o.useEffect(()=>{c("/"+encodeURI(t))},[t]),e.jsxs("div",{className:"p-8 h-full flex flex-col gap-4",children:[e.jsxs("div",{className:"text-xs text-muted-foreground",children:["字体文件: ",t]}),e.jsxs("div",{className:"flex-1 grid place-items-center",children:[i&&e.jsx("link",{rel:"preload",as:"font",href:i,crossOrigin:"anonymous"}),e.jsx("div",{className:"text-6xl",style:{fontFamily:i?`url(${i})`:"serif"},children:"Aa 字体"})]})]})}function F({path:t}){return e.jsx("div",{className:"grid place-items-center h-full text-center text-muted-foreground",children:e.jsxs("div",{children:[e.jsx(S,{className:"h-10 w-10 mx-auto mb-3 opacity-50"}),e.jsx("p",{children:"该格式无法预览"}),e.jsx("p",{className:"mt-1 font-mono text-xs break-all",children:t})]})})}const O={page:z,icon:C,token:R,md:w,video:E,audio:T,pdf:U,code:h,component:h,font:P};function W(t){return O[t]??F}function H({mode:t,onMode:i,w:c,h:x,onW:n,onH:m}){const d=[{v:0,icon:e.jsx($,{className:"h-3.5 w-3.5"}),label:"桌面"},{v:768,icon:e.jsx(_,{className:"h-3.5 w-3.5"}),label:"768"},{v:375,icon:e.jsx(I,{className:"h-3.5 w-3.5"}),label:"375"},{v:"custom",icon:e.jsx(V,{className:"h-3.5 w-3.5"}),label:"自定义"}],l="w-[50px] h-7 px-1 text-center text-xs rounded border border-border bg-background text-foreground [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none focus:outline-none focus:border-primary";return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex items-center gap-1 rounded-md border border-border p-0.5 bg-muted",children:d.map(r=>e.jsxs("button",{onClick:()=>i(r.v),className:`h-7 gap-1.5 px-2.5 rounded text-xs inline-flex items-center ${t===r.v?"bg-secondary text-secondary-foreground":"hover:bg-muted/70"}`,children:[r.icon,e.jsx("span",{className:"hidden sm:inline",children:r.label})]},String(r.v)))}),e.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[e.jsx("input",{type:"number",value:c,min:280,max:3e3,step:8,onChange:r=>n(Number(r.target.value)),"aria-label":"自定义宽度",className:l}),e.jsx("span",{className:"text-muted-foreground/70",children:"×"}),e.jsx("input",{type:"number",value:x,min:400,max:3e3,step:8,onChange:r=>m(Number(r.target.value)),"aria-label":"自定义高度",className:l}),e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"px"})]})]})}function A({open:t,current:i,onSelect:c,refreshKey:x}){const[n,m]=o.useState(null);if(o.useEffect(()=>{fetch("/__design/assets",{cache:"no-store"}).then(l=>l.json()).then(m)},[x]),!n)return t?e.jsx("p",{className:"p-3 text-xs text-muted-foreground",children:"加载中…"}):null;let d=0;for(const l in n)d+=n[l].length;return e.jsxs("aside",{className:`border-r bg-background overflow-auto fixed sm:static z-20 h-full sm:h-auto w-[78%] max-w-[252px] sm:max-w-none sm:w-[252px] transition-transform duration-200 ${t?"translate-x-0":"-translate-x-full sm:hidden"}`,children:[e.jsxs("div",{className:"p-3 text-xs text-muted-foreground",children:[d," 个资产"]}),M.map(l=>{const r=n[l.key]??[];return r.length?e.jsxs("div",{className:"mb-1",children:[e.jsxs("div",{className:"px-3.5 pt-2 pb-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:[l.label," ",e.jsx("span",{className:"font-normal",children:r.length})]}),r.map(s=>e.jsxs("button",{onClick:()=>c(s.path,s.type),className:`w-full text-left flex items-center gap-2 px-3.5 py-1.5 text-xs border-l-2 border-transparent hover:bg-muted ${i===s.path?"bg-muted font-medium border-primary":"text-muted-foreground"}`,children:[e.jsx("span",{className:"break-all",children:s.name}),e.jsx("span",{className:"font-mono text-[10px] text-muted-foreground",children:s.ext})]},s.path))]},l.key):null})]})}function D(){const[t,i]=o.useState(null),[c,x]=o.useState(0),[n,m]=o.useState(0),[d,l]=o.useState(1024),[r,s]=o.useState(768),[a,g]=o.useState(!0),b=o.useRef(!1);k(()=>{},()=>x(f=>f+1),b);const p=t?W(t.type):null,y=n===0?"桌面":n==="custom"?`${d} × ${r}`:`${n}px`,v={backgroundImage:"radial-gradient(circle at 1px 1px, hsl(var(--border)) 1px, transparent 0)",backgroundSize:"20px 20px"};return e.jsxs("div",{className:"flex h-full",children:[e.jsx(A,{open:a,current:(t==null?void 0:t.path)??null,onSelect:(f,j)=>i({path:f,type:j}),refreshKey:c}),a&&e.jsx("div",{className:"absolute inset-0 z-10 bg-black/40 sm:hidden",onClick:()=>g(!1)}),e.jsx("section",{className:"flex-1 min-h-0 flex flex-col",children:t&&p?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"h-[38px] flex-none flex items-center justify-between px-3.5 border-b bg-background text-xs",children:[e.jsx("span",{className:"font-mono truncate",children:t.path}),e.jsx("span",{className:"text-muted-foreground ml-3 flex-none",children:y}),e.jsx(H,{mode:n,onMode:m,w:d,h:r,onW:l,onH:s})]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-auto p-6 relative",style:v,children:t.type==="page"?e.jsx("div",{className:"mx-auto bg-background border rounded-lg shadow-sm overflow-hidden",style:{maxWidth:n===0?void 0:n==="custom"?d:n,height:n==="custom"?r:"100%"},children:e.jsx(p,{path:t.path})}):e.jsx("div",{className:"mx-auto max-w-5xl h-full bg-background border rounded-lg shadow-sm overflow-auto",children:e.jsx(p,{path:t.path})})})]}):e.jsx("div",{className:"flex-1 grid place-items-center text-muted-foreground",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"mx-auto mb-3.5 grid h-14 w-14 place-items-center rounded-[14px] bg-primary text-primary-foreground text-2xl font-bold",children:"z"}),e.jsx("p",{children:"从左侧选择一个资产预览"}),e.jsx("p",{className:"mt-1 text-xs",children:"点顶栏菜单按钮展开文件树 · 改文件即时刷新"})]})})})]})}function L(){return e.jsx(D,{})}const q=Object.freeze(Object.defineProperty({__proto__:null,default:L},Symbol.toStringTag,{value:"Module"})),J={mode:"design",label:"设计资产",icon:"🎨",description:"设计资产分类浏览 · zdesign",Workspace:o.lazy(()=>N(()=>Promise.resolve().then(()=>q),void 0))};export{L as DesignWorkspace,J as default};
|