zdashboard 2.3.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +4 -3
- package/dist/cli.js.map +1 -1
- package/dist/web/assets/{FileIcon-CA7j6xAr.js → FileIcon-CDN2wCuK.js} +7 -7
- package/dist/web/assets/{FilterPills-CT9_aiMo.js → FilterPills-D_6kvZo5.js} +1 -1
- package/dist/web/assets/{MdViewer-C-qU08GL.js → MdViewer-WZMpNmB2.js} +1 -1
- package/dist/web/assets/{ProgressBar-CyYoGfrt.js → ProgressBar-DPJd_uDt.js} +1 -1
- package/dist/web/assets/{Workspace-CqK1Sdtv.js → Workspace-MeZD-u22.js} +2 -2
- package/dist/web/assets/badge-BbN-q0Cc.js +1 -0
- package/dist/web/assets/{book-open-DgUv7g0V.js → book-open-Dwx5kHtv.js} +1 -1
- package/dist/web/assets/{file-text-AM0snHQm.js → file-text-Co0hTLuo.js} +1 -1
- package/dist/web/assets/{index-BF1XYOKG.js → index-CHxXM6Fn.js} +1 -1
- package/dist/web/assets/index-Dkkxw5Oy.js +156 -0
- package/dist/web/assets/index-o5t5Kpfc.css +1 -0
- package/dist/web/assets/{web-BOZwX-p2.js → web-BYZeHggs.js} +6 -6
- package/dist/web/assets/web-BoW0qNb8.js +25 -0
- package/dist/web/assets/web-CMZAKAOi.js +7 -0
- package/dist/web/assets/{web-4IVEiPQ7.js → web-CkMm3ooW.js} +8 -8
- package/dist/web/assets/web-Dpd8wclV.js +26 -0
- package/dist/web/assets/{web-WH-i-efe.js → web-La5g0ovh.js} +1 -1
- package/dist/web/assets/web-ZM6TYT88.js +2 -0
- package/dist/web/index.html +2 -2
- package/package.json +2 -1
- package/dist/web/assets/badge-CsNeQaUt.js +0 -1
- package/dist/web/assets/index-C9nEYrn8.css +0 -1
- package/dist/web/assets/index-Dcz2Myaf.js +0 -111
- package/dist/web/assets/web-4pvyVYqE.js +0 -31
- package/dist/web/assets/web-B8iKfUHX.js +0 -2
- package/dist/web/assets/web-CPCrz28U.js +0 -25
- package/dist/web/assets/web-DJnenbT2.js +0 -7
|
@@ -0,0 +1 @@
|
|
|
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{--success: 142 76% 36%;--success-foreground: 0 0% 100%;--warning: 32 95% 44%;--warning-foreground: 0 0% 100%;--info: 199 89% 48%;--info-foreground: 0 0% 100%;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--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}[data-mode=dark]{--success: 134 61% 64%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 0 0% 100%;--info: 199 89% 48%;--info-foreground: 0 0% 100%;--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%}[data-theme=pixel]{--success: 134 61% 44%;--success-foreground: 0 0% 100%;--warning: 30 50% 40%;--warning-foreground: 0 0% 100%;--info: 199 64% 54%;--info-foreground: 0 0% 100%;--background: 240 21% 96%;--foreground: 240 21% 11%;--card: 240 21% 96%;--card-foreground: 240 21% 11%;--popover: 240 21% 96%;--popover-foreground: 240 21% 11%;--primary: 16 77% 61%;--primary-foreground: 0 0% 100%;--secondary: 250 30% 80%;--secondary-foreground: 240 21% 11%;--muted: 250 30% 80%;--muted-foreground: 220 14% 40%;--accent: 250 30% 80%;--accent-foreground: 240 21% 11%;--destructive: 0 60% 50%;--destructive-foreground: 0 0% 100%;--border: 240 15% 70%;--input: 240 15% 70%;--ring: 16 77% 61%;--radius-sm: 0px;--radius-md: 0px;--radius-lg: 0px;--radius-full: 0px;--radius: 0px;--shadow-sm: none;--shadow-md: none}[data-theme=pixel][data-mode=dark]{--success: 134 61% 44%;--success-foreground: 0 0% 100%;--warning: 30 50% 40%;--warning-foreground: 0 0% 100%;--info: 199 64% 54%;--info-foreground: 0 0% 100%;--background: 240 21% 11%;--foreground: 0 0% 95%;--card: 240 25% 15%;--card-foreground: 0 0% 95%;--popover: 240 25% 15%;--popover-foreground: 0 0% 95%;--primary: 16 77% 61%;--primary-foreground: 0 0% 100%;--secondary: 250 30% 26%;--secondary-foreground: 0 0% 95%;--muted: 250 30% 26%;--muted-foreground: 220 14% 60%;--accent: 250 30% 26%;--accent-foreground: 0 0% 95%;--destructive: 0 60% 50%;--destructive-foreground: 0 0% 100%;--border: 240 25% 26%;--input: 240 25% 26%;--ring: 16 77% 61%;--radius-sm: 0px;--radius-md: 0px;--radius-lg: 0px;--radius-full: 0px;--radius: 0px;--shadow-sm: none;--shadow-md: none}[data-theme=pixel] .dot-grid{background-size:12px 12px;background-image:radial-gradient(circle at 1px 1px,hsl(var(--border)) 1.2px,transparent 0)}*{border-color:hsl(var(--border))}body{background:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.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}.dot-grid{background-image:radial-gradient(circle at 1px 1px,hsl(var(--border)) 1px,transparent 0);background-size:20px 20px}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.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}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-full{grid-column:1 / -1}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.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-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[19px\]{height:19px}.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-px{height:1px}.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}.min-h-\[3\.4em\]{min-height:3.4em}.w-0{width:0px}.w-1{width:.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-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-\[240px\]{width:240px}.w-\[280px\]{width:280px}.w-\[50px\]{width:50px}.w-\[78\%\]{width:78%}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[8rem\]{min-width:8rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.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-y-1\/2{--tw-translate-y: -50%;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-180{--tw-rotate: 180deg;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-default{cursor:default}.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}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.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-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * 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-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.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-\[10px\]{border-radius:10px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0px}.border-t{border-top-width:1px}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-info\/30{border-color:hsl(var(--info) / .3)}.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-success\/30{border-color:hsl(var(--success) / .3)}.border-success\/40{border-color:hsl(var(--success) / .4)}.border-transparent{border-color:transparent}.border-warning{border-color:hsl(var(--warning))}.border-warning\/30{border-color:hsl(var(--warning) / .3)}.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-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.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-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-info{background-color:hsl(var(--info))}.bg-info\/10{background-color:hsl(var(--info) / .1)}.bg-info\/15{background-color:hsl(var(--info) / .15)}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground{background-color:hsl(var(--muted-foreground))}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground) / .3)}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground) / .4)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-success{background-color:hsl(var(--success))}.bg-success\/10{background-color:hsl(var(--success) / .1)}.bg-success\/15{background-color:hsl(var(--success) / .15)}.bg-success\/60{background-color:hsl(var(--success) / .6)}.bg-warning{background-color:hsl(var(--warning))}.bg-warning\/10{background-color:hsl(var(--warning) / .1)}.bg-warning\/15{background-color:hsl(var(--warning) / .15)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-zinc-500{--tw-bg-opacity: 1;background-color:rgb(113 113 122 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.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}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.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}.text-right{text-align:right}.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-5xl{font-size:3rem;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-xl{font-size:1.25rem;line-height:1.75rem}.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}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#c9d1d9\]{--tw-text-opacity: 1;color:rgb(201 209 217 / 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-foreground{color:hsl(var(--foreground))}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-info{color:hsl(var(--info))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-success{color:hsl(var(--success))}.text-warning{color:hsl(var(--warning))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-zinc-200{--tw-text-opacity: 1;color:rgb(228 228 231 / 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))}.text-zinc-600{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px 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-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: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.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)!important}.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-\[width\,transform\]{transition-property:width,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.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}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@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,.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.slide-in-from-left-1{--tw-enter-translate-x: -.25rem}.duration-200{animation-duration:.2s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.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\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;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))}.hover\:border-muted-foreground\/40:hover{border-color:hsl(var(--muted-foreground) / .4)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-info:hover{background-color:hsl(var(--info))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.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-success:hover{background-color:hsl(var(--success))}.hover\:bg-success\/20:hover{background-color:hsl(var(--success) / .2)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.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\:-translate-y-0\.5{--tw-translate-y: -.125rem;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))}.group:hover .group-hover\:border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / .3)}.group:hover .group-hover\:bg-primary\/10{background-color:hsl(var(--primary) / .1)}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:shadow-md{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open]{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}.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\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-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\:absolute{position:absolute}.sm\:relative{position:relative}.sm\:left-auto{left:auto}.sm\:top-auto{top:auto}.sm\:z-30{z-index:30}.sm\:z-auto{z-index:auto}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-full{height:100%}.sm\:w-0{width:0px}.sm\:w-\[280px\]{width:280px}.sm\:max-w-none{max-width:none}.sm\: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))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:border-r{border-right-width:1px}.sm\: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)}.sm\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width: 768px){.md\:flex{display:flex}.md\: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))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:\:-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,14 +1,14 @@
|
|
|
1
|
-
import{c as u,r as
|
|
1
|
+
import{c as u,r as i,j as e,E as C,_ as j}from"./index-Dkkxw5Oy.js";import{M as V}from"./MdViewer-WZMpNmB2.js";import{C as M,I,a as F,F as L}from"./FileIcon-CDN2wCuK.js";import{F as R}from"./FilterPills-D_6kvZo5.js";import{F as E}from"./file-text-Co0hTLuo.js";import{B as O}from"./book-open-Dwx5kHtv.js";import"./index-CHxXM6Fn.js";/**
|
|
2
2
|
* @license lucide-react v0.460.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
5
5
|
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const
|
|
6
|
+
*/const P=u("AudioLines",[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]]);/**
|
|
7
7
|
* @license lucide-react v0.460.0 - ISC
|
|
8
8
|
*
|
|
9
9
|
* This source code is licensed under the ISC license.
|
|
10
10
|
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const
|
|
11
|
+
*/const z=u("Blocks",[["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["path",{d:"M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3",key:"1fpvtg"}]]);/**
|
|
12
12
|
* @license lucide-react v0.460.0 - ISC
|
|
13
13
|
*
|
|
14
14
|
* This source code is licensed under the ISC license.
|
|
@@ -33,12 +33,12 @@ import{c as u,r as o,j as e,E as V,_ as j}from"./index-Dcz2Myaf.js";import{M}fro
|
|
|
33
33
|
*
|
|
34
34
|
* This source code is licensed under the ISC license.
|
|
35
35
|
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
-
*/const
|
|
36
|
+
*/const $=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"}]]);/**
|
|
37
37
|
* @license lucide-react v0.460.0 - ISC
|
|
38
38
|
*
|
|
39
39
|
* This source code is licensed under the ISC license.
|
|
40
40
|
* See the LICENSE file in the root directory of this source tree.
|
|
41
|
-
*/const
|
|
41
|
+
*/const A=u("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);/**
|
|
42
42
|
* @license lucide-react v0.460.0 - ISC
|
|
43
43
|
*
|
|
44
44
|
* This source code is licensed under the ISC license.
|
|
@@ -53,4 +53,4 @@ import{c as u,r as o,j as e,E as V,_ as j}from"./index-Dcz2Myaf.js";import{M}fro
|
|
|
53
53
|
*
|
|
54
54
|
* This source code is licensed under the ISC license.
|
|
55
55
|
* See the LICENSE file in the root directory of this source tree.
|
|
56
|
-
*/const H=u("Video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]);let v=null;const g=new Set,p={get:()=>v,set:t=>{v=t,g.forEach(i=>i(t))},subscribe:t=>(g.add(t),()=>{g.delete(t)})};function q({path:t}){return e.jsx("iframe",{src:"/"+encodeURI(t),title:"预览",className:"w-full h-full border-0 bg-white"})}function B({path:t}){const[i,r]=o.useState([]),[d,a]=o.useState(!0);return o.useEffect(()=>{let n=!1;return a(!0),r([]),fetch("/"+encodeURI(t),{cache:"no-store"}).then(l=>l.text()).then(l=>{if(n)return;const c=l.match(/--[A-Za-z0-9_-]+\s*:\s*[^;}\n]+/g)??[];if(!c.length){r([]),a(!1);return}const s=m=>/^(#([0-9a-fA-F]{3,8})\b|rgb|rgba|hsl|hsla|oklch|oklab|color\()/i.test(m.trim()),x=c.filter(m=>s(m)),h=c.filter(m=>/font|family|type/.test(m.toLowerCase())&&!s(m)),y=c.filter(m=>!x.includes(m)&&!h.includes(m)),b=m=>{const k=m.indexOf(":"),S=m.slice(0,k).trim(),_=m.slice(k+1).trim();return{name:S,value:_}},f=[];x.length&&f.push({label:`配色 · ${x.length}`,items:x.map(b)}),h.length&&f.push({label:`字体 · ${h.length}`,items:h.map(b)}),y.length&&f.push({label:`其他 · ${y.length}`,items:y.map(b)}),r(f),a(!1)}).catch(()=>{n||(r([]),a(!1))}),()=>{n=!0}},[t]),d?e.jsx("p",{className:"p-3 text-xs text-muted-foreground",children:"解析中…"}):i.length?e.jsx("div",{className:"p-8 flex flex-col gap-7",children:i.map(n=>{const l=n.items.some(s=>/^(#|rgb|rgba|hsl|hsla|oklch|oklab|color\()/i.test(s.value)),c=n.items.some(s=>/font|family|type/i.test(s.name));return e.jsxs("section",{children:[e.jsx("div",{className:"mb-3 text-[11px] font-semibold uppercase text-muted-foreground",children:n.label}),l?e.jsx("div",{className:"grid gap-3",style:{gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))"},children:n.items.filter(s=>/^(#|rgb|rgba|hsl|hsla|oklch|oklab|color\()/i.test(s.value)).map(({name:s,value:x})=>e.jsxs("div",{className:"overflow-hidden rounded-lg border bg-background",children:[e.jsx("div",{className:"h-[72px] border-b",style:{background:x}}),e.jsx("div",{className:"px-2.5 pt-2 font-mono text-[11px] break-all",children:s}),e.jsx("div",{className:"px-2.5 pb-2 text-xs text-muted-foreground",children:x})]},s))}):c?e.jsx("div",{className:"grid gap-3",style:{gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))"},children:n.items.map(({name:s,value:x})=>e.jsxs("div",{className:"overflow-hidden rounded-lg border bg-background",children:[e.jsx("div",{className:"grid h-[72px] place-items-center text-2xl",style:{fontFamily:x},children:"Aa"}),e.jsx("div",{className:"px-2.5 font-mono text-[11px]",children:s})]},s))}):e.jsx("div",{className:"flex flex-col gap-1",children:n.items.map(({name:s,value:x})=>e.jsxs("div",{className:"flex justify-between gap-3 px-2.5 py-1.5 rounded border bg-background text-xs",children:[e.jsx("span",{className:"font-mono",children:s}),e.jsx("span",{className:"text-muted-foreground",children:x})]},s))})]},n.label)})}):e.jsx("p",{className:"p-3 text-xs",children:"未发现 CSS 变量"})}function G({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 Z({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 J({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 K({path:t}){const[i,r]=o.useState("");return o.useEffect(()=>{let d=!1,a="",n=null;return fetch("/"+encodeURI(t)).then(l=>l.blob()).then(async l=>{var c;if(!d){if(a=URL.createObjectURL(l),n=new FontFace("zd-font-preview",`url(${a})`),await n.load(),d){(c=n.dispose)==null||c.call(n);return}document.fonts.add(n),r(t.split("/").pop()??t)}}).catch(()=>{d||r(t.split("/").pop()??t)}),()=>{var l;if(d=!0,n)try{document.fonts.delete(n),(l=n.dispose)==null||l.call(n)}catch{}a&&URL.revokeObjectURL(a)}},[t]),e.jsxs("div",{className:"h-full overflow-auto p-8 grid gap-6 place-content-center text-center",children:[e.jsx("div",{className:"text-xs text-muted-foreground font-mono break-all",children:t}),e.jsx("div",{className:"text-5xl",style:{fontFamily:i?"'zd-font-preview', serif":"serif"},children:"Aa 字体预览 0123"})]})}function Q({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(U,{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 X={page:q,icon:I,token:B,md:M,video:G,audio:Z,pdf:J,component:C,font:K};function Y(t){return X[t]??Q}function ee({mode:t,onMode:i,w:r,h:d,onW:a,onH:n}){const l=[{v:0,icon:e.jsx(N,{className:"h-3.5 w-3.5"}),label:"桌面"},{v:768,icon:e.jsx(W,{className:"h-3.5 w-3.5"}),label:"768"},{v:375,icon:e.jsx($,{className:"h-3.5 w-3.5"}),label:"375"},{v:"custom",icon:e.jsx(A,{className:"h-3.5 w-3.5"}),label:"自定义"}],c="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:e.jsx(L,{items:l.map(s=>({key:String(s.v),label:s.label,renderLabel:()=>e.jsxs(e.Fragment,{children:[s.icon,e.jsx("span",{className:"hidden sm:inline",children:s.label})]})})),value:String(t),onChange:s=>i(s==="0"?0:s==="custom"?"custom":Number(s)),ariaLabel:"视口模式"})}),e.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[e.jsx("input",{type:"number",value:r,min:280,max:3e3,step:8,onChange:s=>a(Number(s.target.value)),"aria-label":"自定义宽度",className:c}),e.jsx("span",{className:"text-muted-foreground/70",children:"×"}),e.jsx("input",{type:"number",value:d,min:400,max:3e3,step:8,onChange:s=>n(Number(s.target.value)),"aria-label":"自定义高度",className:c}),e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"px"})]})]})}function te(){const[t,i]=o.useState(()=>p.get()),[r,d]=o.useState(0),[a,n]=o.useState(1024),[l,c]=o.useState(768);o.useEffect(()=>p.subscribe(i),[]);const s=t?Y(t.type):null,x=r===0?"桌面":r==="custom"?`${a} × ${l}`:`${r}px`;return e.jsx("div",{className:"mx-auto h-full flex flex-col bg-background border rounded-lg shadow-sm overflow-hidden",children:t&&s?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:x}),e.jsx(ee,{mode:r,onMode:d,w:a,h:l,onW:n,onH:c})]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-auto",children:t.type==="page"?e.jsx("div",{className:"mx-auto bg-background overflow-hidden",style:{maxWidth:r===0?void 0:r==="custom"?a:r,height:r==="custom"?l:"100%"},children:e.jsx(s,{path:t.path})}):e.jsx("div",{className:"mx-auto max-w-5xl h-full overflow-auto",children:e.jsx(s,{path:t.path})})})]}):e.jsx(V,{icon:w,title:"从左侧选择一个资产预览",hint:"点左侧折叠钮展开资产树 · 改文件即时刷新",tone:"primary"})})}const se=Object.freeze(Object.defineProperty({__proto__:null,default:te},Symbol.toStringTag,{value:"Module"})),ne={page:N,component:O,icon:T,token:w,md:R,video:H,audio:z,pdf:E,font:D,other:P},ae=[{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:"font",label:"字体"},{key:"other",label:"其他"}];function le(){const t=o.useSyncExternalStore(p.subscribe,p.get),[i,r]=o.useState(null);o.useEffect(()=>{fetch("/__design/assets",{cache:"no-store"}).then(a=>a.json()).then(r)},[]);const d=o.useMemo(()=>i?ae.map(a=>({...a,items:i[a.key]??[]})).filter(a=>a.items.length>0):[],[i]);return i?e.jsxs("div",{children:[e.jsxs("div",{className:"p-3 text-xs text-muted-foreground",children:[d.reduce((a,n)=>a+n.items.length,0)," 个资产"]}),d.map(a=>{const n=ne[a.key];return e.jsxs("div",{className:"mb-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1.5 px-3 pt-2 pb-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:[n&&e.jsx(n,{className:"h-3.5 w-3.5"}),a.label,e.jsx("span",{className:"ml-auto rounded-full bg-muted px-1.5 font-mono text-[10px] font-normal",children:a.items.length})]}),a.items.map(l=>e.jsxs("button",{onClick:()=>p.set({path:l.path,type:l.type}),className:`w-full text-left flex items-center gap-2 mx-1 px-2.5 py-1.5 text-xs hover:bg-muted rounded-md ${(t==null?void 0:t.path)===l.path?"bg-primary/10 text-foreground font-medium":"text-muted-foreground"}`,style:{width:"calc(100% - 8px)"},children:[e.jsx(F,{name:l.name,active:(t==null?void 0:t.path)===l.path}),e.jsx("span",{className:"truncate",children:l.name}),l.ext&&e.jsx("span",{className:"ml-auto font-mono text-[10px] text-muted-foreground/60",children:l.ext})]},l.path))]},a.key)})]}):e.jsx("p",{className:"p-3 text-xs text-muted-foreground",children:"加载中…"})}const re=Object.freeze(Object.defineProperty({__proto__:null,default:le},Symbol.toStringTag,{value:"Module"})),pe={mode:"design",label:"设计资产",icon:"🎨",description:"设计资产分类浏览 · zdesign",Sidebar:o.lazy(()=>j(()=>Promise.resolve().then(()=>re),void 0)),Workspace:o.lazy(()=>j(()=>Promise.resolve().then(()=>se),void 0))};export{le as DesignSidebar,te as DesignWorkspace,pe as default};
|
|
56
|
+
*/const H=u("Video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]);let v=null;const b=new Set,p={get:()=>v,set:t=>{v=t,b.forEach(r=>r(t))},subscribe:t=>(b.add(t),()=>{b.delete(t)})};function q({path:t}){return e.jsx("iframe",{src:"/"+encodeURI(t),title:"预览",className:"w-full h-full border-0 bg-white"})}function B({path:t}){const[r,l]=i.useState([]),[c,a]=i.useState(!0);return i.useEffect(()=>{let s=!1;return a(!0),l([]),fetch("/"+encodeURI(t),{cache:"no-store"}).then(o=>o.text()).then(o=>{if(s)return;const d=o.match(/--[A-Za-z0-9_-]+\s*:\s*[^;}\n]+/g)??[];if(!d.length){l([]),a(!1);return}const n=m=>/^(#([0-9a-fA-F]{3,8})\b|rgb|rgba|hsl|hsla|oklch|oklab|color\()/i.test(m.trim()),x=d.filter(m=>n(m)),h=d.filter(m=>/font|family|type/.test(m.toLowerCase())&&!n(m)),y=d.filter(m=>!x.includes(m)&&!h.includes(m)),g=m=>{const k=m.indexOf(":"),S=m.slice(0,k).trim(),_=m.slice(k+1).trim();return{name:S,value:_}},f=[];x.length&&f.push({label:`配色 · ${x.length}`,items:x.map(g)}),h.length&&f.push({label:`字体 · ${h.length}`,items:h.map(g)}),y.length&&f.push({label:`其他 · ${y.length}`,items:y.map(g)}),l(f),a(!1)}).catch(()=>{s||(l([]),a(!1))}),()=>{s=!0}},[t]),c?e.jsx("p",{className:"p-3 text-xs text-muted-foreground",children:"解析中…"}):r.length?e.jsx("div",{className:"p-8 flex flex-col gap-7",children:r.map(s=>{const o=s.items.some(n=>/^(#|rgb|rgba|hsl|hsla|oklch|oklab|color\()/i.test(n.value)),d=s.items.some(n=>/font|family|type/i.test(n.name));return e.jsxs("section",{children:[e.jsx("div",{className:"mb-3 text-[11px] font-semibold uppercase text-muted-foreground",children:s.label}),o?e.jsx("div",{className:"grid gap-3",style:{gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))"},children:s.items.filter(n=>/^(#|rgb|rgba|hsl|hsla|oklch|oklab|color\()/i.test(n.value)).map(({name:n,value:x})=>e.jsxs("div",{className:"overflow-hidden rounded-lg border bg-background",children:[e.jsx("div",{className:"h-[72px] border-b",style:{background:x}}),e.jsx("div",{className:"px-2.5 pt-2 font-mono text-[11px] break-all",children:n}),e.jsx("div",{className:"px-2.5 pb-2 text-xs text-muted-foreground",children:x})]},n))}):d?e.jsx("div",{className:"grid gap-3",style:{gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))"},children:s.items.map(({name:n,value:x})=>e.jsxs("div",{className:"overflow-hidden rounded-lg border bg-background",children:[e.jsx("div",{className:"grid h-[72px] place-items-center text-2xl",style:{fontFamily:x},children:"Aa"}),e.jsx("div",{className:"px-2.5 font-mono text-[11px]",children:n})]},n))}):e.jsx("div",{className:"flex flex-col gap-1",children:s.items.map(({name:n,value:x})=>e.jsxs("div",{className:"flex justify-between gap-3 px-2.5 py-1.5 rounded border bg-background text-xs",children:[e.jsx("span",{className:"font-mono",children:n}),e.jsx("span",{className:"text-muted-foreground",children:x})]},n))})]},s.label)})}):e.jsx("p",{className:"p-3 text-xs",children:"未发现 CSS 变量"})}function G({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 Z({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 J({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 K({path:t}){const[r,l]=i.useState("");return i.useEffect(()=>{let c=!1,a="",s=null;return fetch("/"+encodeURI(t)).then(o=>o.blob()).then(async o=>{var d;if(!c){if(a=URL.createObjectURL(o),s=new FontFace("zd-font-preview",`url(${a})`),await s.load(),c){(d=s.dispose)==null||d.call(s);return}document.fonts.add(s),l(t.split("/").pop()??t)}}).catch(()=>{c||l(t.split("/").pop()??t)}),()=>{var o;if(c=!0,s)try{document.fonts.delete(s),(o=s.dispose)==null||o.call(s)}catch{}a&&URL.revokeObjectURL(a)}},[t]),e.jsxs("div",{className:"h-full overflow-auto p-8 grid gap-6 place-content-center text-center",children:[e.jsx("div",{className:"text-xs text-muted-foreground font-mono break-all",children:t}),e.jsx("div",{className:"text-5xl",style:{fontFamily:r?"'zd-font-preview', serif":"serif"},children:"Aa 字体预览 0123"})]})}function Q({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(U,{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 X={page:q,icon:I,token:B,md:V,video:G,audio:Z,pdf:J,component:M,font:K};function Y(t){return X[t]??Q}function ee({mode:t,onMode:r,w:l,h:c,onW:a,onH:s}){const o=[{v:0,icon:e.jsx(N,{className:"h-3.5 w-3.5"}),label:"桌面"},{v:768,icon:e.jsx(W,{className:"h-3.5 w-3.5"}),label:"768"},{v:375,icon:e.jsx(A,{className:"h-3.5 w-3.5"}),label:"375"},{v:"custom",icon:e.jsx($,{className:"h-3.5 w-3.5"}),label:"自定义"}],d="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:e.jsx(R,{items:o.map(n=>({key:String(n.v),label:n.label,renderLabel:()=>e.jsxs(e.Fragment,{children:[n.icon,e.jsx("span",{className:"hidden sm:inline",children:n.label})]})})),value:String(t),onChange:n=>r(n==="0"?0:n==="custom"?"custom":Number(n)),ariaLabel:"视口模式"})}),e.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[e.jsx("input",{type:"number",value:l,min:280,max:3e3,step:8,onChange:n=>a(Number(n.target.value)),"aria-label":"自定义宽度",className:d}),e.jsx("span",{className:"text-muted-foreground/70",children:"×"}),e.jsx("input",{type:"number",value:c,min:400,max:3e3,step:8,onChange:n=>s(Number(n.target.value)),"aria-label":"自定义高度",className:d}),e.jsx("span",{className:"text-[11px] text-muted-foreground/70",children:"px"})]})]})}function te(){const[t,r]=i.useState(()=>p.get()),[l,c]=i.useState(0),[a,s]=i.useState(1024),[o,d]=i.useState(768);i.useEffect(()=>p.subscribe(r),[]);const n=t?Y(t.type):null,x=l===0?"桌面":l==="custom"?`${a} × ${o}`:`${l}px`;return e.jsx("div",{className:"mx-auto h-full flex flex-col bg-background border rounded-lg shadow-sm overflow-hidden",children:t&&n?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:x}),e.jsx(ee,{mode:l,onMode:c,w:a,h:o,onW:s,onH:d})]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-auto",children:t.type==="page"?e.jsx("div",{className:"mx-auto bg-background overflow-hidden",style:{maxWidth:l===0?void 0:l==="custom"?a:l,height:l==="custom"?o:"100%"},children:e.jsx(n,{path:t.path})}):e.jsx("div",{className:"mx-auto max-w-5xl h-full overflow-auto",children:e.jsx(n,{path:t.path})})})]}):e.jsx(C,{icon:w,title:"从左侧选择一个资产预览",hint:"点左侧折叠钮展开资产树 · 改文件即时刷新",tone:"primary"})})}const se=Object.freeze(Object.defineProperty({__proto__:null,default:te},Symbol.toStringTag,{value:"Module"})),ne={page:N,component:z,icon:T,token:w,md:O,video:H,audio:P,pdf:E,font:D},ae=[{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:"font",label:"字体"}];function le(){const t=i.useSyncExternalStore(p.subscribe,p.get),[r,l]=i.useState(null);i.useEffect(()=>{fetch("/__design/assets",{cache:"no-store"}).then(a=>a.json()).then(l)},[]);const c=i.useMemo(()=>r?ae.map(a=>({...a,items:r[a.key]??[]})).filter(a=>a.items.length>0):[],[r]);return r?e.jsxs("div",{children:[e.jsxs("div",{className:"p-3 text-xs text-muted-foreground",children:[c.reduce((a,s)=>a+s.items.length,0)," 个资产"]}),c.map(a=>e.jsx(re,{group:a,current:t},a.key))]}):e.jsx("p",{className:"p-3 text-xs text-muted-foreground",children:"加载中…"})}function re({group:t,current:r}){const[l,c]=i.useState(!0),a=ne[t.key];return e.jsxs("div",{className:"mb-1.5",children:[e.jsxs("button",{onClick:()=>c(s=>!s),className:"w-full flex items-center gap-1.5 mx-1 px-2 pt-2 pb-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground hover:text-foreground rounded-md",style:{width:"calc(100% - 8px)"},children:[e.jsx(F,{className:`h-3 w-3 shrink-0 transition-transform ${l?"rotate-90":""}`}),a&&e.jsx(a,{className:"h-3.5 w-3.5 shrink-0"}),e.jsx("span",{className:"truncate",children:t.label}),e.jsx("span",{className:"ml-auto shrink-0 rounded-full bg-muted px-1.5 font-mono text-[10px] font-normal",children:t.items.length})]}),l&&t.items.map(s=>e.jsxs("button",{onClick:()=>p.set({path:s.path,type:s.type}),className:`w-full text-left flex items-center gap-2 mx-1 px-2.5 py-1.5 text-xs hover:bg-muted rounded-md ${(r==null?void 0:r.path)===s.path?"bg-primary/10 text-foreground font-medium":"text-muted-foreground"}`,style:{width:"calc(100% - 8px)"},children:[e.jsx(L,{name:s.name,active:(r==null?void 0:r.path)===s.path}),e.jsx("span",{className:"truncate",children:s.name}),s.ext&&e.jsx("span",{className:"ml-auto font-mono text-[10px] text-muted-foreground/60",children:s.ext})]},s.path))]})}const oe=Object.freeze(Object.defineProperty({__proto__:null,default:le},Symbol.toStringTag,{value:"Module"})),he={mode:"design",label:"设计资产",icon:"🎨",description:"设计资产分类浏览 · zdesign",Sidebar:i.lazy(()=>j(()=>Promise.resolve().then(()=>oe),void 0)),Workspace:i.lazy(()=>j(()=>Promise.resolve().then(()=>se),void 0))};export{le as DesignSidebar,te as DesignWorkspace,he as default};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import{c as L,r as C,d as w,j as _,B as O,e as pe,_ as me}from"./index-Dkkxw5Oy.js";import{F as xe}from"./FilterPills-D_6kvZo5.js";function g(t){const e=Object.prototype.toString.call(t);return t instanceof Date||typeof t=="object"&&e==="[object Date]"?new t.constructor(+t):typeof t=="number"||e==="[object Number]"||typeof t=="string"||e==="[object String]"?new Date(t):new Date(NaN)}function $(t,e){return t instanceof Date?new t.constructor(e):new Date(e)}function De(t,e){const s=g(t);return isNaN(e)?$(t,NaN):(e&&s.setDate(s.getDate()+e),s)}function Fe(t,e){const s=g(t);if(isNaN(e))return $(t,NaN);if(!e)return s;const n=s.getDate(),r=$(t,s.getTime());r.setMonth(s.getMonth()+e+1,0);const u=r.getDate();return n>=u?r:(s.setFullYear(r.getFullYear(),r.getMonth(),n),s)}function M(t,e){const{years:s=0,months:n=0,weeks:r=0,days:u=0,hours:i=0,minutes:o=0,seconds:l=0}=e,c=g(t),d=n||s?Fe(c,n+s*12):c,a=u||r?De(d,u+r*7):d,p=o+i*60,x=(l+p*60)*1e3;return $(t,a.getTime()+x)}const ye=864e5,be=6e4,ve=36e5;function V(t){const e=g(t);return e.setHours(0,0,0,0),e}function K(t){const e=g(t),s=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return s.setUTCFullYear(e.getFullYear()),+t-+s}function Ee(t,e){const s=V(t),n=V(e),r=+s-K(s),u=+n-K(n);return Math.round((r-u)/ye)}function S(t,e){const s=g(t),n=g(e),r=s.getTime()-n.getTime();return r<0?-1:r>0?1:r}function Ce(t,e){const s=g(t),n=g(e),r=s.getFullYear()-n.getFullYear(),u=s.getMonth()-n.getMonth();return r*12+u}function Ae(t,e){const s=g(t),n=g(e);return s.getFullYear()-n.getFullYear()}function ze(t,e){const s=g(t),n=g(e),r=Q(s,n),u=Math.abs(Ee(s,n));s.setDate(s.getDate()-r*u);const i=+(Q(s,n)===-r),o=r*(u-i);return o===0?0:o}function Q(t,e){const s=t.getFullYear()-e.getFullYear()||t.getMonth()-e.getMonth()||t.getDate()-e.getDate()||t.getHours()-e.getHours()||t.getMinutes()-e.getMinutes()||t.getSeconds()-e.getSeconds()||t.getMilliseconds()-e.getMilliseconds();return s<0?-1:s>0?1:s}function J(t){return e=>{const n=(t?Math[t]:Math.trunc)(e);return n===0?0:n}}function G(t,e){return+g(t)-+g(e)}function je(t,e,s){const n=G(t,e)/ve;return J(s==null?void 0:s.roundingMethod)(n)}function we(t,e,s){const n=G(t,e)/be;return J(s==null?void 0:s.roundingMethod)(n)}function ke(t){const e=g(t);return e.setHours(23,59,59,999),e}function Ne(t){const e=g(t),s=e.getMonth();return e.setFullYear(e.getFullYear(),s+1,0),e.setHours(23,59,59,999),e}function Re(t){const e=g(t);return+ke(e)==+Ne(e)}function Oe(t,e){const s=g(t),n=g(e),r=S(s,n),u=Math.abs(Ce(s,n));let i;if(u<1)i=0;else{s.getMonth()===1&&s.getDate()>27&&s.setDate(30),s.setMonth(s.getMonth()-r*u);let o=S(s,n)===-r;Re(g(t))&&u===1&&S(t,n)===1&&(o=!1),i=r*(u-Number(o))}return i===0?0:i}function Me(t,e,s){const n=G(t,e)/1e3;return J(s==null?void 0:s.roundingMethod)(n)}function Se(t,e){const s=g(t),n=g(e),r=S(s,n),u=Math.abs(Ae(s,n));s.setFullYear(1584),n.setFullYear(1584);const i=S(s,n)===-r,o=r*(u-+i);return o===0?0:o}function $e(t){const e=g(t.start),s=g(t.end),n={},r=Se(s,e);r&&(n.years=r);const u=M(e,{years:n.years}),i=Oe(s,u);i&&(n.months=i);const o=M(u,{months:n.months}),l=ze(s,o);l&&(n.days=l);const c=M(o,{days:n.days}),d=je(s,c);d&&(n.hours=d);const a=M(c,{hours:n.hours}),p=we(s,a);p&&(n.minutes=p);const b=M(a,{minutes:n.minutes}),x=Me(s,b);return x&&(n.seconds=x),n}/**
|
|
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 Ie=L("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"}]]);/**
|
|
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 Le=L("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
|
|
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 X=L("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"}]]);/**
|
|
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 ee=L("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var _e={};const z=[[{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"}]],Te=/(https?:\/\/(?:[A-Za-z0-9#;/?:@=+$',_.!~*()[\]-]|&|%[A-Fa-f0-9]{2})+)/gm;class R{static escapeForHtml(e){return new R().escapeForHtml(e)}static linkify(e){return new R().linkify(e)}static ansiToHtml(e,s){return new R().ansiToHtml(e,s)}static ansiToJson(e,s){return new R().ansiToJson(e,s)}static ansiToText(e){return new R().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 r=0;r<2;++r)for(let u=0;u<8;++u)this.PALETTE_COLORS.push(z[r][u].color);let e=[0,95,135,175,215,255],s=(r,u,i)=>e[r]+", "+e[u]+", "+e[i];for(let r=0;r<6;++r)for(let u=0;u<6;++u)for(let i=0;i<6;++i)this.PALETTE_COLORS.push(s(r,u,i));let n=8;for(let r=0;r<24;++r,n+=10)this.PALETTE_COLORS.push(n+", "+n+", "+n)}escapeForHtml(e){return e.replace(/[&<>\"]/gm,s=>s=="&"?"&":s=='"'?""":s=="<"?"<":s==">"?">":"")}linkify(e){return e.replace(Te,s=>`<a href="${s}">${s}</a>`)}ansiToHtml(e,s){return this.process(e,s,!0)}ansiToJson(e,s){return s=s||{},s.json=!0,s.clearLine=!1,this.process(e,s,!0)}ansiToText(e){return this.process(e,{},!1)}process(e,s,n){let r=this,u=e.split(/\033\[/),i=u.shift();s==null&&(s={}),s.clearLine=/\r/.test(e);let o=u.map(l=>this.processChunk(l,s,n));if(s&&s.json){let l=r.processChunkJson("");return l.content=i,l.clearLine=s.clearLine,o.unshift(l),s.remove_empty&&(o=o.filter(c=>!c.isEmpty())),o}else o.unshift(i);return o.join("")}processChunkJson(e,s,n){s=typeof s>"u"?{}:s;let r=s.use_classes=typeof s.use_classes<"u"&&s.use_classes,u=s.key=r?"class":"color",i={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:s.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:()=>!i.content},o=e.match(/^([!\x3c-\x3f]*)([\d;]*)([\x20-\x2c]*[\x40-\x7e])([\s\S]*)/m);if(!o)return i;i.content=o[4];let l=o[2].split(";");if(o[1]!==""||o[3]!=="m"||!n)return i;let c=this;for(;l.length>0;){let d=l.shift(),a=parseInt(d);if(isNaN(a)||a===0)c.fg=c.bg=null,c.decorations=[];else if(a===1)c.decorations.push("bold");else if(a===2)c.decorations.push("dim");else if(a===3)c.decorations.push("italic");else if(a===4)c.decorations.push("underline");else if(a===5)c.decorations.push("blink");else if(a===7)c.decorations.push("reverse");else if(a===8)c.decorations.push("hidden");else if(a===9)c.decorations.push("strikethrough");else if(a===21)c.removeDecoration("bold");else if(a===22)c.removeDecoration("bold"),c.removeDecoration("dim");else if(a===23)c.removeDecoration("italic");else if(a===24)c.removeDecoration("underline");else if(a===25)c.removeDecoration("blink");else if(a===27)c.removeDecoration("reverse");else if(a===28)c.removeDecoration("hidden");else if(a===29)c.removeDecoration("strikethrough");else if(a===39)c.fg=null;else if(a===49)c.bg=null;else if(a>=30&&a<38)c.fg=z[0][a%10][u];else if(a>=90&&a<98)c.fg=z[1][a%10][u];else if(a>=40&&a<48)c.bg=z[0][a%10][u];else if(a>=100&&a<108)c.bg=z[1][a%10][u];else if(a===38||a===48){let p=a===38;if(l.length>=1){let b=l.shift();if(b==="5"&&l.length>=1){let x=parseInt(l.shift());if(x>=0&&x<=255)if(!r)this.PALETTE_COLORS||c.setupPalette(),p?c.fg=this.PALETTE_COLORS[x]:c.bg=this.PALETTE_COLORS[x];else{let F=x>=16?"ansi-palette-"+x:z[x>7?1:0][x%8].class;p?c.fg=F:c.bg=F}}else if(b==="2"&&l.length>=3){let x=parseInt(l.shift()),F=parseInt(l.shift()),k=parseInt(l.shift());if(x>=0&&x<=255&&F>=0&&F<=255&&k>=0&&k<=255){let N=x+", "+F+", "+k;r?p?(c.fg="ansi-truecolor",c.fg_truecolor=N):(c.bg="ansi-truecolor",c.bg_truecolor=N):p?c.fg=N:c.bg=N}}}}}return c.fg===null&&c.bg===null&&c.decorations.length===0||(i.fg=c.fg,i.bg=c.bg,i.fg_truecolor=c.fg_truecolor,i.bg_truecolor=c.bg_truecolor,i.decorations=c.decorations,i.decoration=c.decorations.slice(-1).pop()||null,i.was_processed=!0),i}processChunk(e,s,n){s=s||{};let r=this.processChunkJson(e,s,n),u=s.use_classes;if(r.decorations=r.decorations.filter(a=>{if(a==="reverse"){r.fg||(r.fg=z[0][7][u?"class":"color"]),r.bg||(r.bg=z[0][0][u?"class":"color"]);let p=r.fg;r.fg=r.bg,r.bg=p;let b=r.fg_truecolor;return r.fg_truecolor=r.bg_truecolor,r.bg_truecolor=b,r.isInverted=!0,!1}return!0}),s.json)return r;if(r.isEmpty())return"";if(!r.was_processed)return r.content;let i=[],o=[],l=[],c={},d=a=>{let p=[],b;for(b in a)a.hasOwnProperty(b)&&p.push("data-"+b+'="'+this.escapeForHtml(a[b])+'"');return p.length>0?" "+p.join(" "):""};return r.isInverted&&(c["ansi-is-inverted"]="true"),r.fg&&(u?(i.push(r.fg+"-fg"),r.fg_truecolor!==null&&(c["ansi-truecolor-fg"]=r.fg_truecolor,r.fg_truecolor=null)):i.push("color:rgb("+r.fg+")")),r.bg&&(u?(i.push(r.bg+"-bg"),r.bg_truecolor!==null&&(c["ansi-truecolor-bg"]=r.bg_truecolor,r.bg_truecolor=null)):i.push("background-color:rgb("+r.bg+")")),r.decorations.forEach(a=>{if(u){o.push("ansi-"+a);return}a==="bold"?o.push("font-weight:bold"):a==="dim"?o.push("opacity:0.5"):a==="italic"?o.push("font-style:italic"):a==="hidden"?o.push("visibility:hidden"):a==="strikethrough"?l.push("line-through"):l.push(a)}),l.length&&o.push("text-decoration:"+l.join(" ")),u?'<span class="'+i.concat(o).join(" ")+'"'+d(c)+">"+r.content+"</span>":'<span style="'+i.concat(o).join(";")+'"'+d(c)+">"+r.content+"</span>"}removeDecoration(e){const s=this.decorations.indexOf(e);s>=0&&this.decorations.splice(s,1)}}var Be=R,T={exports:{}};function U(t){if(!t)return"";if(!/\r/.test(t))return t;for(t=t.replace(/\r+\n/gm,`
|
|
22
|
+
`);/\r./.test(t);)t=t.replace(/^([^\r\n]*)\r+([^\r\n]+)/gm,function(e,s,n){return n+s.slice(n.length)});return t}function Pe(t){for(var e=0,s=0;s<t.length;s++)t[e].length<=t[s].length&&(e=s);return e}function te(t){if(!/\r/.test(t))return t;for(var e=t.split("\r"),s=[];e.length>0;){var n=Pe(e);s.push(e[n]),e=e.slice(n+1)}return s.join("\r")}function Ze(t){if(!t)return"";if(!/\r/.test(t))return t;if(!/\n/.test(t))return te(t);t=t.replace(/\r+\n/gm,`
|
|
23
|
+
`);var e=t.lastIndexOf(`
|
|
24
|
+
`);return U(t.slice(0,e))+`
|
|
25
|
+
`+te(t.slice(e+1))}T.exports=U;T.exports.escapeCarriageReturn=U;T.exports.escapeCarriageReturnSafe=Ze;var qe=T.exports,P,se;function He(){return se||(se=1,P=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/),P}var Z,ne;function Ye(){return ne||(ne=1,Z=/[\0-\x1F\x7F-\x9F]/),Z}var q,re;function We(){return re||(re=1,q=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/),q}var H,ie;function Je(){return ie||(ie=1,H=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\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]/),H}var Y,ce;function Ge(){return ce||(ce=1,Y=function(t){var e={};e.src_Any=He().source,e.src_Cc=Ye().source,e.src_Z=We().source,e.src_P=Je().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 s="[><|]";return e.src_pseudo_letter="(?:(?!"+s+"|"+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="(?=$|"+s+"|"+e.src_ZPCc+")(?!-|_|:\\d|\\.-|\\.(?!$|"+e.src_ZPCc+"))",e.src_path="(?:[/?#](?:(?!"+e.src_ZCc+"|"+s+`|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!`+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="(^|"+s+'|"|\\(|'+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}),Y}function W(t){var e=Array.prototype.slice.call(arguments,1);return e.forEach(function(s){s&&Object.keys(s).forEach(function(n){t[n]=s[n]})}),t}function B(t){return Object.prototype.toString.call(t)}function Ue(t){return B(t)==="[object String]"}function Ve(t){return B(t)==="[object Object]"}function Ke(t){return B(t)==="[object RegExp]"}function oe(t){return B(t)==="[object Function]"}function Qe(t){return t.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var fe={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function Xe(t){return Object.keys(t||{}).reduce(function(e,s){return e||fe.hasOwnProperty(s)},!1)}var et={"http:":{validate:function(t,e,s){var n=t.slice(e);return s.re.http||(s.re.http=new RegExp("^\\/\\/"+s.re.src_auth+s.re.src_host_port_strict+s.re.src_path,"i")),s.re.http.test(n)?n.match(s.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(t,e,s){var n=t.slice(e);return s.re.no_http||(s.re.no_http=new RegExp("^"+s.re.src_auth+"(?:localhost|(?:(?:"+s.re.src_domain+")\\.)+"+s.re.src_domain_root+")"+s.re.src_port+s.re.src_host_terminator+s.re.src_path,"i")),s.re.no_http.test(n)?e>=3&&t[e-3]===":"||e>=3&&t[e-3]==="/"?0:n.match(s.re.no_http)[0].length:0}},"mailto:":{validate:function(t,e,s){var n=t.slice(e);return s.re.mailto||(s.re.mailto=new RegExp("^"+s.re.src_email_name+"@"+s.re.src_host_strict,"i")),s.re.mailto.test(n)?n.match(s.re.mailto)[0].length:0}}},tt="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]",st="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function nt(t){t.__index__=-1,t.__text_cache__=""}function rt(t){return function(e,s){var n=e.slice(s);return t.test(n)?n.match(t)[0].length:0}}function ue(){return function(t,e){e.normalize(t)}}function I(t){var e=t.re=Ge()(t.__opts__),s=t.__tlds__.slice();t.onCompile(),t.__tlds_replaced__||s.push(tt),s.push(e.src_xn),e.src_tlds=s.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 r=[];t.__compiled__={};function u(o,l){throw new Error('(LinkifyIt) Invalid schema "'+o+'": '+l)}Object.keys(t.__schemas__).forEach(function(o){var l=t.__schemas__[o];if(l!==null){var c={validate:null,link:null};if(t.__compiled__[o]=c,Ve(l)){Ke(l.validate)?c.validate=rt(l.validate):oe(l.validate)?c.validate=l.validate:u(o,l),oe(l.normalize)?c.normalize=l.normalize:l.normalize?u(o,l):c.normalize=ue();return}if(Ue(l)){r.push(o);return}u(o,l)}}),r.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:ue()};var i=Object.keys(t.__compiled__).filter(function(o){return o.length>0&&t.__compiled__[o]}).map(Qe).join("|");t.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+i+")","i"),t.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+i+")","ig"),t.re.pretest=RegExp("("+t.re.schema_test.source+")|("+t.re.host_fuzzy_test.source+")|@","i"),nt(t)}function it(t,e){var s=t.__index__,n=t.__last_index__,r=t.__text_cache__.slice(s,n);this.schema=t.__schema__.toLowerCase(),this.index=s+e,this.lastIndex=n+e,this.raw=r,this.text=r,this.url=r}function ae(t,e){var s=new it(t,e);return t.__compiled__[s.schema].normalize(s,t),s}function E(t,e){if(!(this instanceof E))return new E(t,e);e||Xe(t)&&(e=t,t={}),this.__opts__=W({},fe,e),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=W({},et,t),this.__compiled__={},this.__tlds__=st,this.__tlds_replaced__=!1,this.re={},I(this)}E.prototype.add=function(e,s){return this.__schemas__[e]=s,I(this),this};E.prototype.set=function(e){return this.__opts__=W(this.__opts__,e),this};E.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var s,n,r,u,i,o,l,c,d;if(this.re.schema_test.test(e)){for(l=this.re.schema_search,l.lastIndex=0;(s=l.exec(e))!==null;)if(u=this.testSchemaAt(e,s[2],l.lastIndex),u){this.__schema__=s[2],this.__index__=s.index+s[1].length,this.__last_index__=s.index+s[0].length+u;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=e.search(this.re.host_fuzzy_test),c>=0&&(this.__index__<0||c<this.__index__)&&(n=e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))!==null&&(i=n.index+n[1].length,(this.__index__<0||i<this.__index__)&&(this.__schema__="",this.__index__=i,this.__last_index__=n.index+n[0].length))),this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]&&(d=e.indexOf("@"),d>=0&&(r=e.match(this.re.email_fuzzy))!==null&&(i=r.index+r[1].length,o=r.index+r[0].length,(this.__index__<0||i<this.__index__||i===this.__index__&&o>this.__last_index__)&&(this.__schema__="mailto:",this.__index__=i,this.__last_index__=o))),this.__index__>=0};E.prototype.pretest=function(e){return this.re.pretest.test(e)};E.prototype.testSchemaAt=function(e,s,n){return this.__compiled__[s.toLowerCase()]?this.__compiled__[s.toLowerCase()].validate(e,n,this):0};E.prototype.match=function(e){var s=0,n=[];this.__index__>=0&&this.__text_cache__===e&&(n.push(ae(this,s)),s=this.__last_index__);for(var r=s?e.slice(s):e;this.test(r);)n.push(ae(this,s)),r=r.slice(this.__last_index__),s+=this.__last_index__;return n.length?n:null};E.prototype.tlds=function(e,s){return e=Array.isArray(e)?e:[e],s?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(n,r,u){return n!==u[r-1]}).reverse(),I(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,I(this),this)};E.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url="mailto:"+e.url)};E.prototype.onCompile=function(){};var ct=E,ot=w&&w.__createBinding||(Object.create?function(t,e,s,n){n===void 0&&(n=s);var r=Object.getOwnPropertyDescriptor(e,s);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[s]}}),Object.defineProperty(t,n,r)}:function(t,e,s,n){n===void 0&&(n=s),t[n]=e[s]}),ut=w&&w.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),at=w&&w.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(s){var n=[];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(n[n.length]=r);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var s={};if(e!=null)for(var n=t(e),r=0;r<n.length;r++)n[r]!=="default"&&ot(s,e,n[r]);return ut(s,e),s}}(),he=w&&w.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_e,"__esModule",{value:!0});var lt=_e.default=Ft;const _t=he(Be),ft=qe,ht=he(ct),j=at(C);function dt(t,e=!1){return t=(0,ft.escapeCarriageReturn)(yt(t)),_t.default.ansiToJson(t,{json:!0,remove_empty:!0,use_classes:e})}function gt(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 pt(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 mt(t,e,s,n){const r=e?null:pt(s),u=e?gt(s):null;return t?t==="fuzzy"?Dt(s,n,r,u):xt(s,n,r,u):j.createElement("span",{style:r,key:n,className:u},s.content)}function xt(t,e,s,n){const r=[],u=/(\s|^)(https?:\/\/(?:www\.|(?!www))[^\s.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/g;let i=0,o;for(;(o=u.exec(t.content))!==null;){const[,l,c]=o,d=o.index+l.length;d>i&&r.push(t.content.substring(i,d));const a=c.startsWith("www.")?`http://${c}`:c;r.push(j.createElement("a",{key:i,href:a,target:"_blank"},`${c}`)),i=u.lastIndex}return i<t.content.length&&r.push(t.content.substring(i)),j.createElement("span",{style:s,key:e,className:n},r)}function Dt(t,e,s,n){var r;const u=(0,ht.default)({fuzzyEmail:!1}).tlds(["io"],!0);if(!u.pretest(t.content))return j.createElement("span",{style:s,key:e,className:n},t.content);const i=u.match(t.content);if(!i)return j.createElement("span",{style:s,key:e,className:n},t.content);const o=[t.content.substring(0,(r=i[0])===null||r===void 0?void 0:r.index)];return i.forEach((l,c)=>{var d;o.push(j.createElement("a",{href:l.url,target:"_blank",key:c},t.content.substring(l.index,l.lastIndex))),i[c+1]&&o.push(t.content.substring(i[c].lastIndex,(d=i[c+1])===null||d===void 0?void 0:d.index))}),i[i.length-1].lastIndex!==t.content.length&&o.push(t.content.substring(i[i.length-1].lastIndex,t.content.length)),j.createElement("span",{style:s,key:e,className:n},o)}function Ft(t){const{className:e,useClasses:s,children:n,linkify:r}=t;return j.createElement("code",{className:e},dt(n??"",s??!1).map(mt.bind(null,r??!1,s??!1)))}function yt(t){let e=t;do t=e,e=t.replace(/[^\n]\x08/gm,"");while(e.length<t.length);return t}function bt(t){return/^\[(ERROR|FATAL)\]/.test(t)||/^ERROR\b/.test(t)?"text-destructive":/^\[(WARN|WARNING)\]/.test(t)||/^WARN(ING)?\b/.test(t)?"text-warning":/^\[DEBUG\]/.test(t)||/^DEBUG\b/.test(t)?"text-info":/^\[(INFO|DOWNLOAD|PROGRESS)\]/.test(t)||/^INFO\b/.test(t)?"text-success":"text-zinc-200"}function le(t){const e=$e({start:0,end:t}),s=e.hours??0,n=e.minutes??0,r=e.seconds??0;return s===0&&n===0?`${r}s`:s===0?`${n}m${r}s`:`${s}h${n}m`}function vt(){const[t,e]=C.useState([]),[s,n]=C.useState({}),[r,u]=C.useState({}),[i,o]=C.useState(null),l=C.useRef(""),[,c]=C.useState(0),d=C.useRef(null),a=i?r[i]??[]:[];C.useEffect(()=>{fetch("/__just/recipes",{cache:"no-store"}).then(y=>y.json()).then(e).catch(()=>e([])),fetch("/__config").then(y=>y.json()).then(y=>{l.current=y.stopToken??""}).catch(()=>{});const h=new EventSource("/__just/logs");let f=!0;h.onopen=()=>{if(f){f=!1;return}u({}),n({})},h.onmessage=y=>{try{const m=JSON.parse(y.data);m.type==="log"?u(v=>{const A=[...v[m.recipe]??[],m.text];return{...v,[m.recipe]:A.length>1e3?A.slice(-1e3):A}}):m.type==="clear"?u(v=>({...v,[m.recipe]:[]})):m.type==="state"&&(n(v=>{var A;return{...v,[m.recipe]:{state:m.state,code:m.code,signal:m.signal,startedAt:m.startedAt??((A=v[m.recipe])==null?void 0:A.startedAt)??Date.now()}}}),m.state==="running"&&o(m.recipe))}catch{}},h.onerror=()=>{};const D=setInterval(()=>c(y=>y+1),1e3);return()=>{h.close(),clearInterval(D)}},[]),C.useEffect(()=>{d.current&&(d.current.scrollTop=d.current.scrollHeight)},[a.length,i]);const p=(h,f)=>{fetch(`/__just/${h}`,{method:"POST",headers:{"x-stop-token":l.current,"Content-Type":"application/json"},body:JSON.stringify({recipe:f})}).catch(()=>pe.error(`just ${h} 动作失败`))},b=t.map(h=>({...h,task:s[h.name]})),x=b.filter(h=>{var f;return((f=h.task)==null?void 0:f.state)==="running"}).length,F=i?s[i]:void 0,k=(F==null?void 0:F.state)==="running",N=(h,f,D)=>h?"bg-success animate-pulse":f?D!=null&&D.signal?"bg-muted-foreground":D!=null&&D.code?"bg-destructive":"bg-success/60":"bg-muted-foreground/30",de={key:"__console__",label:"",badge:_.jsx("span",{className:"font-mono opacity-80",children:x>0?x:""}),className:i===null?"":"border-border text-muted-foreground hover:text-foreground"},ge=t.map(h=>{const f=s[h.name],D=(f==null?void 0:f.state)==="running",y=(f==null?void 0:f.state)==="exited",m=i===h.name;return{key:h.name,label:h.name,className:m?"":D?"border-success/40 bg-success/10 text-success hover:bg-success/20":"",renderLabel:()=>_.jsxs(_.Fragment,{children:[_.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${N(D,y,f)}`}),_.jsx("span",{children:h.name})]}),renderExtra:()=>y&&!m?_.jsx("span",{className:`text-[10px] ${f!=null&&f.signal?"opacity-60":f!=null&&f.code?"text-destructive":"text-success"}`,children:f!=null&&f.signal?"停":f==null?void 0:f.code}):void 0}});return _.jsxs("div",{className:"h-full flex flex-col",children:[_.jsx("div",{className:"flex-none flex items-center gap-1.5 flex-wrap px-3 py-2 border-b bg-background",children:_.jsx(xe,{items:[de,...ge],value:i??"__console__",onChange:h=>o(h==="__console__"?null:h),ariaLabel:"任务筛选"})}),i===null?_.jsxs("div",{className:"flex-1 min-h-0 overflow-auto p-3 grid gap-2.5 grid-cols-1 md:grid-cols-2 xl:grid-cols-3 content-start",children:[b.length===0&&_.jsx("p",{className:"text-xs text-muted-foreground col-span-full p-4 text-center",children:"未发现 justfile recipes"}),b.map(h=>{const f=h.task,D=(f==null?void 0:f.state)==="running",y=(f==null?void 0:f.state)==="exited",m=(r[h.name]??[]).slice(-3).map(v=>v.replace(/\r?\n$/,"").replace(/\x1b\[[0-9;]*m/g,""));return _.jsxs("div",{onClick:()=>o(h.name),className:"group rounded-lg border bg-card p-3 cursor-pointer hover:border-muted-foreground/40 transition-colors",children:[_.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[_.jsx("span",{className:`h-2 w-2 rounded-full flex-none ${N(D,y,f)}`}),_.jsx("span",{className:"font-mono font-medium",children:h.name}),D&&_.jsx("span",{className:"text-success font-mono",children:le(Date.now()-f.startedAt)}),y&&_.jsx("span",{className:`font-mono ${f.signal?"text-muted-foreground":f.code?"text-destructive":"text-success"}`,children:f.signal?"已停止":`exit ${f.code}`}),!f&&_.jsx("span",{className:"text-muted-foreground/60",children:"未运行"}),_.jsx("span",{className:"ml-auto flex items-center gap-1",onClick:v=>v.stopPropagation(),children:D?_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("stop",h.name),children:[_.jsx(ee,{className:"h-2.5 w-2.5"}),"停止"]}):_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("start",h.name),children:[y?_.jsx(X,{className:"h-2.5 w-2.5"}):_.jsx(Le,{className:"h-2.5 w-2.5"}),y?"重跑":"启动"]})})]}),h.description&&_.jsx("p",{className:"mt-1 text-[11px] text-muted-foreground/70 truncate",children:h.description}),_.jsx("div",{className:"mt-2 rounded bg-[#0d1117] px-2 py-1.5 font-mono text-[10px] leading-relaxed text-zinc-400 min-h-[3.4em]",children:m.length?m.map((v,A)=>_.jsx("div",{className:"truncate",children:v},A)):_.jsxs("span",{className:"text-zinc-600",children:["$ just ",h.name," …"]})})]},h.name)})]}):_.jsxs("div",{className:"flex-1 min-h-0 flex flex-col",children:[_.jsxs("div",{className:"flex-none flex items-center gap-2 px-3.5 h-8 border-b bg-background text-[11px]",children:[_.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${k?"bg-success animate-pulse":"bg-muted-foreground"}`}),_.jsx("span",{className:"font-mono font-medium",children:i}),_.jsx("span",{className:"text-muted-foreground font-mono",children:k?`running · ${le(Date.now()-F.startedAt)}`:F!=null&&F.signal?"已停止":F?`exit ${F.code}`:"未运行"}),_.jsxs("span",{className:"ml-auto flex items-center gap-1",children:[k?_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("stop",i),children:[_.jsx(ee,{className:"h-2.5 w-2.5"}),"停止"]}):_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("start",i),children:[_.jsx(X,{className:"h-2.5 w-2.5"}),F?"重跑":"启动"]}),_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("clear",i),disabled:!a.length,children:[_.jsx(Ie,{className:"h-2.5 w-2.5"}),"清屏"]}),_.jsxs("span",{className:"text-muted-foreground font-mono ml-1",children:[a.length," 行"]})]})]}),_.jsxs("div",{ref:d,className:"flex-1 min-h-0 overflow-auto bg-[#0d1117] p-3.5 font-mono text-xs leading-relaxed text-zinc-200",children:[a.length===0&&_.jsxs("p",{className:"text-zinc-500",children:["$ just ",i," · 等待输出…"]}),a.map((h,f)=>{const D=h.replace(/\r?\n$/,"");return _.jsx("div",{className:"whitespace-pre-wrap break-all min-h-[1.25rem]",children:/\x1b\[/.test(D)?_.jsx(lt,{children:D}):_.jsx("span",{className:bt(D),children:D})},f)})]})]})]})}function Et(){return _.jsx("div",{className:"mx-auto h-full max-w-6xl bg-background border rounded-lg shadow-sm overflow-hidden flex flex-col",children:_.jsx(vt,{})})}const Ct=Object.freeze(Object.defineProperty({__proto__:null,default:Et},Symbol.toStringTag,{value:"Module"})),jt={mode:"just",label:"Just Runner",icon:"📜",description:"Just 任务日志与执行",Workspace:C.lazy(()=>me(()=>Promise.resolve().then(()=>Ct),void 0))};export{Et as JustWorkspace,jt as default};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{c as P,r as c,u as W,j as e,E as O,G as C,F as $,_ as B}from"./index-Dkkxw5Oy.js";import{B as m}from"./badge-BbN-q0Cc.js";import{P as F}from"./ProgressBar-DPJd_uDt.js";import{F as p}from"./file-text-Co0hTLuo.js";import{M as N,r as k}from"./index-CHxXM6Fn.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 M=P("FolderGit2",[["path",{d:"M9 20H4a2 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.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["path",{d:"M18 19c-2.8 0-5-2.2-5-5v8",key:"pkpw2h"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]),b=/^\s*-\s*\[([ xX])\]\s*(.*)$/;function R(s){return s.split(`
|
|
7
|
+
`).filter(t=>b.test(t)).map(t=>{const n=t.match(b);return{text:((n==null?void 0:n[2])??t).trim(),checked:(n==null?void 0:n[1])!==" "}})}function y(s,t){return t===0?0:Math.round(s/t*100)}function w({done:s,total:t}){const n=y(s,t),a=n===100?"success":n>0?"warning":"neutral";return e.jsxs(m,{variant:a,children:[s,"/",t," · ",n,"%"]})}function v(){return e.jsx(m,{variant:"info",children:"worktree 执行中"})}function G(){return e.jsx(m,{variant:"info",children:"含测试策略"})}function I({name:s,pending:t}){const n=t?"neutral":"success";return e.jsx(m,{variant:n,children:t?`${s} · 等待前置`:s})}function L({tasks:s}){const t=R(s);if(!t.length)return e.jsx("p",{className:"text-xs text-muted-foreground",children:"无 tasks.md"});const n=t.findIndex(a=>!a.checked);return e.jsx("ul",{className:"space-y-1 text-xs",children:t.map((a,i)=>{const d=i===n;return e.jsxs("li",{className:`flex items-start gap-2 rounded px-1.5 -mx-1.5 py-0.5 ${d?"bg-warning/10 border-l-2 border-warning":""} ${a.checked?"text-foreground":"text-muted-foreground"}`,children:[a.checked?e.jsx("span",{className:"mt-0.5 h-3.5 w-3.5 shrink-0 rounded-full bg-success 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 ${d?"border-warning":"border-muted-foreground/50"}`}),e.jsx("span",{children:a.text}),d&&e.jsx("span",{className:"ml-auto flex-none text-[10px] font-medium text-warning",children:"← 下一步"})]},i)})})}function A({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-1.5 flex-wrap",children:[e.jsx($,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"text-sm font-medium font-mono truncate",children:s.name}),e.jsx(w,{done:s.done,total:s.total}),s.inWorktree&&e.jsx(v,{})]}),e.jsx(F,{value:y(s.done,s.total),className:"h-1 mb-2"}),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 z({refreshKey:s}){const[t,n]=c.useState([]);return c.useEffect(()=>{fetch("/__worktrees",{cache:"no-store"}).then(a=>a.json()).then(n).catch(()=>n([]))},[s]),t.length?e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx(C,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsx("span",{className:"text-[11px] text-muted-foreground mr-1",children:"Worktree:"}),t.map(a=>e.jsxs("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded border text-[10px] font-mono bg-info/10 text-info border-info/30",title:a.head,children:[a.name,"@",a.branch||"detached"]},a.name))]}):null}function D({navTarget:s}){const[t,n]=c.useState([]),[a,i]=c.useState(0);c.useRef(!1),W(()=>{},()=>i(r=>r+1));const[d,S]=c.useState(null),[l,_]=c.useState(null),[h,x]=c.useState(!0),[f,j]=c.useState(null),[H,E]=c.useState(!1),g=c.useCallback(()=>{x(!0),fetch("/__apply",{cache:"no-store"}).then(r=>r.json()).then(n).catch(r=>j(r.message)).finally(()=>x(!1))},[]);c.useEffect(()=>{g()},[g,a]);const u=c.useCallback(r=>{x(!0),S(r),E(!0),fetch(`/__apply/change?name=${encodeURIComponent(r)}`,{cache:"no-store"}).then(o=>o.json()).then(_).catch(o=>j(o.message)).finally(()=>x(!1))},[]);return c.useEffect(()=>{if(!(s!=null&&s.wt)||!t.length)return;const r=t.find(o=>o.name===s.wt);r&&u(r.name)},[s==null?void 0:s.wt,s==null?void 0:s.navToken,t,u]),h&&!t.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:"加载执行进度…"})]})}):f?e.jsx("div",{className:"flex h-full items-center justify-center text-destructive",children:e.jsx("p",{children:f})}):e.jsxs("div",{className:"mx-auto h-full max-w-6xl 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:[e.jsx(z,{refreshKey:a}),t.length?e.jsx("div",{className:"grid gap-3 sm:grid-cols-2",children:t.map(r=>e.jsx(A,{item:r,onSelect:()=>u(r.name)},r.name))}):e.jsx(O,{icon:M,title:"没有进行中的 change",hint:"在 openspec/changes/ 下创建 change 后会显示在这里"}),d&&l&&!h&&e.jsxs("section",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("h3",{className:"text-sm font-medium",children:l.name}),e.jsx(w,{done:l.done,total:l.total}),l.inWorktree&&e.jsx(v,{}),l.hasTestStrategy&&e.jsx(G,{})]}),l.dependsOn.length>0&&e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:"依赖:"}),l.dependsOn.map(r=>e.jsx(I,{name:r,pending:t.some(o=>o.name===r)},r))]}),l.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(p,{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(N,{remarkPlugins:[k],children:l.proposal})})]}),l.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(p,{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(N,{remarkPlugins:[k],children:l.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(p,{className:"h-3 w-3"})," tasks.md"]}),e.jsx("div",{className:"border rounded-lg p-3 bg-card",children:e.jsx(L,{tasks:l.tasks})})]})]})]})]})}function K({navTarget:s}){return e.jsx(D,{navTarget:s})}const V=Object.freeze(Object.defineProperty({__proto__:null,default:K},Symbol.toStringTag,{value:"Module"})),Y={mode:"apply",label:"执行进度",icon:"⚙️",description:"OpenSpec change 执行进度 · zapply",Workspace:c.lazy(()=>B(()=>Promise.resolve().then(()=>V),void 0))};export{K as ApplyWorkspace,Y as default};
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import{c as g,j as r,r as s,E as Q,G as U,F as Z,_ as W}from"./index-
|
|
1
|
+
import{c as g,j as r,r as s,E as Q,G as U,F as Z,_ as W}from"./index-Dkkxw5Oy.js";import{M as J}from"./MdViewer-WZMpNmB2.js";import{C as G,I as K,a as H,F as X}from"./FileIcon-CDN2wCuK.js";import{F as Y}from"./file-text-Co0hTLuo.js";import{B as ee}from"./book-open-Dwx5kHtv.js";import"./index-CHxXM6Fn.js";/**
|
|
2
2
|
* @license lucide-react v0.460.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
5
5
|
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const
|
|
6
|
+
*/const te=g("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);/**
|
|
7
7
|
* @license lucide-react v0.460.0 - ISC
|
|
8
8
|
*
|
|
9
9
|
* This source code is licensed under the ISC license.
|
|
10
10
|
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const
|
|
11
|
+
*/const re=g("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
|
|
12
12
|
* @license lucide-react v0.460.0 - ISC
|
|
13
13
|
*
|
|
14
14
|
* This source code is licensed under the ISC license.
|
|
15
15
|
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const ne=g("
|
|
16
|
+
*/const ne=g("FileQuestion",[["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}]]);/**
|
|
17
17
|
* @license lucide-react v0.460.0 - ISC
|
|
18
18
|
*
|
|
19
19
|
* This source code is licensed under the ISC license.
|
|
20
20
|
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const se=g("
|
|
21
|
+
*/const se=g("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/**
|
|
22
22
|
* @license lucide-react v0.460.0 - ISC
|
|
23
23
|
*
|
|
24
24
|
* This source code is licensed under the ISC license.
|
|
25
25
|
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/const oe=g("
|
|
26
|
+
*/const oe=g("ListTodo",[["rect",{x:"3",y:"5",width:"6",height:"6",rx:"1",key:"1defrl"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);/**
|
|
27
27
|
* @license lucide-react v0.460.0 - ISC
|
|
28
28
|
*
|
|
29
29
|
* This source code is licensed under the ISC license.
|
|
30
30
|
* See the LICENSE file in the root directory of this source tree.
|
|
31
|
-
*/const ce=g("
|
|
31
|
+
*/const ce=g("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/**
|
|
32
32
|
* @license lucide-react v0.460.0 - ISC
|
|
33
33
|
*
|
|
34
34
|
* This source code is licensed under the ISC license.
|
|
35
35
|
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
-
*/const ue=g("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);function ae({path:e}){return r.jsx("div",{className:"grid place-items-center h-full text-center text-muted-foreground",children:r.jsxs("div",{children:[r.jsx(se,{className:"h-10 w-10 mx-auto mb-3 opacity-50"}),r.jsx("p",{children:"该格式无法预览"}),r.jsx("p",{className:"mt-1 font-mono text-xs break-all",children:e})]})})}let q=null;const V=new Set,k={get:()=>q,set:e=>{q=e,V.forEach(t=>t(e))},subscribe:e=>(V.add(e),()=>{V.delete(e)})};function ie({containerRef:e}){const[t,c]=s.useState([]),[f,i]=s.useState(null);s.useEffect(()=>{const o=e.current;if(!o)return;let l=!1;const u=()=>{if(l)return;const h=o.querySelectorAll("h1[id], h2[id], h3[id]"),a=[];h.forEach(x=>{var b;a.push({id:x.id,text:((b=x.textContent)==null?void 0:b.trim())??"",level:parseInt(x.tagName[1],10)})}),c(a)};u();const n=new MutationObserver(u);return n.observe(o,{childList:!0,subtree:!0,characterData:!0}),()=>{l=!0,n.disconnect()}},[e]),s.useEffect(()=>{const o=e.current;if(!o||!t.length)return;const l=new IntersectionObserver(u=>{const n=u.filter(h=>h.isIntersecting);if(n.length){const h=n.reduce((a,x)=>a.boundingClientRect.top<x.boundingClientRect.top?a:x);i(h.target.id)}},{root:o,rootMargin:"-60px 0px -70% 0px",threshold:0});return t.forEach(({id:u})=>{const n=o.querySelector(`#${CSS.escape(u)}`);n&&l.observe(n)}),()=>l.disconnect()},[t,e]);const d=o=>{var u;const l=(u=e.current)==null?void 0:u.querySelector(`#${CSS.escape(o)}`);l==null||l.scrollIntoView({behavior:"smooth",block:"start"})};return t.length?r.jsxs("nav",{className:"hidden md:flex w-44 shrink-0 flex-col border-l pl-3 py-2 overflow-y-auto","aria-label":"文档大纲",children:[r.jsxs("div",{className:"flex items-center gap-1 mb-2 text-[11px] font-medium text-muted-foreground uppercase tracking-wider",children:[r.jsx(ee,{className:"h-3 w-3"}),r.jsx("span",{children:"大纲"})]}),r.jsx("ul",{className:"space-y-0.5",children:t.map(o=>r.jsx("li",{children:r.jsx("button",{type:"button",onClick:()=>d(o.id),className:`w-full text-left text-[11px] leading-snug py-0.5 px-1.5 rounded truncate transition-colors ${f===o.id?"bg-primary/10 text-foreground font-medium":"text-muted-foreground hover:bg-muted/70"}`,style:{paddingLeft:6+(o.level-1)*10},children:o.text||o.id})},o.id))})]}):null}const le=2500;function de(e){const t=e.slice(e.lastIndexOf("/")+1).toLowerCase();if(t==="justfile"||t==="makefile")return G;const c=e.slice(e.lastIndexOf(".")).toLowerCase();return c===".md"||c===".markdown"?J:[".svg",".png",".jpg",".jpeg",".gif",".webp",".ico"].includes(c)?K:[".sql",".txt",".csv",".tsv",".json",".yaml",".yml",".xml",".py",".js",".ts",".java",".go",".rs",".rb",".php",".c",".cpp",".h",".cs",".swift",".kt",".scala",".sh",".bash",".zsh",".fish",".env",".gitignore",".dockerfile"].includes(c)?G:ae}function fe(e){const[t,c]=s.useState(()=>k.get()),[f,i]=s.useState(!1),d=s.useRef(null),o=t?de(t):null;return s.useEffect(()=>k.subscribe(c),[]),s.useEffect(()=>{const l=d.current;if(!l)return;const u=()=>{var a;const h=((a=l.textContent)==null?void 0:a.length)??0;i(h>le)};u();const n=new MutationObserver(u);return n.observe(l,{childList:!0,subtree:!0,characterData:!0}),()=>n.disconnect()},[t]),r.jsx("div",{className:"mx-auto h-full max-w-5xl bg-background border rounded-lg shadow-sm overflow-hidden flex flex-col",children:t&&o?r.jsxs("div",{className:"flex-1 min-h-0 flex overflow-hidden",children:[r.jsx("div",{ref:d,className:"flex-1 min-h-0 overflow-auto",children:r.jsx(o,{path:t})}),f&&r.jsx(ie,{containerRef:d})]}):r.jsx(Q,{icon:ne,title:"从左侧选择文件预览",hint:"支持 Markdown、图片、代码等格式",tone:"primary"})})}const he=Object.freeze(Object.defineProperty({__proto__:null,default:fe},Symbol.toStringTag,{value:"Module"}));function me(e,t,c,f){var i=this,d=s.useRef(null),o=s.useRef(0),l=s.useRef(0),u=s.useRef(null),n=s.useRef([]),h=s.useRef(),a=s.useRef(),x=s.useRef(e),b=s.useRef(!0),y=s.useRef(),O=s.useRef();x.current=e;var L=typeof window<"u",N=!t&&t!==0&&L;if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var M=!!(c=c||{}).leading,R=!("trailing"in c)||!!c.trailing,S=!!c.flushOnExit&&R,j="maxWait"in c,z="debounceOnServer"in c&&!!c.debounceOnServer,I=j?Math.max(+c.maxWait||0,t):null,A=s.useMemo(function(){var v=function(m){var p=n.current,w=h.current;return n.current=h.current=null,o.current=m,l.current=l.current||m,a.current=x.current.apply(w,p)},E=function(m,p){N&&cancelAnimationFrame(u.current),u.current=N?requestAnimationFrame(m):setTimeout(m,p)},P=function(m){if(!b.current)return!1;var p=m-d.current;return!d.current||p>=t||p<0||j&&m-o.current>=I},$=function(m){return u.current=null,R&&n.current?v(m):(n.current=h.current=null,a.current)},F=function m(){var p=Date.now();if(M&&l.current===o.current&&T(),P(p))return $(p);if(b.current){var w=t-(p-d.current),_=j?Math.min(w,I-(p-o.current)):w;E(m,_)}},T=function(){f&&f({})},C=function(){if(L||z){var m,p=Date.now(),w=P(p);if(n.current=[].slice.call(arguments),h.current=i,d.current=p,S&&!y.current&&(y.current=function(){var _;((_=globalThis.document)==null?void 0:_.visibilityState)==="hidden"&&O.current.flush()},(m=globalThis.document)==null||m.addEventListener==null||m.addEventListener("visibilitychange",y.current)),w){if(!u.current&&b.current)return o.current=d.current,E(F,t),M?v(d.current):a.current;if(j)return E(F,t),v(d.current)}return u.current||E(F,t),a.current}};return C.cancel=function(){var m=u.current;m&&(N?cancelAnimationFrame(u.current):clearTimeout(u.current)),o.current=0,n.current=d.current=h.current=u.current=null,m&&f&&f({})},C.isPending=function(){return!!u.current},C.flush=function(){return u.current?$(Date.now()):a.current},C},[M,j,t,I,R,S,N,L,z,f]);return O.current=A,s.useEffect(function(){return b.current=!0,function(){var v;S&&O.current.flush(),y.current&&((v=globalThis.document)==null||v.removeEventListener==null||v.removeEventListener("visibilitychange",y.current),y.current=null),b.current=!1}},[S]),A}function pe(e,t){return e===t}function xe(e,t,c){var f=pe,i=s.useRef(e),d=s.useState({})[1],o=me(s.useCallback(function(u){i.current=u,d({})},[d]),t,c,d),l=s.useRef(e);return f(l.current,e)||(o(e),l.current=e),[i.current,o]}function D(e,t){return!t||e.name.toLowerCase().includes(t)?!0:(e.children??[]).some(c=>D(c,t))}const be={changes:ce,archive:re,specs:ue,docs:te,other:X};function B({node:e,depth:t,filter:c,current:f,onSelectFile:i}){const d=(e.children??[]).filter(n=>D(n,c)),[o,l]=s.useState(!e.defaultCollapsed),u=c?!0:o;return!d.length&&c?null:r.jsxs("div",{children:[(()=>{const n=e.name.match(/^([a-z]+)(?: \((\d+)\))?$/),h=n?be[n[1]]:void 0,a=u?Z:oe;return r.jsxs("button",{onClick:()=>l(x=>!x),className:"w-full flex items-center gap-1.5 px-2 py-1 text-xs text-foreground hover:bg-muted rounded-md mx-1",style:{paddingLeft:8+t*14,width:"calc(100% - 8px)"},children:[r.jsx(H,{className:`h-3 w-3 shrink-0 text-muted-foreground transition-transform ${u?"rotate-90":""}`}),h?r.jsx(h,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):r.jsx(a,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground transition-colors"}),r.jsx("span",{className:"font-medium truncate",children:n?n[1]:e.name}),(n==null?void 0:n[2])&&r.jsx("span",{className:"ml-auto mr-1 shrink-0 rounded-full bg-muted px-1.5 text-[10px] font-mono text-muted-foreground",children:n[2]})]})})(),u&&d.map(n=>n.kind==="dir"?r.jsx(B,{node:n,depth:t+1,filter:c,current:f,onSelectFile:i},n.name+t):r.jsxs("button",{onClick:()=>n.path&&i(n.path),className:`w-full flex items-center gap-1.5 pr-2 py-1 text-xs hover:bg-muted rounded-md mx-1 ${f===n.path?"bg-primary/10 text-foreground font-medium":"text-muted-foreground"}`,style:{paddingLeft:20+t*14,width:"calc(100% - 8px)"},children:[r.jsx(Y,{name:n.name,active:f===n.path}),r.jsx("span",{className:"truncate",children:n.name})]},n.path))]})}function ve({worktrees:e}){const[t,c]=s.useState(!0),f=i=>{window.dispatchEvent(new CustomEvent("zd-dashboard-nav",{detail:{mode:"apply",wt:i.name}}))};return r.jsxs("div",{className:"mb-1",children:[r.jsxs("button",{onClick:()=>c(i=>!i),className:"w-full flex items-center gap-1 px-2 py-1.5 text-[11px] font-medium text-muted-foreground tracking-wide hover:text-foreground",children:[r.jsx(H,{className:`h-3 w-3 transition-transform ${t?"rotate-90":""}`}),r.jsx(U,{className:"h-3 w-3"}),r.jsxs("span",{children:["Worktrees (",e.length,")"]})]}),t&&e.map(i=>r.jsxs("button",{onClick:()=>f(i),title:`${i.branch}${i.dirty?" · 有未提交变更":""}`,className:"w-full flex items-center gap-1.5 px-2 py-1 text-xs text-foreground hover:bg-muted border-l-2 border-transparent",style:{paddingLeft:14},children:[r.jsx("span",{className:"truncate font-mono text-[11px]",children:i.branch}),r.jsxs("span",{className:"text-muted-foreground truncate",children:["/",i.name]}),i.dirty&&r.jsx("span",{className:"ml-auto flex-none h-2 w-2 rounded-full bg-destructive shrink-0",title:"有未提交变更"})]},i.name))]})}function ge({navTarget:e}){const t=s.useSyncExternalStore(k.subscribe,k.get),[c,f]=s.useState(null),[i,d]=s.useState(""),[o]=xe(i,150),[l,u]=s.useState([]);s.useEffect(()=>{e!=null&&e.filter&&d(e.filter)},[e==null?void 0:e.filter,e==null?void 0:e.navToken]),s.useEffect(()=>{fetch("/__files",{cache:"no-store"}).then(a=>a.json()).then(a=>f(a.tree??[]))},[]),s.useEffect(()=>{fetch("/__worktrees",{cache:"no-store"}).then(a=>a.json()).then(u).catch(()=>u([]))},[]);const n=s.useMemo(()=>c?c.filter(a=>D(a,o)):[],[c,o]),h=l.length>0;return r.jsxs("div",{className:"p-2",children:[r.jsx("input",{value:i,onChange:a=>d(a.target.value.toLowerCase()),placeholder:"过滤…",className:"w-full h-7 px-2 text-xs rounded border border-border bg-background focus:outline-none focus:border-primary"}),c?!n.length&&!h?r.jsx("p",{className:"p-3 text-xs text-muted-foreground",children:"无匹配"}):r.jsxs("div",{className:"py-1",children:[h&&r.jsx(ve,{worktrees:l}),n.map(a=>r.jsx(B,{node:a,depth:0,filter:o,current:t,onSelectFile:x=>k.set(x)},a.name))]}):r.jsx("p",{className:"p-3 text-xs text-muted-foreground",children:"加载中…"})]})}const ye=Object.freeze(Object.defineProperty({__proto__:null,default:ge},Symbol.toStringTag,{value:"Module"})),Ce={mode:"view",label:"项目浏览",icon:"👁️",description:"openspec / docs / 文档预览",Sidebar:s.lazy(()=>W(()=>Promise.resolve().then(()=>ye),void 0)),Workspace:s.lazy(()=>W(()=>Promise.resolve().then(()=>he),void 0))};export{ge as ViewSidebar,fe as ViewWorkspace,Ce as default};
|
|
36
|
+
*/const ue=g("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);function ae({path:e}){return r.jsx("div",{className:"grid place-items-center h-full text-center text-muted-foreground",children:r.jsxs("div",{children:[r.jsx(ne,{className:"h-10 w-10 mx-auto mb-3 opacity-50"}),r.jsx("p",{children:"该格式无法预览"}),r.jsx("p",{className:"mt-1 font-mono text-xs break-all",children:e})]})})}let q=null;const V=new Set,j={get:()=>q,set:e=>{q=e,V.forEach(t=>t(e))},subscribe:e=>(V.add(e),()=>{V.delete(e)})};function ie({containerRef:e}){const[t,c]=s.useState([]),[f,i]=s.useState(null);s.useEffect(()=>{const o=e.current;if(!o)return;let l=!1;const u=()=>{if(l)return;const h=o.querySelectorAll("h1[id], h2[id], h3[id]"),a=[];h.forEach(x=>{var b;a.push({id:x.id,text:((b=x.textContent)==null?void 0:b.trim())??"",level:parseInt(x.tagName[1],10)})}),c(a)};u();const n=new MutationObserver(u);return n.observe(o,{childList:!0,subtree:!0,characterData:!0}),()=>{l=!0,n.disconnect()}},[e]),s.useEffect(()=>{const o=e.current;if(!o||!t.length)return;const l=new IntersectionObserver(u=>{const n=u.filter(h=>h.isIntersecting);if(n.length){const h=n.reduce((a,x)=>a.boundingClientRect.top<x.boundingClientRect.top?a:x);i(h.target.id)}},{root:o,rootMargin:"-60px 0px -70% 0px",threshold:0});return t.forEach(({id:u})=>{const n=o.querySelector(`#${CSS.escape(u)}`);n&&l.observe(n)}),()=>l.disconnect()},[t,e]);const d=o=>{var u;const l=(u=e.current)==null?void 0:u.querySelector(`#${CSS.escape(o)}`);l==null||l.scrollIntoView({behavior:"smooth",block:"start"})};return t.length?r.jsxs("nav",{className:"hidden md:flex w-44 shrink-0 flex-col border-l pl-3 py-2 overflow-y-auto","aria-label":"文档大纲",children:[r.jsxs("div",{className:"flex items-center gap-1 mb-2 text-[11px] font-medium text-muted-foreground uppercase tracking-wider",children:[r.jsx(Y,{className:"h-3 w-3"}),r.jsx("span",{children:"大纲"})]}),r.jsx("ul",{className:"space-y-0.5",children:t.map(o=>r.jsx("li",{children:r.jsx("button",{type:"button",onClick:()=>d(o.id),className:`w-full text-left text-[11px] leading-snug py-0.5 px-1.5 rounded truncate transition-colors ${f===o.id?"bg-primary/10 text-foreground font-medium":"text-muted-foreground hover:bg-muted/70"}`,style:{paddingLeft:6+(o.level-1)*10},children:o.text||o.id})},o.id))})]}):null}const le=2500;function de(e){const t=e.slice(e.lastIndexOf("/")+1).toLowerCase();if(t==="justfile"||t==="makefile")return G;const c=e.slice(e.lastIndexOf(".")).toLowerCase();return c===".md"||c===".markdown"?J:[".svg",".png",".jpg",".jpeg",".gif",".webp",".ico"].includes(c)?K:[".sql",".txt",".csv",".tsv",".json",".yaml",".yml",".xml",".py",".js",".ts",".java",".go",".rs",".rb",".php",".c",".cpp",".h",".cs",".swift",".kt",".scala",".sh",".bash",".zsh",".fish",".env",".gitignore",".dockerfile"].includes(c)?G:ae}function fe(e){const[t,c]=s.useState(()=>j.get()),[f,i]=s.useState(!1),d=s.useRef(null),o=t?de(t):null;return s.useEffect(()=>j.subscribe(c),[]),s.useEffect(()=>{const l=d.current;if(!l)return;const u=()=>{var a;const h=((a=l.textContent)==null?void 0:a.length)??0;i(h>le)};u();const n=new MutationObserver(u);return n.observe(l,{childList:!0,subtree:!0,characterData:!0}),()=>n.disconnect()},[t]),r.jsx("div",{className:"mx-auto h-full max-w-5xl bg-background border rounded-lg shadow-sm overflow-hidden flex flex-col",children:t&&o?r.jsxs("div",{className:"flex-1 min-h-0 flex overflow-hidden",children:[r.jsx("div",{ref:d,className:"flex-1 min-h-0 overflow-auto",children:r.jsx(o,{path:t})}),f&&r.jsx(ie,{containerRef:d})]}):r.jsx(Q,{icon:re,title:"从左侧选择文件预览",hint:"支持 Markdown、图片、代码等格式",tone:"primary"})})}const he=Object.freeze(Object.defineProperty({__proto__:null,default:fe},Symbol.toStringTag,{value:"Module"}));function me(e,t,c,f){var i=this,d=s.useRef(null),o=s.useRef(0),l=s.useRef(0),u=s.useRef(null),n=s.useRef([]),h=s.useRef(),a=s.useRef(),x=s.useRef(e),b=s.useRef(!0),y=s.useRef(),O=s.useRef();x.current=e;var L=typeof window<"u",N=!t&&t!==0&&L;if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var M=!!(c=c||{}).leading,R=!("trailing"in c)||!!c.trailing,S=!!c.flushOnExit&&R,k="maxWait"in c,z="debounceOnServer"in c&&!!c.debounceOnServer,I=k?Math.max(+c.maxWait||0,t):null,D=s.useMemo(function(){var v=function(m){var p=n.current,w=h.current;return n.current=h.current=null,o.current=m,l.current=l.current||m,a.current=x.current.apply(w,p)},E=function(m,p){N&&cancelAnimationFrame(u.current),u.current=N?requestAnimationFrame(m):setTimeout(m,p)},P=function(m){if(!b.current)return!1;var p=m-d.current;return!d.current||p>=t||p<0||k&&m-o.current>=I},$=function(m){return u.current=null,R&&n.current?v(m):(n.current=h.current=null,a.current)},F=function m(){var p=Date.now();if(M&&l.current===o.current&&T(),P(p))return $(p);if(b.current){var w=t-(p-d.current),_=k?Math.min(w,I-(p-o.current)):w;E(m,_)}},T=function(){f&&f({})},C=function(){if(L||z){var m,p=Date.now(),w=P(p);if(n.current=[].slice.call(arguments),h.current=i,d.current=p,S&&!y.current&&(y.current=function(){var _;((_=globalThis.document)==null?void 0:_.visibilityState)==="hidden"&&O.current.flush()},(m=globalThis.document)==null||m.addEventListener==null||m.addEventListener("visibilitychange",y.current)),w){if(!u.current&&b.current)return o.current=d.current,E(F,t),M?v(d.current):a.current;if(k)return E(F,t),v(d.current)}return u.current||E(F,t),a.current}};return C.cancel=function(){var m=u.current;m&&(N?cancelAnimationFrame(u.current):clearTimeout(u.current)),o.current=0,n.current=d.current=h.current=u.current=null,m&&f&&f({})},C.isPending=function(){return!!u.current},C.flush=function(){return u.current?$(Date.now()):a.current},C},[M,k,t,I,R,S,N,L,z,f]);return O.current=D,s.useEffect(function(){return b.current=!0,function(){var v;S&&O.current.flush(),y.current&&((v=globalThis.document)==null||v.removeEventListener==null||v.removeEventListener("visibilitychange",y.current),y.current=null),b.current=!1}},[S]),D}function pe(e,t){return e===t}function xe(e,t,c){var f=pe,i=s.useRef(e),d=s.useState({})[1],o=me(s.useCallback(function(u){i.current=u,d({})},[d]),t,c,d),l=s.useRef(e);return f(l.current,e)||(o(e),l.current=e),[i.current,o]}function A(e,t){return!t||e.name.toLowerCase().includes(t)?!0:(e.children??[]).some(c=>A(c,t))}const be={changes:oe,archive:te,specs:ue,docs:ee,other:ce};function B({node:e,depth:t,filter:c,current:f,onSelectFile:i}){const d=(e.children??[]).filter(n=>A(n,c)),[o,l]=s.useState(!e.defaultCollapsed),u=c?!0:o;return!d.length&&c?null:r.jsxs("div",{children:[(()=>{const n=e.name.match(/^([a-z]+)(?: \((\d+)\))?$/),h=n?be[n[1]]:void 0,a=u?Z:se;return r.jsxs("button",{onClick:()=>l(x=>!x),className:"w-full flex items-center gap-1.5 px-2 py-1 text-xs text-foreground hover:bg-muted rounded-md mx-1",style:{paddingLeft:8+t*14,width:"calc(100% - 8px)"},children:[r.jsx(H,{className:`h-3 w-3 shrink-0 text-muted-foreground transition-transform ${u?"rotate-90":""}`}),h?r.jsx(h,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):r.jsx(a,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground transition-colors"}),r.jsx("span",{className:"font-medium truncate",children:n?n[1]:e.name}),(n==null?void 0:n[2])&&r.jsx("span",{className:"ml-auto mr-1 shrink-0 rounded-full bg-muted px-1.5 text-[10px] font-mono text-muted-foreground",children:n[2]})]})})(),u&&d.map(n=>n.kind==="dir"?r.jsx(B,{node:n,depth:t+1,filter:c,current:f,onSelectFile:i},n.name+t):r.jsxs("button",{onClick:()=>n.path&&i(n.path),className:`w-full flex items-center gap-1.5 pr-2 py-1 text-xs hover:bg-muted rounded-md mx-1 ${f===n.path?"bg-primary/10 text-foreground font-medium":"text-muted-foreground"}`,style:{paddingLeft:20+t*14,width:"calc(100% - 8px)"},children:[r.jsx(X,{name:n.name,active:f===n.path}),r.jsx("span",{className:"truncate",children:n.name})]},n.path))]})}function ve({worktrees:e}){const[t,c]=s.useState(!0),f=i=>{window.dispatchEvent(new CustomEvent("zd-dashboard-nav",{detail:{mode:"apply",wt:i.name}}))};return r.jsxs("div",{className:"mb-1",children:[r.jsxs("button",{onClick:()=>c(i=>!i),className:"w-full flex items-center gap-1 px-2 py-1.5 text-[11px] font-medium text-muted-foreground tracking-wide hover:text-foreground",children:[r.jsx(H,{className:`h-3 w-3 transition-transform ${t?"rotate-90":""}`}),r.jsx(U,{className:"h-3 w-3"}),r.jsxs("span",{children:["Worktrees (",e.length,")"]})]}),t&&e.map(i=>r.jsxs("button",{onClick:()=>f(i),title:`${i.branch}${i.dirty?" · 有未提交变更":""}`,className:"w-full flex items-center gap-1.5 px-2 py-1 text-xs text-foreground hover:bg-muted border-l-2 border-transparent",style:{paddingLeft:14},children:[r.jsx("span",{className:"truncate font-mono text-[11px]",children:i.branch}),r.jsxs("span",{className:"text-muted-foreground truncate",children:["/",i.name]}),i.dirty&&r.jsx("span",{className:"ml-auto flex-none h-2 w-2 rounded-full bg-destructive shrink-0",title:"有未提交变更"})]},i.name))]})}function ge({navTarget:e}){const t=s.useSyncExternalStore(j.subscribe,j.get),[c,f]=s.useState(null),[i,d]=s.useState(""),[o]=xe(i,150),[l,u]=s.useState([]);s.useEffect(()=>{e!=null&&e.filter&&d(e.filter)},[e==null?void 0:e.filter,e==null?void 0:e.navToken]),s.useEffect(()=>{fetch("/__files",{cache:"no-store"}).then(a=>a.json()).then(a=>f(a.tree??[]))},[]),s.useEffect(()=>{fetch("/__worktrees",{cache:"no-store"}).then(a=>a.json()).then(u).catch(()=>u([]))},[]);const n=s.useMemo(()=>c?c.filter(a=>A(a,o)):[],[c,o]),h=l.length>0;return r.jsxs("div",{className:"p-2",children:[r.jsx("input",{value:i,onChange:a=>d(a.target.value.toLowerCase()),placeholder:"过滤…",className:"w-full h-7 px-2 text-xs rounded border border-border bg-background focus:outline-none focus:border-primary"}),c?!n.length&&!h?r.jsx("p",{className:"p-3 text-xs text-muted-foreground",children:"无匹配"}):r.jsxs("div",{className:"py-1",children:[h&&r.jsx(ve,{worktrees:l}),n.map(a=>r.jsx(B,{node:a,depth:0,filter:o,current:t,onSelectFile:x=>j.set(x)},a.name))]}):r.jsx("p",{className:"p-3 text-xs text-muted-foreground",children:"加载中…"})]})}const ye=Object.freeze(Object.defineProperty({__proto__:null,default:ge},Symbol.toStringTag,{value:"Module"})),Ce={mode:"view",label:"项目浏览",icon:"👁️",description:"openspec / docs / 文档预览",Sidebar:s.lazy(()=>W(()=>Promise.resolve().then(()=>ye),void 0)),Workspace:s.lazy(()=>W(()=>Promise.resolve().then(()=>he),void 0))};export{ge as ViewSidebar,fe as ViewWorkspace,Ce as default};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{c as h,r,u as z,j as e,C as _,_ as A}from"./index-Dkkxw5Oy.js";import{M as I}from"./MdViewer-WZMpNmB2.js";import{P as F}from"./ProgressBar-DPJd_uDt.js";import{F as L}from"./FilterPills-D_6kvZo5.js";import"./index-CHxXM6Fn.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 U=h("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
|
|
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 V=h("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
|
|
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 X=h("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"}]]);/**
|
|
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 q=h("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"}]]);/**
|
|
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 C=h("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),W={draft:"bg-zinc-500 text-white",reviewing:"bg-warning text-white",passed:"bg-success text-white",rejected:"bg-destructive text-white"},B={draft:"草案",reviewing:"评审中",passed:"已通过",rejected:"未通过"},G=[{key:"all",label:"全部"},{key:"open",label:"待处理"},{key:"answered",label:"已答复"},{key:"accepted",label:"已采纳"},{key:"dismissed",label:"已驳回"}],T={high:"bg-destructive",medium:"bg-warning",low:"bg-info"},J={high:"高",medium:"中",low:"低"},E={open:"bg-destructive/15 text-destructive border-destructive/30",answered:"bg-info/15 text-info border-info/30",accepted:"bg-success/15 text-success border-success/30",dismissed:"bg-muted text-muted-foreground border-border"},M={open:"待处理",answered:"已答复",accepted:"已采纳",dismissed:"已驳回"};function H({item:t,token:p,onUpdated:w}){const[u,m]=r.useState(t.answer??"");r.useEffect(()=>m(t.answer??""),[t.id,t.answer]);const c=async a=>{const i=await fetch("/__review/item",{method:"POST",headers:{"x-stop-token":p,"Content-Type":"application/json"},body:JSON.stringify({id:t.id,...a})});i.ok&&w(await i.json())},l=a=>a==="open"?{state:a,answer:u}:a==="answered"?{state:a,answer:u}:{state:a,answer:u||t.answer},f=t.state==="accepted"||t.state==="dismissed",b=f?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:J[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:u,onChange:a=>m(a.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-success/15 text-success 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:()=>c(l("answered")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-info hover:bg-info text-white text-xs",children:[e.jsx(q,{className:"h-3 w-3"}),t.state==="answered"?"更新答复":"答复"]}),e.jsxs("button",{onClick:()=>c(l("accepted")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-success hover:bg-success text-white text-xs",children:[e.jsx(_,{className:"h-3 w-3"}),"采纳"]}),e.jsxs("button",{onClick:()=>c(l("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"}),"驳回"]})]}),f&&e.jsxs("button",{onClick:()=>c(l("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(X,{className:"h-3 w-3"}),"撤销"]}),e.jsx("span",{className:"ml-auto text-[10px] text-muted-foreground",children:b})]})]})]})}function K(){const[t,p]=r.useState(null),[w,u]=r.useState([]),[m,c]=r.useState(null),[l,f]=r.useState(null),[b,a]=r.useState(""),[i,O]=r.useState("all"),[g,v]=r.useState(!0),[N,y]=r.useState("");r.useRef(!1);const k=()=>{fetch("/__review",{cache:"no-store"}).then(s=>s.json()).then(p),fetch("/__docs",{cache:"no-store"}).then(s=>s.json()).then(s=>{u(s),c(n=>n&&s.includes(n)?n:s[0]??null)})};r.useEffect(()=>{k(),fetch("/__config").then(s=>s.json()).then(s=>a(s.stopToken??""))},[]),z(()=>{},k);const d={all:0,open:0,answered:0,accepted:0,dismissed:0};for(const s of(t==null?void 0:t.items)??[])d.all++,d[s.state]++;const S=r.useMemo(()=>{const s=new Map;for(const o of(t==null?void 0:t.items)??[]){if(i!=="all"&&o.state!==i)continue;const x=o.doc??null;s.has(x)||s.set(x,[]),s.get(x).push(o)}const n=o=>o??"(未关联文档)";return[...s.entries()].sort((o,x)=>n(o[0]).localeCompare(n(x[0]))).map(([o,x])=>({doc:o,label:n(o),items:x.sort((R,$)=>({high:0,medium:1,low:2})[R.severity??"medium"]-{high:0,medium:1,low:2}[$.severity??"medium"])}))},[t,i]),j=((t==null?void 0:t.items)??[]).find(s=>s.id===l)??null,D=s=>{f(s.id),c(s.doc??null)},P=async()=>{y("");const s=await fetch("/__review/status",{method:"POST",headers:{"x-stop-token":b,"Content-Type":"application/json"},body:'{"status":"passed"}'});s.ok?p(await s.json()):y((await s.json()).error??"failed")};return e.jsxs("div",{className:"mx-auto h-full max-w-6xl bg-background border rounded-lg shadow-sm overflow-hidden flex",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-2 border-b",children:(()=>{const s=d.all,n=s-d.open,o=s===0?0:Math.round(n/s*100);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between text-[11px] mb-1.5",children:[e.jsx("span",{className:"text-muted-foreground",children:"处理进度"}),e.jsxs("span",{className:"font-mono",children:[n,"/",s," · ",o,"%"]})]}),e.jsx(F,{value:o,className:"h-1.5"})]})})()}),e.jsx(L,{items:G.map(s=>({key:String(s.key),label:`${s.label} ${d[s.key]}`})),value:i,onChange:s=>O(s),ariaLabel:"评审项筛选"}),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:()=>D(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 ${l===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 ${W[t.status]??""}`,children:B[t.status]??t.status}),d.open>0&&e.jsxs("span",{className:"text-[11px] text-muted-foreground",children:["还有 ",d.open," 项待处理"]}),e.jsx("button",{onClick:P,disabled:!t||t.status==="passed"||d.open>0,className:"ml-auto h-7 px-3 rounded bg-success hover:bg-success disabled:opacity-50 disabled:cursor-not-allowed text-white text-xs",children:"通过"})]}),N&&e.jsx("div",{className:"bg-destructive/10 text-destructive text-xs px-3.5 py-1.5 border-b border-destructive/20",children:N}),e.jsxs("div",{className:"flex-1 min-h-0 flex flex-col",children:[g&&e.jsxs("div",{className:"flex-1 min-h-0 overflow-auto border-b bg-background relative",children:[e.jsx("button",{onClick:()=>v(!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(U,{className:"h-3.5 w-3.5"})}),m?e.jsx(I,{path:m}):e.jsx("p",{className:"p-6 text-sm text-muted-foreground",children:"在左侧选择评审项"})]}),e.jsxs("div",{className:g?"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 dot-grid",children:[!g&&e.jsxs("button",{onClick:()=>v(!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(V,{className:"h-3.5 w-3.5"}),"展开文档"]}),j?e.jsx(H,{item:j,token:b,onUpdated:p},j.id):e.jsx("p",{className:"text-xs text-muted-foreground text-center pt-6",children:"在左侧选择一个评审项"})]})]})]})]})}function Q(){return e.jsx(K,{})}const Y=Object.freeze(Object.defineProperty({__proto__:null,default:Q},Symbol.toStringTag,{value:"Module"})),re={mode:"review",label:"文档评审",icon:"✅",description:"评审项状态流转 · zreview",Workspace:r.lazy(()=>A(()=>Promise.resolve().then(()=>Y),void 0))};export{Q as ReviewWorkspace,re as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c,r as l,j as e,B as p,E as g,_ as f}from"./index-
|
|
1
|
+
import{c,r as l,j as e,B as p,E as g,_ as f}from"./index-Dkkxw5Oy.js";import{B as h}from"./badge-BbN-q0Cc.js";import{F as y}from"./FilterPills-D_6kvZo5.js";/**
|
|
2
2
|
* @license lucide-react v0.460.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Workspace-MeZD-u22.js","assets/index-Dkkxw5Oy.js","assets/index-o5t5Kpfc.css","assets/ProgressBar-DPJd_uDt.js","assets/file-text-Co0hTLuo.js","assets/book-open-Dwx5kHtv.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as o,_ as t}from"./index-Dkkxw5Oy.js";const a={mode:"stats",label:"项目统计",icon:"📊",description:"项目文件统计 · 扫描生成",Workspace:o.lazy(()=>t(()=>import("./Workspace-MeZD-u22.js"),__vite__mapDeps([0,1,2,3,4,5])))};export{a as default};
|
package/dist/web/index.html
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
6
|
<link rel="icon" href="/__app/favicon.svg" type="image/svg+xml" />
|
|
7
7
|
<title>zdashboard · 项目洞察</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-Dkkxw5Oy.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-o5t5Kpfc.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zdashboard",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "ZCode skill dashboard platform — pluggable viewers for zdesign/zview/zreview/zgoal",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"preview": "vite preview"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
+
"@radix-ui/react-dropdown-menu": "^2.1.24",
|
|
24
25
|
"@radix-ui/react-scroll-area": "^1.2.0",
|
|
25
26
|
"@radix-ui/react-separator": "^1.1.0",
|
|
26
27
|
"@radix-ui/react-slot": "^1.1.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as d,j as o,a as s,b as n}from"./index-Dcz2Myaf.js";const m=n("inline-flex items-center rounded border px-1.5 py-0.5 text-[10px] font-mono font-medium transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",success:"border-emerald-500/30 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400",warning:"border-amber-500/30 bg-amber-500/10 text-amber-600 dark:text-amber-400",info:"border-sky-500/30 bg-sky-500/10 text-sky-600 dark:text-sky-400",neutral:"border-border bg-muted text-muted-foreground",destructive:"border-red-500/30 bg-red-500/10 text-red-600 dark:text-red-400"}},defaultVariants:{variant:"default"}}),b=d.forwardRef(({className:e,variant:r,...t},a)=>o.jsx("div",{ref:a,className:s(m({variant:r}),e),...t}));b.displayName="Badge";export{b as B};
|