@netless/fastboard-react 0.2.8 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -40,8 +40,8 @@ function applyStyles(css) {
40
40
  document.head.appendChild(el);
41
41
  return el;
42
42
  }
43
- function clamp(value, min, max) {
44
- return value < min ? min : value > max ? max : value;
43
+ function clamp(value, min2, max2) {
44
+ return value < min2 ? min2 : value > max2 ? max2 : value;
45
45
  }
46
46
  function isEqualArray(a, b) {
47
47
  return a.length === b.length && a.every((e, i) => e === b[i]);
@@ -68,10 +68,10 @@ function useLastValue(value) {
68
68
  }, [value]);
69
69
  return ref.current;
70
70
  }
71
- function useAsyncValue(fn) {
71
+ function useAsyncValue(fn2) {
72
72
  const [value, setValue] = useState(null);
73
73
  useEffect(() => {
74
- fn().then(setValue);
74
+ fn2().then(setValue);
75
75
  }, []);
76
76
  return value;
77
77
  }
@@ -81,7 +81,7 @@ function useForceUpdate() {
81
81
  }
82
82
 
83
83
  // src/style.scss?inline
84
- var style_default = '@charset "UTF-8";.vjs-modal-dialog .vjs-modal-dialog-content,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,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) format("woff");font-weight:400;font-style:normal}.vjs-icon-play,.video-js .vjs-play-control .vjs-icon-placeholder,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{content:"\\f101"}.vjs-icon-play-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play-circle:before{content:"\\f102"}.vjs-icon-pause,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pause:before,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before{content:"\\f103"}.vjs-icon-volume-mute,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-mute:before,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{content:"\\f104"}.vjs-icon-volume-low,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-low:before,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before{content:"\\f105"}.vjs-icon-volume-mid,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-mid:before,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before{content:"\\f106"}.vjs-icon-volume-high,.video-js .vjs-mute-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-high:before,.video-js .vjs-mute-control .vjs-icon-placeholder:before{content:"\\f107"}.vjs-icon-fullscreen-enter,.video-js .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-fullscreen-enter:before,.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before{content:"\\f108"}.vjs-icon-fullscreen-exit,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-fullscreen-exit:before,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before{content:"\\f109"}.vjs-icon-square{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-square:before{content:"\\f10a"}.vjs-icon-spinner{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-spinner:before{content:"\\f10b"}.vjs-icon-subtitles,.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-subtitles:before,.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before{content:"\\f10c"}.vjs-icon-captions,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-captions-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-captions:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-captions-button .vjs-icon-placeholder:before{content:"\\f10d"}.vjs-icon-chapters,.video-js .vjs-chapters-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-chapters:before,.video-js .vjs-chapters-button .vjs-icon-placeholder:before{content:"\\f10e"}.vjs-icon-share{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-share:before{content:"\\f10f"}.vjs-icon-cog{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cog:before{content:"\\f110"}.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder,.video-js .vjs-volume-level,.video-js .vjs-play-progress{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before,.video-js .vjs-volume-level:before,.video-js .vjs-play-progress:before{content:"\\f111"}.vjs-icon-circle-outline{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-outline:before{content:"\\f112"}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-inner-circle:before{content:"\\f113"}.vjs-icon-hd{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-hd:before{content:"\\f114"}.vjs-icon-cancel,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cancel:before,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before{content:"\\f115"}.vjs-icon-replay,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-replay:before,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before{content:"\\f116"}.vjs-icon-facebook{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-facebook:before{content:"\\f117"}.vjs-icon-gplus{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-gplus:before{content:"\\f118"}.vjs-icon-linkedin{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-linkedin:before{content:"\\f119"}.vjs-icon-twitter{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-twitter:before{content:"\\f11a"}.vjs-icon-tumblr{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-tumblr:before{content:"\\f11b"}.vjs-icon-pinterest{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pinterest:before{content:"\\f11c"}.vjs-icon-audio-description,.video-js .vjs-descriptions-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-audio-description:before,.video-js .vjs-descriptions-button .vjs-icon-placeholder:before{content:"\\f11d"}.vjs-icon-audio,.video-js .vjs-audio-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-audio:before,.video-js .vjs-audio-button .vjs-icon-placeholder:before{content:"\\f11e"}.vjs-icon-next-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-next-item:before{content:"\\f11f"}.vjs-icon-previous-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-previous-item:before{content:"\\f120"}.vjs-icon-picture-in-picture-enter,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-picture-in-picture-enter:before,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:"\\f121"}.vjs-icon-picture-in-picture-exit,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-picture-in-picture-exit:before,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:"\\f122"}.video-js{display:block;vertical-align:top;box-sizing:border-box;color:#fff;background-color:#000;position:relative;padding:0;font-size:10px;line-height:1;font-weight:400;font-style:normal;font-family:Arial,Helvetica,sans-serif;word-break:initial}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:none}.video-js *,.video-js *:before,.video-js *:after{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;list-style-position:outside;margin:0}.video-js.vjs-fluid,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-1-1{width:100%;max-width:100%;height:0}.video-js.vjs-16-9{padding-top:56.25%}.video-js.vjs-4-3{padding-top:75%}.video-js.vjs-9-16{padding-top:177.7777777778%}.video-js.vjs-1-1{padding-top:100%}.video-js.vjs-fill{width:100%;height:100%}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}body.vjs-full-window{padding:0;margin:0;height:100%}.vjs-full-window .video-js.vjs-fullscreen{position:fixed;overflow:hidden;z-index:1000;inset:0}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs){width:100%!important;height:100%!important;padding-top:0!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{height:1px;left:-9999px;position:absolute;top:0;width:1px}.vjs-lock-showing{display:block!important;opacity:1!important;visibility:visible!important}.vjs-no-js{padding:20px;color:#fff;background-color:#000;font-size:18px;font-family:Arial,Helvetica,sans-serif;text-align:center;width:300px;height:150px;margin:0 auto}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{font-size:3em;line-height:1.5em;height:1.63332em;width:3em;display:block;position:absolute;top:10px;left:10px;padding:0;cursor:pointer;opacity:1;border:.06666em solid #fff;background-color:#2b333f;background-color:#2b333fb3;border-radius:.3em;transition:all .4s}.vjs-big-play-centered .vjs-big-play-button{top:50%;left:50%;margin-top:-.81666em;margin-left:-1.5em}.video-js:hover .vjs-big-play-button,.video-js .vjs-big-play-button:focus{border-color:#fff;background-color:#73859f;background-color:#73859f80;transition:all 0s}.vjs-controls-disabled .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button,.vjs-error .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button{display:block}.video-js button{background:none;border:none;color:inherit;display:inline-block;font-size:inherit;line-height:inherit;text-transform:none;text-decoration:none;transition:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;height:3em;position:absolute;right:0;top:.5em;z-index:2}.video-js .vjs-modal-dialog{background:rgba(0,0,0,.8);background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(255,255,255,0));overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{font-size:1.2em;line-height:1.5;padding:20px 24px;z-index:1}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{list-style:none;margin:0;padding:.2em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover,.js-focus-visible .vjs-menu li.vjs-menu-item:hover{background-color:#73859f;background-color:#73859f80}.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover,.js-focus-visible .vjs-menu li.vjs-selected:hover{background-color:#fff;color:#2b333f}.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible){background:none}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em;font-weight:700;cursor:default}.vjs-menu-button-popup .vjs-menu{display:none;position:absolute;bottom:0;width:10em;left:-3em;height:0em;margin-bottom:1.5em;border-top-color:#2b333fb3}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333f;background-color:#2b333fb3;position:absolute;width:100%;bottom:1.5em;max-height:15em}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,.vjs-menu-button-popup .vjs-menu.vjs-lock-showing{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.222222222em}.video-js .vjs-menu-button-inline:hover,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline.vjs-slider-active,.video-js.vjs-no-flex .vjs-menu-button-inline{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;height:100%;width:auto;position:absolute;left:4em;top:0;padding:0;margin:0;transition:all .4s}.vjs-menu-button-inline:hover .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline.vjs-slider-active .vjs-menu{display:block;opacity:1}.vjs-no-flex .vjs-menu-button-inline .vjs-menu{display:block;opacity:1;position:relative;width:auto}.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu,.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu{width:auto}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{display:none;width:100%;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#2b333f;background-color:#2b333fb3}.vjs-has-started .vjs-control-bar{display:flex;visibility:visible;opacity:1;transition:visibility .1s,opacity .1s}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar,.vjs-error .vjs-control-bar{display:none!important}.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible}.vjs-has-started.vjs-no-flex .vjs-control-bar{display:table}.video-js .vjs-control{position:relative;text-align:center;margin:0;padding:0;height:100%;width:4em;flex:none}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before,.video-js .vjs-control:focus{text-shadow:0em 0em 1em white}.video-js .vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-no-flex .vjs-control{display:table-cell;vertical-align:middle}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;flex:auto;display:flex;align-items:center;min-width:4em;touch-action:none}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{display:flex;align-items:center}.vjs-no-flex .vjs-progress-control{width:auto}.video-js .vjs-progress-holder{flex:auto;transition:all .2s;height:.3em}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder{font-size:1.6666666667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-play-progress,.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div{position:absolute;display:block;height:100%;margin:0;padding:0;width:0}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{font-size:.9em;position:absolute;right:-.5em;top:-.3333333333em;z-index:1}.video-js .vjs-load-progress{background:rgba(115,133,159,.5)}.video-js .vjs-load-progress div{background:rgba(115,133,159,.75)}.video-js .vjs-time-tooltip{background-color:#fff;background-color:#fffc;border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip{display:block;font-size:.6em;visibility:visible}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{display:none;position:absolute;width:1px;height:100%;background-color:#000;z-index:1}.vjs-no-flex .vjs-progress-control .vjs-mouse-display{z-index:0}.video-js .vjs-progress-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display{display:none}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000;background-color:#000c}.video-js .vjs-slider{position:relative;cursor:pointer;padding:0;margin:0 .45em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#73859f;background-color:#73859f80}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0em 0em 1em white;box-shadow:0 0 1em #fff}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active{visibility:visible;opacity:1;position:relative;transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal{width:5em;height:3em;margin-right:0}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical{left:-3.5em;transition:left 0s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{width:10em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{height:8em;width:3em;left:-3000em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{width:5em;height:3em;visibility:visible;opacity:1;position:relative;transition:none}.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{position:absolute;bottom:3em;left:.5em}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{position:absolute;bottom:0;left:0;background-color:#fff}.video-js .vjs-volume-level:before{position:absolute;font-size:.9em;z-index:1}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{top:-.5em;left:-.3em;z-index:1}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{top:-.3em;right:-.5em}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{width:3em;height:8em;bottom:8em;background-color:#2b333f;background-color:#2b333fb3}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{background-color:#fff;background-color:#fffc;border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-volume-control:hover .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip{display:block;font-size:1em;visibility:visible}.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip{left:1em;top:-12px}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{display:none;position:absolute;width:100%;height:1px;background-color:#000;z-index:1}.video-js .vjs-volume-horizontal .vjs-mouse-display{width:1px;height:100%}.vjs-no-flex .vjs-volume-control .vjs-mouse-display{z-index:0}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.video-js.vjs-user-inactive.vjs-no-flex .vjs-volume-control .vjs-mouse-display{display:none}.vjs-mouse-display .vjs-volume-tooltip{color:#fff;background-color:#000;background-color:#000c}.vjs-poster{display:inline-block;vertical-align:middle;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;background-color:#000;cursor:pointer;margin:0;padding:0;position:absolute;inset:0;height:100%}.vjs-has-started .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster{display:block}.vjs-using-native-controls .vjs-poster{display:none}.video-js .vjs-live-control{display:flex;align-items:flex-start;flex:auto;font-size:1em;line-height:3em}.vjs-no-flex .vjs-live-control{display:table-cell;width:auto;text-align:left}.video-js:not(.vjs-live) .vjs-live-control,.video-js.vjs-liveui .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{align-items:center;cursor:pointer;flex:none;display:inline-flex;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;width:auto;min-width:4em}.vjs-no-flex .vjs-seek-to-live-control{display:table-cell;width:auto;text-align:left}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{margin-right:.5em;color:#888}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.video-js .vjs-time-control{flex:none;font-size:1em;line-height:3em;min-width:2em;width:auto;padding-left:1em;padding-right:1em}.vjs-live .vjs-time-control,.video-js .vjs-current-time,.vjs-no-flex .vjs-current-time,.video-js .vjs-duration,.vjs-no-flex .vjs-duration{display:none}.vjs-time-divider{display:none;line-height:3em}.vjs-live .vjs-time-divider{display:none}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{position:absolute;inset:0 0 3em;pointer-events:none}.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{font-size:1.4em;text-align:center;margin-bottom:.1em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{transform:translateY(-3em)}.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{transform:translateY(-1.5em)}.video-js .vjs-picture-in-picture-control,.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.vjs-playback-rate>.vjs-menu-button,.vjs-playback-rate .vjs-playback-rate-value{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;font-size:1.5em;line-height:2;text-align:center}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{font-size:1.4em;text-align:center}.vjs-error .vjs-error-display:before{color:#fff;content:"X";font-family:Arial,Helvetica,sans-serif;font-size:4em;left:0;line-height:1;margin-top:-.5em;position:absolute;text-shadow:.05em .05em .1em #000;text-align:center;top:50%;vertical-align:middle;width:100%}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;margin:-25px 0 0 -25px;opacity:.85;text-align:left;border:6px solid rgba(43,51,63,.7);box-sizing:border-box;background-clip:padding-box;width:50px;height:50px;border-radius:25px;visibility:hidden}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{display:block;-webkit-animation:vjs-spinner-show 0s linear .3s forwards;animation:vjs-spinner-show 0s linear .3s forwards}.vjs-loading-spinner:before,.vjs-loading-spinner:after{content:"";position:absolute;margin:-6px;box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:transparent;border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:before,.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after{-webkit-animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite;animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;-webkit-animation-delay:.44s;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@-webkit-keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{to{transform:rotate(360deg)}}@-webkit-keyframes vjs-spinner-spin{to{-webkit-transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}@-webkit-keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:"\\f10d";font-size:1.5em;line-height:inherit}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:" \\f11d";font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-chapters-button,.video-js.vjs-layout-small .vjs-descriptions-button,.video-js.vjs-layout-small .vjs-captions-button,.video-js.vjs-layout-small .vjs-subtitles-button,.video-js.vjs-layout-small .vjs-audio-button,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-chapters-button,.video-js.vjs-layout-x-small .vjs-descriptions-button,.video-js.vjs-layout-x-small .vjs-captions-button,.video-js.vjs-layout-x-small .vjs-subtitles-button,.video-js.vjs-layout-x-small .vjs-audio-button,.video-js.vjs-layout-x-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-chapters-button,.video-js.vjs-layout-tiny .vjs-descriptions-button,.video-js.vjs-layout-tiny .vjs-captions-button,.video-js.vjs-layout-tiny .vjs-subtitles-button,.video-js.vjs-layout-tiny .vjs-audio-button,.video-js.vjs-layout-tiny .vjs-volume-control{display:none!important}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{width:auto;width:initial}.video-js.vjs-layout-x-small:not(.vjs-liveui) .vjs-subs-caps-button,.video-js.vjs-layout-x-small:not(.vjs-live) .vjs-subs-caps-button,.video-js.vjs-layout-tiny .vjs-subs-caps-button{display:none}.video-js.vjs-layout-x-small.vjs-liveui .vjs-custom-control-spacer,.video-js.vjs-layout-tiny .vjs-custom-control-spacer{flex:auto;display:block}.video-js.vjs-layout-x-small.vjs-liveui.vjs-no-flex .vjs-custom-control-spacer,.video-js.vjs-layout-tiny.vjs-no-flex .vjs-custom-control-spacer{width:auto}.video-js.vjs-layout-x-small.vjs-liveui .vjs-progress-control,.video-js.vjs-layout-tiny .vjs-progress-control{display:none}.vjs-modal-dialog.vjs-text-track-settings{background-color:#2b333f;background-color:#2b333fbf;color:#fff;height:70%}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-font,.vjs-text-track-settings .vjs-track-settings-controls{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display: grid){.vjs-text-track-settings .vjs-modal-dialog-content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;padding:20px 24px 0}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-track-setting>select{margin-right:1em;margin-bottom:.5em}.vjs-text-track-settings fieldset{margin:5px;padding:3px;border:none}.vjs-text-track-settings fieldset span{display:inline-block}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;margin:0 0 5px}.vjs-text-track-settings .vjs-label{position:absolute;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);display:block;margin:0 0 5px;padding:0;border:0;height:1px;width:1px;overflow:hidden}.vjs-track-settings-controls button:focus,.vjs-track-settings-controls button:active{outline-style:solid;outline-width:medium;background-image:linear-gradient(0deg,#fff 88%,#73859f 100%)}.vjs-track-settings-controls button:hover{color:#2b333fbf}.vjs-track-settings-controls button{background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f 100%);color:#2b333f;cursor:pointer;border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}@media print{.video-js>*:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{position:absolute;top:0;left:0;width:100%;height:100%;border:none;z-index:-1000}.js-focus-visible .video-js *:focus:not(.focus-visible){outline:none}.video-js *:focus:not(:focus-visible){outline:none}.netless-window-manager-playground{width:100%;height:100%;position:relative;z-index:1;overflow:hidden;user-select:none}.netless-window-manager-sizer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden;display:flex}.netless-window-manager-sizer-horizontal{flex-direction:column}.netless-window-manager-sizer:before,.netless-window-manager-sizer:after{flex:1;content:"";display:block}.netless-window-manager-chess-sizer:before,.netless-window-manager-chess-sizer:after{background-image:linear-gradient(45deg,#b0b0b0 25%,transparent 25%),linear-gradient(-45deg,#b0b0b0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#b0b0b0 75%),linear-gradient(-45deg,transparent 75%,#b0b0b0 75%);background-color:#fff;background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}.netless-window-manager-wrapper{position:relative;z-index:1;width:100%;height:100%;overflow:hidden}.netless-window-manager-main-view{width:100%;height:100%}.netless-window-manager-cursor-pencil-image,.netless-window-manager-cursor-eraser-image{width:26px;height:26px}.netless-window-manager-cursor-selector-image{width:24px;height:24px}.netless-window-manager-cursor-selector-avatar{border-radius:50%;border-style:solid;border-width:2px;border-color:#fff;margin-bottom:2px}.netless-window-manager-cursor-selector-avatar img{width:12px}.netless-window-manager-cursor-inner{border-radius:4px;display:flex;align-items:center;justify-content:center;flex-direction:row;padding-left:4px;padding-right:4px;font-size:12px}.netless-window-manager-cursor-inner-mellow{height:32px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:row;padding-left:16px;padding-right:16px}.netless-window-manager-cursor-tag-name{font-size:12px;margin-left:4px;padding:2px 8px;border-radius:4px}.netless-window-manager-cursor-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:26px;height:26px;z-index:2147483647;left:0;top:0;will-change:transform;transition:transform .1s;transform-origin:0 0;user-select:none}.netless-window-manager-cursor-pencil-offset{margin-left:-20px}.netless-window-manager-cursor-selector-offset{margin-left:-22px;margin-top:56px}.netless-window-manager-cursor-text-offset{margin-left:-30px;margin-top:18px}.netless-window-manager-cursor-shape-offset{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:180px;height:64px;margin-left:-30px;margin-top:12px}.netless-window-manager-cursor-laserPointer-image{margin-left:-22px;margin-top:3px}.netless-window-manager-cursor-name{width:100%;height:48px;display:flex;align-items:center;justify-content:center;position:absolute;top:-40px}.cursor-image-wrapper{display:flex;justify-content:center}.telebox-collector{position:absolute;right:10px;bottom:15px}.tele-fancy-scrollbar{overscroll-behavior:contain;overflow:auto;overflow-y:scroll;overflow-y:overlay;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:auto}.tele-fancy-scrollbar::-webkit-scrollbar{height:8px;width:8px}.tele-fancy-scrollbar::-webkit-scrollbar-track{background-color:transparent}.tele-fancy-scrollbar::-webkit-scrollbar-thumb{background-color:#444e601a;background-color:transparent;border-radius:4px;transition:background-color .4s}.tele-fancy-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#444e601a}.tele-fancy-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#444e6033}.tele-fancy-scrollbar::-webkit-scrollbar-thumb:active{background-color:#444e6033}.tele-fancy-scrollbar::-webkit-scrollbar-thumb:vertical{min-height:50px}.tele-fancy-scrollbar::-webkit-scrollbar-thumb:horizontal{min-width:50px}.telebox-box{position:absolute;top:0;left:0;z-index:100;transition:width .4s cubic-bezier(.4,.9,.71,1.02),height .4s cubic-bezier(.55,.82,.63,.95),opacity .6s cubic-bezier(.7,0,.84,0),transform .4s ease}.telebox-box-main{position:relative;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#f9f9fc;box-shadow:0 4px 10px #2f419226;border-radius:6px;border:1px solid #e3e3ec}.telebox-titlebar-wrap{flex-shrink:0;position:relative;z-index:1}.telebox-content-wrap{flex:1;width:100%;overflow:hidden;display:flex;justify-content:center;align-items:center}.telebox-content{width:100%;height:100%;position:relative}.telebox-footer-wrap{flex-shrink:0;display:flex;flex-direction:column}.telebox-footer-wrap:before{content:"";display:block;flex:1}.telebox-resize-handle{position:absolute;z-index:2147483647}.telebox-n{width:100%;height:5px;left:0;top:-5px;cursor:n-resize}.telebox-s{width:100%;height:5px;left:0;bottom:-5px;cursor:s-resize}.telebox-w{width:5px;height:100%;left:-5px;top:0;cursor:w-resize}.telebox-e{width:5px;height:100%;right:-5px;top:0;cursor:e-resize}.telebox-nw{width:15px;height:15px;top:-5px;left:-5px;cursor:nw-resize}.telebox-ne{width:15px;height:15px;top:-5px;right:-5px;cursor:ne-resize}.telebox-se{width:15px;height:15px;bottom:-5px;right:-5px;cursor:se-resize}.telebox-sw{width:15px;height:15px;bottom:-5px;left:-5px;cursor:sw-resize}.telebox-track-mask{position:fixed;top:0;left:0;z-index:2147483647;width:100%;height:100%;background:rgba(0,0,0,.0001);cursor:move}.telebox-cursor-n{cursor:n-resize}.telebox-cursor-s{cursor:s-resize}.telebox-cursor-w{cursor:w-resize}.telebox-cursor-e{cursor:e-resize}.telebox-cursor-nw{cursor:nw-resize}.telebox-cursor-ne{cursor:ne-resize}.telebox-cursor-se{cursor:se-resize}.telebox-cursor-sw{cursor:sw-resize}.telebox-maximized .telebox-resize-handles,.telebox-no-resize .telebox-resize-handles{display:none}.telebox-maximized{box-shadow:none;transition:none}.telebox-minimized{transition:width 50ms cubic-bezier(.4,.9,.71,1.02),height 50ms cubic-bezier(.55,.82,.63,.95),opacity .6s cubic-bezier(.7,0,.84,0),transform .6s ease;opacity:0;pointer-events:none;user-select:none}.telebox-transforming{will-change:transform;transition:opacity .6s cubic-bezier(.7,0,.84,0)}.telebox-readonly .telebox-resize-handle{cursor:initial!important;pointer-events:none!important}.telebox-color-scheme-dark .telebox-box-main{color:#e9e9e9;background:#212126;border-color:#43434d}.telebox-titlebar{box-sizing:border-box;height:26px;display:flex;align-items:center;padding:0 16px;background:#fff;user-select:none;border-bottom:1px solid #eeeef7;touch-action:manipulation}.telebox-title-area{overflow:hidden;position:relative;height:100%;flex:1;display:flex;align-items:center}.telebox-title{overflow:hidden;margin:0;padding:0;font-size:14px;font-weight:400;font-family:PingFangSC-Regular,PingFang SC;white-space:nowrap;word-break:keep-all;text-overflow:ellipsis;color:#191919}.telebox-drag-area{position:absolute;inset:0;margin:auto;z-index:10}.telebox-titlebar-btns{white-space:nowrap;word-break:keep-all;margin-left:auto;font-size:0}.telebox-titlebar-btn{width:22px;height:22px;padding:0;outline:0;border:none;background:0 0;cursor:pointer}.telebox-titlebar-btn~.telebox-titlebar-btn{margin-left:10px}.telebox-titlebar-btn-icon{width:22px;height:22px}.telebox-readonly .telebox-titlebar-btn{cursor:not-allowed}.telebox-titlebar-icon-minimize{background:center/cover no-repeat url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjggMjgiPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjh2MjhIMHoiIC8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIgLz4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHBhdGggZmlsbD0iI0E3QTdDQSIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNOSAxM2gxMHYxLjZIOXoiIG1hc2s9InVybCgjYikiIC8+CiAgICA8L2c+Cjwvc3ZnPgo=)}.telebox-titlebar-icon-maximize{background:center/cover no-repeat url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjggMjgiPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjh2MjhIMHoiIC8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIgLz4KICAgICAgICA8L21hc2s+CiAgICAgICAgPGcgZmlsbD0iI0E3QTdDQSIgZmlsbC1ydWxlPSJub256ZXJvIiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgIGQ9Ik0yMC40ODEgMTcuMWgxLjJ2NC41ODFIMTcuMXYtMS4yaDMuMzgxVjE3LjF6bS0xNC4xOTA1LS4wMDloMS4ydjMuMzgxaDMuMzgwOXYxLjJoLTQuNTgxdi00LjU4MXpNMTcuMSA2LjE5MDVoNC41ODF2NC41ODA5aC0xLjJ2LTMuMzgxSDE3LjF2LTEuMnptLTEwLjcwMDguMTA4N2g0Ljc5ODV2MS4ySDcuNTk5MnYzLjU5ODVoLTEuMlY2LjI5OTJ6IiAvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==)}.telebox-titlebar-icon-maximize.is-active{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjggMjgiPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjZ2MjZIMHoiIC8+CiAgICAgICAgPHBhdGggaWQ9ImMiIGQ9Ik0yNi44NjkgMEwyOCAxLjEzMVYyNi44N0wyNi44NjkgMjhIMS4xM0wwIDI2Ljg3VjEuMTMxTDEuMTMgMHoiIC8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiPgogICAgICAgICAgICA8bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNhIiAvPgogICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tNC42NDI5LTQuNjQyOWgzNS4yODU4djM1LjI4NThILTQuNjQyOXoiIG1hc2s9InVybCgjYikiIC8+CiAgICAgICAgPC9nPgogICAgICAgIDxnPgogICAgICAgICAgICA8bWFzayBpZD0iZCIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNjIiAvPgogICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tMTcuNTE2OCAxNEwxNC0xNy41MTY4IDQ1LjUxNjggMTQgMTQgNDUuNTE2OHoiIG1hc2s9InVybCgjZCkiIC8+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIHN0cm9rZT0iI0E3QTdDQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgIGQ9Ik0xMC4wODg2IDIxLjQ4NjV2LTMuNjk2Nkg2LjM5Mk0yMS4zODU1IDEwLjE4OTVoLTMuNjk2NlY2LjQ5M00yMS40MDIgMTcuNzk4M2gtMy42OTY2djMuNjk2Nk0xMC4yNTAzIDYuMTQ5OHYzLjg5ODVINi4zNTE3IiAvPgogICAgPC9nPgo8L3N2Zz4K)}.telebox-titlebar-icon-close{background:center/cover no-repeat url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iI0E3QTdDQSIgc3Ryb2tlLXdpZHRoPSIxLjQiPgogICAgICAgIDxwYXRoIGQ9Ik04LjM1MyAyMC4zMzIxTDIwLjMzMiA4LjM1M00yMC4zMzIyIDIwLjMzMjFMOC4zNTMgOC4zNTMiIC8+CiAgICA8L2c+Cjwvc3ZnPgo=)}.telebox-color-scheme-dark .telebox-titlebar{color:#e9e9e9;background:#43434d;border-bottom:none}.telebox-collector{visibility:hidden;display:block;position:absolute;z-index:200;width:40px;height:40px;margin:0;padding:0;border:none;outline:0;font-size:0;border-radius:50%;background:#fff;box-shadow:0 2px 6px #2f419226;cursor:pointer;user-select:none;pointer-events:none;background-repeat:no-repeat;background-size:18px 16px;background-position:center;-webkit-tap-highlight-color:transparent}.telebox-collector-visible{visibility:visible;pointer-events:initial}.telebox-collector-readonly{cursor:not-allowed}.telebox-color-scheme-dark.telebox-collector{background-color:#43434d}.telebox-max-titlebar{display:none;position:absolute;top:0;left:0;z-index:50000;user-select:none}.telebox-max-titlebar .telebox-drag-area{height:100%;min-width:16px;position:static;margin:0;flex-grow:1;flex-shrink:0}.telebox-max-titlebar-maximized{display:flex}.telebox-titles{height:100%;margin:0;overflow-y:hidden;overflow-x:scroll;overflow-x:overlay;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:auto}.telebox-titles::-webkit-scrollbar{height:8px;width:8px}.telebox-titles::-webkit-scrollbar-track{background-color:transparent}.telebox-titles::-webkit-scrollbar-thumb{background-color:#eeeef7cc;background-color:transparent;border-radius:4px;transition:background-color .4s}.telebox-titles:hover::-webkit-scrollbar-thumb{background-color:#eeeef7cc}.telebox-titles::-webkit-scrollbar-thumb:hover{background-color:#eeeef7}.telebox-titles::-webkit-scrollbar-thumb:active{background-color:#eeeef7}.telebox-titles::-webkit-scrollbar-thumb:vertical{min-height:50px}.telebox-titles::-webkit-scrollbar-thumb:horizontal{min-width:50px}.telebox-titles-content{height:100%;display:flex;flex-wrap:nowrap;align-items:center;padding:0}.telebox-titles-tab{height:100%;overflow:hidden;max-width:182px;min-width:50px;padding:0 26px 0 16px;outline:0;font-size:13px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all;border:none;border-right:1px solid #e5e5f0;color:#7b88a0;background:0 0;cursor:pointer;user-select:none}.telebox-titles-tab-focus{color:#357bf6}.telebox-readonly .telebox-titles-tab{cursor:not-allowed}.telebox-color-scheme-dark{color-scheme:dark}.telebox-color-scheme-dark.telebox-titlebar{color:#e9e9e9;background:#43434d;border-bottom:none}.telebox-color-scheme-dark .telebox-titles-tab{border-right-color:#7b88a0}.telebox-color-scheme-dark .telebox-title{color:#e9e9e9}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.rc-slider{position:relative;height:14px;padding:5px 0;width:100%;border-radius:6px;touch-action:none;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider-rail{position:absolute;width:100%;background-color:#e9e9e9;height:4px;border-radius:6px}.rc-slider-track{position:absolute;left:0;height:4px;border-radius:6px;background-color:#abe2fb}.rc-slider-handle{position:absolute;width:14px;height:14px;cursor:pointer;cursor:-webkit-grab;margin-top:-5px;cursor:grab;border-radius:50%;border:solid 2px #96dbfa;background-color:#fff;touch-action:pan-x}.rc-slider-handle-dragging.rc-slider-handle-dragging.rc-slider-handle-dragging{border-color:#57c5f7;box-shadow:0 0 0 5px #96dbfa}.rc-slider-handle:focus{outline:none}.rc-slider-handle-click-focused:focus{border-color:#96dbfa;box-shadow:unset}.rc-slider-handle:hover{border-color:#57c5f7}.rc-slider-handle:active{border-color:#57c5f7;box-shadow:0 0 5px #57c5f7;cursor:-webkit-grabbing;cursor:grabbing}.rc-slider-mark{position:absolute;top:18px;left:0;width:100%;font-size:12px}.rc-slider-mark-text{position:absolute;display:inline-block;vertical-align:middle;text-align:center;cursor:pointer;color:#999}.rc-slider-mark-text-active{color:#666}.rc-slider-step{position:absolute;width:100%;height:4px;background:transparent}.rc-slider-dot{position:absolute;bottom:-2px;margin-left:-4px;width:8px;height:8px;border:2px solid #e9e9e9;background-color:#fff;cursor:pointer;border-radius:50%;vertical-align:middle}.rc-slider-dot-active{border-color:#96dbfa}.rc-slider-dot-reverse{margin-right:-4px}.rc-slider-disabled{background-color:#e9e9e9}.rc-slider-disabled .rc-slider-track{background-color:#ccc}.rc-slider-disabled .rc-slider-handle,.rc-slider-disabled .rc-slider-dot{border-color:#ccc;box-shadow:none;background-color:#fff;cursor:not-allowed}.rc-slider-disabled .rc-slider-mark-text,.rc-slider-disabled .rc-slider-dot{cursor:not-allowed!important}.rc-slider-vertical{width:14px;height:100%;padding:0 5px}.rc-slider-vertical .rc-slider-rail{height:100%;width:4px}.rc-slider-vertical .rc-slider-track{left:5px;bottom:0;width:4px}.rc-slider-vertical .rc-slider-handle{margin-left:-5px;touch-action:pan-y}.rc-slider-vertical .rc-slider-mark{top:0;left:18px;height:100%}.rc-slider-vertical .rc-slider-step{height:100%;width:4px}.rc-slider-vertical .rc-slider-dot{left:2px;margin-bottom:-4px}.rc-slider-vertical .rc-slider-dot:first-child{margin-bottom:-4px}.rc-slider-vertical .rc-slider-dot:last-child{margin-bottom:-4px}.rc-slider-tooltip-zoom-down-enter,.rc-slider-tooltip-zoom-down-appear,.rc-slider-tooltip-zoom-down-leave{animation-duration:.3s;animation-fill-mode:both;display:block!important;animation-play-state:paused}.rc-slider-tooltip-zoom-down-enter.rc-slider-tooltip-zoom-down-enter-active,.rc-slider-tooltip-zoom-down-appear.rc-slider-tooltip-zoom-down-appear-active{animation-name:rcSliderTooltipZoomDownIn;animation-play-state:running}.rc-slider-tooltip-zoom-down-leave.rc-slider-tooltip-zoom-down-leave-active{animation-name:rcSliderTooltipZoomDownOut;animation-play-state:running}.rc-slider-tooltip-zoom-down-enter,.rc-slider-tooltip-zoom-down-appear{transform:scale(0);animation-timing-function:cubic-bezier(.23,1,.32,1)}.rc-slider-tooltip-zoom-down-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@keyframes rcSliderTooltipZoomDownIn{0%{opacity:0;transform-origin:50% 100%;transform:scale(0)}to{transform-origin:50% 100%;transform:scale(1)}}@keyframes rcSliderTooltipZoomDownOut{0%{transform-origin:50% 100%;transform:scale(1)}to{opacity:0;transform-origin:50% 100%;transform:scale(0)}}.rc-slider-tooltip{position:absolute;left:-9999px;top:-9999px;visibility:visible;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider-tooltip *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider-tooltip-hidden{display:none}.rc-slider-tooltip-placement-top{padding:4px 0 8px}.rc-slider-tooltip-inner{padding:6px 2px;min-width:24px;height:24px;font-size:12px;line-height:1;color:#fff;text-align:center;text-decoration:none;background-color:#6c6c6c;border-radius:6px;box-shadow:0 0 4px #d9d9d9}.rc-slider-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow{bottom:4px;left:50%;margin-left:-4px;border-width:4px 4px 0;border-top-color:#6c6c6c}.fastboard-root{position:relative;width:100%;height:100%;overflow:hidden}.fastboard-view{position:absolute;top:0;left:0;width:100%;height:100%}.fastboard-left{position:absolute;top:0;left:0;height:calc(100% - 48px);padding:16px;z-index:201;display:flex;align-items:center}.fastboard-bottom-left,.fastboard-bottom-right{display:flex;gap:10px;position:absolute;bottom:8px;left:8px;padding:8px;z-index:200}.fastboard-bottom-right{left:auto;right:8px}.fastboard-redo-undo{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:4px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-redo-undo.light{color:#333;background-color:#ffffffe6;border:1px solid #e5e8f0}.fastboard-redo-undo.dark{color:#ddd;background-color:#14181e;border:1px solid #383b42}.fastboard-redo-undo-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:transparent;border-radius:4px;font-size:24px;line-height:1}.fastboard-redo-undo-btn svg,.fastboard-redo-undo-btn img{width:100%;height:100%}.fastboard-redo-undo-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-redo-undo-btn.light:not(:disabled):hover{background-color:#ebf2ff}.fastboard-redo-undo-btn.dark:not(:disabled):hover{background-color:#383b42}.fastboard-page-control{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:4px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-page-control.light{color:#333;background-color:#ffffffe6;border:1px solid #e5e8f0}.fastboard-page-control.dark{color:#ddd;background-color:#14181e;border:1px solid #383b42}.fastboard-page-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:transparent;border-radius:4px;font-size:24px;line-height:1}.fastboard-page-control-btn svg,.fastboard-page-control-btn img{width:100%;height:100%}.fastboard-page-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-page-control-btn.light:not(:disabled):hover{background-color:#ebf2ff}.fastboard-page-control-btn.dark:not(:disabled):hover{background-color:#383b42}.fastboard-page-control-cut-line{height:24px;width:.5px}.fastboard-page-control-cut-line.light{background-color:#e7e7e7}.fastboard-page-control-cut-line.dark{background-color:#ffffff26}.fastboard-page-control-slash{opacity:.6}.fastboard-page-control-text{line-height:24px}.fastboard-page-control-page,.fastboard-page-control-slash,.fastboard-page-control-page-count{font-size:14px;font-variant-numeric:tabular-nums}.fastboard-zoom-control{position:relative;display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:4px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-zoom-control.light{color:#333;background-color:#ffffffe6;border:1px solid #e5e8f0}.fastboard-zoom-control.dark{color:#ddd;background-color:#14181e;border:1px solid #383b42}.fastboard-zoom-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:transparent;border-radius:4px;font-size:24px;line-height:1}.fastboard-zoom-control-btn svg,.fastboard-zoom-control-btn img{width:100%;height:100%}.fastboard-zoom-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-zoom-control-btn.light:not(:disabled):hover{background-color:#ebf2ff}.fastboard-zoom-control-btn.dark:not(:disabled):hover{background-color:#383b42}.fastboard-zoom-control-cut-line{height:24px;width:.5px}.fastboard-zoom-control-cut-line.light{background-color:#e7e7e7}.fastboard-zoom-control-cut-line.dark{background-color:#ffffff26}.fastboard-zoom-control-text{line-height:24px}.fastboard-zoom-control-percent{opacity:.6}.fastboard-zoom-control-scale,.fastboard-zoom-control-percent{font-size:14px;font-variant-numeric:tabular-nums}.fastboard-toolbar{display:flex;align-items:center;padding:4px;border-radius:4px;flex-direction:column;gap:4px;position:absolute;z-index:100;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-toolbar .rc-slider{padding:6px 0}.fastboard-toolbar .rc-slider-rail,.fastboard-toolbar .rc-slider-track{height:2px}.fastboard-toolbar .tippy-content{padding:8px}.fastboard-toolbar .tippy-box{border:1px solid rgba(0,0,0,.15);background-color:#333333f2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.fastboard-toolbar .tippy-box[data-theme~=light]{background-color:#fffffff2;box-shadow:0 5px 10px #00000040}.fastboard-toolbar.light{color:#333;background-color:#ffffffe6;border:1px solid #e5e8f0}.fastboard-toolbar.dark{color:#ddd;background-color:#14181e;border:1px solid #383b42}.fastboard-toolbar.expanded{border:1px solid rgba(0,0,0,.15)}.fastboard-toolbar.expanded:hover{box-shadow:0 0 5px #00000040;transform:translate(0)}.fastboard-toolbar.collapsed{padding:0;background-color:transparent}.fastboard-toolbar-tooltip{display:inline-flex;align-items:center;gap:4px}.fastboard-toolbar-hotkey{margin-right:-4px;width:24px;height:24px;border-radius:4px;background-color:#ffffff1a;display:inline-flex;align-items:center;justify-content:center}.fastboard-toolbar-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:4px;width:32px;height:32px;background-color:transparent;border-radius:4px;font-size:24px;line-height:1;position:relative}.fastboard-toolbar-btn-interactive{display:inline-block;width:32px;height:32px}.fastboard-toolbar-btn svg,.fastboard-toolbar-btn img{width:100%;height:100%}.fastboard-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-toolbar-btn.light:not(:disabled):hover{background-color:#ebf2ff}.fastboard-toolbar-btn.dark:not(:disabled):hover{background-color:#383b42}.fastboard-toolbar-triangle{width:0px;height:0px;border-bottom:4px solid;border-left:4px solid transparent;position:absolute;bottom:0;right:0}.fastboard-toolbar-cut-line{display:inline-block;height:.5px;width:100%}.fastboard-toolbar-cut-line.light{background-color:#e7e7e7}.fastboard-toolbar-cut-line.dark{background-color:#ffffff26}.fastboard-toolbar-section{display:inline-flex;flex-flow:column nowrap;gap:4px;scroll-behavior:smooth}.fastboard-toolbar-section.collapsed{transform:translate(-100%);transition:1s transform}.fastboard-toolbar-section+.fastboard-toolbar-mask{opacity:0;transition:.5s opacity .4s}.fastboard-toolbar-section:hover+.fastboard-toolbar-mask,.fastboard-toolbar-mask:hover{opacity:1;transition:.2s opacity}.fastboard-toolbar-panel{width:120px;padding:0;display:flex;flex-flow:column nowrap;align-items:center;gap:8px}.fastboard-toolbar-panel.apps{width:224px}.fastboard-toolbar-color-box,.fastboard-toolbar-shapes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;align-items:center;justify-items:center}.fastboard-toolbar-color-box .fastboard-toolbar-btn,.fastboard-toolbar-shapes .fastboard-toolbar-btn{padding:0;width:24px;height:24px}.fastboard-toolbar-apps{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:center;justify-items:center}.fastboard-toolbar-apps .fastboard-toolbar-btn{width:40px;height:40px;font-size:0}.fastboard-toolbar-app-is-loading{opacity:.8;cursor:wait}.fastboard-toolbar-app-is-failed{opacity:.5;cursor:not-allowed}.fastboard-toolbar-app-icon{padding-top:4px;display:inline-flex;flex-flow:column nowrap;align-items:center;gap:4px}.fastboard-toolbar-app-icon .fastboard-toolbar-btn{padding:0}.fastboard-toolbar-app-icon-text{font-size:14px;color:#5d5d5d;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.fastboard-toolbar-color-item{width:24px;height:24px;border-radius:4px;cursor:pointer}.fastboard-toolbar-color-item *.light:hover{background-color:#f5f5f5}.fastboard-toolbar-color-item *.dark:hover{background-color:#333}.fastboard-toolbar-color-border{width:24px;height:24px;border:1px solid transparent;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.fastboard-toolbar-color-border.active.light,.fastboard-toolbar-color-border.active.dark{border:1px solid rgba(51,129,255,.8)}.fastboard-toolbar-color-btn{margin:0;border:1px solid rgba(0,0,0,.24);padding:0;appearance:none;width:16px;height:16px;border-radius:4px;cursor:pointer}.fastboard-toolbar-color-btn:focus-visible{outline-offset:2px}.fastboard-toolbar-mask{position:absolute;left:calc(100% + 1px);top:50%;transform:translateY(-50%);opacity:.85}.fastboard-toolbar-mask.dark{left:100%}.fastboard-toolbar-mask-btn{width:17px;height:62px;cursor:pointer;opacity:.85}.fastboard-toolbar-mask-btn.dark{filter:invert(.8)}.fastboard-toolbar-expand-btn{display:flex;align-items:center;position:absolute;left:0}.fastboard-player-control{width:100%;display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:4px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-player-control.auto-hide{opacity:0;transition:opacity .2s}.fastboard-player-control.auto-hide:hover{opacity:1}.fastboard-player-control .rc-slider-disabled{background:transparent;opacity:.5}.fastboard-player-control .rc-slider-rail,.fastboard-player-control .rc-slider-track{height:2px}.fastboard-player-control .tippy-content{padding:8px}.fastboard-player-control .tippy-box{border:1px solid rgba(0,0,0,.15);background-color:#333333f2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.fastboard-player-control .tippy-box[data-theme~=light]{background-color:#fffffff2;box-shadow:0 5px 10px #00000040}.fastboard-player-control.light{color:#333;background-color:#ffffffe6;border:1px solid #e5e8f0}.fastboard-player-control.dark{color:#ddd;background-color:#14181e;border:1px solid #383b42}.fastboard-player-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;min-width:24px;height:24px;background-color:transparent;border-radius:4px;font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.fastboard-player-control-btn svg,.fastboard-player-control-btn img{width:100%;height:100%}.fastboard-player-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-player-control-btn.light:not(:disabled):hover{background-color:#ebf2ff}.fastboard-player-control-btn.dark:not(:disabled):hover{background-color:#383b42}.fastboard-player-control-btn.loading{animation:fastboard-player-control-rotate .5s linear infinite}@keyframes fastboard-player-control-rotate{to{transform:rotate(360deg)}}.fastboard-player-control-panel{padding:0;display:flex;flex-flow:column nowrap;align-items:stretch;gap:4px}.fastboard-player-control-panel .fastboard-player-control-btn{width:initial;height:initial;user-select:none;font-size:14px;padding:4px;justify-content:flex-end}.fastboard-player-control-panel .fastboard-player-control-btn.active{color:#3381ff}.fastboard-player-control-slider{width:100%;padding:0 7px}.fastboard-player-control-slider.loading{cursor:not-allowed}.fastboard-player-control-slash{opacity:.6}.fastboard-player-control-current,.fastboard-player-control-slash,.fastboard-player-control-total,.fastboard-player-control-speed-text{font-size:14px;font-variant-numeric:tabular-nums}.tippy-box.fastboard-tip{color:#eee;background-color:#000000f2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.tippy-box.fastboard-tip[data-placement^=right]>.tippy-arrow:before{top:4px;border-width:4px;border-right-color:#000}.tippy-box.fastboard-tip[data-placement^=top]>.tippy-arrow:before{left:4px;border-width:4px;border-top-color:#000}\n';
84
+ var style_default = '@charset "UTF-8";.vjs-modal-dialog .vjs-modal-dialog-content,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,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) format("woff");font-weight:400;font-style:normal}.vjs-icon-play,.video-js .vjs-play-control .vjs-icon-placeholder,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{content:"\\f101"}.vjs-icon-play-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play-circle:before{content:"\\f102"}.vjs-icon-pause,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pause:before,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before{content:"\\f103"}.vjs-icon-volume-mute,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-mute:before,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{content:"\\f104"}.vjs-icon-volume-low,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-low:before,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before{content:"\\f105"}.vjs-icon-volume-mid,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-mid:before,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before{content:"\\f106"}.vjs-icon-volume-high,.video-js .vjs-mute-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-high:before,.video-js .vjs-mute-control .vjs-icon-placeholder:before{content:"\\f107"}.vjs-icon-fullscreen-enter,.video-js .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-fullscreen-enter:before,.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before{content:"\\f108"}.vjs-icon-fullscreen-exit,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-fullscreen-exit:before,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before{content:"\\f109"}.vjs-icon-square{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-square:before{content:"\\f10a"}.vjs-icon-spinner{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-spinner:before{content:"\\f10b"}.vjs-icon-subtitles,.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-subtitles:before,.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before{content:"\\f10c"}.vjs-icon-captions,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-captions-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-captions:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-captions-button .vjs-icon-placeholder:before{content:"\\f10d"}.vjs-icon-chapters,.video-js .vjs-chapters-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-chapters:before,.video-js .vjs-chapters-button .vjs-icon-placeholder:before{content:"\\f10e"}.vjs-icon-share{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-share:before{content:"\\f10f"}.vjs-icon-cog{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cog:before{content:"\\f110"}.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder,.video-js .vjs-volume-level,.video-js .vjs-play-progress{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before,.video-js .vjs-volume-level:before,.video-js .vjs-play-progress:before{content:"\\f111"}.vjs-icon-circle-outline{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-outline:before{content:"\\f112"}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-inner-circle:before{content:"\\f113"}.vjs-icon-hd{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-hd:before{content:"\\f114"}.vjs-icon-cancel,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cancel:before,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before{content:"\\f115"}.vjs-icon-replay,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-replay:before,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before{content:"\\f116"}.vjs-icon-facebook{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-facebook:before{content:"\\f117"}.vjs-icon-gplus{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-gplus:before{content:"\\f118"}.vjs-icon-linkedin{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-linkedin:before{content:"\\f119"}.vjs-icon-twitter{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-twitter:before{content:"\\f11a"}.vjs-icon-tumblr{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-tumblr:before{content:"\\f11b"}.vjs-icon-pinterest{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pinterest:before{content:"\\f11c"}.vjs-icon-audio-description,.video-js .vjs-descriptions-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-audio-description:before,.video-js .vjs-descriptions-button .vjs-icon-placeholder:before{content:"\\f11d"}.vjs-icon-audio,.video-js .vjs-audio-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-audio:before,.video-js .vjs-audio-button .vjs-icon-placeholder:before{content:"\\f11e"}.vjs-icon-next-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-next-item:before{content:"\\f11f"}.vjs-icon-previous-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-previous-item:before{content:"\\f120"}.vjs-icon-picture-in-picture-enter,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-picture-in-picture-enter:before,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:"\\f121"}.vjs-icon-picture-in-picture-exit,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-picture-in-picture-exit:before,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:"\\f122"}.video-js{display:block;vertical-align:top;box-sizing:border-box;color:#fff;background-color:#000;position:relative;padding:0;font-size:10px;line-height:1;font-weight:400;font-style:normal;font-family:Arial,Helvetica,sans-serif;word-break:initial}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:none}.video-js *,.video-js *:before,.video-js *:after{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;list-style-position:outside;margin:0}.video-js.vjs-fluid,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-1-1{width:100%;max-width:100%;height:0}.video-js.vjs-16-9{padding-top:56.25%}.video-js.vjs-4-3{padding-top:75%}.video-js.vjs-9-16{padding-top:177.7777777778%}.video-js.vjs-1-1{padding-top:100%}.video-js.vjs-fill{width:100%;height:100%}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}body.vjs-full-window{padding:0;margin:0;height:100%}.vjs-full-window .video-js.vjs-fullscreen{position:fixed;overflow:hidden;z-index:1000;inset:0}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs){width:100%!important;height:100%!important;padding-top:0!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{height:1px;left:-9999px;position:absolute;top:0;width:1px}.vjs-lock-showing{display:block!important;opacity:1!important;visibility:visible!important}.vjs-no-js{padding:20px;color:#fff;background-color:#000;font-size:18px;font-family:Arial,Helvetica,sans-serif;text-align:center;width:300px;height:150px;margin:0 auto}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{font-size:3em;line-height:1.5em;height:1.63332em;width:3em;display:block;position:absolute;top:10px;left:10px;padding:0;cursor:pointer;opacity:1;border:.06666em solid #fff;background-color:#2b333f;background-color:#2b333fb3;border-radius:.3em;transition:all .4s}.vjs-big-play-centered .vjs-big-play-button{top:50%;left:50%;margin-top:-.81666em;margin-left:-1.5em}.video-js:hover .vjs-big-play-button,.video-js .vjs-big-play-button:focus{border-color:#fff;background-color:#73859f;background-color:#73859f80;transition:all 0s}.vjs-controls-disabled .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button,.vjs-error .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button{display:block}.video-js button{background:none;border:none;color:inherit;display:inline-block;font-size:inherit;line-height:inherit;text-transform:none;text-decoration:none;transition:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;height:3em;position:absolute;right:0;top:.5em;z-index:2}.video-js .vjs-modal-dialog{background:rgba(0,0,0,.8);background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(255,255,255,0));overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{font-size:1.2em;line-height:1.5;padding:20px 24px;z-index:1}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{list-style:none;margin:0;padding:.2em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover,.js-focus-visible .vjs-menu li.vjs-menu-item:hover{background-color:#73859f;background-color:#73859f80}.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover,.js-focus-visible .vjs-menu li.vjs-selected:hover{background-color:#fff;color:#2b333f}.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible){background:none}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em;font-weight:700;cursor:default}.vjs-menu-button-popup .vjs-menu{display:none;position:absolute;bottom:0;width:10em;left:-3em;height:0em;margin-bottom:1.5em;border-top-color:#2b333fb3}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333f;background-color:#2b333fb3;position:absolute;width:100%;bottom:1.5em;max-height:15em}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,.vjs-menu-button-popup .vjs-menu.vjs-lock-showing{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.222222222em}.video-js .vjs-menu-button-inline:hover,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline.vjs-slider-active,.video-js.vjs-no-flex .vjs-menu-button-inline{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;height:100%;width:auto;position:absolute;left:4em;top:0;padding:0;margin:0;transition:all .4s}.vjs-menu-button-inline:hover .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline.vjs-slider-active .vjs-menu{display:block;opacity:1}.vjs-no-flex .vjs-menu-button-inline .vjs-menu{display:block;opacity:1;position:relative;width:auto}.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu,.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu{width:auto}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{display:none;width:100%;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#2b333f;background-color:#2b333fb3}.vjs-has-started .vjs-control-bar{display:flex;visibility:visible;opacity:1;transition:visibility .1s,opacity .1s}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar,.vjs-error .vjs-control-bar{display:none!important}.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible}.vjs-has-started.vjs-no-flex .vjs-control-bar{display:table}.video-js .vjs-control{position:relative;text-align:center;margin:0;padding:0;height:100%;width:4em;flex:none}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before,.video-js .vjs-control:focus{text-shadow:0em 0em 1em white}.video-js .vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-no-flex .vjs-control{display:table-cell;vertical-align:middle}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;flex:auto;display:flex;align-items:center;min-width:4em;touch-action:none}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{display:flex;align-items:center}.vjs-no-flex .vjs-progress-control{width:auto}.video-js .vjs-progress-holder{flex:auto;transition:all .2s;height:.3em}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder{font-size:1.6666666667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-play-progress,.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div{position:absolute;display:block;height:100%;margin:0;padding:0;width:0}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{font-size:.9em;position:absolute;right:-.5em;top:-.3333333333em;z-index:1}.video-js .vjs-load-progress{background:rgba(115,133,159,.5)}.video-js .vjs-load-progress div{background:rgba(115,133,159,.75)}.video-js .vjs-time-tooltip{background-color:#fff;background-color:#fffc;border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip{display:block;font-size:.6em;visibility:visible}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{display:none;position:absolute;width:1px;height:100%;background-color:#000;z-index:1}.vjs-no-flex .vjs-progress-control .vjs-mouse-display{z-index:0}.video-js .vjs-progress-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display{display:none}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000;background-color:#000c}.video-js .vjs-slider{position:relative;cursor:pointer;padding:0;margin:0 .45em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#73859f;background-color:#73859f80}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0em 0em 1em white;box-shadow:0 0 1em #fff}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active{visibility:visible;opacity:1;position:relative;transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal{width:5em;height:3em;margin-right:0}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical{left:-3.5em;transition:left 0s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{width:10em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{height:8em;width:3em;left:-3000em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{width:5em;height:3em;visibility:visible;opacity:1;position:relative;transition:none}.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{position:absolute;bottom:3em;left:.5em}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{position:absolute;bottom:0;left:0;background-color:#fff}.video-js .vjs-volume-level:before{position:absolute;font-size:.9em;z-index:1}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{top:-.5em;left:-.3em;z-index:1}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{top:-.3em;right:-.5em}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{width:3em;height:8em;bottom:8em;background-color:#2b333f;background-color:#2b333fb3}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{background-color:#fff;background-color:#fffc;border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-volume-control:hover .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip{display:block;font-size:1em;visibility:visible}.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip{left:1em;top:-12px}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{display:none;position:absolute;width:100%;height:1px;background-color:#000;z-index:1}.video-js .vjs-volume-horizontal .vjs-mouse-display{width:1px;height:100%}.vjs-no-flex .vjs-volume-control .vjs-mouse-display{z-index:0}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.video-js.vjs-user-inactive.vjs-no-flex .vjs-volume-control .vjs-mouse-display{display:none}.vjs-mouse-display .vjs-volume-tooltip{color:#fff;background-color:#000;background-color:#000c}.vjs-poster{display:inline-block;vertical-align:middle;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;background-color:#000;cursor:pointer;margin:0;padding:0;position:absolute;inset:0;height:100%}.vjs-has-started .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster{display:block}.vjs-using-native-controls .vjs-poster{display:none}.video-js .vjs-live-control{display:flex;align-items:flex-start;flex:auto;font-size:1em;line-height:3em}.vjs-no-flex .vjs-live-control{display:table-cell;width:auto;text-align:left}.video-js:not(.vjs-live) .vjs-live-control,.video-js.vjs-liveui .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{align-items:center;cursor:pointer;flex:none;display:inline-flex;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;width:auto;min-width:4em}.vjs-no-flex .vjs-seek-to-live-control{display:table-cell;width:auto;text-align:left}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{margin-right:.5em;color:#888}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.video-js .vjs-time-control{flex:none;font-size:1em;line-height:3em;min-width:2em;width:auto;padding-left:1em;padding-right:1em}.vjs-live .vjs-time-control,.video-js .vjs-current-time,.vjs-no-flex .vjs-current-time,.video-js .vjs-duration,.vjs-no-flex .vjs-duration{display:none}.vjs-time-divider{display:none;line-height:3em}.vjs-live .vjs-time-divider{display:none}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{position:absolute;inset:0 0 3em;pointer-events:none}.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{font-size:1.4em;text-align:center;margin-bottom:.1em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{transform:translateY(-3em)}.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{transform:translateY(-1.5em)}.video-js .vjs-picture-in-picture-control,.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.vjs-playback-rate>.vjs-menu-button,.vjs-playback-rate .vjs-playback-rate-value{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;font-size:1.5em;line-height:2;text-align:center}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{font-size:1.4em;text-align:center}.vjs-error .vjs-error-display:before{color:#fff;content:"X";font-family:Arial,Helvetica,sans-serif;font-size:4em;left:0;line-height:1;margin-top:-.5em;position:absolute;text-shadow:.05em .05em .1em #000;text-align:center;top:50%;vertical-align:middle;width:100%}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;margin:-25px 0 0 -25px;opacity:.85;text-align:left;border:6px solid rgba(43,51,63,.7);box-sizing:border-box;background-clip:padding-box;width:50px;height:50px;border-radius:25px;visibility:hidden}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{display:block;-webkit-animation:vjs-spinner-show 0s linear .3s forwards;animation:vjs-spinner-show 0s linear .3s forwards}.vjs-loading-spinner:before,.vjs-loading-spinner:after{content:"";position:absolute;margin:-6px;box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:transparent;border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:before,.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after{-webkit-animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite;animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;-webkit-animation-delay:.44s;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@-webkit-keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{to{transform:rotate(360deg)}}@-webkit-keyframes vjs-spinner-spin{to{-webkit-transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}@-webkit-keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:"\\f10d";font-size:1.5em;line-height:inherit}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:" \\f11d";font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-chapters-button,.video-js.vjs-layout-small .vjs-descriptions-button,.video-js.vjs-layout-small .vjs-captions-button,.video-js.vjs-layout-small .vjs-subtitles-button,.video-js.vjs-layout-small .vjs-audio-button,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-chapters-button,.video-js.vjs-layout-x-small .vjs-descriptions-button,.video-js.vjs-layout-x-small .vjs-captions-button,.video-js.vjs-layout-x-small .vjs-subtitles-button,.video-js.vjs-layout-x-small .vjs-audio-button,.video-js.vjs-layout-x-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-chapters-button,.video-js.vjs-layout-tiny .vjs-descriptions-button,.video-js.vjs-layout-tiny .vjs-captions-button,.video-js.vjs-layout-tiny .vjs-subtitles-button,.video-js.vjs-layout-tiny .vjs-audio-button,.video-js.vjs-layout-tiny .vjs-volume-control{display:none!important}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{width:auto;width:initial}.video-js.vjs-layout-x-small:not(.vjs-liveui) .vjs-subs-caps-button,.video-js.vjs-layout-x-small:not(.vjs-live) .vjs-subs-caps-button,.video-js.vjs-layout-tiny .vjs-subs-caps-button{display:none}.video-js.vjs-layout-x-small.vjs-liveui .vjs-custom-control-spacer,.video-js.vjs-layout-tiny .vjs-custom-control-spacer{flex:auto;display:block}.video-js.vjs-layout-x-small.vjs-liveui.vjs-no-flex .vjs-custom-control-spacer,.video-js.vjs-layout-tiny.vjs-no-flex .vjs-custom-control-spacer{width:auto}.video-js.vjs-layout-x-small.vjs-liveui .vjs-progress-control,.video-js.vjs-layout-tiny .vjs-progress-control{display:none}.vjs-modal-dialog.vjs-text-track-settings{background-color:#2b333f;background-color:#2b333fbf;color:#fff;height:70%}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-font,.vjs-text-track-settings .vjs-track-settings-controls{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display: grid){.vjs-text-track-settings .vjs-modal-dialog-content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;padding:20px 24px 0}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-track-setting>select{margin-right:1em;margin-bottom:.5em}.vjs-text-track-settings fieldset{margin:5px;padding:3px;border:none}.vjs-text-track-settings fieldset span{display:inline-block}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;margin:0 0 5px}.vjs-text-track-settings .vjs-label{position:absolute;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);display:block;margin:0 0 5px;padding:0;border:0;height:1px;width:1px;overflow:hidden}.vjs-track-settings-controls button:focus,.vjs-track-settings-controls button:active{outline-style:solid;outline-width:medium;background-image:linear-gradient(0deg,#fff 88%,#73859f 100%)}.vjs-track-settings-controls button:hover{color:#2b333fbf}.vjs-track-settings-controls button{background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f 100%);color:#2b333f;cursor:pointer;border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}@media print{.video-js>*:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{position:absolute;top:0;left:0;width:100%;height:100%;border:none;z-index:-1000}.js-focus-visible .video-js *:focus:not(.focus-visible){outline:none}.video-js *:focus:not(:focus-visible){outline:none}.netless-window-manager-playground{width:100%;height:100%;position:relative;z-index:1;overflow:hidden;user-select:none}.netless-window-manager-sizer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden;display:flex}.netless-window-manager-sizer-horizontal{flex-direction:column}.netless-window-manager-sizer:before,.netless-window-manager-sizer:after{flex:1;content:"";display:block}.netless-window-manager-chess-sizer:before,.netless-window-manager-chess-sizer:after{background-image:linear-gradient(45deg,#b0b0b0 25%,transparent 25%),linear-gradient(-45deg,#b0b0b0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#b0b0b0 75%),linear-gradient(-45deg,transparent 75%,#b0b0b0 75%);background-color:#fff;background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}.netless-window-manager-wrapper{position:relative;z-index:1;width:100%;height:100%;overflow:hidden}.netless-window-manager-main-view{width:100%;height:100%}.netless-window-manager-cursor-pencil-image,.netless-window-manager-cursor-eraser-image{width:26px;height:26px}.netless-window-manager-cursor-selector-image{width:24px;height:24px}.netless-window-manager-cursor-selector-avatar{border-radius:50%;border-style:solid;border-width:2px;border-color:#fff;margin-bottom:2px}.netless-window-manager-cursor-selector-avatar img{width:12px}.netless-window-manager-cursor-inner{border-radius:4px;display:flex;align-items:center;justify-content:center;flex-direction:row;padding-left:4px;padding-right:4px;font-size:12px}.netless-window-manager-cursor-inner-mellow{height:32px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:row;padding-left:16px;padding-right:16px}.netless-window-manager-cursor-tag-name{font-size:12px;margin-left:4px;padding:2px 8px;border-radius:4px}.netless-window-manager-cursor-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:26px;height:26px;z-index:2147483647;left:0;top:0;will-change:transform;transition:transform .1s;transform-origin:0 0;user-select:none}.netless-window-manager-cursor-pencil-offset{margin-left:-20px}.netless-window-manager-cursor-selector-offset{margin-left:-22px;margin-top:56px}.netless-window-manager-cursor-text-offset{margin-left:-30px;margin-top:18px}.netless-window-manager-cursor-shape-offset{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:180px;height:64px;margin-left:-30px;margin-top:12px}.netless-window-manager-cursor-laserPointer-image{margin-left:-22px;margin-top:3px}.netless-window-manager-cursor-name{width:100%;height:48px;display:flex;align-items:center;justify-content:center;position:absolute;top:-40px}.cursor-image-wrapper{display:flex;justify-content:center}.telebox-collector{position:absolute;right:10px;bottom:15px}.tele-fancy-scrollbar{overscroll-behavior:contain;overflow:auto;overflow-y:scroll;overflow-y:overlay;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:auto}.tele-fancy-scrollbar::-webkit-scrollbar{height:8px;width:8px}.tele-fancy-scrollbar::-webkit-scrollbar-track{background-color:transparent}.tele-fancy-scrollbar::-webkit-scrollbar-thumb{background-color:#444e601a;background-color:transparent;border-radius:4px;transition:background-color .4s}.tele-fancy-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#444e601a}.tele-fancy-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#444e6033}.tele-fancy-scrollbar::-webkit-scrollbar-thumb:active{background-color:#444e6033}.tele-fancy-scrollbar::-webkit-scrollbar-thumb:vertical{min-height:50px}.tele-fancy-scrollbar::-webkit-scrollbar-thumb:horizontal{min-width:50px}.telebox-box{position:absolute;top:0;left:0;z-index:100;transition:width .4s cubic-bezier(.4,.9,.71,1.02),height .4s cubic-bezier(.55,.82,.63,.95),opacity .6s cubic-bezier(.7,0,.84,0),transform .4s ease}.telebox-box-main{position:relative;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#f9f9fc;box-shadow:0 4px 10px #2f419226;border-radius:6px;border:1px solid #e3e3ec}.telebox-titlebar-wrap{flex-shrink:0;position:relative;z-index:1}.telebox-content-wrap{flex:1;width:100%;overflow:hidden;display:flex;justify-content:center;align-items:center}.telebox-content{width:100%;height:100%;position:relative}.telebox-footer-wrap{flex-shrink:0;display:flex;flex-direction:column}.telebox-footer-wrap:before{content:"";display:block;flex:1}.telebox-resize-handle{position:absolute;z-index:2147483647}.telebox-n{width:100%;height:5px;left:0;top:-5px;cursor:n-resize}.telebox-s{width:100%;height:5px;left:0;bottom:-5px;cursor:s-resize}.telebox-w{width:5px;height:100%;left:-5px;top:0;cursor:w-resize}.telebox-e{width:5px;height:100%;right:-5px;top:0;cursor:e-resize}.telebox-nw{width:15px;height:15px;top:-5px;left:-5px;cursor:nw-resize}.telebox-ne{width:15px;height:15px;top:-5px;right:-5px;cursor:ne-resize}.telebox-se{width:15px;height:15px;bottom:-5px;right:-5px;cursor:se-resize}.telebox-sw{width:15px;height:15px;bottom:-5px;left:-5px;cursor:sw-resize}.telebox-track-mask{position:fixed;top:0;left:0;z-index:2147483647;width:100%;height:100%;background:rgba(0,0,0,.0001);cursor:move}.telebox-cursor-n{cursor:n-resize}.telebox-cursor-s{cursor:s-resize}.telebox-cursor-w{cursor:w-resize}.telebox-cursor-e{cursor:e-resize}.telebox-cursor-nw{cursor:nw-resize}.telebox-cursor-ne{cursor:ne-resize}.telebox-cursor-se{cursor:se-resize}.telebox-cursor-sw{cursor:sw-resize}.telebox-maximized .telebox-resize-handles,.telebox-no-resize .telebox-resize-handles{display:none}.telebox-maximized{box-shadow:none;transition:none}.telebox-minimized{transition:width 50ms cubic-bezier(.4,.9,.71,1.02),height 50ms cubic-bezier(.55,.82,.63,.95),opacity .6s cubic-bezier(.7,0,.84,0),transform .6s ease;opacity:0;pointer-events:none;user-select:none}.telebox-transforming{will-change:transform;transition:opacity .6s cubic-bezier(.7,0,.84,0)}.telebox-readonly .telebox-resize-handle{cursor:initial!important;pointer-events:none!important}.telebox-color-scheme-dark .telebox-box-main{color:#e9e9e9;background:#212126;border-color:#43434d}.telebox-titlebar{box-sizing:border-box;height:26px;display:flex;align-items:center;background:#fff;user-select:none;border-bottom:1px solid #eeeef7;touch-action:manipulation}.telebox-title-area{padding-left:16px;overflow:hidden;position:relative;height:100%;flex:1;display:flex;align-items:center}.telebox-title{overflow:hidden;margin:0;padding:0;font-size:14px;font-weight:400;font-family:PingFangSC-Regular,PingFang SC;white-space:nowrap;word-break:keep-all;text-overflow:ellipsis;color:#191919}.telebox-drag-area{position:absolute;inset:0;margin:auto;z-index:10}.telebox-titlebar-btns{padding-right:16px;white-space:nowrap;word-break:keep-all;margin-left:auto;font-size:0}.telebox-titlebar-btn{width:22px;height:22px;padding:0;outline:0;border:none;background:0 0;cursor:pointer}.telebox-titlebar-btn~.telebox-titlebar-btn{margin-left:10px}.telebox-titlebar-btn-icon{width:22px;height:22px}.telebox-readonly .telebox-titlebar-btn{cursor:not-allowed}.telebox-titlebar-icon-minimize{background:center/cover no-repeat url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjggMjgiPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjh2MjhIMHoiIC8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIgLz4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHBhdGggZmlsbD0iI0E3QTdDQSIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNOSAxM2gxMHYxLjZIOXoiIG1hc2s9InVybCgjYikiIC8+CiAgICA8L2c+Cjwvc3ZnPgo=)}.telebox-titlebar-icon-maximize{background:center/cover no-repeat url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjggMjgiPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjh2MjhIMHoiIC8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIgLz4KICAgICAgICA8L21hc2s+CiAgICAgICAgPGcgZmlsbD0iI0E3QTdDQSIgZmlsbC1ydWxlPSJub256ZXJvIiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgIGQ9Ik0yMC40ODEgMTcuMWgxLjJ2NC41ODFIMTcuMXYtMS4yaDMuMzgxVjE3LjF6bS0xNC4xOTA1LS4wMDloMS4ydjMuMzgxaDMuMzgwOXYxLjJoLTQuNTgxdi00LjU4MXpNMTcuMSA2LjE5MDVoNC41ODF2NC41ODA5aC0xLjJ2LTMuMzgxSDE3LjF2LTEuMnptLTEwLjcwMDguMTA4N2g0Ljc5ODV2MS4ySDcuNTk5MnYzLjU5ODVoLTEuMlY2LjI5OTJ6IiAvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==)}.telebox-titlebar-icon-maximize.is-active{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjggMjgiPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjZ2MjZIMHoiIC8+CiAgICAgICAgPHBhdGggaWQ9ImMiIGQ9Ik0yNi44NjkgMEwyOCAxLjEzMVYyNi44N0wyNi44NjkgMjhIMS4xM0wwIDI2Ljg3VjEuMTMxTDEuMTMgMHoiIC8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiPgogICAgICAgICAgICA8bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNhIiAvPgogICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tNC42NDI5LTQuNjQyOWgzNS4yODU4djM1LjI4NThILTQuNjQyOXoiIG1hc2s9InVybCgjYikiIC8+CiAgICAgICAgPC9nPgogICAgICAgIDxnPgogICAgICAgICAgICA8bWFzayBpZD0iZCIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNjIiAvPgogICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tMTcuNTE2OCAxNEwxNC0xNy41MTY4IDQ1LjUxNjggMTQgMTQgNDUuNTE2OHoiIG1hc2s9InVybCgjZCkiIC8+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIHN0cm9rZT0iI0E3QTdDQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgIGQ9Ik0xMC4wODg2IDIxLjQ4NjV2LTMuNjk2Nkg2LjM5Mk0yMS4zODU1IDEwLjE4OTVoLTMuNjk2NlY2LjQ5M00yMS40MDIgMTcuNzk4M2gtMy42OTY2djMuNjk2Nk0xMC4yNTAzIDYuMTQ5OHYzLjg5ODVINi4zNTE3IiAvPgogICAgPC9nPgo8L3N2Zz4K)}.telebox-titlebar-icon-close{background:center/cover no-repeat url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iI0E3QTdDQSIgc3Ryb2tlLXdpZHRoPSIxLjQiPgogICAgICAgIDxwYXRoIGQ9Ik04LjM1MyAyMC4zMzIxTDIwLjMzMiA4LjM1M00yMC4zMzIyIDIwLjMzMjFMOC4zNTMgOC4zNTMiIC8+CiAgICA8L2c+Cjwvc3ZnPgo=)}.telebox-color-scheme-dark .telebox-titlebar{color:#e9e9e9;background:#43434d;border-bottom:none}.telebox-collector{visibility:hidden;display:block;position:absolute;z-index:200;width:40px;height:40px;margin:0;padding:0;border:none;outline:0;font-size:0;border-radius:50%;background:#fff;box-shadow:0 2px 6px #2f419226;cursor:pointer;user-select:none;pointer-events:none;background-repeat:no-repeat;background-size:18px 16px;background-position:center;-webkit-tap-highlight-color:transparent}.telebox-collector-visible{visibility:visible;pointer-events:initial}.telebox-collector-readonly{cursor:not-allowed}.telebox-color-scheme-dark.telebox-collector{background-color:#43434d}.telebox-max-titlebar{display:none;position:absolute;top:0;left:0;z-index:50000;user-select:none}.telebox-max-titlebar .telebox-title,.telebox-max-titlebar.telebox-max-titlebar-single-title .telebox-titles{display:none}.telebox-max-titlebar.telebox-max-titlebar-single-title .telebox-title{display:block}.telebox-max-titlebar-maximized{display:flex}.telebox-titles{height:100%;margin:0;overflow-y:hidden;overflow-x:scroll;overflow-x:overlay;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:auto}.telebox-titles::-webkit-scrollbar{height:8px;width:8px}.telebox-titles::-webkit-scrollbar-track{background-color:transparent}.telebox-titles::-webkit-scrollbar-thumb{background-color:#eeeef7cc;background-color:transparent;border-radius:4px;transition:background-color .4s}.telebox-titles:hover::-webkit-scrollbar-thumb{background-color:#eeeef7cc}.telebox-titles::-webkit-scrollbar-thumb:hover{background-color:#eeeef7}.telebox-titles::-webkit-scrollbar-thumb:active{background-color:#eeeef7}.telebox-titles::-webkit-scrollbar-thumb:vertical{min-height:50px}.telebox-titles::-webkit-scrollbar-thumb:horizontal{min-width:50px}.telebox-titles-content{height:100%;display:flex;flex-wrap:nowrap;align-items:center;padding:0}.telebox-titles-tab{height:100%;overflow:hidden;max-width:182px;min-width:50px;padding:0 26px 0 16px;outline:0;font-size:13px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all;border:none;border-right:1px solid #e5e5f0;color:#7b88a0;background:0 0;cursor:pointer;user-select:none}.telebox-titles-tab-focus{color:#357bf6}.telebox-readonly .telebox-titles-tab{cursor:not-allowed}.telebox-color-scheme-dark{color-scheme:dark}.telebox-color-scheme-dark.telebox-titlebar{color:#e9e9e9;background:#43434d;border-bottom:none}.telebox-color-scheme-dark .telebox-titles-tab{border-right-color:#7b88a0}.telebox-color-scheme-dark .telebox-title{color:#e9e9e9}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.rc-slider{position:relative;height:14px;padding:5px 0;width:100%;border-radius:6px;touch-action:none;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider-rail{position:absolute;width:100%;background-color:#e9e9e9;height:4px;border-radius:6px}.rc-slider-track{position:absolute;left:0;height:4px;border-radius:6px;background-color:#abe2fb}.rc-slider-handle{position:absolute;width:14px;height:14px;cursor:pointer;cursor:-webkit-grab;margin-top:-5px;cursor:grab;border-radius:50%;border:solid 2px #96dbfa;background-color:#fff;touch-action:pan-x}.rc-slider-handle-dragging.rc-slider-handle-dragging.rc-slider-handle-dragging{border-color:#57c5f7;box-shadow:0 0 0 5px #96dbfa}.rc-slider-handle:focus{outline:none}.rc-slider-handle-click-focused:focus{border-color:#96dbfa;box-shadow:unset}.rc-slider-handle:hover{border-color:#57c5f7}.rc-slider-handle:active{border-color:#57c5f7;box-shadow:0 0 5px #57c5f7;cursor:-webkit-grabbing;cursor:grabbing}.rc-slider-mark{position:absolute;top:18px;left:0;width:100%;font-size:12px}.rc-slider-mark-text{position:absolute;display:inline-block;vertical-align:middle;text-align:center;cursor:pointer;color:#999}.rc-slider-mark-text-active{color:#666}.rc-slider-step{position:absolute;width:100%;height:4px;background:transparent}.rc-slider-dot{position:absolute;bottom:-2px;margin-left:-4px;width:8px;height:8px;border:2px solid #e9e9e9;background-color:#fff;cursor:pointer;border-radius:50%;vertical-align:middle}.rc-slider-dot-active{border-color:#96dbfa}.rc-slider-dot-reverse{margin-right:-4px}.rc-slider-disabled{background-color:#e9e9e9}.rc-slider-disabled .rc-slider-track{background-color:#ccc}.rc-slider-disabled .rc-slider-handle,.rc-slider-disabled .rc-slider-dot{border-color:#ccc;box-shadow:none;background-color:#fff;cursor:not-allowed}.rc-slider-disabled .rc-slider-mark-text,.rc-slider-disabled .rc-slider-dot{cursor:not-allowed!important}.rc-slider-vertical{width:14px;height:100%;padding:0 5px}.rc-slider-vertical .rc-slider-rail{height:100%;width:4px}.rc-slider-vertical .rc-slider-track{left:5px;bottom:0;width:4px}.rc-slider-vertical .rc-slider-handle{margin-left:-5px;touch-action:pan-y}.rc-slider-vertical .rc-slider-mark{top:0;left:18px;height:100%}.rc-slider-vertical .rc-slider-step{height:100%;width:4px}.rc-slider-vertical .rc-slider-dot{left:2px;margin-bottom:-4px}.rc-slider-vertical .rc-slider-dot:first-child{margin-bottom:-4px}.rc-slider-vertical .rc-slider-dot:last-child{margin-bottom:-4px}.rc-slider-tooltip-zoom-down-enter,.rc-slider-tooltip-zoom-down-appear,.rc-slider-tooltip-zoom-down-leave{animation-duration:.3s;animation-fill-mode:both;display:block!important;animation-play-state:paused}.rc-slider-tooltip-zoom-down-enter.rc-slider-tooltip-zoom-down-enter-active,.rc-slider-tooltip-zoom-down-appear.rc-slider-tooltip-zoom-down-appear-active{animation-name:rcSliderTooltipZoomDownIn;animation-play-state:running}.rc-slider-tooltip-zoom-down-leave.rc-slider-tooltip-zoom-down-leave-active{animation-name:rcSliderTooltipZoomDownOut;animation-play-state:running}.rc-slider-tooltip-zoom-down-enter,.rc-slider-tooltip-zoom-down-appear{transform:scale(0);animation-timing-function:cubic-bezier(.23,1,.32,1)}.rc-slider-tooltip-zoom-down-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@keyframes rcSliderTooltipZoomDownIn{0%{opacity:0;transform-origin:50% 100%;transform:scale(0)}to{transform-origin:50% 100%;transform:scale(1)}}@keyframes rcSliderTooltipZoomDownOut{0%{transform-origin:50% 100%;transform:scale(1)}to{opacity:0;transform-origin:50% 100%;transform:scale(0)}}.rc-slider-tooltip{position:absolute;left:-9999px;top:-9999px;visibility:visible;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider-tooltip *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider-tooltip-hidden{display:none}.rc-slider-tooltip-placement-top{padding:4px 0 8px}.rc-slider-tooltip-inner{padding:6px 2px;min-width:24px;height:24px;font-size:12px;line-height:1;color:#fff;text-align:center;text-decoration:none;background-color:#6c6c6c;border-radius:6px;box-shadow:0 0 4px #d9d9d9}.rc-slider-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow{bottom:4px;left:50%;margin-left:-4px;border-width:4px 4px 0;border-top-color:#6c6c6c}.fastboard-root{position:relative;width:100%;height:100%;overflow:hidden}.fastboard-view{position:absolute;top:0;left:0;width:100%;height:100%}.fastboard-left{position:absolute;top:0;left:0;height:calc(100% - 48px);padding:16px;z-index:201;display:flex;align-items:center}.fastboard-bottom-left,.fastboard-bottom,.fastboard-bottom-right{display:flex;gap:10px;position:absolute;bottom:8px;left:8px;padding:8px;z-index:200}.fastboard-bottom-right{left:auto;right:8px}.fastboard-bottom{right:8px}.fastboard-redo-undo{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:4px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-redo-undo.light{color:#333;background-color:#ffffffe6;border:1px solid #e5e8f0}.fastboard-redo-undo.dark{color:#ddd;background-color:#14181e;border:1px solid #383b42}.fastboard-redo-undo-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:transparent;border-radius:4px;font-size:24px;line-height:1}.fastboard-redo-undo-btn svg,.fastboard-redo-undo-btn img{width:100%;height:100%}.fastboard-redo-undo-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-redo-undo-btn.light:not(:disabled):hover{background-color:#ebf2ff}.fastboard-redo-undo-btn.dark:not(:disabled):hover{background-color:#383b42}.fastboard-page-control{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:4px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-page-control.light{color:#333;background-color:#ffffffe6;border:1px solid #e5e8f0}.fastboard-page-control.dark{color:#ddd;background-color:#14181e;border:1px solid #383b42}.fastboard-page-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:transparent;border-radius:4px;font-size:24px;line-height:1}.fastboard-page-control-btn svg,.fastboard-page-control-btn img{width:100%;height:100%}.fastboard-page-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-page-control-btn.light:not(:disabled):hover{background-color:#ebf2ff}.fastboard-page-control-btn.dark:not(:disabled):hover{background-color:#383b42}.fastboard-page-control-cut-line{height:24px;width:.5px}.fastboard-page-control-cut-line.light{background-color:#e7e7e7}.fastboard-page-control-cut-line.dark{background-color:#ffffff26}.fastboard-page-control-slash{opacity:.6}.fastboard-page-control-text{line-height:24px}.fastboard-page-control-page,.fastboard-page-control-slash,.fastboard-page-control-page-count{font-size:14px;font-variant-numeric:tabular-nums}.fastboard-zoom-control{position:relative;display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:4px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-zoom-control.light{color:#333;background-color:#ffffffe6;border:1px solid #e5e8f0}.fastboard-zoom-control.dark{color:#ddd;background-color:#14181e;border:1px solid #383b42}.fastboard-zoom-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;width:24px;height:24px;background-color:transparent;border-radius:4px;font-size:24px;line-height:1}.fastboard-zoom-control-btn svg,.fastboard-zoom-control-btn img{width:100%;height:100%}.fastboard-zoom-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-zoom-control-btn.light:not(:disabled):hover{background-color:#ebf2ff}.fastboard-zoom-control-btn.dark:not(:disabled):hover{background-color:#383b42}.fastboard-zoom-control-cut-line{height:24px;width:.5px}.fastboard-zoom-control-cut-line.light{background-color:#e7e7e7}.fastboard-zoom-control-cut-line.dark{background-color:#ffffff26}.fastboard-zoom-control-text{line-height:24px}.fastboard-zoom-control-percent{opacity:.6}.fastboard-zoom-control-scale,.fastboard-zoom-control-percent{font-size:14px;font-variant-numeric:tabular-nums}.fastboard-toolbar{display:flex;align-items:center;padding:4px;border-radius:4px;flex-direction:column;gap:4px;position:absolute;z-index:100;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.fastboard-toolbar .rc-slider{padding:6px 0}.fastboard-toolbar .rc-slider-rail,.fastboard-toolbar .rc-slider-track{height:2px}.fastboard-toolbar .tippy-content{padding:8px}.fastboard-toolbar .tippy-box{border:1px solid rgba(0,0,0,.15);background-color:#333333f2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.fastboard-toolbar .tippy-box[data-theme~=light]{background-color:#fffffff2;box-shadow:0 5px 10px #00000040}.fastboard-toolbar.light{color:#333;background-color:#ffffffe6;border:1px solid #e5e8f0}.fastboard-toolbar.dark{color:#ddd;background-color:#14181e;border:1px solid #383b42}.fastboard-toolbar.expanded{border:1px solid rgba(0,0,0,.15)}.fastboard-toolbar.expanded:hover{box-shadow:0 0 5px #00000040;transform:translate(0)}.fastboard-toolbar.collapsed{padding:0;background-color:transparent}.fastboard-toolbar-tooltip{display:inline-flex;align-items:center;gap:4px}.fastboard-toolbar-hotkey{margin-right:-4px;width:24px;height:24px;border-radius:4px;background-color:#ffffff1a;display:inline-flex;align-items:center;justify-content:center}.fastboard-toolbar-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:4px;width:32px;height:32px;background-color:transparent;border-radius:4px;font-size:24px;line-height:1;position:relative}.fastboard-toolbar-btn-interactive{display:inline-block;width:32px;height:32px}.fastboard-toolbar-btn svg,.fastboard-toolbar-btn img{width:100%;height:100%}.fastboard-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-toolbar-btn.light:not(:disabled):hover{background-color:#ebf2ff}.fastboard-toolbar-btn.dark:not(:disabled):hover{background-color:#383b42}.fastboard-toolbar-triangle{width:0px;height:0px;border-bottom:4px solid;border-left:4px solid transparent;position:absolute;bottom:0;right:0}.fastboard-toolbar-cut-line{display:inline-block;height:.5px;width:100%}.fastboard-toolbar-cut-line.light{background-color:#e7e7e7}.fastboard-toolbar-cut-line.dark{background-color:#ffffff26}.fastboard-toolbar-section{display:inline-flex;flex-flow:column nowrap;gap:4px;scroll-behavior:smooth}.fastboard-toolbar-section.collapsed{transform:translate(-100%);transition:1s transform}.fastboard-toolbar-section~.fastboard-toolbar-mask{opacity:0;transition:.5s opacity .4s}.fastboard-toolbar-section:hover~.fastboard-toolbar-mask,.fastboard-toolbar-mask:hover{opacity:1;transition:.2s opacity}.fastboard-toolbar-panel{width:120px;padding:0;display:flex;flex-flow:column nowrap;align-items:center;gap:8px}.fastboard-toolbar-panel.apps{width:256px}.fastboard-toolbar-color-box,.fastboard-toolbar-shapes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;align-items:center;justify-items:center}.fastboard-toolbar-color-box .fastboard-toolbar-btn,.fastboard-toolbar-shapes .fastboard-toolbar-btn{padding:0;width:24px;height:24px}.fastboard-toolbar-apps{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:center;justify-items:center}.fastboard-toolbar-apps .fastboard-toolbar-btn{width:40px;height:40px;font-size:0}.fastboard-toolbar-app-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.fastboard-toolbar-app-icon-mask{position:absolute;width:36px;height:36px;animation:fastboard-app-loading-rotate .5s linear infinite;transform-origin:center}.fastboard-toolbar-app-is-loading{cursor:wait}.fastboard-toolbar-app-is-loading button:disabled{cursor:wait}.fastboard-toolbar-app-is-failed{cursor:not-allowed}.fastboard-toolbar-app-is-failed button:disabled{cursor:not-allowed}.fastboard-toolbar-app-icon{padding-top:4px;display:inline-flex;flex-flow:column nowrap;align-items:center;gap:4px}.fastboard-toolbar-app-icon .fastboard-toolbar-btn{padding:0}.fastboard-toolbar-app-icon-text{font-size:14px;color:#5d5d5d;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.fastboard-toolbar-color-item{width:24px;height:24px;border-radius:4px;cursor:pointer}.fastboard-toolbar-color-item *.light:hover{background-color:#f5f5f5}.fastboard-toolbar-color-item *.dark:hover{background-color:#333}.fastboard-toolbar-color-border{width:24px;height:24px;border:1px solid transparent;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.fastboard-toolbar-color-border.active.light,.fastboard-toolbar-color-border.active.dark{border:1px solid rgba(51,129,255,.8)}.fastboard-toolbar-color-btn{margin:0;border:1px solid rgba(0,0,0,.24);padding:0;appearance:none;width:16px;height:16px;border-radius:4px;cursor:pointer}.fastboard-toolbar-color-btn:focus-visible{outline-offset:2px}.fastboard-toolbar-mask{position:absolute;left:calc(100% + 1px);top:50%;transform:translateY(-50%);opacity:.85}.fastboard-toolbar-mask.dark{left:100%}.fastboard-toolbar-mask-btn{width:17px;height:62px;cursor:pointer;opacity:.85}.fastboard-toolbar-mask-btn.dark{filter:invert(.8)}.fastboard-toolbar-expand-btn{display:flex;align-items:center;position:absolute;left:0}@keyframes fastboard-app-loading-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fastboard-player-control{width:100%;display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:4px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:100}.fastboard-player-control.auto-hide{opacity:0;transition:opacity .2s}.fastboard-player-control.auto-hide:hover{opacity:1}.fastboard-player-control .rc-slider-disabled{background:transparent;opacity:.5}.fastboard-player-control .rc-slider-rail,.fastboard-player-control .rc-slider-track{height:2px}.fastboard-player-control .tippy-content{padding:8px}.fastboard-player-control .tippy-box{border:1px solid rgba(0,0,0,.15);background-color:#333333f2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.fastboard-player-control .tippy-box[data-theme~=light]{background-color:#fffffff2;box-shadow:0 5px 10px #00000040}.fastboard-player-control.light{color:#333;background-color:#ffffffe6;border:1px solid #e5e8f0}.fastboard-player-control.dark{color:#ddd;background-color:#14181e;border:1px solid #383b42}.fastboard-player-control-btn{appearance:none;cursor:pointer;margin:0;border:0;padding:0;min-width:24px;height:24px;background-color:transparent;border-radius:4px;font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.fastboard-player-control-btn svg,.fastboard-player-control-btn img{width:100%;height:100%}.fastboard-player-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-player-control-btn.light:not(:disabled):hover{background-color:#ebf2ff}.fastboard-player-control-btn.dark:not(:disabled):hover{background-color:#383b42}.fastboard-player-control-btn.loading{animation:fastboard-player-control-rotate .5s linear infinite}@keyframes fastboard-player-control-rotate{to{transform:rotate(360deg)}}.fastboard-player-control-panel{padding:0;display:flex;flex-flow:column nowrap;align-items:stretch;gap:4px}.fastboard-player-control-panel .fastboard-player-control-btn{width:initial;height:initial;user-select:none;font-size:14px;padding:4px;justify-content:flex-end}.fastboard-player-control-panel .fastboard-player-control-btn.active{color:#3381ff}.fastboard-player-control-slider{width:100%;padding:0 7px}.fastboard-player-control-slider.loading{cursor:not-allowed}.fastboard-player-control-slash{opacity:.6}.fastboard-player-control-current,.fastboard-player-control-slash,.fastboard-player-control-total,.fastboard-player-control-speed-text{font-size:14px;font-variant-numeric:tabular-nums}.tippy-box.fastboard-tip{color:#eee;background-color:#000000f2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.tippy-box.fastboard-tip[data-placement^=right]>.tippy-arrow:before{top:4px;border-width:4px;border-right-color:#000}.tippy-box.fastboard-tip[data-placement^=top]>.tippy-arrow:before{left:4px;border-width:4px;border-top-color:#000}\n';
85
85
 
86
86
  // src/behaviors/style.ts
87
87
  applyStyles(style_default);
@@ -1112,14 +1112,14 @@ var EmptyToolbarHook = {
1112
1112
  // src/components/Toolbar/Toolbar.tsx
1113
1113
  import clsx10 from "clsx";
1114
1114
  import { AnimatePresence, motion } from "framer-motion";
1115
- import React43, { createContext as createContext3, useState as useState5 } from "react";
1115
+ import React44, { createContext as createContext3, useState as useState5 } from "react";
1116
1116
 
1117
1117
  // src/components/Toolbar/components/assets/expanded.png
1118
1118
  var expanded_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAB8CAYAAAAMw2JFAAAAAXNSR0IArs4c6QAAA5xJREFUeF7tnL9v00AUx5/TlRkJMSAxZ+jYCf4GtopK6dB2qBBsjshaJErboWVJpYaNLGDaIR2YYAFXqlxhlvzAJkhGJGlyDhVNSpWgyOiqBJnQ+urznW2Jy1JVVnKffv3x8yV9LxLE5CEBwFUA6ALAzyiZJFVVX21ubj7N5/MmACAAGEQBJDWbzQZCqGcYRm52dlbpdDpNAPgRNozkOE691+tBo9FItNtto1AorC0tLX0EAAzUDwvoDGS02NHREU4IarXatizLOV3XvwHAdwBweAP9BYIXGwwGcHh4mLBtG2matrGwsPB2mA5Xmf8BGf3lJycn+HRNtFqtd2HIfCEIBnIcBxBCEkKobxjGFk+ZPUFG6YQh86VAPGSuAUCbhcy+QMZktjVNW2cls28QD5k/A0CLtjJTg4zLbJpmLpVKvaStzIFAWMrMBISFzExBgsjMHIRWZm4gfmXmCnKezIqiLK+srOjDG+mfu3ooIG6Z6/X6r/39/Udzc3OvAQBX5jOYUEHwgqenp2BZlrS7u/sgnU6/Ge53wgfBMN1uV6pWq/b09PTdSqVSwtU49ERGp8myrISqqsszMzPPcSqRgRwfH0vlcvnD1NTUIgB8jQyk3+9DuVy2Jycn7wBANTIQvPsrlUqJZDJ5GwA+RQaCXSkWixPJZPKWABldOSKR8XeLIhGRCOkTBOGIcEQ4QkpAOEJKSNQR4YhwhJSAcISUkKgjTBy5fuPmNfxCNetLA/98srp25WFaxv+UpH5QnZpxEPz7/XuLnSAwzEBwFEFgmIIEgWEOQgvDBYQGhhuIXxiuIH5g/g8QP5czt0T8QFB/mHdeZXXXdr8QXEBoIJiD0EIwBQkCwQwksm0A9abD44lUl68A4ZEAkz0rDzDhiDg1JK+EI8IR4QgpAeEIKSFRR4QjwhFSAsIRUkKijsTSkdi0f8WmIS42LYKxaJqMRRtpLBpr8URTpK3GrrEYU1GUx6E3X7sHhUzTfJZKpV5cNFvBrY10NDqFEFKz2ex6Pp/3nDZhDuIaJrMPDg425ufncac3HrXzHCZjCuIar9vJZDI5TdPweN2lJpKYgLhlLBQKqzQDh4FA/MhI2ptQg/iVkTkIrYxMQdwyyrK8pet6uONxLGQMlAhLGalBXDK+z2azG6TKSFqIdNxrzNZXZSQtRDp+0eDxDmsZLwUSxvQqEWQ4nN4n3aZJLxT0uLS3t7cdhowk0Ph8gQGJNKzjvwGKWUjXcvHclAAAAABJRU5ErkJggg==";
1119
1119
 
1120
1120
  // src/components/Toolbar/Content.tsx
1121
1121
  import clsx9 from "clsx";
1122
- import React42, { useCallback as useCallback11, useContext as useContext13, useEffect as useEffect3, useRef as useRef2, useState as useState4 } from "react";
1122
+ import React43, { useCallback as useCallback11, useContext as useContext13, useEffect as useEffect3, useRef as useRef2, useState as useState4 } from "react";
1123
1123
 
1124
1124
  // src/components/Toolbar/components/ApplianceButtons.tsx
1125
1125
  import React33, { useCallback as useCallback6, useContext as useContext4 } from "react";
@@ -1246,7 +1246,7 @@ function CleanButton() {
1246
1246
  // src/components/Toolbar/components/AppsButton.tsx
1247
1247
  import clsx5 from "clsx";
1248
1248
  import Tippy5 from "@tippyjs/react";
1249
- import React34, { useContext as useContext5 } from "react";
1249
+ import React35, { useContext as useContext5 } from "react";
1250
1250
 
1251
1251
  // src/components/Toolbar/components/assets/vscode.png
1252
1252
  var vscode_default = "data:image/png;base64,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";
@@ -1257,23 +1257,35 @@ var geogebra_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCA
1257
1257
  // src/components/Toolbar/components/assets/countdown.png
1258
1258
  var countdown_default = "data:image/png;base64,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";
1259
1259
 
1260
+ // src/components/Toolbar/icons/Loading.tsx
1261
+ import React34 from "react";
1262
+ var Loading = (props) => {
1263
+ const stroke = getStroke(props);
1264
+ return /* @__PURE__ */ React34.createElement("svg", {
1265
+ viewBox: "0 0 24 24"
1266
+ }, /* @__PURE__ */ React34.createElement("path", {
1267
+ fill: stroke,
1268
+ d: "M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8Z"
1269
+ }));
1270
+ };
1271
+
1260
1272
  // src/components/Toolbar/components/AppsButton.tsx
1261
1273
  function AppsButton({ content, onClick }) {
1262
1274
  const { theme, icons, writable } = useContext5(ToolbarContext);
1263
1275
  const disabled = !writable;
1264
- const button = /* @__PURE__ */ React34.createElement(Button, {
1276
+ const button = /* @__PURE__ */ React35.createElement(Button, {
1265
1277
  content: "Apps",
1266
1278
  onClick
1267
- }, /* @__PURE__ */ React34.createElement(Icon, {
1268
- fallback: /* @__PURE__ */ React34.createElement(Icons.Apps, {
1279
+ }, /* @__PURE__ */ React35.createElement(Icon, {
1280
+ fallback: /* @__PURE__ */ React35.createElement(Icons.Apps, {
1269
1281
  theme
1270
1282
  }),
1271
1283
  src: disabled ? icons == null ? void 0 : icons.appsIconDisable : icons == null ? void 0 : icons.appsIcon,
1272
1284
  alt: "[apps]"
1273
1285
  }));
1274
- return content === false ? button : /* @__PURE__ */ React34.createElement("span", {
1286
+ return content === false ? button : /* @__PURE__ */ React35.createElement("span", {
1275
1287
  className: "fastboard-toolbar-btn-interactive"
1276
- }, /* @__PURE__ */ React34.createElement(Tippy5, {
1288
+ }, /* @__PURE__ */ React35.createElement(Tippy5, {
1277
1289
  className: "fastboard-tip",
1278
1290
  content: renderAppsButtonContent(content),
1279
1291
  theme,
@@ -1285,28 +1297,28 @@ function AppsButton({ content, onClick }) {
1285
1297
  }, button));
1286
1298
  }
1287
1299
  function renderAppsButtonContent(content) {
1288
- return /* @__PURE__ */ React34.createElement("div", {
1300
+ return /* @__PURE__ */ React35.createElement("div", {
1289
1301
  className: "fastboard-toolbar-panel apps"
1290
- }, /* @__PURE__ */ React34.createElement("div", {
1302
+ }, /* @__PURE__ */ React35.createElement("div", {
1291
1303
  className: "fastboard-toolbar-apps"
1292
- }, content || /* @__PURE__ */ React34.createElement(DefaultApps, null)));
1304
+ }, content || /* @__PURE__ */ React35.createElement(DefaultApps, null)));
1293
1305
  }
1294
1306
  function DefaultApps() {
1295
1307
  const app = useFastboardApp();
1296
1308
  const { appsStatus } = useContext5(ToolbarContext);
1297
- return /* @__PURE__ */ React34.createElement(React34.Fragment, null, /* @__PURE__ */ React34.createElement(AppIcon, {
1309
+ return /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(AppIcon, {
1298
1310
  title: "Code Editor",
1299
1311
  src: vscode_default,
1300
1312
  alt: "[code editor]",
1301
1313
  appStatus: appsStatus["Monaco"],
1302
1314
  onClick: app == null ? void 0 : app.insertCodeEditor.bind(app)
1303
- }), /* @__PURE__ */ React34.createElement(AppIcon, {
1315
+ }), /* @__PURE__ */ React35.createElement(AppIcon, {
1304
1316
  title: "GeoGebra",
1305
1317
  src: geogebra_default,
1306
1318
  alt: "[geogebra]",
1307
1319
  appStatus: appsStatus["GeoGebra"],
1308
1320
  onClick: app == null ? void 0 : app.insertGeoGebra.bind(app)
1309
- }), /* @__PURE__ */ React34.createElement(AppIcon, {
1321
+ }), /* @__PURE__ */ React35.createElement(AppIcon, {
1310
1322
  title: "Countdown",
1311
1323
  src: countdown_default,
1312
1324
  alt: "[countdown]",
@@ -1315,37 +1327,44 @@ function DefaultApps() {
1315
1327
  }));
1316
1328
  }
1317
1329
  function AppIcon({ title, src, alt, appStatus, onClick }) {
1330
+ const { theme } = useContext5(ToolbarContext);
1318
1331
  const { status = "idle", reason } = appStatus || {};
1319
1332
  const loading = status === "loading";
1320
1333
  const failed = status === "failed";
1321
1334
  const unifiedTitle = loading ? "loading" : failed ? reason : title;
1322
- return /* @__PURE__ */ React34.createElement("span", {
1335
+ return /* @__PURE__ */ React35.createElement("div", {
1336
+ className: "fastboard-toolbar-app-icon-wrapper"
1337
+ }, /* @__PURE__ */ React35.createElement("span", {
1323
1338
  className: clsx5("fastboard-toolbar-app-icon", {
1324
1339
  "fastboard-toolbar-app-is-loading": loading,
1325
1340
  "fastboard-toolbar-app-is-failed": failed
1326
1341
  })
1327
- }, /* @__PURE__ */ React34.createElement(Button, {
1328
- disabled: failed,
1342
+ }, /* @__PURE__ */ React35.createElement(Button, {
1343
+ disabled: failed || loading,
1329
1344
  placement: "top",
1330
1345
  content: unifiedTitle,
1331
1346
  onClick
1332
- }, /* @__PURE__ */ React34.createElement("img", {
1347
+ }, /* @__PURE__ */ React35.createElement("img", {
1333
1348
  src,
1334
1349
  alt,
1335
1350
  title: unifiedTitle
1336
- })), /* @__PURE__ */ React34.createElement("span", {
1351
+ })), /* @__PURE__ */ React35.createElement("span", {
1337
1352
  className: "fastboard-toolbar-app-icon-text"
1338
- }, title));
1353
+ }, title)), loading && /* @__PURE__ */ React35.createElement("span", {
1354
+ className: "fastboard-toolbar-app-icon-mask"
1355
+ }, /* @__PURE__ */ React35.createElement(Loading, {
1356
+ theme
1357
+ })));
1339
1358
  }
1340
1359
 
1341
1360
  // src/components/Toolbar/components/PencilButton.tsx
1342
1361
  import Tippy6 from "@tippyjs/react";
1343
- import React38, { useCallback as useCallback7, useContext as useContext9 } from "react";
1362
+ import React39, { useCallback as useCallback7, useContext as useContext9 } from "react";
1344
1363
  import { ApplianceNames as ApplianceNames3 } from "white-web-sdk";
1345
1364
 
1346
1365
  // src/components/Toolbar/components/ColorBox.tsx
1347
1366
  import clsx6 from "clsx";
1348
- import React35, { useContext as useContext6 } from "react";
1367
+ import React36, { useContext as useContext6 } from "react";
1349
1368
  var colors = {
1350
1369
  "#E02020": [224, 32, 32],
1351
1370
  "#F7B500": [247, 181, 0],
@@ -1361,17 +1380,17 @@ function ColorBox() {
1361
1380
  const { theme, memberState, setStrokeColor, writable } = useContext6(ToolbarContext);
1362
1381
  const strokeColor = memberState == null ? void 0 : memberState.strokeColor;
1363
1382
  const disabled = !writable;
1364
- return /* @__PURE__ */ React35.createElement("div", {
1383
+ return /* @__PURE__ */ React36.createElement("div", {
1365
1384
  className: clsx6("fastboard-toolbar-color-box", theme)
1366
- }, colorKeys.map((key) => /* @__PURE__ */ React35.createElement("div", {
1385
+ }, colorKeys.map((key) => /* @__PURE__ */ React36.createElement("div", {
1367
1386
  key,
1368
1387
  className: clsx6("fastboard-toolbar-color-item", theme),
1369
1388
  onClick: () => setStrokeColor(colors[key])
1370
- }, /* @__PURE__ */ React35.createElement("div", {
1389
+ }, /* @__PURE__ */ React36.createElement("div", {
1371
1390
  className: clsx6("fastboard-toolbar-color-border", theme, {
1372
1391
  active: strokeColor && isEqualArray(strokeColor, colors[key])
1373
1392
  })
1374
- }, /* @__PURE__ */ React35.createElement("button", {
1393
+ }, /* @__PURE__ */ React36.createElement("button", {
1375
1394
  className: clsx6("fastboard-toolbar-color-btn"),
1376
1395
  style: { background: key },
1377
1396
  disabled,
@@ -1384,10 +1403,10 @@ function ColorBox() {
1384
1403
 
1385
1404
  // src/components/Toolbar/components/CutLine.tsx
1386
1405
  import clsx7 from "clsx";
1387
- import React36, { useContext as useContext7 } from "react";
1406
+ import React37, { useContext as useContext7 } from "react";
1388
1407
  function CutLine() {
1389
1408
  const { theme } = useContext7(ToolbarContext);
1390
- return /* @__PURE__ */ React36.createElement("span", {
1409
+ return /* @__PURE__ */ React37.createElement("span", {
1391
1410
  className: clsx7(`${name4}-cut-line`, theme)
1392
1411
  });
1393
1412
  }
@@ -1395,12 +1414,12 @@ function CutLine() {
1395
1414
  // src/components/Toolbar/components/Slider.tsx
1396
1415
  import clsx8 from "clsx";
1397
1416
  import RcSlider from "rc-slider";
1398
- import React37, { useContext as useContext8 } from "react";
1417
+ import React38, { useContext as useContext8 } from "react";
1399
1418
  function Slider() {
1400
1419
  const { theme, writable, memberState, setStrokeWidth } = useContext8(ToolbarContext);
1401
1420
  const { activeColor } = themes[theme];
1402
1421
  const strokeWidth = (memberState == null ? void 0 : memberState.strokeWidth) || 0;
1403
- return /* @__PURE__ */ React37.createElement(RcSlider, {
1422
+ return /* @__PURE__ */ React38.createElement(RcSlider, {
1404
1423
  disabled: !writable,
1405
1424
  className: clsx8("fastboard-toolbar-slider", theme),
1406
1425
  trackStyle: { background: activeColor },
@@ -1424,9 +1443,9 @@ function PencilButton() {
1424
1443
  const active = appliance === ApplianceNames3.pencil;
1425
1444
  const disabled = !writable;
1426
1445
  const shortcut = ((app == null ? void 0 : app.hotKeys) || defaultHotKeys).changeToPencil;
1427
- return /* @__PURE__ */ React38.createElement("span", {
1446
+ return /* @__PURE__ */ React39.createElement("span", {
1428
1447
  className: "fastboard-toolbar-btn-interactive"
1429
- }, /* @__PURE__ */ React38.createElement(Tippy6, {
1448
+ }, /* @__PURE__ */ React39.createElement(Tippy6, {
1430
1449
  className: "fastboard-tip",
1431
1450
  content: renderPencilButtonContent(),
1432
1451
  theme,
@@ -1435,30 +1454,30 @@ function PencilButton() {
1435
1454
  offset: RightOffset,
1436
1455
  arrow: false,
1437
1456
  interactive: true
1438
- }, /* @__PURE__ */ React38.createElement(Button, {
1457
+ }, /* @__PURE__ */ React39.createElement(Button, {
1439
1458
  content: renderToolTip(t("pencil"), shortcut),
1440
1459
  active,
1441
1460
  onClick: changeAppliance
1442
- }, /* @__PURE__ */ React38.createElement(Icon, {
1443
- fallback: /* @__PURE__ */ React38.createElement(Icons.Pencil, {
1461
+ }, /* @__PURE__ */ React39.createElement(Icon, {
1462
+ fallback: /* @__PURE__ */ React39.createElement(Icons.Pencil, {
1444
1463
  theme,
1445
1464
  active
1446
1465
  }),
1447
1466
  src: disabled ? icons == null ? void 0 : icons.pencilIconDisable : icons == null ? void 0 : icons.pencilIcon,
1448
1467
  alt: "[pencil]"
1449
- }), /* @__PURE__ */ React38.createElement("span", {
1468
+ }), /* @__PURE__ */ React39.createElement("span", {
1450
1469
  className: "fastboard-toolbar-triangle"
1451
1470
  }))));
1452
1471
  }
1453
1472
  function renderPencilButtonContent() {
1454
- return /* @__PURE__ */ React38.createElement("div", {
1473
+ return /* @__PURE__ */ React39.createElement("div", {
1455
1474
  className: "fastboard-toolbar-panel pencil"
1456
- }, /* @__PURE__ */ React38.createElement(Slider, null), /* @__PURE__ */ React38.createElement(CutLine, null), /* @__PURE__ */ React38.createElement(ColorBox, null));
1475
+ }, /* @__PURE__ */ React39.createElement(Slider, null), /* @__PURE__ */ React39.createElement(CutLine, null), /* @__PURE__ */ React39.createElement(ColorBox, null));
1457
1476
  }
1458
1477
 
1459
1478
  // src/components/Toolbar/components/ShapesButton.tsx
1460
1479
  import Tippy7 from "@tippyjs/react";
1461
- import React39, { useCallback as useCallback8, useContext as useContext10 } from "react";
1480
+ import React40, { useCallback as useCallback8, useContext as useContext10 } from "react";
1462
1481
  import { ApplianceNames as ApplianceNames4 } from "white-web-sdk";
1463
1482
  var ShapeTypes = /* @__PURE__ */ new Set([...ApplianceShapes, ...Shapes]);
1464
1483
  function ShapesButton() {
@@ -1476,9 +1495,9 @@ function ShapesButton() {
1476
1495
  setAppliance(ApplianceNames4.shape, lastShape);
1477
1496
  }
1478
1497
  }, [lastShape, setAppliance]);
1479
- return /* @__PURE__ */ React39.createElement("span", {
1498
+ return /* @__PURE__ */ React40.createElement("span", {
1480
1499
  className: "fastboard-toolbar-btn-interactive"
1481
- }, /* @__PURE__ */ React39.createElement(Tippy7, {
1500
+ }, /* @__PURE__ */ React40.createElement(Tippy7, {
1482
1501
  className: "fastboard-tip",
1483
1502
  content: renderShapesButtonContent(),
1484
1503
  theme,
@@ -1487,33 +1506,33 @@ function ShapesButton() {
1487
1506
  offset: RightOffset,
1488
1507
  arrow: false,
1489
1508
  interactive: true
1490
- }, /* @__PURE__ */ React39.createElement(Button, {
1509
+ }, /* @__PURE__ */ React40.createElement(Button, {
1491
1510
  content: t("shape"),
1492
1511
  active,
1493
1512
  disabled: !writable,
1494
1513
  onClick
1495
- }, /* @__PURE__ */ React39.createElement(CurrentIcon, {
1514
+ }, /* @__PURE__ */ React40.createElement(CurrentIcon, {
1496
1515
  theme,
1497
1516
  active
1498
- }), /* @__PURE__ */ React39.createElement("span", {
1517
+ }), /* @__PURE__ */ React40.createElement("span", {
1499
1518
  className: "fastboard-toolbar-triangle"
1500
1519
  }))));
1501
1520
  }
1502
1521
  function renderShapesButtonContent() {
1503
- return /* @__PURE__ */ React39.createElement("div", {
1522
+ return /* @__PURE__ */ React40.createElement("div", {
1504
1523
  className: "fastboard-toolbar-panel shapes"
1505
- }, /* @__PURE__ */ React39.createElement(ShapesBox, null), /* @__PURE__ */ React39.createElement(CutLine, null), /* @__PURE__ */ React39.createElement(Slider, null), /* @__PURE__ */ React39.createElement(CutLine, null), /* @__PURE__ */ React39.createElement(ColorBox, null));
1524
+ }, /* @__PURE__ */ React40.createElement(ShapesBox, null), /* @__PURE__ */ React40.createElement(CutLine, null), /* @__PURE__ */ React40.createElement(Slider, null), /* @__PURE__ */ React40.createElement(CutLine, null), /* @__PURE__ */ React40.createElement(ColorBox, null));
1506
1525
  }
1507
1526
  function ShapesBox() {
1508
1527
  const { t } = useTranslation();
1509
- return /* @__PURE__ */ React39.createElement("div", {
1528
+ return /* @__PURE__ */ React40.createElement("div", {
1510
1529
  className: "fastboard-toolbar-shapes"
1511
- }, ApplianceShapes.map((Appliance) => /* @__PURE__ */ React39.createElement(ApplianceShapeButton, {
1530
+ }, ApplianceShapes.map((Appliance) => /* @__PURE__ */ React40.createElement(ApplianceShapeButton, {
1512
1531
  key: Appliance,
1513
1532
  content: t(Appliance),
1514
1533
  Appliance,
1515
1534
  Icon: ShapesMap[Appliance]
1516
- })), Shapes.map((shape) => /* @__PURE__ */ React39.createElement(ShapeShapeButton, {
1535
+ })), Shapes.map((shape) => /* @__PURE__ */ React40.createElement(ShapeShapeButton, {
1517
1536
  key: shape,
1518
1537
  content: t(shape),
1519
1538
  shape,
@@ -1524,12 +1543,12 @@ function ApplianceShapeButton({ content, Appliance, Icon: Icon2 }) {
1524
1543
  const { theme, writable, setAppliance, memberState } = useContext10(ToolbarContext);
1525
1544
  const current = memberState == null ? void 0 : memberState.currentApplianceName;
1526
1545
  const disabled = !writable;
1527
- return /* @__PURE__ */ React39.createElement(Button, {
1546
+ return /* @__PURE__ */ React40.createElement(Button, {
1528
1547
  content,
1529
1548
  disabled,
1530
1549
  placement: "top",
1531
1550
  onClick: () => setAppliance(Appliance)
1532
- }, /* @__PURE__ */ React39.createElement(Icon2, {
1551
+ }, /* @__PURE__ */ React40.createElement(Icon2, {
1533
1552
  theme,
1534
1553
  active: current === Appliance
1535
1554
  }));
@@ -1539,12 +1558,12 @@ function ShapeShapeButton({ content, shape, Icon: Icon2 }) {
1539
1558
  const appliance = memberState == null ? void 0 : memberState.currentApplianceName;
1540
1559
  const current = appliance === ApplianceNames4.shape && (memberState == null ? void 0 : memberState.shapeType);
1541
1560
  const disabled = !writable;
1542
- return /* @__PURE__ */ React39.createElement(Button, {
1561
+ return /* @__PURE__ */ React40.createElement(Button, {
1543
1562
  content,
1544
1563
  disabled,
1545
1564
  placement: "top",
1546
1565
  onClick: () => setAppliance(ApplianceNames4.shape, shape)
1547
- }, /* @__PURE__ */ React39.createElement(Icon2, {
1566
+ }, /* @__PURE__ */ React40.createElement(Icon2, {
1548
1567
  theme,
1549
1568
  active: current === shape
1550
1569
  }));
@@ -1552,7 +1571,7 @@ function ShapeShapeButton({ content, shape, Icon: Icon2 }) {
1552
1571
 
1553
1572
  // src/components/Toolbar/components/TextButton.tsx
1554
1573
  import Tippy8 from "@tippyjs/react";
1555
- import React40, { useCallback as useCallback9, useContext as useContext11 } from "react";
1574
+ import React41, { useCallback as useCallback9, useContext as useContext11 } from "react";
1556
1575
  import { ApplianceNames as ApplianceNames5 } from "white-web-sdk";
1557
1576
  function TextButton() {
1558
1577
  const app = useFastboardApp();
@@ -1565,9 +1584,9 @@ function TextButton() {
1565
1584
  const active = appliance === ApplianceNames5.text;
1566
1585
  const disabled = !writable;
1567
1586
  const shortcut = ((app == null ? void 0 : app.hotKeys) || defaultHotKeys).changeToText;
1568
- return /* @__PURE__ */ React40.createElement("span", {
1587
+ return /* @__PURE__ */ React41.createElement("span", {
1569
1588
  className: "fastboard-toolbar-btn-interactive"
1570
- }, /* @__PURE__ */ React40.createElement(Tippy8, {
1589
+ }, /* @__PURE__ */ React41.createElement(Tippy8, {
1571
1590
  className: "fastboard-tip",
1572
1591
  content: renderTextButtonContent(),
1573
1592
  theme,
@@ -1576,53 +1595,53 @@ function TextButton() {
1576
1595
  offset: RightOffset,
1577
1596
  arrow: false,
1578
1597
  interactive: true
1579
- }, /* @__PURE__ */ React40.createElement(Button, {
1598
+ }, /* @__PURE__ */ React41.createElement(Button, {
1580
1599
  content: renderToolTip(t("text"), shortcut),
1581
1600
  active,
1582
1601
  onClick: changeAppliance
1583
- }, /* @__PURE__ */ React40.createElement(Icon, {
1584
- fallback: /* @__PURE__ */ React40.createElement(Icons.Text, {
1602
+ }, /* @__PURE__ */ React41.createElement(Icon, {
1603
+ fallback: /* @__PURE__ */ React41.createElement(Icons.Text, {
1585
1604
  theme,
1586
1605
  active
1587
1606
  }),
1588
1607
  src: disabled ? icons == null ? void 0 : icons.textIconDisable : icons == null ? void 0 : icons.textIcon,
1589
1608
  alt: "[text]"
1590
- }), /* @__PURE__ */ React40.createElement("span", {
1609
+ }), /* @__PURE__ */ React41.createElement("span", {
1591
1610
  className: "fastboard-toolbar-triangle"
1592
1611
  }))));
1593
1612
  }
1594
1613
  function renderTextButtonContent() {
1595
- return /* @__PURE__ */ React40.createElement("div", {
1614
+ return /* @__PURE__ */ React41.createElement("div", {
1596
1615
  className: "fastboard-toolbar-panel text"
1597
- }, /* @__PURE__ */ React40.createElement(ColorBox, null));
1616
+ }, /* @__PURE__ */ React41.createElement(ColorBox, null));
1598
1617
  }
1599
1618
 
1600
1619
  // src/components/Toolbar/components/UpDownButtons.tsx
1601
- import React41, { useCallback as useCallback10, useContext as useContext12 } from "react";
1620
+ import React42, { useCallback as useCallback10, useContext as useContext12 } from "react";
1602
1621
  function UpButton({ disabled, scrollTo }) {
1603
1622
  const { theme, icons } = useContext12(ToolbarContext);
1604
1623
  const scrollUp = useCallback10(() => scrollTo(-ItemHeight), [scrollTo]);
1605
- return /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement(Button, {
1624
+ return /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(Button, {
1606
1625
  content: "Up",
1607
1626
  disabled,
1608
1627
  onClick: scrollUp
1609
- }, /* @__PURE__ */ React41.createElement(Icon, {
1610
- fallback: /* @__PURE__ */ React41.createElement(Icons.Up, {
1628
+ }, /* @__PURE__ */ React42.createElement(Icon, {
1629
+ fallback: /* @__PURE__ */ React42.createElement(Icons.Up, {
1611
1630
  theme
1612
1631
  }),
1613
1632
  src: disabled ? icons == null ? void 0 : icons.upIconDisable : icons == null ? void 0 : icons.upIcon,
1614
1633
  alt: "[up]"
1615
- })), /* @__PURE__ */ React41.createElement(CutLine, null));
1634
+ })), /* @__PURE__ */ React42.createElement(CutLine, null));
1616
1635
  }
1617
1636
  function DownButton({ disabled, scrollTo }) {
1618
1637
  const { theme, icons } = useContext12(ToolbarContext);
1619
1638
  const scrollDown = useCallback10(() => scrollTo(ItemHeight), [scrollTo]);
1620
- return /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement(CutLine, null), /* @__PURE__ */ React41.createElement(Button, {
1639
+ return /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(CutLine, null), /* @__PURE__ */ React42.createElement(Button, {
1621
1640
  content: "Down",
1622
1641
  disabled,
1623
1642
  onClick: scrollDown
1624
- }, /* @__PURE__ */ React41.createElement(Icon, {
1625
- fallback: /* @__PURE__ */ React41.createElement(Icons.Down, {
1643
+ }, /* @__PURE__ */ React42.createElement(Icon, {
1644
+ fallback: /* @__PURE__ */ React42.createElement(Icons.Down, {
1626
1645
  theme
1627
1646
  }),
1628
1647
  src: disabled ? icons == null ? void 0 : icons.downIconDisable : icons == null ? void 0 : icons.downIcon,
@@ -1666,24 +1685,24 @@ function Content({ onCollapse }) {
1666
1685
  return () => resizeObserver.disconnect();
1667
1686
  }
1668
1687
  }, []);
1669
- return /* @__PURE__ */ React42.createElement(React42.Fragment, null, needScroll && /* @__PURE__ */ React42.createElement(UpButton, {
1688
+ return /* @__PURE__ */ React43.createElement(React43.Fragment, null, needScroll && /* @__PURE__ */ React43.createElement(UpButton, {
1670
1689
  scrollTo,
1671
1690
  disabled: disableScrollUp
1672
- }), /* @__PURE__ */ React42.createElement("div", {
1691
+ }), /* @__PURE__ */ React43.createElement("div", {
1673
1692
  ref,
1674
1693
  className: clsx9(`${name4}-section`),
1675
1694
  style: {
1676
1695
  height: `${sectionHeight}px`,
1677
1696
  overflow: needScroll ? "hidden" : "visible"
1678
1697
  }
1679
- }, /* @__PURE__ */ React42.createElement(ClickerButton, null), /* @__PURE__ */ React42.createElement(SelectorButton, null), /* @__PURE__ */ React42.createElement(PencilButton, null), /* @__PURE__ */ React42.createElement(TextButton, null), /* @__PURE__ */ React42.createElement(ShapesButton, null), /* @__PURE__ */ React42.createElement(EraserButton, null), /* @__PURE__ */ React42.createElement(CleanButton, null), /* @__PURE__ */ React42.createElement(AppsButton, null)), needScroll && /* @__PURE__ */ React42.createElement(DownButton, {
1698
+ }, /* @__PURE__ */ React43.createElement(ClickerButton, null), /* @__PURE__ */ React43.createElement(SelectorButton, null), /* @__PURE__ */ React43.createElement(PencilButton, null), /* @__PURE__ */ React43.createElement(TextButton, null), /* @__PURE__ */ React43.createElement(ShapesButton, null), /* @__PURE__ */ React43.createElement(EraserButton, null), /* @__PURE__ */ React43.createElement(CleanButton, null), /* @__PURE__ */ React43.createElement(AppsButton, null)), needScroll && /* @__PURE__ */ React43.createElement(DownButton, {
1680
1699
  scrollTo,
1681
1700
  disabled: disableScrollDown
1682
- }), /* @__PURE__ */ React42.createElement("div", {
1701
+ }), /* @__PURE__ */ React43.createElement("div", {
1683
1702
  className: clsx9("fastboard-toolbar-mask", theme),
1684
1703
  onClick: onCollapse
1685
- }, /* @__PURE__ */ React42.createElement(Icon, {
1686
- fallback: /* @__PURE__ */ React42.createElement("img", {
1704
+ }, /* @__PURE__ */ React43.createElement(Icon, {
1705
+ fallback: /* @__PURE__ */ React43.createElement("img", {
1687
1706
  draggable: false,
1688
1707
  className: clsx9(`${name4}-mask-btn`, theme),
1689
1708
  src: collapsed_default
@@ -1703,9 +1722,9 @@ function Toolbar({ theme, icons }) {
1703
1722
  const [expanded, setExpanded] = useState5(true);
1704
1723
  const [pointerEvents, setPointerEvents] = useState5("auto");
1705
1724
  const disabled = !hook.writable;
1706
- return /* @__PURE__ */ React43.createElement(ToolbarContext.Provider, {
1725
+ return /* @__PURE__ */ React44.createElement(ToolbarContext.Provider, {
1707
1726
  value: __spreadValues({ theme, icons }, hook)
1708
- }, /* @__PURE__ */ React43.createElement(AnimatePresence, null, expanded ? /* @__PURE__ */ React43.createElement(motion.div, {
1727
+ }, /* @__PURE__ */ React44.createElement(AnimatePresence, null, expanded ? /* @__PURE__ */ React44.createElement(motion.div, {
1709
1728
  key: "toolbar",
1710
1729
  className: clsx10(name4, theme),
1711
1730
  initial: { x: -100 },
@@ -1714,16 +1733,16 @@ function Toolbar({ theme, icons }) {
1714
1733
  onAnimationStart: () => setPointerEvents("none"),
1715
1734
  onAnimationComplete: () => setPointerEvents("auto"),
1716
1735
  style: { pointerEvents }
1717
- }, /* @__PURE__ */ React43.createElement(Content, {
1736
+ }, /* @__PURE__ */ React44.createElement(Content, {
1718
1737
  onCollapse: () => setExpanded(false)
1719
- })) : /* @__PURE__ */ React43.createElement(motion.div, {
1738
+ })) : /* @__PURE__ */ React44.createElement(motion.div, {
1720
1739
  className: clsx10(`${name4}-expand-btn`, theme),
1721
1740
  key: "expand",
1722
1741
  onClick: () => setExpanded(true),
1723
1742
  initial: { x: -100 },
1724
1743
  animate: { x: 0, transition: { duration: 0.5 } }
1725
- }, /* @__PURE__ */ React43.createElement(Icon, {
1726
- fallback: /* @__PURE__ */ React43.createElement("img", {
1744
+ }, /* @__PURE__ */ React44.createElement(Icon, {
1745
+ fallback: /* @__PURE__ */ React44.createElement("img", {
1727
1746
  draggable: false,
1728
1747
  src: expanded_default,
1729
1748
  className: clsx10(`${name4}-mask-btn`, theme)
@@ -1804,16 +1823,16 @@ function usePlayerControl(player) {
1804
1823
  import Tippy10 from "@tippyjs/react";
1805
1824
  import clsx12 from "clsx";
1806
1825
  import RcSlider2 from "rc-slider";
1807
- import React48, { useEffect as useEffect5, useState as useState7 } from "react";
1826
+ import React49, { useEffect as useEffect5, useState as useState7 } from "react";
1808
1827
  import { PlayerPhase as PlayerPhase2 } from "white-web-sdk";
1809
1828
 
1810
1829
  // src/components/PlayerControl/components/Button.tsx
1811
1830
  import clsx11 from "clsx";
1812
- import React44, { forwardRef as forwardRef2 } from "react";
1831
+ import React45, { forwardRef as forwardRef2 } from "react";
1813
1832
  import Tippy9 from "@tippyjs/react";
1814
1833
  var Button2 = forwardRef2((props, ref) => {
1815
1834
  const { theme, content, disabled, active, onClick, interactive, placement = "top", children } = props;
1816
- return /* @__PURE__ */ React44.createElement(Tippy9, {
1835
+ return /* @__PURE__ */ React45.createElement(Tippy9, {
1817
1836
  className: "fastboard-tip",
1818
1837
  content,
1819
1838
  interactive,
@@ -1823,7 +1842,7 @@ var Button2 = forwardRef2((props, ref) => {
1823
1842
  offset: TopOffset,
1824
1843
  delay: [1e3, 400],
1825
1844
  duration: 300
1826
- }, /* @__PURE__ */ React44.createElement("button", {
1845
+ }, /* @__PURE__ */ React45.createElement("button", {
1827
1846
  ref,
1828
1847
  className: clsx11("fastboard-player-control-btn", theme, { active }),
1829
1848
  onClick,
@@ -1835,36 +1854,36 @@ var Button2 = forwardRef2((props, ref) => {
1835
1854
  import { memo as memo2 } from "react";
1836
1855
 
1837
1856
  // src/components/PlayerControl/icons/Loading.tsx
1838
- import React45 from "react";
1839
- var Loading = (props) => {
1857
+ import React46 from "react";
1858
+ var Loading2 = (props) => {
1840
1859
  const stroke = getStroke(props);
1841
- return /* @__PURE__ */ React45.createElement("svg", {
1860
+ return /* @__PURE__ */ React46.createElement("svg", {
1842
1861
  viewBox: "0 0 24 24"
1843
- }, /* @__PURE__ */ React45.createElement("path", {
1862
+ }, /* @__PURE__ */ React46.createElement("path", {
1844
1863
  d: "M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8z",
1845
1864
  fill: stroke
1846
1865
  }));
1847
1866
  };
1848
1867
 
1849
1868
  // src/components/PlayerControl/icons/Pause.tsx
1850
- import React46 from "react";
1869
+ import React47 from "react";
1851
1870
  var Pause = (props) => {
1852
1871
  const stroke = getStroke(props);
1853
- return /* @__PURE__ */ React46.createElement("svg", {
1872
+ return /* @__PURE__ */ React47.createElement("svg", {
1854
1873
  viewBox: "0 0 24 24"
1855
- }, /* @__PURE__ */ React46.createElement("path", {
1874
+ }, /* @__PURE__ */ React47.createElement("path", {
1856
1875
  d: "M14 19h4V5h-4M6 19h4V5H6v14z",
1857
1876
  fill: stroke
1858
1877
  }));
1859
1878
  };
1860
1879
 
1861
1880
  // src/components/PlayerControl/icons/Play.tsx
1862
- import React47 from "react";
1881
+ import React48 from "react";
1863
1882
  var Play = (props) => {
1864
1883
  const stroke = getStroke(props);
1865
- return /* @__PURE__ */ React47.createElement("svg", {
1884
+ return /* @__PURE__ */ React48.createElement("svg", {
1866
1885
  viewBox: "0 0 24 24"
1867
- }, /* @__PURE__ */ React47.createElement("path", {
1886
+ }, /* @__PURE__ */ React48.createElement("path", {
1868
1887
  d: "M8 5.14v14l11-7l-11-7z",
1869
1888
  fill: stroke
1870
1889
  }));
@@ -1874,7 +1893,7 @@ var Play = (props) => {
1874
1893
  var Icons2 = {
1875
1894
  Play: memo2(Play),
1876
1895
  Pause: memo2(Pause),
1877
- Loading: memo2(Loading)
1896
+ Loading: memo2(Loading2)
1878
1897
  };
1879
1898
 
1880
1899
  // src/components/PlayerControl/PlayerControl.tsx
@@ -1884,7 +1903,7 @@ function PlayerControl(_a) {
1884
1903
  theme = useTheme(theme);
1885
1904
  const { t } = useTranslation();
1886
1905
  const [currentTime, setCurrentTime] = useState7(0);
1887
- const player = usePlayerControl(player_);
1906
+ const player = usePlayerControl(player_ == null ? void 0 : player_.player);
1888
1907
  useEffect5(() => {
1889
1908
  setCurrentTime(player.currentTime);
1890
1909
  }, [player.currentTime]);
@@ -1896,25 +1915,25 @@ function PlayerControl(_a) {
1896
1915
  const isLoading = player.phase === PlayerPhase2.WaitingFirstFrame || player.phase === PlayerPhase2.Buffering;
1897
1916
  const isPlaying = player.phase === PlayerPhase2.Playing;
1898
1917
  const { activeColor } = themes[theme];
1899
- return /* @__PURE__ */ React48.createElement("div", {
1918
+ return /* @__PURE__ */ React49.createElement("div", {
1900
1919
  className: clsx12(name5, theme, { "auto-hide": autoHide })
1901
- }, /* @__PURE__ */ React48.createElement("button", {
1920
+ }, /* @__PURE__ */ React49.createElement("button", {
1902
1921
  className: clsx12(`${name5}-btn`, isLoading ? "loading" : isPlaying ? "pause" : "play", theme),
1903
1922
  disabled: isLoading,
1904
1923
  onClick: player.togglePlay
1905
- }, /* @__PURE__ */ React48.createElement(Icon, {
1906
- fallback: isLoading ? /* @__PURE__ */ React48.createElement(Icons2.Loading, {
1924
+ }, /* @__PURE__ */ React49.createElement(Icon, {
1925
+ fallback: isLoading ? /* @__PURE__ */ React49.createElement(Icons2.Loading, {
1907
1926
  theme
1908
- }) : isPlaying ? /* @__PURE__ */ React48.createElement(Icons2.Pause, {
1927
+ }) : isPlaying ? /* @__PURE__ */ React49.createElement(Icons2.Pause, {
1909
1928
  theme
1910
- }) : /* @__PURE__ */ React48.createElement(Icons2.Play, {
1929
+ }) : /* @__PURE__ */ React49.createElement(Icons2.Play, {
1911
1930
  theme
1912
1931
  }),
1913
1932
  src: isLoading ? icons.loadingIcon : isPlaying ? icons.pauseIcon : icons.playIcon,
1914
1933
  alt: isLoading ? "[loading]" : isPlaying ? "[pause]" : "[play]"
1915
- })), /* @__PURE__ */ React48.createElement("span", {
1934
+ })), /* @__PURE__ */ React49.createElement("span", {
1916
1935
  className: clsx12(`${name5}-slider`, { loading: isLoading }, theme)
1917
- }, /* @__PURE__ */ React48.createElement(RcSlider2, {
1936
+ }, /* @__PURE__ */ React49.createElement(RcSlider2, {
1918
1937
  disabled: isLoading,
1919
1938
  trackStyle: { background: activeColor },
1920
1939
  handleStyle: { border: `1px solid ${activeColor}` },
@@ -1923,15 +1942,15 @@ function PlayerControl(_a) {
1923
1942
  min: 0,
1924
1943
  max: player.totalTime,
1925
1944
  step: 100
1926
- })), /* @__PURE__ */ React48.createElement("span", {
1945
+ })), /* @__PURE__ */ React49.createElement("span", {
1927
1946
  className: clsx12(`${name5}-current`, theme)
1928
- }, renderTime(player.currentTime)), /* @__PURE__ */ React48.createElement("span", {
1947
+ }, renderTime(player.currentTime)), /* @__PURE__ */ React49.createElement("span", {
1929
1948
  className: clsx12(`${name5}-slash`, theme)
1930
- }, "/"), /* @__PURE__ */ React48.createElement("span", {
1949
+ }, "/"), /* @__PURE__ */ React49.createElement("span", {
1931
1950
  className: clsx12(`${name5}-total`, theme)
1932
- }, renderTime(player.totalTime)), /* @__PURE__ */ React48.createElement("span", {
1951
+ }, renderTime(player.totalTime)), /* @__PURE__ */ React49.createElement("span", {
1933
1952
  className: `${name5}-btn-interactive`
1934
- }, /* @__PURE__ */ React48.createElement(Tippy10, {
1953
+ }, /* @__PURE__ */ React49.createElement(Tippy10, {
1935
1954
  className: "fastboard-tip",
1936
1955
  content: renderSpeeds(player),
1937
1956
  theme,
@@ -1940,11 +1959,11 @@ function PlayerControl(_a) {
1940
1959
  offset: TopOffset,
1941
1960
  arrow: false,
1942
1961
  interactive: true
1943
- }, /* @__PURE__ */ React48.createElement(Button2, {
1962
+ }, /* @__PURE__ */ React49.createElement(Button2, {
1944
1963
  content: t("speed"),
1945
1964
  theme,
1946
1965
  disabled: isLoading
1947
- }, /* @__PURE__ */ React48.createElement("span", {
1966
+ }, /* @__PURE__ */ React49.createElement("span", {
1948
1967
  className: clsx12(`${name5}-speed-text`, theme)
1949
1968
  }, player.speed, "x")))));
1950
1969
  }
@@ -1956,9 +1975,9 @@ function renderTime(ms) {
1956
1975
  }
1957
1976
  var Speeds = [2, 1.5, 1.25, 1, 0.75, 0.5];
1958
1977
  function renderSpeeds({ speed: current, setSpeed }) {
1959
- return /* @__PURE__ */ React48.createElement("div", {
1978
+ return /* @__PURE__ */ React49.createElement("div", {
1960
1979
  className: clsx12(`${name5}-panel`, "speed")
1961
- }, Speeds.map((speed) => /* @__PURE__ */ React48.createElement("button", {
1980
+ }, Speeds.map((speed) => /* @__PURE__ */ React49.createElement("button", {
1962
1981
  className: clsx12(`${name5}-btn`, "speed", {
1963
1982
  active: speed === current
1964
1983
  }),
@@ -1968,91 +1987,2949 @@ function renderSpeeds({ speed: current, setSpeed }) {
1968
1987
  }
1969
1988
 
1970
1989
  // src/components/Fastboard.tsx
1971
- import React49, { forwardRef as forwardRef3, useCallback as useCallback13, useEffect as useEffect6 } from "react";
1972
- var Fastboard = /* @__PURE__ */ forwardRef3(function Fastboard2(_a, ref) {
1973
- var _b = _a, { app, theme, layout, language } = _b, restProps = __objRest(_b, ["app", "theme", "layout", "language"]);
1974
- if (!app) {
1975
- return /* @__PURE__ */ React49.createElement("div", __spreadValues({
1976
- className: "fastboard-root",
1977
- ref
1978
- }, restProps));
1990
+ import React50, { forwardRef as forwardRef3, useCallback as useCallback13, useEffect as useEffect6 } from "react";
1991
+
1992
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/enums.js
1993
+ var top = "top";
1994
+ var bottom = "bottom";
1995
+ var right = "right";
1996
+ var left = "left";
1997
+ var auto = "auto";
1998
+ var basePlacements = [top, bottom, right, left];
1999
+ var start = "start";
2000
+ var end = "end";
2001
+ var clippingParents = "clippingParents";
2002
+ var viewport = "viewport";
2003
+ var popper = "popper";
2004
+ var reference = "reference";
2005
+ var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function(acc, placement) {
2006
+ return acc.concat([placement + "-" + start, placement + "-" + end]);
2007
+ }, []);
2008
+ var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) {
2009
+ return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
2010
+ }, []);
2011
+ var beforeRead = "beforeRead";
2012
+ var read = "read";
2013
+ var afterRead = "afterRead";
2014
+ var beforeMain = "beforeMain";
2015
+ var main = "main";
2016
+ var afterMain = "afterMain";
2017
+ var beforeWrite = "beforeWrite";
2018
+ var write = "write";
2019
+ var afterWrite = "afterWrite";
2020
+ var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
2021
+
2022
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js
2023
+ function getNodeName(element) {
2024
+ return element ? (element.nodeName || "").toLowerCase() : null;
2025
+ }
2026
+
2027
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getWindow.js
2028
+ function getWindow(node) {
2029
+ if (node == null) {
2030
+ return window;
1979
2031
  }
1980
- return /* @__PURE__ */ React49.createElement(FastboardAppContext.Provider, {
1981
- value: app
1982
- }, /* @__PURE__ */ React49.createElement(FastboardInternal, __spreadValues(__spreadValues({
1983
- forwardedRef: ref
1984
- }, { theme, layout, language }), restProps)));
1985
- });
1986
- function FastboardInternal(_a) {
1987
- var _b = _a, {
1988
- forwardedRef,
1989
- language,
1990
- layout = {},
1991
- theme = "light",
1992
- children
1993
- } = _b, restProps = __objRest(_b, [
1994
- "forwardedRef",
1995
- "language",
1996
- "layout",
1997
- "theme",
1998
- "children"
1999
- ]);
2000
- const app = useFastboardApp();
2001
- const forceUpdate = useForceUpdate();
2002
- const i18n = useAsyncValue(() => createI18n({ language }));
2003
- useEffect6(() => {
2004
- if (i18n)
2005
- i18n.changeLanguage(language);
2006
- forceUpdate();
2007
- }, [forceUpdate, i18n, language]);
2008
- useEffect6(() => {
2009
- app.manager.setPrefersColorScheme(theme);
2010
- }, [app, theme]);
2011
- const useWhiteboard = useCallback13((container) => {
2012
- if (container && app)
2013
- app.manager.bindContainer(container);
2014
- }, [app]);
2015
- const hideControls = useHideControls();
2016
- const showControls = !hideControls;
2017
- const {
2018
- Toolbar: toolbar = showControls || hideControls === "toolbar-only",
2019
- RedoUndo: redo_undo = showControls,
2020
- ZoomControl: zoom_control = showControls,
2021
- PageControl: page_control = showControls
2022
- } = layout;
2023
- return /* @__PURE__ */ React49.createElement(ThemeContext.Provider, {
2024
- value: theme
2025
- }, /* @__PURE__ */ React49.createElement(I18nContext.Provider, {
2026
- value: i18n
2027
- }, /* @__PURE__ */ React49.createElement("div", __spreadProps(__spreadValues({}, restProps), {
2028
- className: "fastboard-root",
2029
- ref: forwardedRef
2030
- }), /* @__PURE__ */ React49.createElement("div", {
2031
- className: "fastboard-view",
2032
- ref: useWhiteboard,
2033
- onPointerDownCapture: focusThisElementImmediate
2034
- }), children ? children : /* @__PURE__ */ React49.createElement(React49.Fragment, null, toolbar && /* @__PURE__ */ React49.createElement("div", {
2035
- className: "fastboard-left"
2036
- }, /* @__PURE__ */ React49.createElement(Toolbar, null)), (redo_undo || zoom_control) && /* @__PURE__ */ React49.createElement("div", {
2037
- className: "fastboard-bottom-left"
2038
- }, redo_undo && /* @__PURE__ */ React49.createElement(RedoUndo, null), zoom_control && /* @__PURE__ */ React49.createElement(ZoomControl, null)), page_control && /* @__PURE__ */ React49.createElement("div", {
2039
- className: "fastboard-bottom-right"
2040
- }, /* @__PURE__ */ React49.createElement(PageControl, null))))));
2032
+ if (node.toString() !== "[object Window]") {
2033
+ var ownerDocument = node.ownerDocument;
2034
+ return ownerDocument ? ownerDocument.defaultView || window : window;
2035
+ }
2036
+ return node;
2037
+ }
2038
+
2039
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js
2040
+ function isElement(node) {
2041
+ var OwnElement = getWindow(node).Element;
2042
+ return node instanceof OwnElement || node instanceof Element;
2043
+ }
2044
+ function isHTMLElement(node) {
2045
+ var OwnElement = getWindow(node).HTMLElement;
2046
+ return node instanceof OwnElement || node instanceof HTMLElement;
2047
+ }
2048
+ function isShadowRoot(node) {
2049
+ if (typeof ShadowRoot === "undefined") {
2050
+ return false;
2051
+ }
2052
+ var OwnElement = getWindow(node).ShadowRoot;
2053
+ return node instanceof OwnElement || node instanceof ShadowRoot;
2054
+ }
2055
+
2056
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/modifiers/applyStyles.js
2057
+ function applyStyles2(_ref) {
2058
+ var state = _ref.state;
2059
+ Object.keys(state.elements).forEach(function(name6) {
2060
+ var style = state.styles[name6] || {};
2061
+ var attributes = state.attributes[name6] || {};
2062
+ var element = state.elements[name6];
2063
+ if (!isHTMLElement(element) || !getNodeName(element)) {
2064
+ return;
2065
+ }
2066
+ Object.assign(element.style, style);
2067
+ Object.keys(attributes).forEach(function(name7) {
2068
+ var value = attributes[name7];
2069
+ if (value === false) {
2070
+ element.removeAttribute(name7);
2071
+ } else {
2072
+ element.setAttribute(name7, value === true ? "" : value);
2073
+ }
2074
+ });
2075
+ });
2076
+ }
2077
+ function effect(_ref2) {
2078
+ var state = _ref2.state;
2079
+ var initialStyles = {
2080
+ popper: {
2081
+ position: state.options.strategy,
2082
+ left: "0",
2083
+ top: "0",
2084
+ margin: "0"
2085
+ },
2086
+ arrow: {
2087
+ position: "absolute"
2088
+ },
2089
+ reference: {}
2090
+ };
2091
+ Object.assign(state.elements.popper.style, initialStyles.popper);
2092
+ state.styles = initialStyles;
2093
+ if (state.elements.arrow) {
2094
+ Object.assign(state.elements.arrow.style, initialStyles.arrow);
2095
+ }
2096
+ return function() {
2097
+ Object.keys(state.elements).forEach(function(name6) {
2098
+ var element = state.elements[name6];
2099
+ var attributes = state.attributes[name6] || {};
2100
+ var styleProperties = Object.keys(state.styles.hasOwnProperty(name6) ? state.styles[name6] : initialStyles[name6]);
2101
+ var style = styleProperties.reduce(function(style2, property) {
2102
+ style2[property] = "";
2103
+ return style2;
2104
+ }, {});
2105
+ if (!isHTMLElement(element) || !getNodeName(element)) {
2106
+ return;
2107
+ }
2108
+ Object.assign(element.style, style);
2109
+ Object.keys(attributes).forEach(function(attribute) {
2110
+ element.removeAttribute(attribute);
2111
+ });
2112
+ });
2113
+ };
2114
+ }
2115
+ var applyStyles_default = {
2116
+ name: "applyStyles",
2117
+ enabled: true,
2118
+ phase: "write",
2119
+ fn: applyStyles2,
2120
+ effect,
2121
+ requires: ["computeStyles"]
2122
+ };
2123
+
2124
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/getBasePlacement.js
2125
+ function getBasePlacement(placement) {
2126
+ return placement.split("-")[0];
2127
+ }
2128
+
2129
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/math.js
2130
+ var max = Math.max;
2131
+ var min = Math.min;
2132
+ var round = Math.round;
2133
+
2134
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js
2135
+ function getBoundingClientRect(element, includeScale) {
2136
+ if (includeScale === void 0) {
2137
+ includeScale = false;
2138
+ }
2139
+ var rect = element.getBoundingClientRect();
2140
+ var scaleX = 1;
2141
+ var scaleY = 1;
2142
+ if (isHTMLElement(element) && includeScale) {
2143
+ var offsetHeight = element.offsetHeight;
2144
+ var offsetWidth = element.offsetWidth;
2145
+ if (offsetWidth > 0) {
2146
+ scaleX = round(rect.width) / offsetWidth || 1;
2147
+ }
2148
+ if (offsetHeight > 0) {
2149
+ scaleY = round(rect.height) / offsetHeight || 1;
2150
+ }
2151
+ }
2152
+ return {
2153
+ width: rect.width / scaleX,
2154
+ height: rect.height / scaleY,
2155
+ top: rect.top / scaleY,
2156
+ right: rect.right / scaleX,
2157
+ bottom: rect.bottom / scaleY,
2158
+ left: rect.left / scaleX,
2159
+ x: rect.left / scaleX,
2160
+ y: rect.top / scaleY
2161
+ };
2162
+ }
2163
+
2164
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js
2165
+ function getLayoutRect(element) {
2166
+ var clientRect = getBoundingClientRect(element);
2167
+ var width = element.offsetWidth;
2168
+ var height = element.offsetHeight;
2169
+ if (Math.abs(clientRect.width - width) <= 1) {
2170
+ width = clientRect.width;
2171
+ }
2172
+ if (Math.abs(clientRect.height - height) <= 1) {
2173
+ height = clientRect.height;
2174
+ }
2175
+ return {
2176
+ x: element.offsetLeft,
2177
+ y: element.offsetTop,
2178
+ width,
2179
+ height
2180
+ };
2181
+ }
2182
+
2183
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/contains.js
2184
+ function contains(parent, child) {
2185
+ var rootNode = child.getRootNode && child.getRootNode();
2186
+ if (parent.contains(child)) {
2187
+ return true;
2188
+ } else if (rootNode && isShadowRoot(rootNode)) {
2189
+ var next = child;
2190
+ do {
2191
+ if (next && parent.isSameNode(next)) {
2192
+ return true;
2193
+ }
2194
+ next = next.parentNode || next.host;
2195
+ } while (next);
2196
+ }
2197
+ return false;
2198
+ }
2199
+
2200
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js
2201
+ function getComputedStyle2(element) {
2202
+ return getWindow(element).getComputedStyle(element);
2203
+ }
2204
+
2205
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js
2206
+ function isTableElement(element) {
2207
+ return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0;
2208
+ }
2209
+
2210
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js
2211
+ function getDocumentElement(element) {
2212
+ return ((isElement(element) ? element.ownerDocument : element.document) || window.document).documentElement;
2213
+ }
2214
+
2215
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js
2216
+ function getParentNode(element) {
2217
+ if (getNodeName(element) === "html") {
2218
+ return element;
2219
+ }
2220
+ return element.assignedSlot || element.parentNode || (isShadowRoot(element) ? element.host : null) || getDocumentElement(element);
2221
+ }
2222
+
2223
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js
2224
+ function getTrueOffsetParent(element) {
2225
+ if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") {
2226
+ return null;
2227
+ }
2228
+ return element.offsetParent;
2229
+ }
2230
+ function getContainingBlock(element) {
2231
+ var isFirefox = navigator.userAgent.toLowerCase().indexOf("firefox") !== -1;
2232
+ var isIE = navigator.userAgent.indexOf("Trident") !== -1;
2233
+ if (isIE && isHTMLElement(element)) {
2234
+ var elementCss = getComputedStyle2(element);
2235
+ if (elementCss.position === "fixed") {
2236
+ return null;
2237
+ }
2238
+ }
2239
+ var currentNode = getParentNode(element);
2240
+ while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) {
2241
+ var css = getComputedStyle2(currentNode);
2242
+ if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === "filter" || isFirefox && css.filter && css.filter !== "none") {
2243
+ return currentNode;
2244
+ } else {
2245
+ currentNode = currentNode.parentNode;
2246
+ }
2247
+ }
2248
+ return null;
2249
+ }
2250
+ function getOffsetParent(element) {
2251
+ var window2 = getWindow(element);
2252
+ var offsetParent = getTrueOffsetParent(element);
2253
+ while (offsetParent && isTableElement(offsetParent) && getComputedStyle2(offsetParent).position === "static") {
2254
+ offsetParent = getTrueOffsetParent(offsetParent);
2255
+ }
2256
+ if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle2(offsetParent).position === "static")) {
2257
+ return window2;
2258
+ }
2259
+ return offsetParent || getContainingBlock(element) || window2;
2260
+ }
2261
+
2262
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js
2263
+ function getMainAxisFromPlacement(placement) {
2264
+ return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y";
2265
+ }
2266
+
2267
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/within.js
2268
+ function within(min2, value, max2) {
2269
+ return max(min2, min(value, max2));
2270
+ }
2271
+ function withinMaxClamp(min2, value, max2) {
2272
+ var v = within(min2, value, max2);
2273
+ return v > max2 ? max2 : v;
2274
+ }
2275
+
2276
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js
2277
+ function getFreshSideObject() {
2278
+ return {
2279
+ top: 0,
2280
+ right: 0,
2281
+ bottom: 0,
2282
+ left: 0
2283
+ };
2284
+ }
2285
+
2286
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js
2287
+ function mergePaddingObject(paddingObject) {
2288
+ return Object.assign({}, getFreshSideObject(), paddingObject);
2289
+ }
2290
+
2291
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/expandToHashMap.js
2292
+ function expandToHashMap(value, keys) {
2293
+ return keys.reduce(function(hashMap, key) {
2294
+ hashMap[key] = value;
2295
+ return hashMap;
2296
+ }, {});
2041
2297
  }
2042
- function focusThisElementImmediate(ev) {
2043
- ev.currentTarget.focus();
2298
+
2299
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/modifiers/arrow.js
2300
+ var toPaddingObject = function toPaddingObject2(padding, state) {
2301
+ padding = typeof padding === "function" ? padding(Object.assign({}, state.rects, {
2302
+ placement: state.placement
2303
+ })) : padding;
2304
+ return mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
2305
+ };
2306
+ function arrow(_ref) {
2307
+ var _state$modifiersData$;
2308
+ var state = _ref.state, name6 = _ref.name, options = _ref.options;
2309
+ var arrowElement = state.elements.arrow;
2310
+ var popperOffsets2 = state.modifiersData.popperOffsets;
2311
+ var basePlacement = getBasePlacement(state.placement);
2312
+ var axis = getMainAxisFromPlacement(basePlacement);
2313
+ var isVertical = [left, right].indexOf(basePlacement) >= 0;
2314
+ var len = isVertical ? "height" : "width";
2315
+ if (!arrowElement || !popperOffsets2) {
2316
+ return;
2317
+ }
2318
+ var paddingObject = toPaddingObject(options.padding, state);
2319
+ var arrowRect = getLayoutRect(arrowElement);
2320
+ var minProp = axis === "y" ? top : left;
2321
+ var maxProp = axis === "y" ? bottom : right;
2322
+ var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets2[axis] - state.rects.popper[len];
2323
+ var startDiff = popperOffsets2[axis] - state.rects.reference[axis];
2324
+ var arrowOffsetParent = getOffsetParent(arrowElement);
2325
+ var clientSize = arrowOffsetParent ? axis === "y" ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
2326
+ var centerToReference = endDiff / 2 - startDiff / 2;
2327
+ var min2 = paddingObject[minProp];
2328
+ var max2 = clientSize - arrowRect[len] - paddingObject[maxProp];
2329
+ var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;
2330
+ var offset2 = within(min2, center, max2);
2331
+ var axisProp = axis;
2332
+ state.modifiersData[name6] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset2, _state$modifiersData$.centerOffset = offset2 - center, _state$modifiersData$);
2333
+ }
2334
+ function effect2(_ref2) {
2335
+ var state = _ref2.state, options = _ref2.options;
2336
+ var _options$element = options.element, arrowElement = _options$element === void 0 ? "[data-popper-arrow]" : _options$element;
2337
+ if (arrowElement == null) {
2338
+ return;
2339
+ }
2340
+ if (typeof arrowElement === "string") {
2341
+ arrowElement = state.elements.popper.querySelector(arrowElement);
2342
+ if (!arrowElement) {
2343
+ return;
2344
+ }
2345
+ }
2346
+ if (true) {
2347
+ if (!isHTMLElement(arrowElement)) {
2348
+ console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).', "To use an SVG arrow, wrap it in an HTMLElement that will be used as", "the arrow."].join(" "));
2349
+ }
2350
+ }
2351
+ if (!contains(state.elements.popper, arrowElement)) {
2352
+ if (true) {
2353
+ console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper', "element."].join(" "));
2354
+ }
2355
+ return;
2356
+ }
2357
+ state.elements.arrow = arrowElement;
2358
+ }
2359
+ var arrow_default = {
2360
+ name: "arrow",
2361
+ enabled: true,
2362
+ phase: "main",
2363
+ fn: arrow,
2364
+ effect: effect2,
2365
+ requires: ["popperOffsets"],
2366
+ requiresIfExists: ["preventOverflow"]
2367
+ };
2368
+
2369
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/getVariation.js
2370
+ function getVariation(placement) {
2371
+ return placement.split("-")[1];
2372
+ }
2373
+
2374
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/modifiers/computeStyles.js
2375
+ var unsetSides = {
2376
+ top: "auto",
2377
+ right: "auto",
2378
+ bottom: "auto",
2379
+ left: "auto"
2380
+ };
2381
+ function roundOffsetsByDPR(_ref) {
2382
+ var x = _ref.x, y = _ref.y;
2383
+ var win = window;
2384
+ var dpr = win.devicePixelRatio || 1;
2385
+ return {
2386
+ x: round(x * dpr) / dpr || 0,
2387
+ y: round(y * dpr) / dpr || 0
2388
+ };
2389
+ }
2390
+ function mapToStyles(_ref2) {
2391
+ var _Object$assign2;
2392
+ var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed;
2393
+ var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y;
2394
+ var _ref3 = typeof roundOffsets === "function" ? roundOffsets({
2395
+ x,
2396
+ y
2397
+ }) : {
2398
+ x,
2399
+ y
2400
+ };
2401
+ x = _ref3.x;
2402
+ y = _ref3.y;
2403
+ var hasX = offsets.hasOwnProperty("x");
2404
+ var hasY = offsets.hasOwnProperty("y");
2405
+ var sideX = left;
2406
+ var sideY = top;
2407
+ var win = window;
2408
+ if (adaptive) {
2409
+ var offsetParent = getOffsetParent(popper2);
2410
+ var heightProp = "clientHeight";
2411
+ var widthProp = "clientWidth";
2412
+ if (offsetParent === getWindow(popper2)) {
2413
+ offsetParent = getDocumentElement(popper2);
2414
+ if (getComputedStyle2(offsetParent).position !== "static" && position === "absolute") {
2415
+ heightProp = "scrollHeight";
2416
+ widthProp = "scrollWidth";
2417
+ }
2418
+ }
2419
+ offsetParent = offsetParent;
2420
+ if (placement === top || (placement === left || placement === right) && variation === end) {
2421
+ sideY = bottom;
2422
+ var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : offsetParent[heightProp];
2423
+ y -= offsetY - popperRect.height;
2424
+ y *= gpuAcceleration ? 1 : -1;
2425
+ }
2426
+ if (placement === left || (placement === top || placement === bottom) && variation === end) {
2427
+ sideX = right;
2428
+ var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : offsetParent[widthProp];
2429
+ x -= offsetX - popperRect.width;
2430
+ x *= gpuAcceleration ? 1 : -1;
2431
+ }
2432
+ }
2433
+ var commonStyles = Object.assign({
2434
+ position
2435
+ }, adaptive && unsetSides);
2436
+ var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
2437
+ x,
2438
+ y
2439
+ }) : {
2440
+ x,
2441
+ y
2442
+ };
2443
+ x = _ref4.x;
2444
+ y = _ref4.y;
2445
+ if (gpuAcceleration) {
2446
+ var _Object$assign;
2447
+ return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
2448
+ }
2449
+ return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2));
2450
+ }
2451
+ function computeStyles(_ref5) {
2452
+ var state = _ref5.state, options = _ref5.options;
2453
+ var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
2454
+ if (true) {
2455
+ var transitionProperty = getComputedStyle2(state.elements.popper).transitionProperty || "";
2456
+ if (adaptive && ["transform", "top", "right", "bottom", "left"].some(function(property) {
2457
+ return transitionProperty.indexOf(property) >= 0;
2458
+ })) {
2459
+ console.warn(["Popper: Detected CSS transitions on at least one of the following", 'CSS properties: "transform", "top", "right", "bottom", "left".', "\n\n", 'Disable the "computeStyles" modifier\'s `adaptive` option to allow', "for smooth transitions, or remove these properties from the CSS", "transition declaration on the popper element if only transitioning", "opacity or background-color for example.", "\n\n", "We recommend using the popper element as a wrapper around an inner", "element that can have any CSS property transitioned for animations."].join(" "));
2460
+ }
2461
+ }
2462
+ var commonStyles = {
2463
+ placement: getBasePlacement(state.placement),
2464
+ variation: getVariation(state.placement),
2465
+ popper: state.elements.popper,
2466
+ popperRect: state.rects.popper,
2467
+ gpuAcceleration,
2468
+ isFixed: state.options.strategy === "fixed"
2469
+ };
2470
+ if (state.modifiersData.popperOffsets != null) {
2471
+ state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
2472
+ offsets: state.modifiersData.popperOffsets,
2473
+ position: state.options.strategy,
2474
+ adaptive,
2475
+ roundOffsets
2476
+ })));
2477
+ }
2478
+ if (state.modifiersData.arrow != null) {
2479
+ state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
2480
+ offsets: state.modifiersData.arrow,
2481
+ position: "absolute",
2482
+ adaptive: false,
2483
+ roundOffsets
2484
+ })));
2485
+ }
2486
+ state.attributes.popper = Object.assign({}, state.attributes.popper, {
2487
+ "data-popper-placement": state.placement
2488
+ });
2489
+ }
2490
+ var computeStyles_default = {
2491
+ name: "computeStyles",
2492
+ enabled: true,
2493
+ phase: "beforeWrite",
2494
+ fn: computeStyles,
2495
+ data: {}
2496
+ };
2497
+
2498
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/modifiers/eventListeners.js
2499
+ var passive = {
2500
+ passive: true
2501
+ };
2502
+ function effect3(_ref) {
2503
+ var state = _ref.state, instance = _ref.instance, options = _ref.options;
2504
+ var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize;
2505
+ var window2 = getWindow(state.elements.popper);
2506
+ var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
2507
+ if (scroll) {
2508
+ scrollParents.forEach(function(scrollParent) {
2509
+ scrollParent.addEventListener("scroll", instance.update, passive);
2510
+ });
2511
+ }
2512
+ if (resize) {
2513
+ window2.addEventListener("resize", instance.update, passive);
2514
+ }
2515
+ return function() {
2516
+ if (scroll) {
2517
+ scrollParents.forEach(function(scrollParent) {
2518
+ scrollParent.removeEventListener("scroll", instance.update, passive);
2519
+ });
2520
+ }
2521
+ if (resize) {
2522
+ window2.removeEventListener("resize", instance.update, passive);
2523
+ }
2524
+ };
2525
+ }
2526
+ var eventListeners_default = {
2527
+ name: "eventListeners",
2528
+ enabled: true,
2529
+ phase: "write",
2530
+ fn: function fn() {
2531
+ },
2532
+ effect: effect3,
2533
+ data: {}
2534
+ };
2535
+
2536
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js
2537
+ var hash = {
2538
+ left: "right",
2539
+ right: "left",
2540
+ bottom: "top",
2541
+ top: "bottom"
2542
+ };
2543
+ function getOppositePlacement(placement) {
2544
+ return placement.replace(/left|right|bottom|top/g, function(matched) {
2545
+ return hash[matched];
2546
+ });
2547
+ }
2548
+
2549
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js
2550
+ var hash2 = {
2551
+ start: "end",
2552
+ end: "start"
2553
+ };
2554
+ function getOppositeVariationPlacement(placement) {
2555
+ return placement.replace(/start|end/g, function(matched) {
2556
+ return hash2[matched];
2557
+ });
2558
+ }
2559
+
2560
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js
2561
+ function getWindowScroll(node) {
2562
+ var win = getWindow(node);
2563
+ var scrollLeft = win.pageXOffset;
2564
+ var scrollTop = win.pageYOffset;
2565
+ return {
2566
+ scrollLeft,
2567
+ scrollTop
2568
+ };
2569
+ }
2570
+
2571
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js
2572
+ function getWindowScrollBarX(element) {
2573
+ return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
2044
2574
  }
2045
2575
 
2576
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js
2577
+ function getViewportRect(element) {
2578
+ var win = getWindow(element);
2579
+ var html = getDocumentElement(element);
2580
+ var visualViewport = win.visualViewport;
2581
+ var width = html.clientWidth;
2582
+ var height = html.clientHeight;
2583
+ var x = 0;
2584
+ var y = 0;
2585
+ if (visualViewport) {
2586
+ width = visualViewport.width;
2587
+ height = visualViewport.height;
2588
+ if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
2589
+ x = visualViewport.offsetLeft;
2590
+ y = visualViewport.offsetTop;
2591
+ }
2592
+ }
2593
+ return {
2594
+ width,
2595
+ height,
2596
+ x: x + getWindowScrollBarX(element),
2597
+ y
2598
+ };
2599
+ }
2600
+
2601
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js
2602
+ function getDocumentRect(element) {
2603
+ var _element$ownerDocumen;
2604
+ var html = getDocumentElement(element);
2605
+ var winScroll = getWindowScroll(element);
2606
+ var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
2607
+ var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
2608
+ var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
2609
+ var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
2610
+ var y = -winScroll.scrollTop;
2611
+ if (getComputedStyle2(body || html).direction === "rtl") {
2612
+ x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
2613
+ }
2614
+ return {
2615
+ width,
2616
+ height,
2617
+ x,
2618
+ y
2619
+ };
2620
+ }
2621
+
2622
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js
2623
+ function isScrollParent(element) {
2624
+ var _getComputedStyle = getComputedStyle2(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;
2625
+ return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
2626
+ }
2627
+
2628
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js
2629
+ function getScrollParent(node) {
2630
+ if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) {
2631
+ return node.ownerDocument.body;
2632
+ }
2633
+ if (isHTMLElement(node) && isScrollParent(node)) {
2634
+ return node;
2635
+ }
2636
+ return getScrollParent(getParentNode(node));
2637
+ }
2638
+
2639
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js
2640
+ function listScrollParents(element, list) {
2641
+ var _element$ownerDocumen;
2642
+ if (list === void 0) {
2643
+ list = [];
2644
+ }
2645
+ var scrollParent = getScrollParent(element);
2646
+ var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
2647
+ var win = getWindow(scrollParent);
2648
+ var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
2649
+ var updatedList = list.concat(target);
2650
+ return isBody ? updatedList : updatedList.concat(listScrollParents(getParentNode(target)));
2651
+ }
2652
+
2653
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/rectToClientRect.js
2654
+ function rectToClientRect(rect) {
2655
+ return Object.assign({}, rect, {
2656
+ left: rect.x,
2657
+ top: rect.y,
2658
+ right: rect.x + rect.width,
2659
+ bottom: rect.y + rect.height
2660
+ });
2661
+ }
2662
+
2663
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js
2664
+ function getInnerBoundingClientRect(element) {
2665
+ var rect = getBoundingClientRect(element);
2666
+ rect.top = rect.top + element.clientTop;
2667
+ rect.left = rect.left + element.clientLeft;
2668
+ rect.bottom = rect.top + element.clientHeight;
2669
+ rect.right = rect.left + element.clientWidth;
2670
+ rect.width = element.clientWidth;
2671
+ rect.height = element.clientHeight;
2672
+ rect.x = rect.left;
2673
+ rect.y = rect.top;
2674
+ return rect;
2675
+ }
2676
+ function getClientRectFromMixedType(element, clippingParent) {
2677
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
2678
+ }
2679
+ function getClippingParents(element) {
2680
+ var clippingParents2 = listScrollParents(getParentNode(element));
2681
+ var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle2(element).position) >= 0;
2682
+ var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
2683
+ if (!isElement(clipperElement)) {
2684
+ return [];
2685
+ }
2686
+ return clippingParents2.filter(function(clippingParent) {
2687
+ return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body";
2688
+ });
2689
+ }
2690
+ function getClippingRect(element, boundary, rootBoundary) {
2691
+ var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary);
2692
+ var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]);
2693
+ var firstClippingParent = clippingParents2[0];
2694
+ var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) {
2695
+ var rect = getClientRectFromMixedType(element, clippingParent);
2696
+ accRect.top = max(rect.top, accRect.top);
2697
+ accRect.right = min(rect.right, accRect.right);
2698
+ accRect.bottom = min(rect.bottom, accRect.bottom);
2699
+ accRect.left = max(rect.left, accRect.left);
2700
+ return accRect;
2701
+ }, getClientRectFromMixedType(element, firstClippingParent));
2702
+ clippingRect.width = clippingRect.right - clippingRect.left;
2703
+ clippingRect.height = clippingRect.bottom - clippingRect.top;
2704
+ clippingRect.x = clippingRect.left;
2705
+ clippingRect.y = clippingRect.top;
2706
+ return clippingRect;
2707
+ }
2708
+
2709
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/computeOffsets.js
2710
+ function computeOffsets(_ref) {
2711
+ var reference2 = _ref.reference, element = _ref.element, placement = _ref.placement;
2712
+ var basePlacement = placement ? getBasePlacement(placement) : null;
2713
+ var variation = placement ? getVariation(placement) : null;
2714
+ var commonX = reference2.x + reference2.width / 2 - element.width / 2;
2715
+ var commonY = reference2.y + reference2.height / 2 - element.height / 2;
2716
+ var offsets;
2717
+ switch (basePlacement) {
2718
+ case top:
2719
+ offsets = {
2720
+ x: commonX,
2721
+ y: reference2.y - element.height
2722
+ };
2723
+ break;
2724
+ case bottom:
2725
+ offsets = {
2726
+ x: commonX,
2727
+ y: reference2.y + reference2.height
2728
+ };
2729
+ break;
2730
+ case right:
2731
+ offsets = {
2732
+ x: reference2.x + reference2.width,
2733
+ y: commonY
2734
+ };
2735
+ break;
2736
+ case left:
2737
+ offsets = {
2738
+ x: reference2.x - element.width,
2739
+ y: commonY
2740
+ };
2741
+ break;
2742
+ default:
2743
+ offsets = {
2744
+ x: reference2.x,
2745
+ y: reference2.y
2746
+ };
2747
+ }
2748
+ var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
2749
+ if (mainAxis != null) {
2750
+ var len = mainAxis === "y" ? "height" : "width";
2751
+ switch (variation) {
2752
+ case start:
2753
+ offsets[mainAxis] = offsets[mainAxis] - (reference2[len] / 2 - element[len] / 2);
2754
+ break;
2755
+ case end:
2756
+ offsets[mainAxis] = offsets[mainAxis] + (reference2[len] / 2 - element[len] / 2);
2757
+ break;
2758
+ default:
2759
+ }
2760
+ }
2761
+ return offsets;
2762
+ }
2763
+
2764
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/detectOverflow.js
2765
+ function detectOverflow(state, options) {
2766
+ if (options === void 0) {
2767
+ options = {};
2768
+ }
2769
+ var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding;
2770
+ var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
2771
+ var altContext = elementContext === popper ? reference : popper;
2772
+ var popperRect = state.rects.popper;
2773
+ var element = state.elements[altBoundary ? altContext : elementContext];
2774
+ var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
2775
+ var referenceClientRect = getBoundingClientRect(state.elements.reference);
2776
+ var popperOffsets2 = computeOffsets({
2777
+ reference: referenceClientRect,
2778
+ element: popperRect,
2779
+ strategy: "absolute",
2780
+ placement
2781
+ });
2782
+ var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2));
2783
+ var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect;
2784
+ var overflowOffsets = {
2785
+ top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
2786
+ bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
2787
+ left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
2788
+ right: elementClientRect.right - clippingClientRect.right + paddingObject.right
2789
+ };
2790
+ var offsetData = state.modifiersData.offset;
2791
+ if (elementContext === popper && offsetData) {
2792
+ var offset2 = offsetData[placement];
2793
+ Object.keys(overflowOffsets).forEach(function(key) {
2794
+ var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;
2795
+ var axis = [top, bottom].indexOf(key) >= 0 ? "y" : "x";
2796
+ overflowOffsets[key] += offset2[axis] * multiply;
2797
+ });
2798
+ }
2799
+ return overflowOffsets;
2800
+ }
2801
+
2802
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js
2803
+ function computeAutoPlacement(state, options) {
2804
+ if (options === void 0) {
2805
+ options = {};
2806
+ }
2807
+ var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;
2808
+ var variation = getVariation(placement);
2809
+ var placements2 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) {
2810
+ return getVariation(placement2) === variation;
2811
+ }) : basePlacements;
2812
+ var allowedPlacements = placements2.filter(function(placement2) {
2813
+ return allowedAutoPlacements.indexOf(placement2) >= 0;
2814
+ });
2815
+ if (allowedPlacements.length === 0) {
2816
+ allowedPlacements = placements2;
2817
+ if (true) {
2818
+ console.error(["Popper: The `allowedAutoPlacements` option did not allow any", "placements. Ensure the `placement` option matches the variation", "of the allowed placements.", 'For example, "auto" cannot be used to allow "bottom-start".', 'Use "auto-start" instead.'].join(" "));
2819
+ }
2820
+ }
2821
+ var overflows = allowedPlacements.reduce(function(acc, placement2) {
2822
+ acc[placement2] = detectOverflow(state, {
2823
+ placement: placement2,
2824
+ boundary,
2825
+ rootBoundary,
2826
+ padding
2827
+ })[getBasePlacement(placement2)];
2828
+ return acc;
2829
+ }, {});
2830
+ return Object.keys(overflows).sort(function(a, b) {
2831
+ return overflows[a] - overflows[b];
2832
+ });
2833
+ }
2834
+
2835
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/modifiers/flip.js
2836
+ function getExpandedFallbackPlacements(placement) {
2837
+ if (getBasePlacement(placement) === auto) {
2838
+ return [];
2839
+ }
2840
+ var oppositePlacement = getOppositePlacement(placement);
2841
+ return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
2842
+ }
2843
+ function flip(_ref) {
2844
+ var state = _ref.state, options = _ref.options, name6 = _ref.name;
2845
+ if (state.modifiersData[name6]._skip) {
2846
+ return;
2847
+ }
2848
+ var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements;
2849
+ var preferredPlacement = state.options.placement;
2850
+ var basePlacement = getBasePlacement(preferredPlacement);
2851
+ var isBasePlacement = basePlacement === preferredPlacement;
2852
+ var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
2853
+ var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) {
2854
+ return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, {
2855
+ placement: placement2,
2856
+ boundary,
2857
+ rootBoundary,
2858
+ padding,
2859
+ flipVariations,
2860
+ allowedAutoPlacements
2861
+ }) : placement2);
2862
+ }, []);
2863
+ var referenceRect = state.rects.reference;
2864
+ var popperRect = state.rects.popper;
2865
+ var checksMap = /* @__PURE__ */ new Map();
2866
+ var makeFallbackChecks = true;
2867
+ var firstFittingPlacement = placements2[0];
2868
+ for (var i = 0; i < placements2.length; i++) {
2869
+ var placement = placements2[i];
2870
+ var _basePlacement = getBasePlacement(placement);
2871
+ var isStartVariation = getVariation(placement) === start;
2872
+ var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;
2873
+ var len = isVertical ? "width" : "height";
2874
+ var overflow = detectOverflow(state, {
2875
+ placement,
2876
+ boundary,
2877
+ rootBoundary,
2878
+ altBoundary,
2879
+ padding
2880
+ });
2881
+ var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;
2882
+ if (referenceRect[len] > popperRect[len]) {
2883
+ mainVariationSide = getOppositePlacement(mainVariationSide);
2884
+ }
2885
+ var altVariationSide = getOppositePlacement(mainVariationSide);
2886
+ var checks = [];
2887
+ if (checkMainAxis) {
2888
+ checks.push(overflow[_basePlacement] <= 0);
2889
+ }
2890
+ if (checkAltAxis) {
2891
+ checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
2892
+ }
2893
+ if (checks.every(function(check) {
2894
+ return check;
2895
+ })) {
2896
+ firstFittingPlacement = placement;
2897
+ makeFallbackChecks = false;
2898
+ break;
2899
+ }
2900
+ checksMap.set(placement, checks);
2901
+ }
2902
+ if (makeFallbackChecks) {
2903
+ var numberOfChecks = flipVariations ? 3 : 1;
2904
+ var _loop = function _loop2(_i2) {
2905
+ var fittingPlacement = placements2.find(function(placement2) {
2906
+ var checks2 = checksMap.get(placement2);
2907
+ if (checks2) {
2908
+ return checks2.slice(0, _i2).every(function(check) {
2909
+ return check;
2910
+ });
2911
+ }
2912
+ });
2913
+ if (fittingPlacement) {
2914
+ firstFittingPlacement = fittingPlacement;
2915
+ return "break";
2916
+ }
2917
+ };
2918
+ for (var _i = numberOfChecks; _i > 0; _i--) {
2919
+ var _ret = _loop(_i);
2920
+ if (_ret === "break")
2921
+ break;
2922
+ }
2923
+ }
2924
+ if (state.placement !== firstFittingPlacement) {
2925
+ state.modifiersData[name6]._skip = true;
2926
+ state.placement = firstFittingPlacement;
2927
+ state.reset = true;
2928
+ }
2929
+ }
2930
+ var flip_default = {
2931
+ name: "flip",
2932
+ enabled: true,
2933
+ phase: "main",
2934
+ fn: flip,
2935
+ requiresIfExists: ["offset"],
2936
+ data: {
2937
+ _skip: false
2938
+ }
2939
+ };
2940
+
2941
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/modifiers/hide.js
2942
+ function getSideOffsets(overflow, rect, preventedOffsets) {
2943
+ if (preventedOffsets === void 0) {
2944
+ preventedOffsets = {
2945
+ x: 0,
2946
+ y: 0
2947
+ };
2948
+ }
2949
+ return {
2950
+ top: overflow.top - rect.height - preventedOffsets.y,
2951
+ right: overflow.right - rect.width + preventedOffsets.x,
2952
+ bottom: overflow.bottom - rect.height + preventedOffsets.y,
2953
+ left: overflow.left - rect.width - preventedOffsets.x
2954
+ };
2955
+ }
2956
+ function isAnySideFullyClipped(overflow) {
2957
+ return [top, right, bottom, left].some(function(side) {
2958
+ return overflow[side] >= 0;
2959
+ });
2960
+ }
2961
+ function hide(_ref) {
2962
+ var state = _ref.state, name6 = _ref.name;
2963
+ var referenceRect = state.rects.reference;
2964
+ var popperRect = state.rects.popper;
2965
+ var preventedOffsets = state.modifiersData.preventOverflow;
2966
+ var referenceOverflow = detectOverflow(state, {
2967
+ elementContext: "reference"
2968
+ });
2969
+ var popperAltOverflow = detectOverflow(state, {
2970
+ altBoundary: true
2971
+ });
2972
+ var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
2973
+ var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
2974
+ var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
2975
+ var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
2976
+ state.modifiersData[name6] = {
2977
+ referenceClippingOffsets,
2978
+ popperEscapeOffsets,
2979
+ isReferenceHidden,
2980
+ hasPopperEscaped
2981
+ };
2982
+ state.attributes.popper = Object.assign({}, state.attributes.popper, {
2983
+ "data-popper-reference-hidden": isReferenceHidden,
2984
+ "data-popper-escaped": hasPopperEscaped
2985
+ });
2986
+ }
2987
+ var hide_default = {
2988
+ name: "hide",
2989
+ enabled: true,
2990
+ phase: "main",
2991
+ requiresIfExists: ["preventOverflow"],
2992
+ fn: hide
2993
+ };
2994
+
2995
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/modifiers/offset.js
2996
+ function distanceAndSkiddingToXY(placement, rects, offset2) {
2997
+ var basePlacement = getBasePlacement(placement);
2998
+ var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
2999
+ var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, {
3000
+ placement
3001
+ })) : offset2, skidding = _ref[0], distance = _ref[1];
3002
+ skidding = skidding || 0;
3003
+ distance = (distance || 0) * invertDistance;
3004
+ return [left, right].indexOf(basePlacement) >= 0 ? {
3005
+ x: distance,
3006
+ y: skidding
3007
+ } : {
3008
+ x: skidding,
3009
+ y: distance
3010
+ };
3011
+ }
3012
+ function offset(_ref2) {
3013
+ var state = _ref2.state, options = _ref2.options, name6 = _ref2.name;
3014
+ var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset;
3015
+ var data = placements.reduce(function(acc, placement) {
3016
+ acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2);
3017
+ return acc;
3018
+ }, {});
3019
+ var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y;
3020
+ if (state.modifiersData.popperOffsets != null) {
3021
+ state.modifiersData.popperOffsets.x += x;
3022
+ state.modifiersData.popperOffsets.y += y;
3023
+ }
3024
+ state.modifiersData[name6] = data;
3025
+ }
3026
+ var offset_default = {
3027
+ name: "offset",
3028
+ enabled: true,
3029
+ phase: "main",
3030
+ requires: ["popperOffsets"],
3031
+ fn: offset
3032
+ };
3033
+
3034
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js
3035
+ function popperOffsets(_ref) {
3036
+ var state = _ref.state, name6 = _ref.name;
3037
+ state.modifiersData[name6] = computeOffsets({
3038
+ reference: state.rects.reference,
3039
+ element: state.rects.popper,
3040
+ strategy: "absolute",
3041
+ placement: state.placement
3042
+ });
3043
+ }
3044
+ var popperOffsets_default = {
3045
+ name: "popperOffsets",
3046
+ enabled: true,
3047
+ phase: "read",
3048
+ fn: popperOffsets,
3049
+ data: {}
3050
+ };
3051
+
3052
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/getAltAxis.js
3053
+ function getAltAxis(axis) {
3054
+ return axis === "x" ? "y" : "x";
3055
+ }
3056
+
3057
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js
3058
+ function preventOverflow(_ref) {
3059
+ var state = _ref.state, options = _ref.options, name6 = _ref.name;
3060
+ var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
3061
+ var overflow = detectOverflow(state, {
3062
+ boundary,
3063
+ rootBoundary,
3064
+ padding,
3065
+ altBoundary
3066
+ });
3067
+ var basePlacement = getBasePlacement(state.placement);
3068
+ var variation = getVariation(state.placement);
3069
+ var isBasePlacement = !variation;
3070
+ var mainAxis = getMainAxisFromPlacement(basePlacement);
3071
+ var altAxis = getAltAxis(mainAxis);
3072
+ var popperOffsets2 = state.modifiersData.popperOffsets;
3073
+ var referenceRect = state.rects.reference;
3074
+ var popperRect = state.rects.popper;
3075
+ var tetherOffsetValue = typeof tetherOffset === "function" ? tetherOffset(Object.assign({}, state.rects, {
3076
+ placement: state.placement
3077
+ })) : tetherOffset;
3078
+ var normalizedTetherOffsetValue = typeof tetherOffsetValue === "number" ? {
3079
+ mainAxis: tetherOffsetValue,
3080
+ altAxis: tetherOffsetValue
3081
+ } : Object.assign({
3082
+ mainAxis: 0,
3083
+ altAxis: 0
3084
+ }, tetherOffsetValue);
3085
+ var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
3086
+ var data = {
3087
+ x: 0,
3088
+ y: 0
3089
+ };
3090
+ if (!popperOffsets2) {
3091
+ return;
3092
+ }
3093
+ if (checkMainAxis) {
3094
+ var _offsetModifierState$;
3095
+ var mainSide = mainAxis === "y" ? top : left;
3096
+ var altSide = mainAxis === "y" ? bottom : right;
3097
+ var len = mainAxis === "y" ? "height" : "width";
3098
+ var offset2 = popperOffsets2[mainAxis];
3099
+ var min2 = offset2 + overflow[mainSide];
3100
+ var max2 = offset2 - overflow[altSide];
3101
+ var additive = tether ? -popperRect[len] / 2 : 0;
3102
+ var minLen = variation === start ? referenceRect[len] : popperRect[len];
3103
+ var maxLen = variation === start ? -popperRect[len] : -referenceRect[len];
3104
+ var arrowElement = state.elements.arrow;
3105
+ var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {
3106
+ width: 0,
3107
+ height: 0
3108
+ };
3109
+ var arrowPaddingObject = state.modifiersData["arrow#persistent"] ? state.modifiersData["arrow#persistent"].padding : getFreshSideObject();
3110
+ var arrowPaddingMin = arrowPaddingObject[mainSide];
3111
+ var arrowPaddingMax = arrowPaddingObject[altSide];
3112
+ var arrowLen = within(0, referenceRect[len], arrowRect[len]);
3113
+ var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
3114
+ var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
3115
+ var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
3116
+ var clientOffset = arrowOffsetParent ? mainAxis === "y" ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
3117
+ var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
3118
+ var tetherMin = offset2 + minOffset - offsetModifierValue - clientOffset;
3119
+ var tetherMax = offset2 + maxOffset - offsetModifierValue;
3120
+ var preventedOffset = within(tether ? min(min2, tetherMin) : min2, offset2, tether ? max(max2, tetherMax) : max2);
3121
+ popperOffsets2[mainAxis] = preventedOffset;
3122
+ data[mainAxis] = preventedOffset - offset2;
3123
+ }
3124
+ if (checkAltAxis) {
3125
+ var _offsetModifierState$2;
3126
+ var _mainSide = mainAxis === "x" ? top : left;
3127
+ var _altSide = mainAxis === "x" ? bottom : right;
3128
+ var _offset = popperOffsets2[altAxis];
3129
+ var _len = altAxis === "y" ? "height" : "width";
3130
+ var _min = _offset + overflow[_mainSide];
3131
+ var _max = _offset - overflow[_altSide];
3132
+ var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
3133
+ var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
3134
+ var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
3135
+ var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
3136
+ var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
3137
+ popperOffsets2[altAxis] = _preventedOffset;
3138
+ data[altAxis] = _preventedOffset - _offset;
3139
+ }
3140
+ state.modifiersData[name6] = data;
3141
+ }
3142
+ var preventOverflow_default = {
3143
+ name: "preventOverflow",
3144
+ enabled: true,
3145
+ phase: "main",
3146
+ fn: preventOverflow,
3147
+ requiresIfExists: ["offset"]
3148
+ };
3149
+
3150
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js
3151
+ function getHTMLElementScroll(element) {
3152
+ return {
3153
+ scrollLeft: element.scrollLeft,
3154
+ scrollTop: element.scrollTop
3155
+ };
3156
+ }
3157
+
3158
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js
3159
+ function getNodeScroll(node) {
3160
+ if (node === getWindow(node) || !isHTMLElement(node)) {
3161
+ return getWindowScroll(node);
3162
+ } else {
3163
+ return getHTMLElementScroll(node);
3164
+ }
3165
+ }
3166
+
3167
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js
3168
+ function isElementScaled(element) {
3169
+ var rect = element.getBoundingClientRect();
3170
+ var scaleX = round(rect.width) / element.offsetWidth || 1;
3171
+ var scaleY = round(rect.height) / element.offsetHeight || 1;
3172
+ return scaleX !== 1 || scaleY !== 1;
3173
+ }
3174
+ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
3175
+ if (isFixed === void 0) {
3176
+ isFixed = false;
3177
+ }
3178
+ var isOffsetParentAnElement = isHTMLElement(offsetParent);
3179
+ var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
3180
+ var documentElement = getDocumentElement(offsetParent);
3181
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
3182
+ var scroll = {
3183
+ scrollLeft: 0,
3184
+ scrollTop: 0
3185
+ };
3186
+ var offsets = {
3187
+ x: 0,
3188
+ y: 0
3189
+ };
3190
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
3191
+ if (getNodeName(offsetParent) !== "body" || isScrollParent(documentElement)) {
3192
+ scroll = getNodeScroll(offsetParent);
3193
+ }
3194
+ if (isHTMLElement(offsetParent)) {
3195
+ offsets = getBoundingClientRect(offsetParent, true);
3196
+ offsets.x += offsetParent.clientLeft;
3197
+ offsets.y += offsetParent.clientTop;
3198
+ } else if (documentElement) {
3199
+ offsets.x = getWindowScrollBarX(documentElement);
3200
+ }
3201
+ }
3202
+ return {
3203
+ x: rect.left + scroll.scrollLeft - offsets.x,
3204
+ y: rect.top + scroll.scrollTop - offsets.y,
3205
+ width: rect.width,
3206
+ height: rect.height
3207
+ };
3208
+ }
3209
+
3210
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/orderModifiers.js
3211
+ function order(modifiers) {
3212
+ var map = /* @__PURE__ */ new Map();
3213
+ var visited = /* @__PURE__ */ new Set();
3214
+ var result = [];
3215
+ modifiers.forEach(function(modifier) {
3216
+ map.set(modifier.name, modifier);
3217
+ });
3218
+ function sort(modifier) {
3219
+ visited.add(modifier.name);
3220
+ var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
3221
+ requires.forEach(function(dep) {
3222
+ if (!visited.has(dep)) {
3223
+ var depModifier = map.get(dep);
3224
+ if (depModifier) {
3225
+ sort(depModifier);
3226
+ }
3227
+ }
3228
+ });
3229
+ result.push(modifier);
3230
+ }
3231
+ modifiers.forEach(function(modifier) {
3232
+ if (!visited.has(modifier.name)) {
3233
+ sort(modifier);
3234
+ }
3235
+ });
3236
+ return result;
3237
+ }
3238
+ function orderModifiers(modifiers) {
3239
+ var orderedModifiers = order(modifiers);
3240
+ return modifierPhases.reduce(function(acc, phase) {
3241
+ return acc.concat(orderedModifiers.filter(function(modifier) {
3242
+ return modifier.phase === phase;
3243
+ }));
3244
+ }, []);
3245
+ }
3246
+
3247
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/debounce.js
3248
+ function debounce(fn2) {
3249
+ var pending;
3250
+ return function() {
3251
+ if (!pending) {
3252
+ pending = new Promise(function(resolve) {
3253
+ Promise.resolve().then(function() {
3254
+ pending = void 0;
3255
+ resolve(fn2());
3256
+ });
3257
+ });
3258
+ }
3259
+ return pending;
3260
+ };
3261
+ }
3262
+
3263
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/format.js
3264
+ function format(str) {
3265
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
3266
+ args[_key - 1] = arguments[_key];
3267
+ }
3268
+ return [].concat(args).reduce(function(p, c) {
3269
+ return p.replace(/%s/, c);
3270
+ }, str);
3271
+ }
3272
+
3273
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/validateModifiers.js
3274
+ var INVALID_MODIFIER_ERROR = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s';
3275
+ var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available';
3276
+ var VALID_PROPERTIES = ["name", "enabled", "phase", "fn", "effect", "requires", "options"];
3277
+ function validateModifiers(modifiers) {
3278
+ modifiers.forEach(function(modifier) {
3279
+ [].concat(Object.keys(modifier), VALID_PROPERTIES).filter(function(value, index, self) {
3280
+ return self.indexOf(value) === index;
3281
+ }).forEach(function(key) {
3282
+ switch (key) {
3283
+ case "name":
3284
+ if (typeof modifier.name !== "string") {
3285
+ console.error(format(INVALID_MODIFIER_ERROR, String(modifier.name), '"name"', '"string"', '"' + String(modifier.name) + '"'));
3286
+ }
3287
+ break;
3288
+ case "enabled":
3289
+ if (typeof modifier.enabled !== "boolean") {
3290
+ console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', '"' + String(modifier.enabled) + '"'));
3291
+ }
3292
+ break;
3293
+ case "phase":
3294
+ if (modifierPhases.indexOf(modifier.phase) < 0) {
3295
+ console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"phase"', "either " + modifierPhases.join(", "), '"' + String(modifier.phase) + '"'));
3296
+ }
3297
+ break;
3298
+ case "fn":
3299
+ if (typeof modifier.fn !== "function") {
3300
+ console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"fn"', '"function"', '"' + String(modifier.fn) + '"'));
3301
+ }
3302
+ break;
3303
+ case "effect":
3304
+ if (modifier.effect != null && typeof modifier.effect !== "function") {
3305
+ console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', '"' + String(modifier.fn) + '"'));
3306
+ }
3307
+ break;
3308
+ case "requires":
3309
+ if (modifier.requires != null && !Array.isArray(modifier.requires)) {
3310
+ console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', '"' + String(modifier.requires) + '"'));
3311
+ }
3312
+ break;
3313
+ case "requiresIfExists":
3314
+ if (!Array.isArray(modifier.requiresIfExists)) {
3315
+ console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requiresIfExists"', '"array"', '"' + String(modifier.requiresIfExists) + '"'));
3316
+ }
3317
+ break;
3318
+ case "options":
3319
+ case "data":
3320
+ break;
3321
+ default:
3322
+ console.error('PopperJS: an invalid property has been provided to the "' + modifier.name + '" modifier, valid properties are ' + VALID_PROPERTIES.map(function(s) {
3323
+ return '"' + s + '"';
3324
+ }).join(", ") + '; but "' + key + '" was provided.');
3325
+ }
3326
+ modifier.requires && modifier.requires.forEach(function(requirement) {
3327
+ if (modifiers.find(function(mod) {
3328
+ return mod.name === requirement;
3329
+ }) == null) {
3330
+ console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));
3331
+ }
3332
+ });
3333
+ });
3334
+ });
3335
+ }
3336
+
3337
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/uniqueBy.js
3338
+ function uniqueBy(arr, fn2) {
3339
+ var identifiers = /* @__PURE__ */ new Set();
3340
+ return arr.filter(function(item) {
3341
+ var identifier = fn2(item);
3342
+ if (!identifiers.has(identifier)) {
3343
+ identifiers.add(identifier);
3344
+ return true;
3345
+ }
3346
+ });
3347
+ }
3348
+
3349
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/utils/mergeByName.js
3350
+ function mergeByName(modifiers) {
3351
+ var merged = modifiers.reduce(function(merged2, current) {
3352
+ var existing = merged2[current.name];
3353
+ merged2[current.name] = existing ? Object.assign({}, existing, current, {
3354
+ options: Object.assign({}, existing.options, current.options),
3355
+ data: Object.assign({}, existing.data, current.data)
3356
+ }) : current;
3357
+ return merged2;
3358
+ }, {});
3359
+ return Object.keys(merged).map(function(key) {
3360
+ return merged[key];
3361
+ });
3362
+ }
3363
+
3364
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/createPopper.js
3365
+ var INVALID_ELEMENT_ERROR = "Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.";
3366
+ var INFINITE_LOOP_ERROR = "Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.";
3367
+ var DEFAULT_OPTIONS = {
3368
+ placement: "bottom",
3369
+ modifiers: [],
3370
+ strategy: "absolute"
3371
+ };
3372
+ function areValidElements() {
3373
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3374
+ args[_key] = arguments[_key];
3375
+ }
3376
+ return !args.some(function(element) {
3377
+ return !(element && typeof element.getBoundingClientRect === "function");
3378
+ });
3379
+ }
3380
+ function popperGenerator(generatorOptions) {
3381
+ if (generatorOptions === void 0) {
3382
+ generatorOptions = {};
3383
+ }
3384
+ var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
3385
+ return function createPopper2(reference2, popper2, options) {
3386
+ if (options === void 0) {
3387
+ options = defaultOptions;
3388
+ }
3389
+ var state = {
3390
+ placement: "bottom",
3391
+ orderedModifiers: [],
3392
+ options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
3393
+ modifiersData: {},
3394
+ elements: {
3395
+ reference: reference2,
3396
+ popper: popper2
3397
+ },
3398
+ attributes: {},
3399
+ styles: {}
3400
+ };
3401
+ var effectCleanupFns = [];
3402
+ var isDestroyed = false;
3403
+ var instance = {
3404
+ state,
3405
+ setOptions: function setOptions(setOptionsAction) {
3406
+ var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction;
3407
+ cleanupModifierEffects();
3408
+ state.options = Object.assign({}, defaultOptions, state.options, options2);
3409
+ state.scrollParents = {
3410
+ reference: isElement(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [],
3411
+ popper: listScrollParents(popper2)
3412
+ };
3413
+ var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers)));
3414
+ state.orderedModifiers = orderedModifiers.filter(function(m) {
3415
+ return m.enabled;
3416
+ });
3417
+ if (true) {
3418
+ var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function(_ref) {
3419
+ var name6 = _ref.name;
3420
+ return name6;
3421
+ });
3422
+ validateModifiers(modifiers);
3423
+ if (getBasePlacement(state.options.placement) === auto) {
3424
+ var flipModifier = state.orderedModifiers.find(function(_ref2) {
3425
+ var name6 = _ref2.name;
3426
+ return name6 === "flip";
3427
+ });
3428
+ if (!flipModifier) {
3429
+ console.error(['Popper: "auto" placements require the "flip" modifier be', "present and enabled to work."].join(" "));
3430
+ }
3431
+ }
3432
+ var _getComputedStyle = getComputedStyle2(popper2), marginTop = _getComputedStyle.marginTop, marginRight = _getComputedStyle.marginRight, marginBottom = _getComputedStyle.marginBottom, marginLeft = _getComputedStyle.marginLeft;
3433
+ if ([marginTop, marginRight, marginBottom, marginLeft].some(function(margin) {
3434
+ return parseFloat(margin);
3435
+ })) {
3436
+ console.warn(['Popper: CSS "margin" styles cannot be used to apply padding', "between the popper and its reference element or boundary.", "To replicate margin, use the `offset` modifier, as well as", "the `padding` option in the `preventOverflow` and `flip`", "modifiers."].join(" "));
3437
+ }
3438
+ }
3439
+ runModifierEffects();
3440
+ return instance.update();
3441
+ },
3442
+ forceUpdate: function forceUpdate() {
3443
+ if (isDestroyed) {
3444
+ return;
3445
+ }
3446
+ var _state$elements = state.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper;
3447
+ if (!areValidElements(reference3, popper3)) {
3448
+ if (true) {
3449
+ console.error(INVALID_ELEMENT_ERROR);
3450
+ }
3451
+ return;
3452
+ }
3453
+ state.rects = {
3454
+ reference: getCompositeRect(reference3, getOffsetParent(popper3), state.options.strategy === "fixed"),
3455
+ popper: getLayoutRect(popper3)
3456
+ };
3457
+ state.reset = false;
3458
+ state.placement = state.options.placement;
3459
+ state.orderedModifiers.forEach(function(modifier) {
3460
+ return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
3461
+ });
3462
+ var __debug_loops__ = 0;
3463
+ for (var index = 0; index < state.orderedModifiers.length; index++) {
3464
+ if (true) {
3465
+ __debug_loops__ += 1;
3466
+ if (__debug_loops__ > 100) {
3467
+ console.error(INFINITE_LOOP_ERROR);
3468
+ break;
3469
+ }
3470
+ }
3471
+ if (state.reset === true) {
3472
+ state.reset = false;
3473
+ index = -1;
3474
+ continue;
3475
+ }
3476
+ var _state$orderedModifie = state.orderedModifiers[index], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name6 = _state$orderedModifie.name;
3477
+ if (typeof fn2 === "function") {
3478
+ state = fn2({
3479
+ state,
3480
+ options: _options,
3481
+ name: name6,
3482
+ instance
3483
+ }) || state;
3484
+ }
3485
+ }
3486
+ },
3487
+ update: debounce(function() {
3488
+ return new Promise(function(resolve) {
3489
+ instance.forceUpdate();
3490
+ resolve(state);
3491
+ });
3492
+ }),
3493
+ destroy: function destroy() {
3494
+ cleanupModifierEffects();
3495
+ isDestroyed = true;
3496
+ }
3497
+ };
3498
+ if (!areValidElements(reference2, popper2)) {
3499
+ if (true) {
3500
+ console.error(INVALID_ELEMENT_ERROR);
3501
+ }
3502
+ return instance;
3503
+ }
3504
+ instance.setOptions(options).then(function(state2) {
3505
+ if (!isDestroyed && options.onFirstUpdate) {
3506
+ options.onFirstUpdate(state2);
3507
+ }
3508
+ });
3509
+ function runModifierEffects() {
3510
+ state.orderedModifiers.forEach(function(_ref3) {
3511
+ var name6 = _ref3.name, _ref3$options = _ref3.options, options2 = _ref3$options === void 0 ? {} : _ref3$options, effect5 = _ref3.effect;
3512
+ if (typeof effect5 === "function") {
3513
+ var cleanupFn = effect5({
3514
+ state,
3515
+ name: name6,
3516
+ instance,
3517
+ options: options2
3518
+ });
3519
+ var noopFn = function noopFn2() {
3520
+ };
3521
+ effectCleanupFns.push(cleanupFn || noopFn);
3522
+ }
3523
+ });
3524
+ }
3525
+ function cleanupModifierEffects() {
3526
+ effectCleanupFns.forEach(function(fn2) {
3527
+ return fn2();
3528
+ });
3529
+ effectCleanupFns = [];
3530
+ }
3531
+ return instance;
3532
+ };
3533
+ }
3534
+
3535
+ // ../../node_modules/.pnpm/@popperjs+core@2.11.2/node_modules/@popperjs/core/lib/popper.js
3536
+ var defaultModifiers = [eventListeners_default, popperOffsets_default, computeStyles_default, applyStyles_default, offset_default, flip_default, preventOverflow_default, arrow_default, hide_default];
3537
+ var createPopper = /* @__PURE__ */ popperGenerator({
3538
+ defaultModifiers
3539
+ });
3540
+
3541
+ // ../../node_modules/.pnpm/tippy.js@6.3.7/node_modules/tippy.js/dist/tippy.esm.js
3542
+ var BOX_CLASS = "tippy-box";
3543
+ var CONTENT_CLASS = "tippy-content";
3544
+ var BACKDROP_CLASS = "tippy-backdrop";
3545
+ var ARROW_CLASS = "tippy-arrow";
3546
+ var SVG_ARROW_CLASS = "tippy-svg-arrow";
3547
+ var TOUCH_OPTIONS = {
3548
+ passive: true,
3549
+ capture: true
3550
+ };
3551
+ var TIPPY_DEFAULT_APPEND_TO = function TIPPY_DEFAULT_APPEND_TO2() {
3552
+ return document.body;
3553
+ };
3554
+ function hasOwnProperty(obj, key) {
3555
+ return {}.hasOwnProperty.call(obj, key);
3556
+ }
3557
+ function getValueAtIndexOrReturn(value, index, defaultValue) {
3558
+ if (Array.isArray(value)) {
3559
+ var v = value[index];
3560
+ return v == null ? Array.isArray(defaultValue) ? defaultValue[index] : defaultValue : v;
3561
+ }
3562
+ return value;
3563
+ }
3564
+ function isType(value, type) {
3565
+ var str = {}.toString.call(value);
3566
+ return str.indexOf("[object") === 0 && str.indexOf(type + "]") > -1;
3567
+ }
3568
+ function invokeWithArgsOrReturn(value, args) {
3569
+ return typeof value === "function" ? value.apply(void 0, args) : value;
3570
+ }
3571
+ function debounce2(fn2, ms) {
3572
+ if (ms === 0) {
3573
+ return fn2;
3574
+ }
3575
+ var timeout;
3576
+ return function(arg) {
3577
+ clearTimeout(timeout);
3578
+ timeout = setTimeout(function() {
3579
+ fn2(arg);
3580
+ }, ms);
3581
+ };
3582
+ }
3583
+ function removeProperties(obj, keys) {
3584
+ var clone = Object.assign({}, obj);
3585
+ keys.forEach(function(key) {
3586
+ delete clone[key];
3587
+ });
3588
+ return clone;
3589
+ }
3590
+ function splitBySpaces(value) {
3591
+ return value.split(/\s+/).filter(Boolean);
3592
+ }
3593
+ function normalizeToArray(value) {
3594
+ return [].concat(value);
3595
+ }
3596
+ function pushIfUnique(arr, value) {
3597
+ if (arr.indexOf(value) === -1) {
3598
+ arr.push(value);
3599
+ }
3600
+ }
3601
+ function unique(arr) {
3602
+ return arr.filter(function(item, index) {
3603
+ return arr.indexOf(item) === index;
3604
+ });
3605
+ }
3606
+ function getBasePlacement2(placement) {
3607
+ return placement.split("-")[0];
3608
+ }
3609
+ function arrayFrom(value) {
3610
+ return [].slice.call(value);
3611
+ }
3612
+ function removeUndefinedProps(obj) {
3613
+ return Object.keys(obj).reduce(function(acc, key) {
3614
+ if (obj[key] !== void 0) {
3615
+ acc[key] = obj[key];
3616
+ }
3617
+ return acc;
3618
+ }, {});
3619
+ }
3620
+ function div() {
3621
+ return document.createElement("div");
3622
+ }
3623
+ function isElement2(value) {
3624
+ return ["Element", "Fragment"].some(function(type) {
3625
+ return isType(value, type);
3626
+ });
3627
+ }
3628
+ function isNodeList(value) {
3629
+ return isType(value, "NodeList");
3630
+ }
3631
+ function isMouseEvent(value) {
3632
+ return isType(value, "MouseEvent");
3633
+ }
3634
+ function isReferenceElement(value) {
3635
+ return !!(value && value._tippy && value._tippy.reference === value);
3636
+ }
3637
+ function getArrayOfElements(value) {
3638
+ if (isElement2(value)) {
3639
+ return [value];
3640
+ }
3641
+ if (isNodeList(value)) {
3642
+ return arrayFrom(value);
3643
+ }
3644
+ if (Array.isArray(value)) {
3645
+ return value;
3646
+ }
3647
+ return arrayFrom(document.querySelectorAll(value));
3648
+ }
3649
+ function setTransitionDuration(els, value) {
3650
+ els.forEach(function(el) {
3651
+ if (el) {
3652
+ el.style.transitionDuration = value + "ms";
3653
+ }
3654
+ });
3655
+ }
3656
+ function setVisibilityState(els, state) {
3657
+ els.forEach(function(el) {
3658
+ if (el) {
3659
+ el.setAttribute("data-state", state);
3660
+ }
3661
+ });
3662
+ }
3663
+ function getOwnerDocument(elementOrElements) {
3664
+ var _element$ownerDocumen;
3665
+ var _normalizeToArray = normalizeToArray(elementOrElements), element = _normalizeToArray[0];
3666
+ return element != null && (_element$ownerDocumen = element.ownerDocument) != null && _element$ownerDocumen.body ? element.ownerDocument : document;
3667
+ }
3668
+ function isCursorOutsideInteractiveBorder(popperTreeData, event) {
3669
+ var clientX = event.clientX, clientY = event.clientY;
3670
+ return popperTreeData.every(function(_ref) {
3671
+ var popperRect = _ref.popperRect, popperState = _ref.popperState, props = _ref.props;
3672
+ var interactiveBorder = props.interactiveBorder;
3673
+ var basePlacement = getBasePlacement2(popperState.placement);
3674
+ var offsetData = popperState.modifiersData.offset;
3675
+ if (!offsetData) {
3676
+ return true;
3677
+ }
3678
+ var topDistance = basePlacement === "bottom" ? offsetData.top.y : 0;
3679
+ var bottomDistance = basePlacement === "top" ? offsetData.bottom.y : 0;
3680
+ var leftDistance = basePlacement === "right" ? offsetData.left.x : 0;
3681
+ var rightDistance = basePlacement === "left" ? offsetData.right.x : 0;
3682
+ var exceedsTop = popperRect.top - clientY + topDistance > interactiveBorder;
3683
+ var exceedsBottom = clientY - popperRect.bottom - bottomDistance > interactiveBorder;
3684
+ var exceedsLeft = popperRect.left - clientX + leftDistance > interactiveBorder;
3685
+ var exceedsRight = clientX - popperRect.right - rightDistance > interactiveBorder;
3686
+ return exceedsTop || exceedsBottom || exceedsLeft || exceedsRight;
3687
+ });
3688
+ }
3689
+ function updateTransitionEndListener(box, action, listener) {
3690
+ var method = action + "EventListener";
3691
+ ["transitionend", "webkitTransitionEnd"].forEach(function(event) {
3692
+ box[method](event, listener);
3693
+ });
3694
+ }
3695
+ function actualContains(parent, child) {
3696
+ var target = child;
3697
+ while (target) {
3698
+ var _target$getRootNode;
3699
+ if (parent.contains(target)) {
3700
+ return true;
3701
+ }
3702
+ target = target.getRootNode == null ? void 0 : (_target$getRootNode = target.getRootNode()) == null ? void 0 : _target$getRootNode.host;
3703
+ }
3704
+ return false;
3705
+ }
3706
+ var currentInput = {
3707
+ isTouch: false
3708
+ };
3709
+ var lastMouseMoveTime = 0;
3710
+ function onDocumentTouchStart() {
3711
+ if (currentInput.isTouch) {
3712
+ return;
3713
+ }
3714
+ currentInput.isTouch = true;
3715
+ if (window.performance) {
3716
+ document.addEventListener("mousemove", onDocumentMouseMove);
3717
+ }
3718
+ }
3719
+ function onDocumentMouseMove() {
3720
+ var now = performance.now();
3721
+ if (now - lastMouseMoveTime < 20) {
3722
+ currentInput.isTouch = false;
3723
+ document.removeEventListener("mousemove", onDocumentMouseMove);
3724
+ }
3725
+ lastMouseMoveTime = now;
3726
+ }
3727
+ function onWindowBlur() {
3728
+ var activeElement = document.activeElement;
3729
+ if (isReferenceElement(activeElement)) {
3730
+ var instance = activeElement._tippy;
3731
+ if (activeElement.blur && !instance.state.isVisible) {
3732
+ activeElement.blur();
3733
+ }
3734
+ }
3735
+ }
3736
+ function bindGlobalEventListeners() {
3737
+ document.addEventListener("touchstart", onDocumentTouchStart, TOUCH_OPTIONS);
3738
+ window.addEventListener("blur", onWindowBlur);
3739
+ }
3740
+ var isBrowser = typeof window !== "undefined" && typeof document !== "undefined";
3741
+ var isIE11 = isBrowser ? !!window.msCrypto : false;
3742
+ function createMemoryLeakWarning(method) {
3743
+ var txt = method === "destroy" ? "n already-" : " ";
3744
+ return [method + "() was called on a" + txt + "destroyed instance. This is a no-op but", "indicates a potential memory leak."].join(" ");
3745
+ }
3746
+ function clean(value) {
3747
+ var spacesAndTabs = /[ \t]{2,}/g;
3748
+ var lineStartWithSpaces = /^[ \t]*/gm;
3749
+ return value.replace(spacesAndTabs, " ").replace(lineStartWithSpaces, "").trim();
3750
+ }
3751
+ function getDevMessage(message) {
3752
+ return clean("\n %ctippy.js\n\n %c" + clean(message) + "\n\n %c\u{1F477}\u200D This is a development-only message. It will be removed in production.\n ");
3753
+ }
3754
+ function getFormattedMessage(message) {
3755
+ return [
3756
+ getDevMessage(message),
3757
+ "color: #00C584; font-size: 1.3em; font-weight: bold;",
3758
+ "line-height: 1.5",
3759
+ "color: #a6a095;"
3760
+ ];
3761
+ }
3762
+ var visitedMessages;
3763
+ if (true) {
3764
+ resetVisitedMessages();
3765
+ }
3766
+ function resetVisitedMessages() {
3767
+ visitedMessages = /* @__PURE__ */ new Set();
3768
+ }
3769
+ function warnWhen(condition, message) {
3770
+ if (condition && !visitedMessages.has(message)) {
3771
+ var _console;
3772
+ visitedMessages.add(message);
3773
+ (_console = console).warn.apply(_console, getFormattedMessage(message));
3774
+ }
3775
+ }
3776
+ function errorWhen(condition, message) {
3777
+ if (condition && !visitedMessages.has(message)) {
3778
+ var _console2;
3779
+ visitedMessages.add(message);
3780
+ (_console2 = console).error.apply(_console2, getFormattedMessage(message));
3781
+ }
3782
+ }
3783
+ function validateTargets(targets) {
3784
+ var didPassFalsyValue = !targets;
3785
+ var didPassPlainObject = Object.prototype.toString.call(targets) === "[object Object]" && !targets.addEventListener;
3786
+ errorWhen(didPassFalsyValue, ["tippy() was passed", "`" + String(targets) + "`", "as its targets (first) argument. Valid types are: String, Element,", "Element[], or NodeList."].join(" "));
3787
+ errorWhen(didPassPlainObject, ["tippy() was passed a plain object which is not supported as an argument", "for virtual positioning. Use props.getReferenceClientRect instead."].join(" "));
3788
+ }
3789
+ var pluginProps = {
3790
+ animateFill: false,
3791
+ followCursor: false,
3792
+ inlinePositioning: false,
3793
+ sticky: false
3794
+ };
3795
+ var renderProps = {
3796
+ allowHTML: false,
3797
+ animation: "fade",
3798
+ arrow: true,
3799
+ content: "",
3800
+ inertia: false,
3801
+ maxWidth: 350,
3802
+ role: "tooltip",
3803
+ theme: "",
3804
+ zIndex: 9999
3805
+ };
3806
+ var defaultProps = Object.assign({
3807
+ appendTo: TIPPY_DEFAULT_APPEND_TO,
3808
+ aria: {
3809
+ content: "auto",
3810
+ expanded: "auto"
3811
+ },
3812
+ delay: 0,
3813
+ duration: [300, 250],
3814
+ getReferenceClientRect: null,
3815
+ hideOnClick: true,
3816
+ ignoreAttributes: false,
3817
+ interactive: false,
3818
+ interactiveBorder: 2,
3819
+ interactiveDebounce: 0,
3820
+ moveTransition: "",
3821
+ offset: [0, 10],
3822
+ onAfterUpdate: function onAfterUpdate() {
3823
+ },
3824
+ onBeforeUpdate: function onBeforeUpdate() {
3825
+ },
3826
+ onCreate: function onCreate() {
3827
+ },
3828
+ onDestroy: function onDestroy() {
3829
+ },
3830
+ onHidden: function onHidden() {
3831
+ },
3832
+ onHide: function onHide() {
3833
+ },
3834
+ onMount: function onMount() {
3835
+ },
3836
+ onShow: function onShow() {
3837
+ },
3838
+ onShown: function onShown() {
3839
+ },
3840
+ onTrigger: function onTrigger() {
3841
+ },
3842
+ onUntrigger: function onUntrigger() {
3843
+ },
3844
+ onClickOutside: function onClickOutside() {
3845
+ },
3846
+ placement: "top",
3847
+ plugins: [],
3848
+ popperOptions: {},
3849
+ render: null,
3850
+ showOnCreate: false,
3851
+ touch: true,
3852
+ trigger: "mouseenter focus",
3853
+ triggerTarget: null
3854
+ }, pluginProps, renderProps);
3855
+ var defaultKeys = Object.keys(defaultProps);
3856
+ var setDefaultProps = function setDefaultProps2(partialProps) {
3857
+ if (true) {
3858
+ validateProps(partialProps, []);
3859
+ }
3860
+ var keys = Object.keys(partialProps);
3861
+ keys.forEach(function(key) {
3862
+ defaultProps[key] = partialProps[key];
3863
+ });
3864
+ };
3865
+ function getExtendedPassedProps(passedProps) {
3866
+ var plugins = passedProps.plugins || [];
3867
+ var pluginProps2 = plugins.reduce(function(acc, plugin) {
3868
+ var name6 = plugin.name, defaultValue = plugin.defaultValue;
3869
+ if (name6) {
3870
+ var _name;
3871
+ acc[name6] = passedProps[name6] !== void 0 ? passedProps[name6] : (_name = defaultProps[name6]) != null ? _name : defaultValue;
3872
+ }
3873
+ return acc;
3874
+ }, {});
3875
+ return Object.assign({}, passedProps, pluginProps2);
3876
+ }
3877
+ function getDataAttributeProps(reference2, plugins) {
3878
+ var propKeys = plugins ? Object.keys(getExtendedPassedProps(Object.assign({}, defaultProps, {
3879
+ plugins
3880
+ }))) : defaultKeys;
3881
+ var props = propKeys.reduce(function(acc, key) {
3882
+ var valueAsString = (reference2.getAttribute("data-tippy-" + key) || "").trim();
3883
+ if (!valueAsString) {
3884
+ return acc;
3885
+ }
3886
+ if (key === "content") {
3887
+ acc[key] = valueAsString;
3888
+ } else {
3889
+ try {
3890
+ acc[key] = JSON.parse(valueAsString);
3891
+ } catch (e) {
3892
+ acc[key] = valueAsString;
3893
+ }
3894
+ }
3895
+ return acc;
3896
+ }, {});
3897
+ return props;
3898
+ }
3899
+ function evaluateProps(reference2, props) {
3900
+ var out = Object.assign({}, props, {
3901
+ content: invokeWithArgsOrReturn(props.content, [reference2])
3902
+ }, props.ignoreAttributes ? {} : getDataAttributeProps(reference2, props.plugins));
3903
+ out.aria = Object.assign({}, defaultProps.aria, out.aria);
3904
+ out.aria = {
3905
+ expanded: out.aria.expanded === "auto" ? props.interactive : out.aria.expanded,
3906
+ content: out.aria.content === "auto" ? props.interactive ? null : "describedby" : out.aria.content
3907
+ };
3908
+ return out;
3909
+ }
3910
+ function validateProps(partialProps, plugins) {
3911
+ if (partialProps === void 0) {
3912
+ partialProps = {};
3913
+ }
3914
+ if (plugins === void 0) {
3915
+ plugins = [];
3916
+ }
3917
+ var keys = Object.keys(partialProps);
3918
+ keys.forEach(function(prop) {
3919
+ var nonPluginProps = removeProperties(defaultProps, Object.keys(pluginProps));
3920
+ var didPassUnknownProp = !hasOwnProperty(nonPluginProps, prop);
3921
+ if (didPassUnknownProp) {
3922
+ didPassUnknownProp = plugins.filter(function(plugin) {
3923
+ return plugin.name === prop;
3924
+ }).length === 0;
3925
+ }
3926
+ warnWhen(didPassUnknownProp, ["`" + prop + "`", "is not a valid prop. You may have spelled it incorrectly, or if it's", "a plugin, forgot to pass it in an array as props.plugins.", "\n\n", "All props: https://atomiks.github.io/tippyjs/v6/all-props/\n", "Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "));
3927
+ });
3928
+ }
3929
+ var innerHTML = function innerHTML2() {
3930
+ return "innerHTML";
3931
+ };
3932
+ function dangerouslySetInnerHTML(element, html) {
3933
+ element[innerHTML()] = html;
3934
+ }
3935
+ function createArrowElement(value) {
3936
+ var arrow2 = div();
3937
+ if (value === true) {
3938
+ arrow2.className = ARROW_CLASS;
3939
+ } else {
3940
+ arrow2.className = SVG_ARROW_CLASS;
3941
+ if (isElement2(value)) {
3942
+ arrow2.appendChild(value);
3943
+ } else {
3944
+ dangerouslySetInnerHTML(arrow2, value);
3945
+ }
3946
+ }
3947
+ return arrow2;
3948
+ }
3949
+ function setContent(content, props) {
3950
+ if (isElement2(props.content)) {
3951
+ dangerouslySetInnerHTML(content, "");
3952
+ content.appendChild(props.content);
3953
+ } else if (typeof props.content !== "function") {
3954
+ if (props.allowHTML) {
3955
+ dangerouslySetInnerHTML(content, props.content);
3956
+ } else {
3957
+ content.textContent = props.content;
3958
+ }
3959
+ }
3960
+ }
3961
+ function getChildren(popper2) {
3962
+ var box = popper2.firstElementChild;
3963
+ var boxChildren = arrayFrom(box.children);
3964
+ return {
3965
+ box,
3966
+ content: boxChildren.find(function(node) {
3967
+ return node.classList.contains(CONTENT_CLASS);
3968
+ }),
3969
+ arrow: boxChildren.find(function(node) {
3970
+ return node.classList.contains(ARROW_CLASS) || node.classList.contains(SVG_ARROW_CLASS);
3971
+ }),
3972
+ backdrop: boxChildren.find(function(node) {
3973
+ return node.classList.contains(BACKDROP_CLASS);
3974
+ })
3975
+ };
3976
+ }
3977
+ function render(instance) {
3978
+ var popper2 = div();
3979
+ var box = div();
3980
+ box.className = BOX_CLASS;
3981
+ box.setAttribute("data-state", "hidden");
3982
+ box.setAttribute("tabindex", "-1");
3983
+ var content = div();
3984
+ content.className = CONTENT_CLASS;
3985
+ content.setAttribute("data-state", "hidden");
3986
+ setContent(content, instance.props);
3987
+ popper2.appendChild(box);
3988
+ box.appendChild(content);
3989
+ onUpdate(instance.props, instance.props);
3990
+ function onUpdate(prevProps, nextProps) {
3991
+ var _getChildren = getChildren(popper2), box2 = _getChildren.box, content2 = _getChildren.content, arrow2 = _getChildren.arrow;
3992
+ if (nextProps.theme) {
3993
+ box2.setAttribute("data-theme", nextProps.theme);
3994
+ } else {
3995
+ box2.removeAttribute("data-theme");
3996
+ }
3997
+ if (typeof nextProps.animation === "string") {
3998
+ box2.setAttribute("data-animation", nextProps.animation);
3999
+ } else {
4000
+ box2.removeAttribute("data-animation");
4001
+ }
4002
+ if (nextProps.inertia) {
4003
+ box2.setAttribute("data-inertia", "");
4004
+ } else {
4005
+ box2.removeAttribute("data-inertia");
4006
+ }
4007
+ box2.style.maxWidth = typeof nextProps.maxWidth === "number" ? nextProps.maxWidth + "px" : nextProps.maxWidth;
4008
+ if (nextProps.role) {
4009
+ box2.setAttribute("role", nextProps.role);
4010
+ } else {
4011
+ box2.removeAttribute("role");
4012
+ }
4013
+ if (prevProps.content !== nextProps.content || prevProps.allowHTML !== nextProps.allowHTML) {
4014
+ setContent(content2, instance.props);
4015
+ }
4016
+ if (nextProps.arrow) {
4017
+ if (!arrow2) {
4018
+ box2.appendChild(createArrowElement(nextProps.arrow));
4019
+ } else if (prevProps.arrow !== nextProps.arrow) {
4020
+ box2.removeChild(arrow2);
4021
+ box2.appendChild(createArrowElement(nextProps.arrow));
4022
+ }
4023
+ } else if (arrow2) {
4024
+ box2.removeChild(arrow2);
4025
+ }
4026
+ }
4027
+ return {
4028
+ popper: popper2,
4029
+ onUpdate
4030
+ };
4031
+ }
4032
+ render.$$tippy = true;
4033
+ var idCounter = 1;
4034
+ var mouseMoveListeners = [];
4035
+ var mountedInstances = [];
4036
+ function createTippy(reference2, passedProps) {
4037
+ var props = evaluateProps(reference2, Object.assign({}, defaultProps, getExtendedPassedProps(removeUndefinedProps(passedProps))));
4038
+ var showTimeout;
4039
+ var hideTimeout;
4040
+ var scheduleHideAnimationFrame;
4041
+ var isVisibleFromClick = false;
4042
+ var didHideDueToDocumentMouseDown = false;
4043
+ var didTouchMove = false;
4044
+ var ignoreOnFirstUpdate = false;
4045
+ var lastTriggerEvent;
4046
+ var currentTransitionEndListener;
4047
+ var onFirstUpdate;
4048
+ var listeners = [];
4049
+ var debouncedOnMouseMove = debounce2(onMouseMove, props.interactiveDebounce);
4050
+ var currentTarget;
4051
+ var id = idCounter++;
4052
+ var popperInstance = null;
4053
+ var plugins = unique(props.plugins);
4054
+ var state = {
4055
+ isEnabled: true,
4056
+ isVisible: false,
4057
+ isDestroyed: false,
4058
+ isMounted: false,
4059
+ isShown: false
4060
+ };
4061
+ var instance = {
4062
+ id,
4063
+ reference: reference2,
4064
+ popper: div(),
4065
+ popperInstance,
4066
+ props,
4067
+ state,
4068
+ plugins,
4069
+ clearDelayTimeouts,
4070
+ setProps,
4071
+ setContent: setContent2,
4072
+ show,
4073
+ hide: hide2,
4074
+ hideWithInteractivity,
4075
+ enable,
4076
+ disable,
4077
+ unmount,
4078
+ destroy
4079
+ };
4080
+ if (!props.render) {
4081
+ if (true) {
4082
+ errorWhen(true, "render() function has not been supplied.");
4083
+ }
4084
+ return instance;
4085
+ }
4086
+ var _props$render = props.render(instance), popper2 = _props$render.popper, onUpdate = _props$render.onUpdate;
4087
+ popper2.setAttribute("data-tippy-root", "");
4088
+ popper2.id = "tippy-" + instance.id;
4089
+ instance.popper = popper2;
4090
+ reference2._tippy = instance;
4091
+ popper2._tippy = instance;
4092
+ var pluginsHooks = plugins.map(function(plugin) {
4093
+ return plugin.fn(instance);
4094
+ });
4095
+ var hasAriaExpanded = reference2.hasAttribute("aria-expanded");
4096
+ addListeners();
4097
+ handleAriaExpandedAttribute();
4098
+ handleStyles();
4099
+ invokeHook("onCreate", [instance]);
4100
+ if (props.showOnCreate) {
4101
+ scheduleShow();
4102
+ }
4103
+ popper2.addEventListener("mouseenter", function() {
4104
+ if (instance.props.interactive && instance.state.isVisible) {
4105
+ instance.clearDelayTimeouts();
4106
+ }
4107
+ });
4108
+ popper2.addEventListener("mouseleave", function() {
4109
+ if (instance.props.interactive && instance.props.trigger.indexOf("mouseenter") >= 0) {
4110
+ getDocument().addEventListener("mousemove", debouncedOnMouseMove);
4111
+ }
4112
+ });
4113
+ return instance;
4114
+ function getNormalizedTouchSettings() {
4115
+ var touch = instance.props.touch;
4116
+ return Array.isArray(touch) ? touch : [touch, 0];
4117
+ }
4118
+ function getIsCustomTouchBehavior() {
4119
+ return getNormalizedTouchSettings()[0] === "hold";
4120
+ }
4121
+ function getIsDefaultRenderFn() {
4122
+ var _instance$props$rende;
4123
+ return !!((_instance$props$rende = instance.props.render) != null && _instance$props$rende.$$tippy);
4124
+ }
4125
+ function getCurrentTarget() {
4126
+ return currentTarget || reference2;
4127
+ }
4128
+ function getDocument() {
4129
+ var parent = getCurrentTarget().parentNode;
4130
+ return parent ? getOwnerDocument(parent) : document;
4131
+ }
4132
+ function getDefaultTemplateChildren() {
4133
+ return getChildren(popper2);
4134
+ }
4135
+ function getDelay(isShow) {
4136
+ if (instance.state.isMounted && !instance.state.isVisible || currentInput.isTouch || lastTriggerEvent && lastTriggerEvent.type === "focus") {
4137
+ return 0;
4138
+ }
4139
+ return getValueAtIndexOrReturn(instance.props.delay, isShow ? 0 : 1, defaultProps.delay);
4140
+ }
4141
+ function handleStyles(fromHide) {
4142
+ if (fromHide === void 0) {
4143
+ fromHide = false;
4144
+ }
4145
+ popper2.style.pointerEvents = instance.props.interactive && !fromHide ? "" : "none";
4146
+ popper2.style.zIndex = "" + instance.props.zIndex;
4147
+ }
4148
+ function invokeHook(hook, args, shouldInvokePropsHook) {
4149
+ if (shouldInvokePropsHook === void 0) {
4150
+ shouldInvokePropsHook = true;
4151
+ }
4152
+ pluginsHooks.forEach(function(pluginHooks) {
4153
+ if (pluginHooks[hook]) {
4154
+ pluginHooks[hook].apply(pluginHooks, args);
4155
+ }
4156
+ });
4157
+ if (shouldInvokePropsHook) {
4158
+ var _instance$props;
4159
+ (_instance$props = instance.props)[hook].apply(_instance$props, args);
4160
+ }
4161
+ }
4162
+ function handleAriaContentAttribute() {
4163
+ var aria = instance.props.aria;
4164
+ if (!aria.content) {
4165
+ return;
4166
+ }
4167
+ var attr = "aria-" + aria.content;
4168
+ var id2 = popper2.id;
4169
+ var nodes = normalizeToArray(instance.props.triggerTarget || reference2);
4170
+ nodes.forEach(function(node) {
4171
+ var currentValue = node.getAttribute(attr);
4172
+ if (instance.state.isVisible) {
4173
+ node.setAttribute(attr, currentValue ? currentValue + " " + id2 : id2);
4174
+ } else {
4175
+ var nextValue = currentValue && currentValue.replace(id2, "").trim();
4176
+ if (nextValue) {
4177
+ node.setAttribute(attr, nextValue);
4178
+ } else {
4179
+ node.removeAttribute(attr);
4180
+ }
4181
+ }
4182
+ });
4183
+ }
4184
+ function handleAriaExpandedAttribute() {
4185
+ if (hasAriaExpanded || !instance.props.aria.expanded) {
4186
+ return;
4187
+ }
4188
+ var nodes = normalizeToArray(instance.props.triggerTarget || reference2);
4189
+ nodes.forEach(function(node) {
4190
+ if (instance.props.interactive) {
4191
+ node.setAttribute("aria-expanded", instance.state.isVisible && node === getCurrentTarget() ? "true" : "false");
4192
+ } else {
4193
+ node.removeAttribute("aria-expanded");
4194
+ }
4195
+ });
4196
+ }
4197
+ function cleanupInteractiveMouseListeners() {
4198
+ getDocument().removeEventListener("mousemove", debouncedOnMouseMove);
4199
+ mouseMoveListeners = mouseMoveListeners.filter(function(listener) {
4200
+ return listener !== debouncedOnMouseMove;
4201
+ });
4202
+ }
4203
+ function onDocumentPress(event) {
4204
+ if (currentInput.isTouch) {
4205
+ if (didTouchMove || event.type === "mousedown") {
4206
+ return;
4207
+ }
4208
+ }
4209
+ var actualTarget = event.composedPath && event.composedPath()[0] || event.target;
4210
+ if (instance.props.interactive && actualContains(popper2, actualTarget)) {
4211
+ return;
4212
+ }
4213
+ if (normalizeToArray(instance.props.triggerTarget || reference2).some(function(el) {
4214
+ return actualContains(el, actualTarget);
4215
+ })) {
4216
+ if (currentInput.isTouch) {
4217
+ return;
4218
+ }
4219
+ if (instance.state.isVisible && instance.props.trigger.indexOf("click") >= 0) {
4220
+ return;
4221
+ }
4222
+ } else {
4223
+ invokeHook("onClickOutside", [instance, event]);
4224
+ }
4225
+ if (instance.props.hideOnClick === true) {
4226
+ instance.clearDelayTimeouts();
4227
+ instance.hide();
4228
+ didHideDueToDocumentMouseDown = true;
4229
+ setTimeout(function() {
4230
+ didHideDueToDocumentMouseDown = false;
4231
+ });
4232
+ if (!instance.state.isMounted) {
4233
+ removeDocumentPress();
4234
+ }
4235
+ }
4236
+ }
4237
+ function onTouchMove() {
4238
+ didTouchMove = true;
4239
+ }
4240
+ function onTouchStart() {
4241
+ didTouchMove = false;
4242
+ }
4243
+ function addDocumentPress() {
4244
+ var doc = getDocument();
4245
+ doc.addEventListener("mousedown", onDocumentPress, true);
4246
+ doc.addEventListener("touchend", onDocumentPress, TOUCH_OPTIONS);
4247
+ doc.addEventListener("touchstart", onTouchStart, TOUCH_OPTIONS);
4248
+ doc.addEventListener("touchmove", onTouchMove, TOUCH_OPTIONS);
4249
+ }
4250
+ function removeDocumentPress() {
4251
+ var doc = getDocument();
4252
+ doc.removeEventListener("mousedown", onDocumentPress, true);
4253
+ doc.removeEventListener("touchend", onDocumentPress, TOUCH_OPTIONS);
4254
+ doc.removeEventListener("touchstart", onTouchStart, TOUCH_OPTIONS);
4255
+ doc.removeEventListener("touchmove", onTouchMove, TOUCH_OPTIONS);
4256
+ }
4257
+ function onTransitionedOut(duration, callback) {
4258
+ onTransitionEnd(duration, function() {
4259
+ if (!instance.state.isVisible && popper2.parentNode && popper2.parentNode.contains(popper2)) {
4260
+ callback();
4261
+ }
4262
+ });
4263
+ }
4264
+ function onTransitionedIn(duration, callback) {
4265
+ onTransitionEnd(duration, callback);
4266
+ }
4267
+ function onTransitionEnd(duration, callback) {
4268
+ var box = getDefaultTemplateChildren().box;
4269
+ function listener(event) {
4270
+ if (event.target === box) {
4271
+ updateTransitionEndListener(box, "remove", listener);
4272
+ callback();
4273
+ }
4274
+ }
4275
+ if (duration === 0) {
4276
+ return callback();
4277
+ }
4278
+ updateTransitionEndListener(box, "remove", currentTransitionEndListener);
4279
+ updateTransitionEndListener(box, "add", listener);
4280
+ currentTransitionEndListener = listener;
4281
+ }
4282
+ function on(eventType, handler, options) {
4283
+ if (options === void 0) {
4284
+ options = false;
4285
+ }
4286
+ var nodes = normalizeToArray(instance.props.triggerTarget || reference2);
4287
+ nodes.forEach(function(node) {
4288
+ node.addEventListener(eventType, handler, options);
4289
+ listeners.push({
4290
+ node,
4291
+ eventType,
4292
+ handler,
4293
+ options
4294
+ });
4295
+ });
4296
+ }
4297
+ function addListeners() {
4298
+ if (getIsCustomTouchBehavior()) {
4299
+ on("touchstart", onTrigger2, {
4300
+ passive: true
4301
+ });
4302
+ on("touchend", onMouseLeave, {
4303
+ passive: true
4304
+ });
4305
+ }
4306
+ splitBySpaces(instance.props.trigger).forEach(function(eventType) {
4307
+ if (eventType === "manual") {
4308
+ return;
4309
+ }
4310
+ on(eventType, onTrigger2);
4311
+ switch (eventType) {
4312
+ case "mouseenter":
4313
+ on("mouseleave", onMouseLeave);
4314
+ break;
4315
+ case "focus":
4316
+ on(isIE11 ? "focusout" : "blur", onBlurOrFocusOut);
4317
+ break;
4318
+ case "focusin":
4319
+ on("focusout", onBlurOrFocusOut);
4320
+ break;
4321
+ }
4322
+ });
4323
+ }
4324
+ function removeListeners() {
4325
+ listeners.forEach(function(_ref) {
4326
+ var node = _ref.node, eventType = _ref.eventType, handler = _ref.handler, options = _ref.options;
4327
+ node.removeEventListener(eventType, handler, options);
4328
+ });
4329
+ listeners = [];
4330
+ }
4331
+ function onTrigger2(event) {
4332
+ var _lastTriggerEvent;
4333
+ var shouldScheduleClickHide = false;
4334
+ if (!instance.state.isEnabled || isEventListenerStopped(event) || didHideDueToDocumentMouseDown) {
4335
+ return;
4336
+ }
4337
+ var wasFocused = ((_lastTriggerEvent = lastTriggerEvent) == null ? void 0 : _lastTriggerEvent.type) === "focus";
4338
+ lastTriggerEvent = event;
4339
+ currentTarget = event.currentTarget;
4340
+ handleAriaExpandedAttribute();
4341
+ if (!instance.state.isVisible && isMouseEvent(event)) {
4342
+ mouseMoveListeners.forEach(function(listener) {
4343
+ return listener(event);
4344
+ });
4345
+ }
4346
+ if (event.type === "click" && (instance.props.trigger.indexOf("mouseenter") < 0 || isVisibleFromClick) && instance.props.hideOnClick !== false && instance.state.isVisible) {
4347
+ shouldScheduleClickHide = true;
4348
+ } else {
4349
+ scheduleShow(event);
4350
+ }
4351
+ if (event.type === "click") {
4352
+ isVisibleFromClick = !shouldScheduleClickHide;
4353
+ }
4354
+ if (shouldScheduleClickHide && !wasFocused) {
4355
+ scheduleHide(event);
4356
+ }
4357
+ }
4358
+ function onMouseMove(event) {
4359
+ var target = event.target;
4360
+ var isCursorOverReferenceOrPopper = getCurrentTarget().contains(target) || popper2.contains(target);
4361
+ if (event.type === "mousemove" && isCursorOverReferenceOrPopper) {
4362
+ return;
4363
+ }
4364
+ var popperTreeData = getNestedPopperTree().concat(popper2).map(function(popper3) {
4365
+ var _instance$popperInsta;
4366
+ var instance2 = popper3._tippy;
4367
+ var state2 = (_instance$popperInsta = instance2.popperInstance) == null ? void 0 : _instance$popperInsta.state;
4368
+ if (state2) {
4369
+ return {
4370
+ popperRect: popper3.getBoundingClientRect(),
4371
+ popperState: state2,
4372
+ props
4373
+ };
4374
+ }
4375
+ return null;
4376
+ }).filter(Boolean);
4377
+ if (isCursorOutsideInteractiveBorder(popperTreeData, event)) {
4378
+ cleanupInteractiveMouseListeners();
4379
+ scheduleHide(event);
4380
+ }
4381
+ }
4382
+ function onMouseLeave(event) {
4383
+ var shouldBail = isEventListenerStopped(event) || instance.props.trigger.indexOf("click") >= 0 && isVisibleFromClick;
4384
+ if (shouldBail) {
4385
+ return;
4386
+ }
4387
+ if (instance.props.interactive) {
4388
+ instance.hideWithInteractivity(event);
4389
+ return;
4390
+ }
4391
+ scheduleHide(event);
4392
+ }
4393
+ function onBlurOrFocusOut(event) {
4394
+ if (instance.props.trigger.indexOf("focusin") < 0 && event.target !== getCurrentTarget()) {
4395
+ return;
4396
+ }
4397
+ if (instance.props.interactive && event.relatedTarget && popper2.contains(event.relatedTarget)) {
4398
+ return;
4399
+ }
4400
+ scheduleHide(event);
4401
+ }
4402
+ function isEventListenerStopped(event) {
4403
+ return currentInput.isTouch ? getIsCustomTouchBehavior() !== event.type.indexOf("touch") >= 0 : false;
4404
+ }
4405
+ function createPopperInstance() {
4406
+ destroyPopperInstance();
4407
+ var _instance$props2 = instance.props, popperOptions = _instance$props2.popperOptions, placement = _instance$props2.placement, offset2 = _instance$props2.offset, getReferenceClientRect = _instance$props2.getReferenceClientRect, moveTransition = _instance$props2.moveTransition;
4408
+ var arrow2 = getIsDefaultRenderFn() ? getChildren(popper2).arrow : null;
4409
+ var computedReference = getReferenceClientRect ? {
4410
+ getBoundingClientRect: getReferenceClientRect,
4411
+ contextElement: getReferenceClientRect.contextElement || getCurrentTarget()
4412
+ } : reference2;
4413
+ var tippyModifier = {
4414
+ name: "$$tippy",
4415
+ enabled: true,
4416
+ phase: "beforeWrite",
4417
+ requires: ["computeStyles"],
4418
+ fn: function fn2(_ref2) {
4419
+ var state2 = _ref2.state;
4420
+ if (getIsDefaultRenderFn()) {
4421
+ var _getDefaultTemplateCh = getDefaultTemplateChildren(), box = _getDefaultTemplateCh.box;
4422
+ ["placement", "reference-hidden", "escaped"].forEach(function(attr) {
4423
+ if (attr === "placement") {
4424
+ box.setAttribute("data-placement", state2.placement);
4425
+ } else {
4426
+ if (state2.attributes.popper["data-popper-" + attr]) {
4427
+ box.setAttribute("data-" + attr, "");
4428
+ } else {
4429
+ box.removeAttribute("data-" + attr);
4430
+ }
4431
+ }
4432
+ });
4433
+ state2.attributes.popper = {};
4434
+ }
4435
+ }
4436
+ };
4437
+ var modifiers = [{
4438
+ name: "offset",
4439
+ options: {
4440
+ offset: offset2
4441
+ }
4442
+ }, {
4443
+ name: "preventOverflow",
4444
+ options: {
4445
+ padding: {
4446
+ top: 2,
4447
+ bottom: 2,
4448
+ left: 5,
4449
+ right: 5
4450
+ }
4451
+ }
4452
+ }, {
4453
+ name: "flip",
4454
+ options: {
4455
+ padding: 5
4456
+ }
4457
+ }, {
4458
+ name: "computeStyles",
4459
+ options: {
4460
+ adaptive: !moveTransition
4461
+ }
4462
+ }, tippyModifier];
4463
+ if (getIsDefaultRenderFn() && arrow2) {
4464
+ modifiers.push({
4465
+ name: "arrow",
4466
+ options: {
4467
+ element: arrow2,
4468
+ padding: 3
4469
+ }
4470
+ });
4471
+ }
4472
+ modifiers.push.apply(modifiers, (popperOptions == null ? void 0 : popperOptions.modifiers) || []);
4473
+ instance.popperInstance = createPopper(computedReference, popper2, Object.assign({}, popperOptions, {
4474
+ placement,
4475
+ onFirstUpdate,
4476
+ modifiers
4477
+ }));
4478
+ }
4479
+ function destroyPopperInstance() {
4480
+ if (instance.popperInstance) {
4481
+ instance.popperInstance.destroy();
4482
+ instance.popperInstance = null;
4483
+ }
4484
+ }
4485
+ function mount2() {
4486
+ var appendTo = instance.props.appendTo;
4487
+ var parentNode;
4488
+ var node = getCurrentTarget();
4489
+ if (instance.props.interactive && appendTo === TIPPY_DEFAULT_APPEND_TO || appendTo === "parent") {
4490
+ parentNode = node.parentNode;
4491
+ } else {
4492
+ parentNode = invokeWithArgsOrReturn(appendTo, [node]);
4493
+ }
4494
+ if (!parentNode.contains(popper2)) {
4495
+ parentNode.appendChild(popper2);
4496
+ }
4497
+ instance.state.isMounted = true;
4498
+ createPopperInstance();
4499
+ if (true) {
4500
+ warnWhen(instance.props.interactive && appendTo === defaultProps.appendTo && node.nextElementSibling !== popper2, ["Interactive tippy element may not be accessible via keyboard", "navigation because it is not directly after the reference element", "in the DOM source order.", "\n\n", "Using a wrapper <div> or <span> tag around the reference element", "solves this by creating a new parentNode context.", "\n\n", "Specifying `appendTo: document.body` silences this warning, but it", "assumes you are using a focus management solution to handle", "keyboard navigation.", "\n\n", "See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "));
4501
+ }
4502
+ }
4503
+ function getNestedPopperTree() {
4504
+ return arrayFrom(popper2.querySelectorAll("[data-tippy-root]"));
4505
+ }
4506
+ function scheduleShow(event) {
4507
+ instance.clearDelayTimeouts();
4508
+ if (event) {
4509
+ invokeHook("onTrigger", [instance, event]);
4510
+ }
4511
+ addDocumentPress();
4512
+ var delay = getDelay(true);
4513
+ var _getNormalizedTouchSe = getNormalizedTouchSettings(), touchValue = _getNormalizedTouchSe[0], touchDelay = _getNormalizedTouchSe[1];
4514
+ if (currentInput.isTouch && touchValue === "hold" && touchDelay) {
4515
+ delay = touchDelay;
4516
+ }
4517
+ if (delay) {
4518
+ showTimeout = setTimeout(function() {
4519
+ instance.show();
4520
+ }, delay);
4521
+ } else {
4522
+ instance.show();
4523
+ }
4524
+ }
4525
+ function scheduleHide(event) {
4526
+ instance.clearDelayTimeouts();
4527
+ invokeHook("onUntrigger", [instance, event]);
4528
+ if (!instance.state.isVisible) {
4529
+ removeDocumentPress();
4530
+ return;
4531
+ }
4532
+ if (instance.props.trigger.indexOf("mouseenter") >= 0 && instance.props.trigger.indexOf("click") >= 0 && ["mouseleave", "mousemove"].indexOf(event.type) >= 0 && isVisibleFromClick) {
4533
+ return;
4534
+ }
4535
+ var delay = getDelay(false);
4536
+ if (delay) {
4537
+ hideTimeout = setTimeout(function() {
4538
+ if (instance.state.isVisible) {
4539
+ instance.hide();
4540
+ }
4541
+ }, delay);
4542
+ } else {
4543
+ scheduleHideAnimationFrame = requestAnimationFrame(function() {
4544
+ instance.hide();
4545
+ });
4546
+ }
4547
+ }
4548
+ function enable() {
4549
+ instance.state.isEnabled = true;
4550
+ }
4551
+ function disable() {
4552
+ instance.hide();
4553
+ instance.state.isEnabled = false;
4554
+ }
4555
+ function clearDelayTimeouts() {
4556
+ clearTimeout(showTimeout);
4557
+ clearTimeout(hideTimeout);
4558
+ cancelAnimationFrame(scheduleHideAnimationFrame);
4559
+ }
4560
+ function setProps(partialProps) {
4561
+ if (true) {
4562
+ warnWhen(instance.state.isDestroyed, createMemoryLeakWarning("setProps"));
4563
+ }
4564
+ if (instance.state.isDestroyed) {
4565
+ return;
4566
+ }
4567
+ invokeHook("onBeforeUpdate", [instance, partialProps]);
4568
+ removeListeners();
4569
+ var prevProps = instance.props;
4570
+ var nextProps = evaluateProps(reference2, Object.assign({}, prevProps, removeUndefinedProps(partialProps), {
4571
+ ignoreAttributes: true
4572
+ }));
4573
+ instance.props = nextProps;
4574
+ addListeners();
4575
+ if (prevProps.interactiveDebounce !== nextProps.interactiveDebounce) {
4576
+ cleanupInteractiveMouseListeners();
4577
+ debouncedOnMouseMove = debounce2(onMouseMove, nextProps.interactiveDebounce);
4578
+ }
4579
+ if (prevProps.triggerTarget && !nextProps.triggerTarget) {
4580
+ normalizeToArray(prevProps.triggerTarget).forEach(function(node) {
4581
+ node.removeAttribute("aria-expanded");
4582
+ });
4583
+ } else if (nextProps.triggerTarget) {
4584
+ reference2.removeAttribute("aria-expanded");
4585
+ }
4586
+ handleAriaExpandedAttribute();
4587
+ handleStyles();
4588
+ if (onUpdate) {
4589
+ onUpdate(prevProps, nextProps);
4590
+ }
4591
+ if (instance.popperInstance) {
4592
+ createPopperInstance();
4593
+ getNestedPopperTree().forEach(function(nestedPopper) {
4594
+ requestAnimationFrame(nestedPopper._tippy.popperInstance.forceUpdate);
4595
+ });
4596
+ }
4597
+ invokeHook("onAfterUpdate", [instance, partialProps]);
4598
+ }
4599
+ function setContent2(content) {
4600
+ instance.setProps({
4601
+ content
4602
+ });
4603
+ }
4604
+ function show() {
4605
+ if (true) {
4606
+ warnWhen(instance.state.isDestroyed, createMemoryLeakWarning("show"));
4607
+ }
4608
+ var isAlreadyVisible = instance.state.isVisible;
4609
+ var isDestroyed = instance.state.isDestroyed;
4610
+ var isDisabled = !instance.state.isEnabled;
4611
+ var isTouchAndTouchDisabled = currentInput.isTouch && !instance.props.touch;
4612
+ var duration = getValueAtIndexOrReturn(instance.props.duration, 0, defaultProps.duration);
4613
+ if (isAlreadyVisible || isDestroyed || isDisabled || isTouchAndTouchDisabled) {
4614
+ return;
4615
+ }
4616
+ if (getCurrentTarget().hasAttribute("disabled")) {
4617
+ return;
4618
+ }
4619
+ invokeHook("onShow", [instance], false);
4620
+ if (instance.props.onShow(instance) === false) {
4621
+ return;
4622
+ }
4623
+ instance.state.isVisible = true;
4624
+ if (getIsDefaultRenderFn()) {
4625
+ popper2.style.visibility = "visible";
4626
+ }
4627
+ handleStyles();
4628
+ addDocumentPress();
4629
+ if (!instance.state.isMounted) {
4630
+ popper2.style.transition = "none";
4631
+ }
4632
+ if (getIsDefaultRenderFn()) {
4633
+ var _getDefaultTemplateCh2 = getDefaultTemplateChildren(), box = _getDefaultTemplateCh2.box, content = _getDefaultTemplateCh2.content;
4634
+ setTransitionDuration([box, content], 0);
4635
+ }
4636
+ onFirstUpdate = function onFirstUpdate2() {
4637
+ var _instance$popperInsta2;
4638
+ if (!instance.state.isVisible || ignoreOnFirstUpdate) {
4639
+ return;
4640
+ }
4641
+ ignoreOnFirstUpdate = true;
4642
+ void popper2.offsetHeight;
4643
+ popper2.style.transition = instance.props.moveTransition;
4644
+ if (getIsDefaultRenderFn() && instance.props.animation) {
4645
+ var _getDefaultTemplateCh3 = getDefaultTemplateChildren(), _box = _getDefaultTemplateCh3.box, _content = _getDefaultTemplateCh3.content;
4646
+ setTransitionDuration([_box, _content], duration);
4647
+ setVisibilityState([_box, _content], "visible");
4648
+ }
4649
+ handleAriaContentAttribute();
4650
+ handleAriaExpandedAttribute();
4651
+ pushIfUnique(mountedInstances, instance);
4652
+ (_instance$popperInsta2 = instance.popperInstance) == null ? void 0 : _instance$popperInsta2.forceUpdate();
4653
+ invokeHook("onMount", [instance]);
4654
+ if (instance.props.animation && getIsDefaultRenderFn()) {
4655
+ onTransitionedIn(duration, function() {
4656
+ instance.state.isShown = true;
4657
+ invokeHook("onShown", [instance]);
4658
+ });
4659
+ }
4660
+ };
4661
+ mount2();
4662
+ }
4663
+ function hide2() {
4664
+ if (true) {
4665
+ warnWhen(instance.state.isDestroyed, createMemoryLeakWarning("hide"));
4666
+ }
4667
+ var isAlreadyHidden = !instance.state.isVisible;
4668
+ var isDestroyed = instance.state.isDestroyed;
4669
+ var isDisabled = !instance.state.isEnabled;
4670
+ var duration = getValueAtIndexOrReturn(instance.props.duration, 1, defaultProps.duration);
4671
+ if (isAlreadyHidden || isDestroyed || isDisabled) {
4672
+ return;
4673
+ }
4674
+ invokeHook("onHide", [instance], false);
4675
+ if (instance.props.onHide(instance) === false) {
4676
+ return;
4677
+ }
4678
+ instance.state.isVisible = false;
4679
+ instance.state.isShown = false;
4680
+ ignoreOnFirstUpdate = false;
4681
+ isVisibleFromClick = false;
4682
+ if (getIsDefaultRenderFn()) {
4683
+ popper2.style.visibility = "hidden";
4684
+ }
4685
+ cleanupInteractiveMouseListeners();
4686
+ removeDocumentPress();
4687
+ handleStyles(true);
4688
+ if (getIsDefaultRenderFn()) {
4689
+ var _getDefaultTemplateCh4 = getDefaultTemplateChildren(), box = _getDefaultTemplateCh4.box, content = _getDefaultTemplateCh4.content;
4690
+ if (instance.props.animation) {
4691
+ setTransitionDuration([box, content], duration);
4692
+ setVisibilityState([box, content], "hidden");
4693
+ }
4694
+ }
4695
+ handleAriaContentAttribute();
4696
+ handleAriaExpandedAttribute();
4697
+ if (instance.props.animation) {
4698
+ if (getIsDefaultRenderFn()) {
4699
+ onTransitionedOut(duration, instance.unmount);
4700
+ }
4701
+ } else {
4702
+ instance.unmount();
4703
+ }
4704
+ }
4705
+ function hideWithInteractivity(event) {
4706
+ if (true) {
4707
+ warnWhen(instance.state.isDestroyed, createMemoryLeakWarning("hideWithInteractivity"));
4708
+ }
4709
+ getDocument().addEventListener("mousemove", debouncedOnMouseMove);
4710
+ pushIfUnique(mouseMoveListeners, debouncedOnMouseMove);
4711
+ debouncedOnMouseMove(event);
4712
+ }
4713
+ function unmount() {
4714
+ if (true) {
4715
+ warnWhen(instance.state.isDestroyed, createMemoryLeakWarning("unmount"));
4716
+ }
4717
+ if (instance.state.isVisible) {
4718
+ instance.hide();
4719
+ }
4720
+ if (!instance.state.isMounted) {
4721
+ return;
4722
+ }
4723
+ destroyPopperInstance();
4724
+ getNestedPopperTree().forEach(function(nestedPopper) {
4725
+ nestedPopper._tippy.unmount();
4726
+ });
4727
+ if (popper2.parentNode) {
4728
+ popper2.parentNode.removeChild(popper2);
4729
+ }
4730
+ mountedInstances = mountedInstances.filter(function(i) {
4731
+ return i !== instance;
4732
+ });
4733
+ instance.state.isMounted = false;
4734
+ invokeHook("onHidden", [instance]);
4735
+ }
4736
+ function destroy() {
4737
+ if (true) {
4738
+ warnWhen(instance.state.isDestroyed, createMemoryLeakWarning("destroy"));
4739
+ }
4740
+ if (instance.state.isDestroyed) {
4741
+ return;
4742
+ }
4743
+ instance.clearDelayTimeouts();
4744
+ instance.unmount();
4745
+ removeListeners();
4746
+ delete reference2._tippy;
4747
+ instance.state.isDestroyed = true;
4748
+ invokeHook("onDestroy", [instance]);
4749
+ }
4750
+ }
4751
+ function tippy(targets, optionalProps) {
4752
+ if (optionalProps === void 0) {
4753
+ optionalProps = {};
4754
+ }
4755
+ var plugins = defaultProps.plugins.concat(optionalProps.plugins || []);
4756
+ if (true) {
4757
+ validateTargets(targets);
4758
+ validateProps(optionalProps, plugins);
4759
+ }
4760
+ bindGlobalEventListeners();
4761
+ var passedProps = Object.assign({}, optionalProps, {
4762
+ plugins
4763
+ });
4764
+ var elements = getArrayOfElements(targets);
4765
+ if (true) {
4766
+ var isSingleContentElement = isElement2(passedProps.content);
4767
+ var isMoreThanOneReferenceElement = elements.length > 1;
4768
+ warnWhen(isSingleContentElement && isMoreThanOneReferenceElement, ["tippy() was passed an Element as the `content` prop, but more than", "one tippy instance was created by this invocation. This means the", "content element will only be appended to the last tippy instance.", "\n\n", "Instead, pass the .innerHTML of the element, or use a function that", "returns a cloned version of the element instead.", "\n\n", "1) content: element.innerHTML\n", "2) content: () => element.cloneNode(true)"].join(" "));
4769
+ }
4770
+ var instances2 = elements.reduce(function(acc, reference2) {
4771
+ var instance = reference2 && createTippy(reference2, passedProps);
4772
+ if (instance) {
4773
+ acc.push(instance);
4774
+ }
4775
+ return acc;
4776
+ }, []);
4777
+ return isElement2(targets) ? instances2[0] : instances2;
4778
+ }
4779
+ tippy.defaultProps = defaultProps;
4780
+ tippy.setDefaultProps = setDefaultProps;
4781
+ tippy.currentInput = currentInput;
4782
+ var applyStylesModifier = Object.assign({}, applyStyles_default, {
4783
+ effect: function effect4(_ref) {
4784
+ var state = _ref.state;
4785
+ var initialStyles = {
4786
+ popper: {
4787
+ position: state.options.strategy,
4788
+ left: "0",
4789
+ top: "0",
4790
+ margin: "0"
4791
+ },
4792
+ arrow: {
4793
+ position: "absolute"
4794
+ },
4795
+ reference: {}
4796
+ };
4797
+ Object.assign(state.elements.popper.style, initialStyles.popper);
4798
+ state.styles = initialStyles;
4799
+ if (state.elements.arrow) {
4800
+ Object.assign(state.elements.arrow.style, initialStyles.arrow);
4801
+ }
4802
+ }
4803
+ });
4804
+ tippy.setDefaultProps({
4805
+ render
4806
+ });
4807
+ var tippy_esm_default = tippy;
4808
+
4809
+ // src/components/tippy-util.ts
4810
+ var instances = /* @__PURE__ */ new Set();
4811
+ function onCreate2(instance) {
4812
+ instances.add(instance);
4813
+ }
4814
+ function onDestroy2(instance) {
4815
+ instances.delete(instance);
4816
+ }
4817
+ tippy_esm_default.setDefaultProps({ onCreate: onCreate2, onDestroy: onDestroy2 });
4818
+ function hideAll() {
4819
+ instances.forEach((instance) => instance.hide());
4820
+ }
4821
+
4822
+ // src/components/Fastboard.tsx
4823
+ var Fastboard = /* @__PURE__ */ forwardRef3(function Fastboard2(_a, ref) {
4824
+ var _b = _a, { app, theme, layout, language } = _b, restProps = __objRest(_b, ["app", "theme", "layout", "language"]);
4825
+ if (!app) {
4826
+ return /* @__PURE__ */ React50.createElement("div", __spreadValues({
4827
+ className: "fastboard-root",
4828
+ ref
4829
+ }, restProps));
4830
+ }
4831
+ return /* @__PURE__ */ React50.createElement(FastboardAppContext.Provider, {
4832
+ value: app
4833
+ }, /* @__PURE__ */ React50.createElement(FastboardInternal, __spreadValues(__spreadValues({
4834
+ forwardedRef: ref
4835
+ }, { theme, layout, language }), restProps)));
4836
+ });
4837
+ function FastboardInternal(_a) {
4838
+ var _b = _a, {
4839
+ forwardedRef,
4840
+ language,
4841
+ layout = {},
4842
+ theme = "light",
4843
+ children
4844
+ } = _b, restProps = __objRest(_b, [
4845
+ "forwardedRef",
4846
+ "language",
4847
+ "layout",
4848
+ "theme",
4849
+ "children"
4850
+ ]);
4851
+ const app = useFastboardApp();
4852
+ const forceUpdate = useForceUpdate();
4853
+ const i18n = useAsyncValue(() => createI18n({ language }));
4854
+ useEffect6(() => {
4855
+ if (i18n)
4856
+ i18n.changeLanguage(language);
4857
+ forceUpdate();
4858
+ }, [forceUpdate, i18n, language]);
4859
+ useEffect6(() => {
4860
+ app.manager.setPrefersColorScheme(theme);
4861
+ }, [app, theme]);
4862
+ const useWhiteboard = useCallback13((container) => {
4863
+ if (container && app)
4864
+ app.bindContainer(container);
4865
+ }, [app]);
4866
+ const hideControls = useHideControls();
4867
+ const showControls = !hideControls;
4868
+ const {
4869
+ Toolbar: toolbar = showControls || hideControls === "toolbar-only",
4870
+ RedoUndo: redo_undo = showControls,
4871
+ ZoomControl: zoom_control = showControls,
4872
+ PageControl: page_control = showControls
4873
+ } = layout;
4874
+ return /* @__PURE__ */ React50.createElement(ThemeContext.Provider, {
4875
+ value: theme
4876
+ }, /* @__PURE__ */ React50.createElement(I18nContext.Provider, {
4877
+ value: i18n
4878
+ }, /* @__PURE__ */ React50.createElement("div", __spreadProps(__spreadValues({}, restProps), {
4879
+ className: "fastboard-root",
4880
+ ref: forwardedRef
4881
+ }), /* @__PURE__ */ React50.createElement("div", {
4882
+ className: "fastboard-view",
4883
+ ref: useWhiteboard,
4884
+ onTouchStartCapture: hideAll
4885
+ }), children ? children : /* @__PURE__ */ React50.createElement(React50.Fragment, null, toolbar && /* @__PURE__ */ React50.createElement("div", {
4886
+ className: "fastboard-left"
4887
+ }, /* @__PURE__ */ React50.createElement(Toolbar, null)), (redo_undo || zoom_control) && /* @__PURE__ */ React50.createElement("div", {
4888
+ className: "fastboard-bottom-left"
4889
+ }, redo_undo && /* @__PURE__ */ React50.createElement(RedoUndo, null), zoom_control && /* @__PURE__ */ React50.createElement(ZoomControl, null)), page_control && /* @__PURE__ */ React50.createElement("div", {
4890
+ className: "fastboard-bottom-right"
4891
+ }, /* @__PURE__ */ React50.createElement(PageControl, null))))));
4892
+ }
4893
+
4894
+ // src/components/ReplayFastboard.tsx
4895
+ import React51, { forwardRef as forwardRef4, useCallback as useCallback14 } from "react";
4896
+ var ReplayFastboard = /* @__PURE__ */ forwardRef4(function ReplayFastboard2(_a, ref) {
4897
+ var _b = _a, { player, theme = "light", autoHideControl = false } = _b, restProps = __objRest(_b, ["player", "theme", "autoHideControl"]);
4898
+ const useWhiteboard = useCallback14((container) => {
4899
+ if (container && player)
4900
+ player.bindContainer(container);
4901
+ }, [player]);
4902
+ if (!player) {
4903
+ return /* @__PURE__ */ React51.createElement("div", __spreadValues({
4904
+ className: "fastboard-root",
4905
+ ref
4906
+ }, restProps));
4907
+ }
4908
+ return /* @__PURE__ */ React51.createElement("div", __spreadValues({
4909
+ className: "fastboard-root",
4910
+ ref
4911
+ }, restProps), /* @__PURE__ */ React51.createElement("div", {
4912
+ className: "fastboard-view",
4913
+ ref: useWhiteboard
4914
+ }), /* @__PURE__ */ React51.createElement("div", {
4915
+ className: "fastboard-bottom"
4916
+ }, /* @__PURE__ */ React51.createElement(PlayerControl, {
4917
+ player,
4918
+ theme,
4919
+ autoHide: autoHideControl
4920
+ })));
4921
+ });
4922
+
2046
4923
  // src/vanilla/index.tsx
2047
- import React50 from "react";
4924
+ import React52 from "react";
2048
4925
  import ReactDOM from "react-dom";
2049
4926
  function mount(app, dom, props) {
2050
- ReactDOM.render(/* @__PURE__ */ React50.createElement(Fastboard, __spreadValues({
4927
+ ReactDOM.render(/* @__PURE__ */ React52.createElement(Fastboard, __spreadValues({
2051
4928
  app
2052
4929
  }, props)), dom);
2053
4930
  return {
2054
4931
  update(props2) {
2055
- ReactDOM.render(/* @__PURE__ */ React50.createElement(Fastboard, __spreadValues({
4932
+ ReactDOM.render(/* @__PURE__ */ React52.createElement(Fastboard, __spreadValues({
2056
4933
  app
2057
4934
  }, props2)), dom);
2058
4935
  },
@@ -2068,6 +4945,7 @@ export {
2068
4945
  PageControl,
2069
4946
  PlayerControl,
2070
4947
  RedoUndo,
4948
+ ReplayFastboard,
2071
4949
  ScalePoints,
2072
4950
  ThemeContext,
2073
4951
  Toolbar,