@deot/docs-playground 1.1.3 → 1.1.5

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.
@@ -1 +1 @@
1
- .docs-playground-icon{display:block;width:18px;height:18px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.docs-playground-files{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;max-height:100%;min-height:0;overflow:hidden;background:var(--docs-code-background,var(--vc-background-color,#f6f8fa));border:1px solid var(--docs-border-color,var(--vc-color-light-deeper,#e2e8f0));border-radius:12px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.docs-playground-files__tabs-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;background:transparent;border-bottom:1px solid var(--docs-border-color,var(--vc-color-light-deeper,#e2e8f0));-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:0;-webkit-flex:0 0 40px;-ms-flex:0 0 40px;flex:0 0 40px}.docs-playground-files__scroller{width:0;height:40px;min-width:0;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;scrollbar-width:none}.docs-playground-files__scroller::-webkit-scrollbar{display:none}.docs-playground-files__scroller .vc-scroller-track.is-vertical{display:none!important}.docs-playground-files__tabs{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;height:40px;min-width:100%;padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;gap:4px}.docs-playground-files__tab{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;height:40px;padding:0 12px;font:inherit;font-size:13px;font-weight:500;line-height:40px;color:var(--docs-foreground-color-mute,var(--vc-color-dark-extralight,#71717a));white-space:nowrap;cursor:pointer;background:transparent;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;gap:5px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground-files__tab.is-active{color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b))}.docs-playground-files__tab.is-active:after{position:absolute;right:8px;bottom:0;left:8px;height:3px;background:var(--docs-primary-color,var(--vc-color-primary,#5495f6));border-radius:2px 2px 0 0;content:""}.docs-playground-files__entry{font-size:10px;line-height:16px;color:var(--docs-foreground-color-mute,var(--vc-color-dark-extralight,#71717a))}.docs-playground-files__body{min-height:0;border-radius:0;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.docs-playground-editor button{padding:3px 7px;color:var(--docs-foreground-color-light,var(--vc-color-dark-lighter));white-space:nowrap;cursor:pointer;background:var(--docs-background-color,var(--vc-background-color-light));border:1px solid var(--docs-border-color,var(--vc-color-light-deeper));border-radius:8px}.docs-playground-editor button:disabled{cursor:not-allowed;opacity:.5}.docs-playground-editor__wrapper{position:fixed;right:10px;bottom:10px;z-index:1001;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:680px;max-height:calc(100vh - 20px);overflow:hidden;font-size:13px;color:var(--docs-foreground-color-light,var(--vc-color-dark-lighter));background:var(--docs-background-color,var(--vc-background-color-light));border-radius:8px;opacity:1;-webkit-box-shadow:0 0 50px rgba(0,0,0,.2);box-shadow:0 0 50px rgba(0,0,0,.2);-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.docs-playground-editor__header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:10px;font-size:20px;line-height:20px;cursor:move;background:var(--docs-background-color-soft,var(--vc-background-color))!important;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.docs-playground-editor__files{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;min-width:0;padding:6px 8px;overflow:hidden;background:var(--docs-background-color-soft,var(--vc-background-color));border-top:1px solid var(--docs-border-color,var(--vc-color-light-deeper));border-bottom:1px solid var(--docs-border-color,var(--vc-color-light-deeper));-webkit-box-sizing:border-box;box-sizing:border-box;gap:8px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.docs-playground-editor__actions{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;gap:4px}.docs-playground-editor__scroller{width:0;min-width:0;-webkit-box-flex:1;-webkit-flex:1 1;-ms-flex:1 1;flex:1 1;scrollbar-width:none}.docs-playground-editor__scroller::-webkit-scrollbar{display:none}.docs-playground-editor__tabs{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-width:100%;padding:6px 6px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box;gap:8px}.docs-playground-editor__tab{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;height:26px;padding:3px 12px 3px 7px;line-height:18px;white-space:nowrap;cursor:pointer;background:var(--docs-background-color,var(--vc-background-color-light));border:1px solid var(--docs-border-color,var(--vc-color-light-deeper));border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;gap:5px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground-editor__tab.is-active{color:#fff;background:#2563eb;border-color:#2563eb}.docs-playground-editor__filename{width:100px;height:18px;padding:0 3px;font:inherit;line-height:16px;color:var(--docs-foreground-color-light,var(--vc-color-dark-lighter));background:var(--docs-background-color,var(--vc-background-color-light));border:1px solid var(--docs-border-color,var(--vc-color-light-deeper));-webkit-box-sizing:border-box;box-sizing:border-box}.docs-playground-editor__close{position:absolute;top:-6px;right:-6px;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:14px;height:14px;padding:0;font-size:0;line-height:0;color:#fff;background-color:#5495f6!important;border:0;border-radius:7px;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground-editor__close:after,.docs-playground-editor__close:before{position:absolute;top:50%;left:50%;width:8px;height:1px;background-color:currentcolor;content:""}.docs-playground-editor__close:before{-webkit-transform:translate(-50%,-50%) rotate(45deg);-ms-transform:translate(-50%,-50%) rotate(45deg);transform:translate(-50%,-50%) rotate(45deg)}.docs-playground-editor__close:after{-webkit-transform:translate(-50%,-50%) rotate(-45deg);-ms-transform:translate(-50%,-50%) rotate(-45deg);transform:translate(-50%,-50%) rotate(-45deg)}.docs-playground-editor__delete{position:static!important}.docs-playground-editor__error{max-height:min(160px,25vh);padding:5px 10px;overflow:auto;color:var(--vc-color-error,#b91c1c);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--docs-error-background,#fef2f2);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.docs-playground-editor__body{min-width:0;min-height:240px;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.docs-playground-editor__editor{min-height:240px;padding:1px;background:var(--docs-code-background,var(--vc-background-color))!important}.docs-playground-editor__editor .cm-editor{height:auto}.docs-playground-editor__editor .cm-scroller{overflow:visible!important}.docs-playground-popup{position:fixed;inset:0;z-index:1000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:20px 40px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground-popup__mask{position:absolute;inset:0;background:rgba(15,23,42,.45)}.docs-playground-popup__shell{position:relative;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:100%;max-height:100%;overflow:hidden;background:var(--docs-background-color,var(--vc-background-color-light,#fff));border-radius:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.docs-playground-popup__frame{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.docs-playground-popup__header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0 4px 0 0;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:12px;-webkit-box-flex:0;-webkit-flex:0 0 44px;-ms-flex:0 0 44px;flex:0 0 44px}.docs-playground-popup__body{min-width:0;min-height:0;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.docs-playground-popup__scroller{width:100%;height:100%}.docs-playground-popup__scroller-content{min-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.docs-playground-popup__canvas{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.docs-playground-popup__canvas .iframe-container,.docs-playground-popup__canvas .iframe-container iframe,.docs-playground-popup__canvas .sandbox{display:block;width:100%;height:100%;min-height:100%;background:var(--vc-background-color-light,var(--docs-background-color,#fff))!important}.docs-playground-popup__canvas .iframe-container iframe{border:0}.docs-playground-runtime,.docs-playground-runtime-host{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;min-height:0;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.docs-playground-runtime--styleless{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;min-height:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground-runtime--styleless .docs-playground__runtime-error{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.docs-playground-runtime__viewport-stage{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:100%;min-width:0;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.docs-playground-runtime__viewport{position:relative;height:100%;min-width:0;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.docs-playground .iframe-container,.docs-playground .iframe-container iframe{width:100%;height:100%;background:var(--vc-background-color-light,var(--docs-background-color,#fff))!important}.docs-playground .iframe-container iframe{display:block;border:0}.docs-playground__preview{position:relative;min-height:0;overflow:hidden;border:1px solid var(--docs-border-color,var(--vc-color-light-deeper,#e2e8f0));border-radius:12px;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.docs-playground__expand,.docs-playground__preview{background:var(--vc-background-color-light,var(--docs-background-color,#fff));-webkit-box-sizing:border-box;box-sizing:border-box}.docs-playground__expand{position:absolute;bottom:2px;left:50%;z-index:2;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:32px;height:24px;min-width:24px;min-height:24px;padding:0;color:var(--docs-foreground-color-mute,var(--vc-color-dark-lightest,#64748b));cursor:pointer;border:0;border-radius:8px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transition:color .15s ease,background-color .15s ease;transition:color .15s ease,background-color .15s ease;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground__expand .docs-playground-icon{width:14px;height:14px;-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;transition:transform .15s ease;transition:transform .15s ease, -webkit-transform .15s ease}.docs-playground__expand:hover{color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b))}.docs-playground__expand:focus-visible{outline:2px solid var(--docs-primary-color,var(--vc-color-primary,#2563eb));outline-offset:1px}.docs-playground__expand.is-expanded .docs-playground-icon{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.docs-playground__runtime-error{max-height:240px;padding:12px 16px;margin:0 0 8px;overflow:auto;font:inherit;font-size:13px;line-height:1.6;color:var(--vc-color-error,#b91c1c);white-space:pre-wrap;background:var(--docs-error-background,#fef2f2);border:1px solid #f5c2c2;border-radius:12px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow-wrap:anywhere}@media (prefers-color-scheme:light){:root{--docs-background-color:#fff;--docs-background-color-soft:#f7f8fa;--docs-background-color-mute:#f2f3f5;--docs-foreground-color:#030712;--docs-foreground-color-light:#364153;--docs-foreground-color-mute:#4a5565;--docs-border-color:#e8eaec;--docs-border-color-light:#f0f1f2;--docs-primary-color:#873bf4;--docs-primary-color-light:#f2ebfe;--docs-link-color:#2d8cf0;--docs-mask-color:hsla(0,0%,100%,.72);--docs-shadow-color:rgba(0,0,0,.14);--docs-code-background:#f6f8fa;--docs-pattern-fg:rgba(3,7,18,.05);--docs-footer-background:#141313;--docs-footer-foreground:#364153;--docs-tip-background:#f9f0ff;--docs-warning-background:#fff6f7;--docs-error-color:#ed4014;--docs-error-background:#fef2f2}}@media (prefers-color-scheme:dark){:root{--docs-background-color:#171b24;--docs-background-color-soft:#252b3a;--docs-background-color-mute:#303748;--docs-foreground-color:#f8f8f8;--docs-foreground-color-light:#d1d5dc;--docs-foreground-color-mute:#b9b9b9;--docs-border-color:#3b4355;--docs-border-color-light:#303748;--docs-primary-color:#873bf4;--docs-primary-color-light:#35244d;--docs-link-color:#6daeff;--docs-mask-color:rgba(10,13,18,.76);--docs-shadow-color:rgba(0,0,0,.45);--docs-code-background:#202630;--docs-pattern-fg:hsla(0,0%,100%,.1);--docs-footer-background:#0d0f14;--docs-footer-foreground:#9ca3af;--docs-tip-background:#30223f;--docs-warning-background:#3d2529;--docs-error-color:#ff6b6b;--docs-error-background:#41272b}}[data-doc-theme=light],[data-vc-theme=light]{--docs-background-color:#fff;--docs-background-color-soft:#f7f8fa;--docs-background-color-mute:#f2f3f5;--docs-foreground-color:#030712;--docs-foreground-color-light:#364153;--docs-foreground-color-mute:#4a5565;--docs-border-color:#e8eaec;--docs-border-color-light:#f0f1f2;--docs-primary-color:#873bf4;--docs-primary-color-light:#f2ebfe;--docs-link-color:#2d8cf0;--docs-mask-color:hsla(0,0%,100%,.72);--docs-shadow-color:rgba(0,0,0,.14);--docs-code-background:#f6f8fa;--docs-pattern-fg:rgba(3,7,18,.05);--docs-footer-background:#141313;--docs-footer-foreground:#364153;--docs-tip-background:#f9f0ff;--docs-warning-background:#fff6f7;--docs-error-color:#ed4014;--docs-error-background:#fef2f2}[data-doc-theme=dark],[data-vc-theme=dark]{--docs-background-color:#171b24;--docs-background-color-soft:#252b3a;--docs-background-color-mute:#303748;--docs-foreground-color:#f8f8f8;--docs-foreground-color-light:#d1d5dc;--docs-foreground-color-mute:#b9b9b9;--docs-border-color:#3b4355;--docs-border-color-light:#303748;--docs-primary-color:#873bf4;--docs-primary-color-light:#35244d;--docs-link-color:#6daeff;--docs-mask-color:rgba(10,13,18,.76);--docs-shadow-color:rgba(0,0,0,.45);--docs-code-background:#202630;--docs-pattern-fg:hsla(0,0%,100%,.1);--docs-footer-background:#0d0f14;--docs-footer-foreground:#9ca3af;--docs-tip-background:#30223f;--docs-warning-background:#3d2529;--docs-error-color:#ff6b6b;--docs-error-background:#41272b}.docs-playground{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:16px;overflow:hidden;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:8px}.docs-playground--files{height:100%;min-height:0;overflow:hidden}.docs-playground__error{height:100%;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.docs-playground__error,.docs-playground__header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground__header{padding:0 4px 0 0;background:transparent;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:12px;-webkit-box-flex:0;-webkit-flex:0 0 44px;-ms-flex:0 0 44px;flex:0 0 44px}.docs-playground__title{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-width:0;padding-right:12px;overflow:hidden;font-size:14px;font-weight:600;line-height:20px;color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b));-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground__title-anchor{position:absolute;top:50%;right:100%;width:14px;font-size:12px;line-height:1;color:inherit;text-align:center;text-decoration:none;opacity:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.docs-playground__title-anchor:focus-visible{outline:2px solid var(--docs-primary-color,var(--vc-color-primary,#2563eb));outline-offset:1px;opacity:1}.docs-playground__title-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-playground .docs-playground__title:hover .docs-playground__title-anchor{opacity:1}.docs-playground__tools{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:auto;font-size:13px;line-height:20px;gap:8px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.docs-playground__tool-group{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;padding:2px;background:var(--docs-background-color-soft,var(--vc-background-color,#f1f5f9));border-radius:999px;gap:0;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground__tool-divider{display:inline-block;width:1px;height:16px;background:var(--docs-border-color,var(--vc-color-light-deeper,#e2e8f0));-webkit-box-flex:0;-webkit-flex:0 0 1px;-ms-flex:0 0 1px;flex:0 0 1px}.docs-playground__views{padding:2px;background:var(--docs-background-color-soft,var(--vc-background-color,#f1f5f9));gap:0}.docs-playground__view,.docs-playground__views{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;border-radius:999px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground__view{height:28px;padding:0 12px;font:inherit;font-size:13px;font-weight:500;line-height:20px;color:var(--docs-foreground-color-mute,var(--vc-color-dark-lightest,#64748b));cursor:pointer;background:transparent;border:0;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:color .15s ease,background-color .15s ease,-webkit-box-shadow .15s ease;transition:color .15s ease,background-color .15s ease,-webkit-box-shadow .15s ease;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease,-webkit-box-shadow .15s ease}.docs-playground__view:hover{color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b))}.docs-playground__view:focus-visible{outline:2px solid var(--docs-primary-color,var(--vc-color-primary,#2563eb));outline-offset:1px}.docs-playground__view.is-active{color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b));background:var(--docs-background-color,var(--vc-background-color-light,#fff));-webkit-box-shadow:0 1px 2px rgba(15,23,42,.08);box-shadow:0 1px 2px rgba(15,23,42,.08)}.docs-playground__tool{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:28px;height:28px;padding:0;font:inherit;color:var(--docs-foreground-color-mute,var(--vc-color-dark-lightest,#64748b));cursor:pointer;background:transparent;border:0;border-radius:999px;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-transition:color .15s ease,background-color .15s ease,-webkit-box-shadow .15s ease;transition:color .15s ease,background-color .15s ease,-webkit-box-shadow .15s ease;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease,-webkit-box-shadow .15s ease}.docs-playground__tool .docs-playground-icon{width:16px;height:16px}.docs-playground__tool:hover{color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b))}.docs-playground__tool:focus-visible{outline:2px solid var(--docs-primary-color,var(--vc-color-primary,#2563eb));outline-offset:1px}.docs-playground__tool.is-active{color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b));background:var(--docs-background-color,var(--vc-background-color-light,#fff));-webkit-box-shadow:0 1px 2px rgba(15,23,42,.08);box-shadow:0 1px 2px rgba(15,23,42,.08)}.docs-playground__viewport-menu{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.docs-playground__viewport-trigger .docs-playground-icon{width:16px;height:16px}.docs-playground__viewport-options{min-width:136px}.docs-playground__viewport-option{white-space:nowrap}.docs-playground__editor .docs-playground-icon{width:16px;height:16px}.docs-playground__popup-close-mark{font-size:16px;line-height:1}.docs-playground-local{position:relative;width:100%;height:100%;min-width:0;min-height:0}.docs-playground-local__bridge{position:absolute;width:100%;height:100%;pointer-events:none;border:0;opacity:0;inset:0}.docs-playground-local__mount{position:relative;width:100%;height:100%;min-width:0;min-height:0}/*$vite$:1*/
1
+ .docs-playground-icon{display:block;width:18px;height:18px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.docs-playground-files{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;max-height:100%;min-height:0;overflow:hidden;background:var(--docs-code-background,var(--vc-background-color,#f6f8fa));border:1px solid var(--docs-border-color,var(--vc-color-light-deeper,#e2e8f0));border-radius:12px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.docs-playground-files__tabs-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;background:transparent;border-bottom:1px solid var(--docs-border-color,var(--vc-color-light-deeper,#e2e8f0));-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:0;-webkit-flex:0 0 40px;-ms-flex:0 0 40px;flex:0 0 40px}.docs-playground-files__scroller{width:0;height:40px;min-width:0;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;scrollbar-width:none}.docs-playground-files__scroller::-webkit-scrollbar{display:none}.docs-playground-files__scroller .vc-scroller-track.is-vertical{display:none!important}.docs-playground-files__tabs{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;height:40px;min-width:100%;padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;gap:4px}.docs-playground-files__tab{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;height:40px;padding:0 12px;font:inherit;font-size:13px;font-weight:500;line-height:40px;color:var(--docs-foreground-color-mute,var(--vc-color-dark-extralight,#71717a));white-space:nowrap;cursor:pointer;background:transparent;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;gap:5px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground-files__tab.is-active{color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b))}.docs-playground-files__tab.is-active:after{position:absolute;right:8px;bottom:0;left:8px;height:3px;background:var(--docs-primary-color,var(--vc-color-primary,#5495f6));border-radius:2px 2px 0 0;content:""}.docs-playground-files__entry{font-size:10px;line-height:16px;color:var(--docs-foreground-color-mute,var(--vc-color-dark-extralight,#71717a))}.docs-playground-files__body{min-height:0;border-radius:0;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.docs-playground-editor button{padding:3px 7px;color:var(--docs-foreground-color-light,var(--vc-color-dark-lighter));white-space:nowrap;cursor:pointer;background:var(--docs-background-color,var(--vc-background-color-light));border:1px solid var(--docs-border-color,var(--vc-color-light-deeper));border-radius:8px}.docs-playground-editor button:disabled{cursor:not-allowed;opacity:.5}.docs-playground-editor__wrapper{position:fixed;right:10px;bottom:10px;z-index:1001;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:680px;max-height:calc(100vh - 20px);overflow:hidden;font-size:13px;color:var(--docs-foreground-color-light,var(--vc-color-dark-lighter));background:var(--docs-background-color,var(--vc-background-color-light));border-radius:8px;opacity:1;-webkit-box-shadow:0 0 50px rgba(0,0,0,.2);box-shadow:0 0 50px rgba(0,0,0,.2);-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.docs-playground-editor__header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:10px;font-size:20px;line-height:20px;cursor:move;background:var(--docs-background-color-soft,var(--vc-background-color))!important;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.docs-playground-editor__files{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;min-width:0;padding:6px 8px;overflow:hidden;background:var(--docs-background-color-soft,var(--vc-background-color));border-top:1px solid var(--docs-border-color,var(--vc-color-light-deeper));border-bottom:1px solid var(--docs-border-color,var(--vc-color-light-deeper));-webkit-box-sizing:border-box;box-sizing:border-box;gap:8px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.docs-playground-editor__actions{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;gap:4px}.docs-playground-editor__scroller{width:0;min-width:0;-webkit-box-flex:1;-webkit-flex:1 1;-ms-flex:1 1;flex:1 1;scrollbar-width:none}.docs-playground-editor__scroller::-webkit-scrollbar{display:none}.docs-playground-editor__tabs{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-width:100%;padding:6px 6px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box;gap:8px}.docs-playground-editor__tab{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;height:26px;padding:3px 12px 3px 7px;line-height:18px;white-space:nowrap;cursor:pointer;background:var(--docs-background-color,var(--vc-background-color-light));border:1px solid var(--docs-border-color,var(--vc-color-light-deeper));border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;gap:5px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground-editor__tab.is-active{color:#fff;background:#2563eb;border-color:#2563eb}.docs-playground-editor__filename{width:100px;height:18px;padding:0 3px;font:inherit;line-height:16px;color:var(--docs-foreground-color-light,var(--vc-color-dark-lighter));background:var(--docs-background-color,var(--vc-background-color-light));border:1px solid var(--docs-border-color,var(--vc-color-light-deeper));-webkit-box-sizing:border-box;box-sizing:border-box}.docs-playground-editor__close{position:absolute;top:-6px;right:-6px;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:14px;height:14px;padding:0;font-size:0;line-height:0;color:#fff;background-color:#5495f6!important;border:0;border-radius:7px;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground-editor__close:after,.docs-playground-editor__close:before{position:absolute;top:50%;left:50%;width:8px;height:1px;background-color:currentcolor;content:""}.docs-playground-editor__close:before{-webkit-transform:translate(-50%,-50%) rotate(45deg);-ms-transform:translate(-50%,-50%) rotate(45deg);transform:translate(-50%,-50%) rotate(45deg)}.docs-playground-editor__close:after{-webkit-transform:translate(-50%,-50%) rotate(-45deg);-ms-transform:translate(-50%,-50%) rotate(-45deg);transform:translate(-50%,-50%) rotate(-45deg)}.docs-playground-editor__delete{position:static!important}.docs-playground-editor__error{max-height:calc(min(160px,25vh));padding:5px 10px;overflow:auto;color:var(--vc-color-error,#b91c1c);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--docs-error-background,#fef2f2);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.docs-playground-editor__body{min-width:0;min-height:240px;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.docs-playground-editor__editor{min-height:240px;padding:1px;background:var(--docs-code-background,var(--vc-background-color))!important}.docs-playground-editor__editor .cm-editor{height:auto}.docs-playground-editor__editor .cm-scroller{overflow:visible!important}.docs-playground-popup{position:fixed;inset:0;z-index:1000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:20px 40px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground-popup__mask{position:absolute;inset:0;background:rgba(15,23,42,.45)}.docs-playground-popup__shell{position:relative;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:100%;max-height:100%;overflow:hidden;background:var(--docs-background-color,var(--vc-background-color-light,#fff));border-radius:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.docs-playground-popup__frame{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.docs-playground-popup__header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0 4px 0 0;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:12px;-webkit-box-flex:0;-webkit-flex:0 0 44px;-ms-flex:0 0 44px;flex:0 0 44px}.docs-playground-popup__body{min-width:0;min-height:0;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.docs-playground-popup__scroller{width:100%;height:100%}.docs-playground-popup__scroller-content{min-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.docs-playground-popup__canvas{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.docs-playground-popup__canvas .iframe-container,.docs-playground-popup__canvas .iframe-container iframe,.docs-playground-popup__canvas .sandbox{display:block;width:100%;height:100%;min-height:100%;background:var(--vc-background-color-light,var(--docs-background-color,#fff))!important}.docs-playground-popup__canvas .iframe-container iframe{border:0}.docs-playground-local{position:relative;width:100%;height:100%;min-width:0;min-height:0}.docs-playground-local__bridge{position:absolute;width:100%;height:100%;pointer-events:none;border:0;opacity:0;inset:0}.docs-playground-local__mount{position:relative;width:100%;height:100%;min-width:0;min-height:0}.docs-playground-local__mount--auto{display:flow-root;height:auto}.docs-playground-runtime-host{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;min-height:0;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.docs-playground-runtime-host--direct,.docs-playground-runtime-host--direct .docs-playground-runtime--styleless,.docs-playground-runtime-host--direct .docs-playground-runtime__viewport{overflow:visible}.docs-playground-runtime{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.docs-playground-runtime,.docs-playground-runtime--styleless{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;min-height:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.docs-playground-runtime--styleless{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground-runtime--styleless .docs-playground__runtime-error{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.docs-playground-runtime__viewport-stage{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:100%;min-width:0;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.docs-playground-runtime__viewport{position:relative;height:100%;min-width:0;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.docs-playground .iframe-container,.docs-playground .iframe-container iframe{width:100%;height:100%;background:var(--vc-background-color-light,var(--docs-background-color,#fff))!important}.docs-playground .iframe-container iframe{display:block;border:0}.docs-playground__preview{position:relative;min-height:0;overflow:hidden;border:1px solid var(--docs-border-color,var(--vc-color-light-deeper,#e2e8f0));border-radius:12px;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.docs-playground__expand,.docs-playground__preview{background:var(--vc-background-color-light,var(--docs-background-color,#fff));-webkit-box-sizing:border-box;box-sizing:border-box}.docs-playground__expand{position:absolute;bottom:2px;left:50%;z-index:2;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:32px;height:24px;min-width:24px;min-height:24px;padding:0;color:var(--docs-foreground-color-mute,var(--vc-color-dark-lightest,#64748b));cursor:pointer;border:0;border-radius:8px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transition:color .15s,background-color .15s;transition:color .15s,background-color .15s;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground__expand .docs-playground-icon{width:14px;height:14px;-webkit-transition:-webkit-transform .15s;transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s, -webkit-transform .15s}.docs-playground__expand:hover{color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b))}.docs-playground__expand:focus-visible{outline:2px solid var(--docs-primary-color,var(--vc-color-primary,#2563eb));outline-offset:1px}.docs-playground__expand.is-expanded .docs-playground-icon{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.docs-playground__runtime-error{max-height:240px;padding:12px 16px;margin:0 0 8px;overflow:auto;font:inherit;font-size:13px;line-height:1.6;color:var(--vc-color-error,#b91c1c);white-space:pre-wrap;background:var(--docs-error-background,#fef2f2);border:1px solid #f5c2c2;border-radius:12px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow-wrap:anywhere}@media(prefers-color-scheme:light){:root{--docs-background-color:#fff;--docs-background-color-soft:#f7f8fa;--docs-background-color-mute:#f2f3f5;--docs-foreground-color:#030712;--docs-foreground-color-light:#364153;--docs-foreground-color-mute:#4a5565;--docs-border-color:#e8eaec;--docs-border-color-light:#f0f1f2;--docs-primary-color:#873bf4;--docs-primary-color-light:#f2ebfe;--docs-link-color:#2d8cf0;--docs-mask-color:hsla(0,0%,100%,.72);--docs-shadow-color:rgba(0,0,0,.14);--docs-code-background:#f6f8fa;--docs-pattern-fg:rgba(3,7,18,.05);--docs-footer-background:#141313;--docs-footer-foreground:#364153;--docs-tip-background:#f9f0ff;--docs-warning-background:#fff6f7;--docs-error-color:#ed4014;--docs-error-background:#fef2f2}}@media(prefers-color-scheme:dark){:root{--docs-background-color:#171b24;--docs-background-color-soft:#252b3a;--docs-background-color-mute:#303748;--docs-foreground-color:#f8f8f8;--docs-foreground-color-light:#d1d5dc;--docs-foreground-color-mute:#b9b9b9;--docs-border-color:#3b4355;--docs-border-color-light:#303748;--docs-primary-color:#873bf4;--docs-primary-color-light:#35244d;--docs-link-color:#6daeff;--docs-mask-color:rgba(10,13,18,.76);--docs-shadow-color:rgba(0,0,0,.45);--docs-code-background:#202630;--docs-pattern-fg:hsla(0,0%,100%,.1);--docs-footer-background:#0d0f14;--docs-footer-foreground:#9ca3af;--docs-tip-background:#30223f;--docs-warning-background:#3d2529;--docs-error-color:#ff6b6b;--docs-error-background:#41272b}}[data-doc-theme=light],[data-vc-theme=light]{--docs-background-color:#fff;--docs-background-color-soft:#f7f8fa;--docs-background-color-mute:#f2f3f5;--docs-foreground-color:#030712;--docs-foreground-color-light:#364153;--docs-foreground-color-mute:#4a5565;--docs-border-color:#e8eaec;--docs-border-color-light:#f0f1f2;--docs-primary-color:#873bf4;--docs-primary-color-light:#f2ebfe;--docs-link-color:#2d8cf0;--docs-mask-color:hsla(0,0%,100%,.72);--docs-shadow-color:rgba(0,0,0,.14);--docs-code-background:#f6f8fa;--docs-pattern-fg:rgba(3,7,18,.05);--docs-footer-background:#141313;--docs-footer-foreground:#364153;--docs-tip-background:#f9f0ff;--docs-warning-background:#fff6f7;--docs-error-color:#ed4014;--docs-error-background:#fef2f2}[data-doc-theme=dark],[data-vc-theme=dark]{--docs-background-color:#171b24;--docs-background-color-soft:#252b3a;--docs-background-color-mute:#303748;--docs-foreground-color:#f8f8f8;--docs-foreground-color-light:#d1d5dc;--docs-foreground-color-mute:#b9b9b9;--docs-border-color:#3b4355;--docs-border-color-light:#303748;--docs-primary-color:#873bf4;--docs-primary-color-light:#35244d;--docs-link-color:#6daeff;--docs-mask-color:rgba(10,13,18,.76);--docs-shadow-color:rgba(0,0,0,.45);--docs-code-background:#202630;--docs-pattern-fg:hsla(0,0%,100%,.1);--docs-footer-background:#0d0f14;--docs-footer-foreground:#9ca3af;--docs-tip-background:#30223f;--docs-warning-background:#3d2529;--docs-error-color:#ff6b6b;--docs-error-background:#41272b}.docs-playground{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:16px;overflow:hidden;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:8px}.docs-playground--files{height:100%;min-height:0;overflow:hidden}.docs-playground__error{height:100%;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.docs-playground__error,.docs-playground__header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground__header{padding:0 4px 0 0;background:transparent;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:12px;-webkit-box-flex:0;-webkit-flex:0 0 44px;-ms-flex:0 0 44px;flex:0 0 44px}.docs-playground__title{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-width:0;padding-right:12px;overflow:hidden;font-size:14px;font-weight:600;line-height:20px;color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b));-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground__title-anchor{position:absolute;top:50%;right:100%;width:14px;font-size:12px;line-height:1;color:inherit;text-align:center;text-decoration:none;opacity:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity .2s;transition:opacity .2s}.docs-playground__title-anchor:focus-visible{outline:2px solid var(--docs-primary-color,var(--vc-color-primary,#2563eb));outline-offset:1px;opacity:1}.docs-playground__title-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-playground .docs-playground__title:hover .docs-playground__title-anchor{opacity:1}.docs-playground__tools{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:auto;font-size:13px;line-height:20px;gap:8px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.docs-playground__tool-group{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;padding:2px;background:var(--docs-background-color-soft,var(--vc-background-color,#f1f5f9));border-radius:999px;gap:0;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground__tool-divider{display:inline-block;width:1px;height:16px;background:var(--docs-border-color,var(--vc-color-light-deeper,#e2e8f0));-webkit-box-flex:0;-webkit-flex:0 0 1px;-ms-flex:0 0 1px;flex:0 0 1px}.docs-playground__views{padding:2px;background:var(--docs-background-color-soft,var(--vc-background-color,#f1f5f9));gap:0}.docs-playground__tool,.docs-playground__view,.docs-playground__views{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;border-radius:999px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.docs-playground__view{height:28px;padding:0 12px;font:inherit;font-size:13px;font-weight:500;line-height:20px;color:var(--docs-foreground-color-mute,var(--vc-color-dark-lightest,#64748b));cursor:pointer;background:transparent;border:0;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:color .15s,background-color .15s,-webkit-box-shadow .15s;transition:color .15s,background-color .15s,-webkit-box-shadow .15s;transition:color .15s,background-color .15s,box-shadow .15s;transition:color .15s,background-color .15s,box-shadow .15s,-webkit-box-shadow .15s}.docs-playground__view.is-active,.docs-playground__view:hover{color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b))}.docs-playground__view:focus-visible{outline:2px solid var(--docs-primary-color,var(--vc-color-primary,#2563eb));outline-offset:1px}.docs-playground__view.is-active{background:var(--docs-background-color,var(--vc-background-color-light,#fff));-webkit-box-shadow:0 1px 2px rgba(15,23,42,.08);box-shadow:0 1px 2px rgba(15,23,42,.08)}.docs-playground__tool{width:28px;height:28px;padding:0;font:inherit;color:var(--docs-foreground-color-mute,var(--vc-color-dark-lightest,#64748b));cursor:pointer;background:transparent;border:0;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:color .15s,background-color .15s,-webkit-box-shadow .15s;transition:color .15s,background-color .15s,-webkit-box-shadow .15s;transition:color .15s,background-color .15s,box-shadow .15s;transition:color .15s,background-color .15s,box-shadow .15s,-webkit-box-shadow .15s}.docs-playground__editor .docs-playground-icon,.docs-playground__tool .docs-playground-icon,.docs-playground__viewport-trigger .docs-playground-icon{width:16px;height:16px}.docs-playground__tool.is-active,.docs-playground__tool:hover{color:var(--docs-foreground-color,var(--vc-foreground-color,#18181b))}.docs-playground__tool:focus-visible{outline:2px solid var(--docs-primary-color,var(--vc-color-primary,#2563eb));outline-offset:1px}.docs-playground__tool.is-active{background:var(--docs-background-color,var(--vc-background-color-light,#fff));-webkit-box-shadow:0 1px 2px rgba(15,23,42,.08);box-shadow:0 1px 2px rgba(15,23,42,.08)}.docs-playground__viewport-menu{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.docs-playground__viewport-options{min-width:136px}.docs-playground__viewport-option{white-space:nowrap}.docs-playground__popup-close-mark{font-size:16px;line-height:1}/*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deot/docs-playground",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -18,37 +18,38 @@
18
18
  "access": "public"
19
19
  },
20
20
  "dependencies": {
21
- "@deot/docs-locale": "^1.1.1",
22
- "@deot/docs-theme": "^1.1.1",
23
- "@deot/helper": "^1.1.19",
21
+ "@deot/docs-locale": "^1.1.3",
22
+ "@deot/docs-theme": "^1.1.3",
23
+ "@deot/helper": "^1.1.21",
24
24
  "@deot/http": "^1.1.10",
25
- "@deot/vc": "^1.2.1",
25
+ "@deot/vc": "^1.2.3",
26
26
  "@codemirror/lang-css": "^6.3.1",
27
- "@codemirror/lang-javascript": "^6.2.4",
27
+ "@codemirror/lang-javascript": "^6.2.5",
28
28
  "@codemirror/lang-vue": "^0.1.3",
29
- "@codemirror/view": "^6.38.0",
30
- "@vue/compiler-sfc": "^3.5.39",
31
- "@vue/repl": "^4.6.1",
29
+ "@codemirror/view": "^6.43.14",
30
+ "@vue/compiler-sfc": "^3.5.43",
31
+ "@vue/repl": "^4.7.2",
32
32
  "codemirror": "^6.0.2",
33
33
  "dayjs": "^1.11.23",
34
34
  "echarts": "^6.1.0",
35
- "highlight.js": "^11.11.1",
36
- "jspdf": "^3.0.3",
37
- "jszip": "^3.10.1",
38
- "lodash-es": "^4.17.21",
35
+ "es-module-lexer": "^3.0.3",
36
+ "highlight.js": "^11.12.0",
37
+ "jspdf": "^4.2.1",
38
+ "jszip": "^3.10.2",
39
+ "lodash-es": "^4.18.1",
39
40
  "photoswipe": "^5.4.4",
40
- "pinia": "^4.0.2",
41
- "sass": "^1.101.0",
41
+ "pinia": "^4.0.3",
42
+ "sass": "^1.105.1",
42
43
  "sucrase": "^3.35.1",
43
- "vue-router": "^5.2.0"
44
+ "vue-router": "^5.4.0"
44
45
  },
45
46
  "peerDependencies": {
46
- "@deot/vc": "^1.2.1",
47
+ "@deot/vc": "^1.2.3",
47
48
  "vue": "^3.5.39"
48
49
  },
49
50
  "devDependencies": {
50
- "@deot/style": "^1.1.4",
51
- "@deot/vc": "^1.2.1",
52
- "vue": "^3.5.39"
51
+ "@deot/style": "^1.3.0",
52
+ "@deot/vc": "^1.2.3",
53
+ "vue": "^3.5.43"
53
54
  }
54
55
  }
@@ -1,94 +0,0 @@
1
- //#region packages/playground/src/constants.ts
2
- var DEFAULT_ENTRY = "App.vue";
3
- /** 预览样式和默认 import map 共用的 npm CDN 前缀。 */
4
- var DEFAULT_CDN_URL = "https://cdn.jsdelivr.net/npm";
5
- var NEW_SFC_CODE = `<script setup lang="ts"><\/script>\n\n<template>\n <div>\n <slot />\n <\/div>\n<\/template>\n`;
6
- //#endregion
7
- //#region packages/playground/src/cdn.ts
8
- var PREVIEW_STYLE_ASSETS = [
9
- "@deot/style/dist/index.normalize-only.css",
10
- "@deot/vc-components/dist/index.style.css",
11
- "@deot/style/dist/index.css"
12
- ];
13
- var BUILTIN_IMPORT_ASSETS = {
14
- "@deot/vc": "@deot/vc/dist/index.js",
15
- "@deot/vc-shared": "@deot/vc-shared/dist/index.js",
16
- "@deot/vc-hooks": "@deot/vc-hooks/dist/index.js",
17
- "@deot/vc-locale": "@deot/vc-locale/dist/index.js",
18
- "@deot/vc-components": "@deot/vc-components/dist/index.js",
19
- "@deot/helper-resize": "@deot/helper-resize/dist/index.js",
20
- "@deot/helper-utils": "@deot/helper-utils/dist/index.js",
21
- "@deot/helper-cache": "@deot/helper-cache/dist/index.js",
22
- "@deot/helper-fp": "@deot/helper-fp/dist/index.js",
23
- "@deot/helper-dom": "@deot/helper-dom/dist/index.js",
24
- "@deot/helper-wheel": "@deot/helper-wheel/dist/index.js",
25
- "@deot/helper-validator": "@deot/helper-validator/dist/index.js",
26
- "@deot/helper-load": "@deot/helper-load/dist/index.js",
27
- "@deot/helper-scheduler": "@deot/helper-scheduler/dist/index.js",
28
- "@deot/helper-emitter": "@deot/helper-emitter/dist/index.js",
29
- "@deot/helper-is": "@deot/helper-is/dist/index.js",
30
- "@deot/helper-device": "@deot/helper-device/dist/index.js",
31
- "@deot/helper-route": "@deot/helper-route/dist/index.js",
32
- "@deot/helper-unicode": "@deot/helper-unicode/dist/index.js",
33
- "@deot/helper": "@deot/helper/dist/index.js",
34
- "normalize-wheel": "normalize-wheel-es/dist/index.mjs",
35
- "photoswipe": "photoswipe/dist/photoswipe.esm.js",
36
- "photoswipe/lightbox": "photoswipe/dist/photoswipe-lightbox.esm.js",
37
- "vue": "vue/dist/vue.runtime.esm-browser.js",
38
- "vue/server-renderer": "vue/dist/server-renderer.esm-browser.js"
39
- };
40
- var normalizeCdnURL = (cdnURL = DEFAULT_CDN_URL) => {
41
- return cdnURL.trim().replace(/\/+$/u, "") || "https://cdn.jsdelivr.net/npm";
42
- };
43
- var cdnJoin = (origin, asset) => `${origin}/${asset.replace(/^\/+/u, "")}`;
44
- var jsdelivrEsmURL = (asset) => cdnJoin(DEFAULT_CDN_URL, asset);
45
- var SASS_CDN_URL = jsdelivrEsmURL("sass/+esm");
46
- var cdnAsset = (cdnURL, asset) => cdnJoin(normalizeCdnURL(cdnURL), asset);
47
- var createBuiltinImports = (cdnURL = DEFAULT_CDN_URL) => ({
48
- ...Object.fromEntries(Object.entries(BUILTIN_IMPORT_ASSETS).map(([specifier, asset]) => [specifier, cdnAsset(cdnURL, asset)])),
49
- "lodash-es": jsdelivrEsmURL("lodash-es/+esm")
50
- });
51
- var createBuiltinStyles = (cdnURL = DEFAULT_CDN_URL) => Object.fromEntries(PREVIEW_STYLE_ASSETS.map((asset) => [asset, cdnAsset(cdnURL, asset)]));
52
- //#endregion
53
- Object.defineProperty(exports, "DEFAULT_CDN_URL", {
54
- enumerable: true,
55
- get: function() {
56
- return DEFAULT_CDN_URL;
57
- }
58
- });
59
- Object.defineProperty(exports, "DEFAULT_ENTRY", {
60
- enumerable: true,
61
- get: function() {
62
- return DEFAULT_ENTRY;
63
- }
64
- });
65
- Object.defineProperty(exports, "NEW_SFC_CODE", {
66
- enumerable: true,
67
- get: function() {
68
- return NEW_SFC_CODE;
69
- }
70
- });
71
- Object.defineProperty(exports, "SASS_CDN_URL", {
72
- enumerable: true,
73
- get: function() {
74
- return SASS_CDN_URL;
75
- }
76
- });
77
- Object.defineProperty(exports, "createBuiltinImports", {
78
- enumerable: true,
79
- get: function() {
80
- return createBuiltinImports;
81
- }
82
- });
83
- Object.defineProperty(exports, "createBuiltinStyles", {
84
- enumerable: true,
85
- get: function() {
86
- return createBuiltinStyles;
87
- }
88
- });
89
- Object.defineProperty(exports, "normalizeCdnURL", {
90
- enumerable: true,
91
- get: function() {
92
- return normalizeCdnURL;
93
- }
94
- });
@@ -1,53 +0,0 @@
1
- //#region packages/playground/src/constants.ts
2
- var DEFAULT_ENTRY = "App.vue";
3
- /** 预览样式和默认 import map 共用的 npm CDN 前缀。 */
4
- var DEFAULT_CDN_URL = "https://cdn.jsdelivr.net/npm";
5
- var NEW_SFC_CODE = `<script setup lang="ts"><\/script>\n\n<template>\n <div>\n <slot />\n <\/div>\n<\/template>\n`;
6
- //#endregion
7
- //#region packages/playground/src/cdn.ts
8
- var PREVIEW_STYLE_ASSETS = [
9
- "@deot/style/dist/index.normalize-only.css",
10
- "@deot/vc-components/dist/index.style.css",
11
- "@deot/style/dist/index.css"
12
- ];
13
- var BUILTIN_IMPORT_ASSETS = {
14
- "@deot/vc": "@deot/vc/dist/index.js",
15
- "@deot/vc-shared": "@deot/vc-shared/dist/index.js",
16
- "@deot/vc-hooks": "@deot/vc-hooks/dist/index.js",
17
- "@deot/vc-locale": "@deot/vc-locale/dist/index.js",
18
- "@deot/vc-components": "@deot/vc-components/dist/index.js",
19
- "@deot/helper-resize": "@deot/helper-resize/dist/index.js",
20
- "@deot/helper-utils": "@deot/helper-utils/dist/index.js",
21
- "@deot/helper-cache": "@deot/helper-cache/dist/index.js",
22
- "@deot/helper-fp": "@deot/helper-fp/dist/index.js",
23
- "@deot/helper-dom": "@deot/helper-dom/dist/index.js",
24
- "@deot/helper-wheel": "@deot/helper-wheel/dist/index.js",
25
- "@deot/helper-validator": "@deot/helper-validator/dist/index.js",
26
- "@deot/helper-load": "@deot/helper-load/dist/index.js",
27
- "@deot/helper-scheduler": "@deot/helper-scheduler/dist/index.js",
28
- "@deot/helper-emitter": "@deot/helper-emitter/dist/index.js",
29
- "@deot/helper-is": "@deot/helper-is/dist/index.js",
30
- "@deot/helper-device": "@deot/helper-device/dist/index.js",
31
- "@deot/helper-route": "@deot/helper-route/dist/index.js",
32
- "@deot/helper-unicode": "@deot/helper-unicode/dist/index.js",
33
- "@deot/helper": "@deot/helper/dist/index.js",
34
- "normalize-wheel": "normalize-wheel-es/dist/index.mjs",
35
- "photoswipe": "photoswipe/dist/photoswipe.esm.js",
36
- "photoswipe/lightbox": "photoswipe/dist/photoswipe-lightbox.esm.js",
37
- "vue": "vue/dist/vue.runtime.esm-browser.js",
38
- "vue/server-renderer": "vue/dist/server-renderer.esm-browser.js"
39
- };
40
- var normalizeCdnURL = (cdnURL = DEFAULT_CDN_URL) => {
41
- return cdnURL.trim().replace(/\/+$/u, "") || "https://cdn.jsdelivr.net/npm";
42
- };
43
- var cdnJoin = (origin, asset) => `${origin}/${asset.replace(/^\/+/u, "")}`;
44
- var jsdelivrEsmURL = (asset) => cdnJoin(DEFAULT_CDN_URL, asset);
45
- var SASS_CDN_URL = jsdelivrEsmURL("sass/+esm");
46
- var cdnAsset = (cdnURL, asset) => cdnJoin(normalizeCdnURL(cdnURL), asset);
47
- var createBuiltinImports = (cdnURL = DEFAULT_CDN_URL) => ({
48
- ...Object.fromEntries(Object.entries(BUILTIN_IMPORT_ASSETS).map(([specifier, asset]) => [specifier, cdnAsset(cdnURL, asset)])),
49
- "lodash-es": jsdelivrEsmURL("lodash-es/+esm")
50
- });
51
- var createBuiltinStyles = (cdnURL = DEFAULT_CDN_URL) => Object.fromEntries(PREVIEW_STYLE_ASSETS.map((asset) => [asset, cdnAsset(cdnURL, asset)]));
52
- //#endregion
53
- export { DEFAULT_CDN_URL as a, normalizeCdnURL as i, createBuiltinImports as n, DEFAULT_ENTRY as o, createBuiltinStyles as r, NEW_SFC_CODE as s, SASS_CDN_URL as t };
@@ -1,178 +0,0 @@
1
- //#region packages/playground/src/core/runtime/local/compile/types.ts
2
- var IGNORED_FILENAMES = /* @__PURE__ */ new Set(["import-map.json", "tsconfig.json"]);
3
- //#endregion
4
- //#region packages/playground/src/core/runtime/local/compile/files.ts
5
- /**
6
- * 统一成以 `/` 开头的 POSIX 绝对虚拟路径。
7
- * `App.vue` 与 `/App.vue` 是同一文件,和 iframe 预览使用的 files 键一致。
8
- * @param filename Playground files 的键或相对路径。
9
- * @returns 以 `/` 开头的虚拟路径。
10
- */
11
- var normalizeVirtualPath = (filename) => {
12
- const raw = String(filename || "").replace(/\\/gu, "/").trim();
13
- if (!raw) return "/";
14
- const parts = (raw.startsWith("/") ? raw : `/${raw}`).split("/");
15
- const stack = [];
16
- for (const part of parts) {
17
- if (!part || part === ".") continue;
18
- if (part === "..") {
19
- if (stack.length) stack.pop();
20
- continue;
21
- }
22
- stack.push(part);
23
- }
24
- return `/${stack.join("/")}`;
25
- };
26
- var dirname = (filename) => {
27
- const path = normalizeVirtualPath(filename);
28
- const index = path.lastIndexOf("/");
29
- if (index <= 0) return "/";
30
- return path.slice(0, index) || "/";
31
- };
32
- var basename = (filename) => {
33
- const path = normalizeVirtualPath(filename);
34
- const index = path.lastIndexOf("/");
35
- return index === -1 ? path : path.slice(index + 1);
36
- };
37
- var joinVirtualPath = (baseDir, relative) => {
38
- const rel = String(relative || "").replace(/\\/gu, "/");
39
- if (rel.startsWith("/")) return normalizeVirtualPath(rel);
40
- const base = normalizeVirtualPath(baseDir);
41
- return normalizeVirtualPath(`${base === "/" ? "" : base}/${rel}`);
42
- };
43
- var getExtension = (filename) => {
44
- const name = basename(filename);
45
- const index = name.lastIndexOf(".");
46
- if (index <= 0) return "";
47
- return name.slice(index).toLowerCase();
48
- };
49
- var isIgnoredFilename = (filename) => IGNORED_FILENAMES.has(basename(filename));
50
- var createFileIndex = (files) => {
51
- const index = /* @__PURE__ */ new Map();
52
- Object.entries(files || {}).forEach(([filename, code]) => {
53
- const normalized = normalizeVirtualPath(filename);
54
- if (isIgnoredFilename(normalized)) return;
55
- index.set(normalized, code);
56
- });
57
- return index;
58
- };
59
- var resolveEntry = (files, entry) => {
60
- const index = createFileIndex(files);
61
- if (!index.size) throw new Error("[Playground] files 为空,无法确定入口");
62
- if (entry) {
63
- const normalized = normalizeVirtualPath(entry);
64
- if (isIgnoredFilename(normalized)) throw new Error(`[Playground] entry 不能是 ${basename(normalized)}`);
65
- if (!index.has(normalized)) throw new Error(`[Playground] entry 不在 files 中: ${entry}`);
66
- return normalized;
67
- }
68
- for (const key of Object.keys(files || {})) {
69
- const normalized = normalizeVirtualPath(key);
70
- if (!isIgnoredFilename(normalized) && index.has(normalized)) return normalized;
71
- }
72
- /* istanbul ignore next -- 忽略文件已在前面排除,正常 files 不会走到这里 */
73
- throw new Error("[Playground] files 中没有可用的入口文件");
74
- };
75
- var CANDIDATE_EXTENSIONS = [
76
- ".vue",
77
- ".ts",
78
- ".js",
79
- ".tsx",
80
- ".jsx",
81
- ".json",
82
- ".css",
83
- ".scss",
84
- ".sass"
85
- ];
86
- /**
87
- * 相对 / 无扩展名解析,行为对齐 Vite:精确路径、补扩展名、`/index.*`。
88
- * @param fromFilename 发起导入的文件。
89
- * @param specifier 相对或绝对虚拟路径。
90
- * @param fileIndex 虚拟路径到 files 键的索引。
91
- * @returns 解析后的 files 键;找不到时返回 null。
92
- */
93
- var resolveModulePath = (fromFilename, specifier, fileIndex) => {
94
- if (!specifier || !(specifier.startsWith("./") || specifier.startsWith("../") || specifier.startsWith("/"))) return null;
95
- const target = joinVirtualPath(dirname(fromFilename), specifier);
96
- if (fileIndex.has(target)) return target;
97
- for (const ext of CANDIDATE_EXTENSIONS) {
98
- const withExt = `${target}${ext}`;
99
- if (fileIndex.has(withExt)) return withExt;
100
- }
101
- for (const ext of CANDIDATE_EXTENSIONS) {
102
- const asIndex = `${target}/index${ext}`;
103
- if (fileIndex.has(asIndex)) return asIndex;
104
- }
105
- return null;
106
- };
107
- var getCommonRoot = (filenames) => {
108
- const normalized = filenames.map(normalizeVirtualPath);
109
- if (!normalized.length) return "/";
110
- const split = normalized.map((path) => path.split("/").filter(Boolean));
111
- const first = split[0];
112
- let depth = first.length;
113
- for (let i = 1; i < split.length; i += 1) {
114
- let common = 0;
115
- while (common < depth && common < split[i].length && first[common] === split[i][common]) common += 1;
116
- depth = common;
117
- }
118
- if (!depth) return "/";
119
- const maybeFile = `/${first.slice(0, depth).join("/")}`;
120
- if (normalized.some((path) => path === maybeFile)) return dirname(maybeFile);
121
- return maybeFile;
122
- };
123
- var isInsideRoot = (filename, root) => {
124
- const path = normalizeVirtualPath(filename);
125
- const base = normalizeVirtualPath(root);
126
- if (base === "/") return true;
127
- return path === base || path.startsWith(`${base}/`);
128
- };
129
- /**
130
- * 静态 import / export-from / import() 的模块说明符。
131
- * @param code 源码文本。
132
- * @returns 按出现顺序收集到的说明符。
133
- */
134
- var listImportSpecifiers = (code) => {
135
- const result = [];
136
- const source = String(code || "");
137
- for (const match of source.matchAll(/(?:\bfrom\s+|import\s*\(\s*|import\s+)['"]([^'"]+)['"]/gu)) if (match[1]) result.push(match[1]);
138
- return result;
139
- };
140
- var isRelativeSpecifier = (id) => id.startsWith("./") || id.startsWith("../") || id.startsWith("/");
141
- /**
142
- * 从入口出发只编译静态 import 能走到的文件。
143
- * @param files 当前 Playground 文件表。
144
- * @param entry 入口文件名。
145
- * @returns 可达文件名,入口在最前。
146
- */
147
- var collectReachableFilenames = (files, entry) => {
148
- const index = createFileIndex(files);
149
- const ordered = [];
150
- const seen = /* @__PURE__ */ new Set();
151
- const visit = (filename) => {
152
- const key = normalizeVirtualPath(filename);
153
- if (seen.has(key) || !index.has(key)) return;
154
- seen.add(key);
155
- ordered.push(key);
156
- listImportSpecifiers(index.get(key) || "").forEach((specifier) => {
157
- const resolved = resolveModulePath(key, specifier, index);
158
- if (resolved) visit(resolved);
159
- });
160
- };
161
- visit(entry);
162
- return ordered;
163
- };
164
- var collectBareSpecifiers = (files, filenames) => {
165
- const index = createFileIndex(files);
166
- const result = [];
167
- const seen = /* @__PURE__ */ new Set();
168
- filenames.forEach((filename) => {
169
- listImportSpecifiers(index.get(normalizeVirtualPath(filename)) || "").forEach((specifier) => {
170
- if (!specifier || isRelativeSpecifier(specifier) || seen.has(specifier)) return;
171
- seen.add(specifier);
172
- result.push(specifier);
173
- });
174
- });
175
- return result;
176
- };
177
- //#endregion
178
- export { basename, collectBareSpecifiers, collectReachableFilenames, createFileIndex, dirname, getCommonRoot, getExtension, isIgnoredFilename, isInsideRoot, isRelativeSpecifier, joinVirtualPath, listImportSpecifiers, normalizeVirtualPath, resolveEntry, resolveModulePath };