@deot/docs-playground 1.1.2 → 1.1.4

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;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.docs-playground-files__scroller .vc-scroller__wrapper{height:40px;overflow-y:hidden!important;scrollbar-width:none}.docs-playground-files__scroller .vc-scroller__wrapper::-webkit-scrollbar{display:none}.docs-playground-files__scroller .vc-scroller-track.is-y{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;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1 1;-ms-flex:1 1;flex:1 1}.docs-playground-editor__scroller .vc-scroller__wrapper{scrollbar-width:none}.docs-playground-editor__scroller .vc-scroller__wrapper::-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;overflow:hidden;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.docs-playground-editor__body .vc-scroller__wrapper{min-height:240px}.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 .vc-scroller__wrapper{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{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__view{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;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;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__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}/*$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: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-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 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}.docs-playground-local__mount--auto{display:flow-root;height:auto}/*$vite$:1*/
@@ -0,0 +1,167 @@
1
+ const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
2
+ const require_files = require("./files-BsAOZiPN.cjs");
3
+ const require_modules = require("./modules-E6kK6ZJH.cjs");
4
+ let vue = require("vue");
5
+ vue = require_rolldown_runtime.__toESM(vue);
6
+ //#region packages/playground/src/core/runtime/local/vue-guard.ts
7
+ /**
8
+ * 给 files 注入的 vue:同一份宿主 Vue,但 `createApp().mount` 不会卸掉页面。
9
+ * 防护按本次 link 创建,多个 Playground 互不覆盖。
10
+ * @param capture 本次链接收集到的根组件、局部组件和 provide。
11
+ * @returns 带防护的 Vue 模块。
12
+ */
13
+ var createGuardedVue = (capture) => {
14
+ const createApp = (rootComponent, rootProps) => {
15
+ const fakeApp = {
16
+ _component: rootComponent,
17
+ _props: rootProps,
18
+ config: {
19
+ errorHandler: null,
20
+ warnHandler: null,
21
+ globalProperties: {}
22
+ },
23
+ _context: {
24
+ provides: Object.create(null),
25
+ components: Object.create(null),
26
+ directives: Object.create(null),
27
+ mixins: []
28
+ },
29
+ use() {
30
+ return fakeApp;
31
+ },
32
+ mixin(mixin) {
33
+ fakeApp._context.mixins.push(mixin);
34
+ return fakeApp;
35
+ },
36
+ component(name, component) {
37
+ if (component) {
38
+ fakeApp._context.components[name] = component;
39
+ return fakeApp;
40
+ }
41
+ return fakeApp._context.components[name];
42
+ },
43
+ directive() {
44
+ return fakeApp;
45
+ },
46
+ provide(key, value) {
47
+ fakeApp._context.provides[key] = value;
48
+ return fakeApp;
49
+ },
50
+ mount() {
51
+ capture.components = { ...fakeApp._context.components };
52
+ capture.provides = { ...fakeApp._context.provides };
53
+ capture.mountedComponent = (0, vue.defineComponent)({
54
+ name: "PlaygroundCapturedApp",
55
+ components: fakeApp._context.components,
56
+ setup() {
57
+ Reflect.ownKeys(fakeApp._context.provides).forEach((key) => {
58
+ (0, vue.provide)(key, fakeApp._context.provides[key]);
59
+ });
60
+ return () => (0, vue.h)(rootComponent, rootProps || null);
61
+ }
62
+ });
63
+ return capture.mountedComponent;
64
+ },
65
+ unmount() {},
66
+ onUnmount() {
67
+ return fakeApp;
68
+ }
69
+ };
70
+ return fakeApp;
71
+ };
72
+ return new Proxy(vue, { get(target, prop, receiver) {
73
+ if (prop === "createApp" || prop === "createSSRApp") return createApp;
74
+ if (prop === "default") return receiver;
75
+ return Reflect.get(target, prop, receiver);
76
+ } });
77
+ };
78
+ //#endregion
79
+ //#region packages/playground/src/core/runtime/local/linker.ts
80
+ /**
81
+ * 在当前页面链接编译结果,返回入口组件。
82
+ * 未覆盖 `vue` 时换成带防护的宿主实例,避免 `mount` 卸掉页面。
83
+ * @param compiled 浏览器编译结果。
84
+ * @param files 当前 Playground 文件表。
85
+ * @param options 可选的宿主模块表。
86
+ * @returns 入口组件、样式和链接错误。
87
+ */
88
+ var linkPlayground = (compiled, files, options = {}) => {
89
+ const errors = [...compiled.errors || []];
90
+ if (!compiled.entry || errors.length) return {
91
+ component: null,
92
+ css: compiled.css || [],
93
+ errors
94
+ };
95
+ const capture = {
96
+ mountedComponent: null,
97
+ components: {},
98
+ provides: {}
99
+ };
100
+ const modules = { ...options.modules || {} };
101
+ if (modules.vue == null || modules.vue === vue) modules.vue = createGuardedVue(capture);
102
+ const fileIndex = require_files.createFileIndex(files);
103
+ const root = require_files.getCommonRoot([...fileIndex.keys()]);
104
+ const cache = /* @__PURE__ */ new Map();
105
+ const visiting = /* @__PURE__ */ new Set();
106
+ const requireFn = (fromFilename) => (id) => {
107
+ if (require_files.isRelativeSpecifier(id)) {
108
+ const resolved = require_files.resolveModulePath(fromFilename, id, fileIndex);
109
+ if (!resolved) throw new Error(`[Playground] 无法解析相对模块 "${id}"(来自 ${fromFilename})`);
110
+ /* istanbul ignore if -- 公共根已包含全部 files,正常解析不会逃出 */
111
+ if (!require_files.isInsideRoot(resolved, root)) throw new Error(`[Playground] 模块逃出虚拟根: ${resolved}`);
112
+ return loadModule(resolved);
113
+ }
114
+ const host = require_modules.resolveHostModule(id, modules);
115
+ if (host) return host;
116
+ throw new Error(`[Playground] 未注册的模块 "${id}"。请在 import map 中提供可加载的地址。`);
117
+ };
118
+ const loadModule = (filename) => {
119
+ const key = require_files.normalizeVirtualPath(filename);
120
+ if (cache.has(key)) return cache.get(key);
121
+ if (visiting.has(key)) return cache.get(key);
122
+ const mod = compiled.modules[key];
123
+ if (!mod) throw new Error(`[Playground] 缺少编译模块: ${key}`);
124
+ const module = { exports: {} };
125
+ cache.set(key, module.exports);
126
+ visiting.add(key);
127
+ try {
128
+ new Function("require", "module", "exports", mod.js)(requireFn(key), module, module.exports);
129
+ cache.set(key, module.exports);
130
+ return module.exports;
131
+ } catch (error) {
132
+ const message = error instanceof Error ? error.message : String(error);
133
+ errors.push(`[Playground] 执行失败 ${key}: ${message}`);
134
+ throw error;
135
+ } finally {
136
+ visiting.delete(key);
137
+ }
138
+ };
139
+ try {
140
+ const entryExports = loadModule(compiled.entry);
141
+ let component = entryExports?.default ?? entryExports;
142
+ if (capture.mountedComponent) component = capture.mountedComponent;
143
+ /* istanbul ignore if -- 空入口在编译阶段已经报错 */
144
+ if (!component) {
145
+ errors.push("[Playground] 入口必须 export default 组件,或调用 createApp(App).mount()");
146
+ return {
147
+ component: null,
148
+ css: compiled.css || [],
149
+ errors
150
+ };
151
+ }
152
+ return {
153
+ component,
154
+ css: compiled.css || [],
155
+ errors
156
+ };
157
+ } catch (error) {
158
+ if (!errors.length) errors.push(error instanceof Error ? error.message : String(error));
159
+ return {
160
+ component: null,
161
+ css: compiled.css || [],
162
+ errors
163
+ };
164
+ }
165
+ };
166
+ //#endregion
167
+ exports.linkPlayground = linkPlayground;
@@ -0,0 +1,166 @@
1
+ import { a as getCommonRoot, c as isInsideRoot, f as resolveModulePath, l as isRelativeSpecifier, r as createFileIndex, u as normalizeVirtualPath } from "./files-BqucFldk.js";
2
+ import { resolveHostModule } from "./modules-BGzPcoRR.js";
3
+ import * as Vue from "vue";
4
+ import { defineComponent, h, provide } from "vue";
5
+ //#region packages/playground/src/core/runtime/local/vue-guard.ts
6
+ /**
7
+ * 给 files 注入的 vue:同一份宿主 Vue,但 `createApp().mount` 不会卸掉页面。
8
+ * 防护按本次 link 创建,多个 Playground 互不覆盖。
9
+ * @param capture 本次链接收集到的根组件、局部组件和 provide。
10
+ * @returns 带防护的 Vue 模块。
11
+ */
12
+ var createGuardedVue = (capture) => {
13
+ const createApp = (rootComponent, rootProps) => {
14
+ const fakeApp = {
15
+ _component: rootComponent,
16
+ _props: rootProps,
17
+ config: {
18
+ errorHandler: null,
19
+ warnHandler: null,
20
+ globalProperties: {}
21
+ },
22
+ _context: {
23
+ provides: Object.create(null),
24
+ components: Object.create(null),
25
+ directives: Object.create(null),
26
+ mixins: []
27
+ },
28
+ use() {
29
+ return fakeApp;
30
+ },
31
+ mixin(mixin) {
32
+ fakeApp._context.mixins.push(mixin);
33
+ return fakeApp;
34
+ },
35
+ component(name, component) {
36
+ if (component) {
37
+ fakeApp._context.components[name] = component;
38
+ return fakeApp;
39
+ }
40
+ return fakeApp._context.components[name];
41
+ },
42
+ directive() {
43
+ return fakeApp;
44
+ },
45
+ provide(key, value) {
46
+ fakeApp._context.provides[key] = value;
47
+ return fakeApp;
48
+ },
49
+ mount() {
50
+ capture.components = { ...fakeApp._context.components };
51
+ capture.provides = { ...fakeApp._context.provides };
52
+ capture.mountedComponent = defineComponent({
53
+ name: "PlaygroundCapturedApp",
54
+ components: fakeApp._context.components,
55
+ setup() {
56
+ Reflect.ownKeys(fakeApp._context.provides).forEach((key) => {
57
+ provide(key, fakeApp._context.provides[key]);
58
+ });
59
+ return () => h(rootComponent, rootProps || null);
60
+ }
61
+ });
62
+ return capture.mountedComponent;
63
+ },
64
+ unmount() {},
65
+ onUnmount() {
66
+ return fakeApp;
67
+ }
68
+ };
69
+ return fakeApp;
70
+ };
71
+ return new Proxy(Vue, { get(target, prop, receiver) {
72
+ if (prop === "createApp" || prop === "createSSRApp") return createApp;
73
+ if (prop === "default") return receiver;
74
+ return Reflect.get(target, prop, receiver);
75
+ } });
76
+ };
77
+ //#endregion
78
+ //#region packages/playground/src/core/runtime/local/linker.ts
79
+ /**
80
+ * 在当前页面链接编译结果,返回入口组件。
81
+ * 未覆盖 `vue` 时换成带防护的宿主实例,避免 `mount` 卸掉页面。
82
+ * @param compiled 浏览器编译结果。
83
+ * @param files 当前 Playground 文件表。
84
+ * @param options 可选的宿主模块表。
85
+ * @returns 入口组件、样式和链接错误。
86
+ */
87
+ var linkPlayground = (compiled, files, options = {}) => {
88
+ const errors = [...compiled.errors || []];
89
+ if (!compiled.entry || errors.length) return {
90
+ component: null,
91
+ css: compiled.css || [],
92
+ errors
93
+ };
94
+ const capture = {
95
+ mountedComponent: null,
96
+ components: {},
97
+ provides: {}
98
+ };
99
+ const modules = { ...options.modules || {} };
100
+ if (modules.vue == null || modules.vue === Vue) modules.vue = createGuardedVue(capture);
101
+ const fileIndex = createFileIndex(files);
102
+ const root = getCommonRoot([...fileIndex.keys()]);
103
+ const cache = /* @__PURE__ */ new Map();
104
+ const visiting = /* @__PURE__ */ new Set();
105
+ const requireFn = (fromFilename) => (id) => {
106
+ if (isRelativeSpecifier(id)) {
107
+ const resolved = resolveModulePath(fromFilename, id, fileIndex);
108
+ if (!resolved) throw new Error(`[Playground] 无法解析相对模块 "${id}"(来自 ${fromFilename})`);
109
+ /* istanbul ignore if -- 公共根已包含全部 files,正常解析不会逃出 */
110
+ if (!isInsideRoot(resolved, root)) throw new Error(`[Playground] 模块逃出虚拟根: ${resolved}`);
111
+ return loadModule(resolved);
112
+ }
113
+ const host = resolveHostModule(id, modules);
114
+ if (host) return host;
115
+ throw new Error(`[Playground] 未注册的模块 "${id}"。请在 import map 中提供可加载的地址。`);
116
+ };
117
+ const loadModule = (filename) => {
118
+ const key = normalizeVirtualPath(filename);
119
+ if (cache.has(key)) return cache.get(key);
120
+ if (visiting.has(key)) return cache.get(key);
121
+ const mod = compiled.modules[key];
122
+ if (!mod) throw new Error(`[Playground] 缺少编译模块: ${key}`);
123
+ const module = { exports: {} };
124
+ cache.set(key, module.exports);
125
+ visiting.add(key);
126
+ try {
127
+ new Function("require", "module", "exports", mod.js)(requireFn(key), module, module.exports);
128
+ cache.set(key, module.exports);
129
+ return module.exports;
130
+ } catch (error) {
131
+ const message = error instanceof Error ? error.message : String(error);
132
+ errors.push(`[Playground] 执行失败 ${key}: ${message}`);
133
+ throw error;
134
+ } finally {
135
+ visiting.delete(key);
136
+ }
137
+ };
138
+ try {
139
+ const entryExports = loadModule(compiled.entry);
140
+ let component = entryExports?.default ?? entryExports;
141
+ if (capture.mountedComponent) component = capture.mountedComponent;
142
+ /* istanbul ignore if -- 空入口在编译阶段已经报错 */
143
+ if (!component) {
144
+ errors.push("[Playground] 入口必须 export default 组件,或调用 createApp(App).mount()");
145
+ return {
146
+ component: null,
147
+ css: compiled.css || [],
148
+ errors
149
+ };
150
+ }
151
+ return {
152
+ component,
153
+ css: compiled.css || [],
154
+ errors
155
+ };
156
+ } catch (error) {
157
+ if (!errors.length) errors.push(error instanceof Error ? error.message : String(error));
158
+ return {
159
+ component: null,
160
+ css: compiled.css || [],
161
+ errors
162
+ };
163
+ }
164
+ };
165
+ //#endregion
166
+ export { linkPlayground };