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