@netless/fastboard-react 0.2.7 → 0.2.10

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.
Files changed (34) hide show
  1. package/dist/index.d.ts +146 -0
  2. package/dist/index.js +3207 -310
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +3158 -261
  5. package/dist/index.mjs.map +1 -1
  6. package/package.json +7 -7
  7. package/src/components/Fastboard.scss +6 -1
  8. package/src/components/Fastboard.tsx +3 -10
  9. package/src/components/PageControl/PageControl.scss +15 -11
  10. package/src/components/PageControl/PageControl.tsx +15 -17
  11. package/src/components/PlayerControl/PlayerControl.scss +13 -12
  12. package/src/components/PlayerControl/PlayerControl.tsx +3 -3
  13. package/src/components/PlayerControl/components/Button.tsx +1 -2
  14. package/src/components/RedoUndo/RedoUndo.scss +10 -10
  15. package/src/components/ReplayFastboard.tsx +36 -0
  16. package/src/components/Toolbar/Toolbar.scss +46 -17
  17. package/src/components/Toolbar/components/AppsButton.tsx +20 -11
  18. package/src/components/Toolbar/components/Button.tsx +1 -2
  19. package/src/components/Toolbar/icons/Loading.tsx +13 -0
  20. package/src/components/ZoomControl/ZoomControl.scss +15 -11
  21. package/src/components/ZoomControl/ZoomControl.tsx +4 -2
  22. package/src/components/tippy-util.ts +18 -0
  23. package/src/icons/Left.tsx +15 -0
  24. package/src/icons/Minus.tsx +2 -2
  25. package/src/icons/Plus.tsx +2 -2
  26. package/src/icons/Redo.tsx +6 -5
  27. package/src/icons/Reset.tsx +4 -6
  28. package/src/icons/Right.tsx +15 -0
  29. package/src/icons/Undo.tsx +6 -5
  30. package/src/icons/WhiteboardAdd.tsx +26 -0
  31. package/src/index.ts +1 -0
  32. package/src/icons/ChevronLeft.tsx +0 -21
  33. package/src/icons/ChevronRight.tsx +0 -21
  34. package/src/icons/FilePlus.tsx +0 -18
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:initial;right:8px}.fastboard-redo-undo{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:4px;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.fastboard-redo-undo.light{color:#333;background-color:#ffffffd9;border:1px solid rgba(0,0,0,.15)}.fastboard-redo-undo.dark{color:#ddd;background-color:#333333d9;border:1px solid rgba(0,0,0,.45)}.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:1em;height:1em}.fastboard-redo-undo-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-redo-undo-btn.light:not(:disabled):hover{background-color:#3381ff1a}.fastboard-redo-undo-btn.dark:not(:disabled):hover{background-color:#3381ff40}.fastboard-page-control{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:4px;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.fastboard-page-control.light{color:#333;background-color:#ffffffd9;border:1px solid rgba(0,0,0,.15)}.fastboard-page-control.dark{color:#ddd;background-color:#333333d9;border:1px solid rgba(0,0,0,.45)}.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:1em;height:1em}.fastboard-page-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-page-control-btn.light:not(:disabled):hover{background-color:#3381ff1a}.fastboard-page-control-btn.dark:not(:disabled):hover{background-color:#3381ff40}.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-page,.fastboard-page-control-slash,.fastboard-page-control-page-count{font-size:12px;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(2px);-webkit-backdrop-filter:blur(2px)}.fastboard-zoom-control.light{color:#333;background-color:#ffffffd9;border:1px solid rgba(0,0,0,.15)}.fastboard-zoom-control.dark{color:#ddd;background-color:#333333d9;border:1px solid rgba(0,0,0,.45)}.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:1em;height:1em}.fastboard-zoom-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-zoom-control-btn.light:not(:disabled):hover{background-color:#3381ff1a}.fastboard-zoom-control-btn.dark:not(:disabled):hover{background-color:#3381ff40}.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-percent{opacity:.6}.fastboard-zoom-control-scale,.fastboard-zoom-control-percent{font-size:12px;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(2px);-webkit-backdrop-filter:blur(2px)}.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:#ffffffd9;border:1px solid rgba(0,0,0,.15)}.fastboard-toolbar.expanded{border:1px solid rgba(0,0,0,.15)}.fastboard-toolbar.dark{color:#ddd;background-color:#333333d9}.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:#3381ff1a}.fastboard-toolbar-btn.dark:not(:disabled):hover{background-color:#3381ff40}.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:12px;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(2px);-webkit-backdrop-filter:blur(2px)}.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:#ffffffd9;border:1px solid rgba(0,0,0,.15)}.fastboard-player-control.dark{color:#ddd;background-color:#333333d9;border:1px solid rgba(0,0,0,.45)}.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:1em;height:1em}.fastboard-player-control-btn:disabled{opacity:.5;cursor:not-allowed}.fastboard-player-control-btn.light:not(:disabled):hover{background-color:#3381ff1a}.fastboard-player-control-btn.dark:not(:disabled):hover{background-color:#3381ff40}.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:12px;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:12px;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);
@@ -345,18 +346,17 @@ function Redo({ theme = "light", active }) {
345
346
  const config = themes[theme];
346
347
  const stroke = active ? config.activeColor : config.color;
347
348
  return /* @__PURE__ */ import_react6.default.createElement("svg", {
348
- viewBox: "0 0 24 24"
349
- }, /* @__PURE__ */ import_react6.default.createElement("g", {
350
- fill: "none",
351
- fillRule: "evenodd",
352
- stroke,
353
- strokeLinecap: "round",
354
- strokeLinejoin: "round"
349
+ viewBox: "0 0 24 24",
350
+ fill: "none"
355
351
  }, /* @__PURE__ */ import_react6.default.createElement("path", {
356
- d: "M14 14h4v-4"
352
+ d: "M19 9.625H9v-1.25h10v1.25ZM5.625 13v6h-1.25v-6h1.25ZM9 9.625A3.375 3.375 0 0 0 5.625 13h-1.25A4.625 4.625 0 0 1 9 8.375v1.25Z",
353
+ fill: stroke
357
354
  }), /* @__PURE__ */ import_react6.default.createElement("path", {
358
- d: "m18 14-.788-.9A7.005 7.005 0 0 0 6 14h0"
359
- })));
355
+ d: "m15 5 4 4-4 4",
356
+ stroke,
357
+ strokeLinejoin: "round",
358
+ strokeWidth: "1.25"
359
+ }));
360
360
  }
361
361
 
362
362
  // src/icons/Undo.tsx
@@ -365,18 +365,17 @@ function Undo({ theme = "light", active }) {
365
365
  const config = themes[theme];
366
366
  const stroke = active ? config.activeColor : config.color;
367
367
  return /* @__PURE__ */ import_react7.default.createElement("svg", {
368
- viewBox: "0 0 24 24"
369
- }, /* @__PURE__ */ import_react7.default.createElement("g", {
370
- fill: "none",
371
- fillRule: "evenodd",
372
- stroke,
373
- strokeLinecap: "round",
374
- strokeLinejoin: "round"
368
+ viewBox: "0 0 24 24",
369
+ fill: "none"
375
370
  }, /* @__PURE__ */ import_react7.default.createElement("path", {
376
- d: "M10 14H6v-4"
371
+ d: "M5 9.625h10v-1.25H5v1.25ZM18.375 13v6h1.25v-6h-1.25ZM15 9.625A3.375 3.375 0 0 1 18.375 13h1.25A4.625 4.625 0 0 0 15 8.375v1.25Z",
372
+ fill: stroke
377
373
  }), /* @__PURE__ */ import_react7.default.createElement("path", {
378
- d: "m6 14 .788-.9A7.005 7.005 0 0 1 18 14h0"
379
- })));
374
+ d: "M9 5 5 9l4 4",
375
+ stroke,
376
+ strokeLinejoin: "round",
377
+ strokeWidth: "1.25"
378
+ }));
380
379
  }
381
380
 
382
381
  // src/components/RedoUndo/RedoUndo.tsx
@@ -495,13 +494,13 @@ function Minus({ theme = "light", active }) {
495
494
  const config = themes[theme];
496
495
  const stroke = active ? config.activeColor : config.color;
497
496
  return /* @__PURE__ */ import_react11.default.createElement("svg", {
498
- viewBox: "0 0 24 24"
497
+ viewBox: "0 0 24 24",
498
+ fill: "none"
499
499
  }, /* @__PURE__ */ import_react11.default.createElement("path", {
500
- fill: "none",
500
+ d: "M5 12h14",
501
501
  stroke,
502
- strokeLinecap: "round",
503
502
  strokeLinejoin: "round",
504
- d: "M7 12h10"
503
+ strokeWidth: "1.25"
505
504
  }));
506
505
  }
507
506
 
@@ -511,13 +510,13 @@ function Plus({ theme = "light", active }) {
511
510
  const config = themes[theme];
512
511
  const stroke = active ? config.activeColor : config.color;
513
512
  return /* @__PURE__ */ import_react12.default.createElement("svg", {
514
- viewBox: "0 0 24 24"
513
+ viewBox: "0 0 24 24",
514
+ fill: "none"
515
515
  }, /* @__PURE__ */ import_react12.default.createElement("path", {
516
- fill: "none",
516
+ d: "M5 12h14m-7-7v14",
517
517
  stroke,
518
- strokeLinecap: "round",
519
518
  strokeLinejoin: "round",
520
- d: "M12 7v10m-5-5h10"
519
+ strokeWidth: "1.25"
521
520
  }));
522
521
  }
523
522
 
@@ -527,26 +526,26 @@ function Reset({ theme = "light", active }) {
527
526
  const config = themes[theme];
528
527
  const stroke = active ? config.activeColor : config.color;
529
528
  return /* @__PURE__ */ import_react13.default.createElement("svg", {
530
- viewBox: "0 0 24 24"
531
- }, /* @__PURE__ */ import_react13.default.createElement("g", {
532
- fill: "none",
533
- fillRule: "evenodd",
534
- transform: "translate(-176 -684)"
535
- }, /* @__PURE__ */ import_react13.default.createElement("path", {
529
+ viewBox: "0 0 24 24",
530
+ fill: "none"
531
+ }, /* @__PURE__ */ import_react13.default.createElement("circle", {
532
+ cx: "12",
533
+ cy: "12",
534
+ fill: stroke,
535
+ r: "2"
536
+ }), /* @__PURE__ */ import_react13.default.createElement("path", {
537
+ d: "M12 3v4m0 10v4m9-9h-4M7 12H3",
536
538
  stroke,
537
539
  strokeLinejoin: "round",
538
- d: "M188 688v4m0 8v4m8-8h-4m-8 0h-4"
540
+ strokeWidth: "1.25"
539
541
  }), /* @__PURE__ */ import_react13.default.createElement("circle", {
540
- cx: "188",
541
- cy: "696",
542
- r: "6",
543
- stroke
544
- }), /* @__PURE__ */ import_react13.default.createElement("circle", {
545
- cx: "188",
546
- cy: "696",
547
- r: "1",
548
- fill: stroke
549
- })));
542
+ cx: "12",
543
+ cy: "12",
544
+ r: "7",
545
+ stroke,
546
+ strokeLinejoin: "round",
547
+ strokeWidth: "1.25"
548
+ }));
550
549
  }
551
550
 
552
551
  // src/components/ZoomControl/ZoomControl.tsx
@@ -587,10 +586,12 @@ function ZoomControl({
587
586
  src: disabled ? minusIconDisable : minusIcon,
588
587
  alt: "[minus]"
589
588
  }))), /* @__PURE__ */ import_react15.default.createElement("span", {
589
+ className: (0, import_clsx2.default)(`${name2}-text`, theme)
590
+ }, /* @__PURE__ */ import_react15.default.createElement("span", {
590
591
  className: (0, import_clsx2.default)(`${name2}-scale`, theme)
591
592
  }, Math.ceil(scale * 100)), /* @__PURE__ */ import_react15.default.createElement("span", {
592
593
  className: (0, import_clsx2.default)(`${name2}-percent`, theme)
593
- }, "%"), /* @__PURE__ */ import_react15.default.createElement(import_react14.default, {
594
+ }, "%")), /* @__PURE__ */ import_react15.default.createElement(import_react14.default, {
594
595
  className: "fastboard-tip",
595
596
  content: t("zoomIn"),
596
597
  theme,
@@ -656,48 +657,65 @@ var import_react20 = __toESM(require("@tippyjs/react"));
656
657
  var import_clsx3 = __toESM(require("clsx"));
657
658
  var import_react21 = __toESM(require("react"));
658
659
 
659
- // src/icons/ChevronLeft.tsx
660
+ // src/icons/Left.tsx
660
661
  var import_react17 = __toESM(require("react"));
661
- function ChevronLeft({ theme = "light", active }) {
662
+ function Left({ theme = "light", active }) {
662
663
  const config = themes[theme];
663
664
  const stroke = active ? config.activeColor : config.color;
664
665
  return /* @__PURE__ */ import_react17.default.createElement("svg", {
665
- viewBox: "0 0 24 24"
666
+ viewBox: "0 0 24 24",
667
+ fill: "none"
666
668
  }, /* @__PURE__ */ import_react17.default.createElement("path", {
667
- fill: "none",
669
+ d: "m14 8-2 2-2 2 2 2 2 2",
668
670
  stroke,
669
- strokeLinecap: "round",
670
671
  strokeLinejoin: "round",
671
- d: "m14 16-2-2-2-2 2-2 2-2"
672
+ strokeWidth: "1.25"
672
673
  }));
673
674
  }
674
675
 
675
- // src/icons/ChevronRight.tsx
676
+ // src/icons/Right.tsx
676
677
  var import_react18 = __toESM(require("react"));
677
- function ChevronRight({ theme = "light", active }) {
678
+ function Right({ theme = "light", active }) {
678
679
  const config = themes[theme];
679
680
  const stroke = active ? config.activeColor : config.color;
680
681
  return /* @__PURE__ */ import_react18.default.createElement("svg", {
681
- viewBox: "0 0 24 24"
682
+ viewBox: "0 0 24 24",
683
+ fill: "none"
682
684
  }, /* @__PURE__ */ import_react18.default.createElement("path", {
683
- fill: "none",
685
+ d: "m10 8 2 2 2 2-2 2-2 2",
684
686
  stroke,
685
- strokeLinecap: "round",
686
687
  strokeLinejoin: "round",
687
- d: "m10 16 2-2 2-2-2-2-2-2"
688
+ strokeWidth: "1.25"
688
689
  }));
689
690
  }
690
691
 
691
- // src/icons/FilePlus.tsx
692
+ // src/icons/WhiteboardAdd.tsx
692
693
  var import_react19 = __toESM(require("react"));
693
- function FilePlus({ theme = "light", active }) {
694
+ function WhiteboardAdd({ theme = "light", active }) {
694
695
  const config = themes[theme];
695
696
  const stroke = active ? config.activeColor : config.color;
696
697
  return /* @__PURE__ */ import_react19.default.createElement("svg", {
697
- viewBox: "0 0 24 24"
698
+ viewBox: "0 0 24 24",
699
+ fill: "none"
698
700
  }, /* @__PURE__ */ import_react19.default.createElement("path", {
699
- fill: stroke,
700
- d: "M12 7.5a.5.5 0 0 1 .09.992L12 8.5H8a1.5 1.5 0 0 0-1.493 1.356L6.5 10v6a1.5 1.5 0 0 0 1.356 1.493L8 17.5h6a1.5 1.5 0 0 0 1.493-1.356L15.5 16v-4a.5.5 0 0 1 .992-.09l.008.09v4a2.5 2.5 0 0 1-2.336 2.495L14 18.5H8a2.5 2.5 0 0 1-2.495-2.336L5.5 16v-6a2.5 2.5 0 0 1 2.336-2.495L8 7.5h4Zm4-2a.5.5 0 0 1 .492.41L16.5 6v1.5H18a.5.5 0 0 1 .09.992L18 8.5h-1.5V10a.5.5 0 0 1-.992.09L15.5 10V8.5H14a.5.5 0 0 1-.09-.992L14 7.5h1.5V6a.5.5 0 0 1 .5-.5Z"
701
+ d: "M4 20h16M4 6h16",
702
+ stroke,
703
+ strokeLinejoin: "round",
704
+ strokeWidth: "1.25"
705
+ }), /* @__PURE__ */ import_react19.default.createElement("rect", {
706
+ height: "10",
707
+ rx: "1",
708
+ stroke,
709
+ strokeLinejoin: "round",
710
+ strokeWidth: "1.25",
711
+ width: "14",
712
+ x: "5",
713
+ y: "8"
714
+ }), /* @__PURE__ */ import_react19.default.createElement("path", {
715
+ d: "M12 4v2m-3 7h6m-3-3v6",
716
+ stroke,
717
+ strokeLinejoin: "round",
718
+ strokeWidth: "1.25"
701
719
  }));
702
720
  }
703
721
 
@@ -733,18 +751,20 @@ function PageControl({
733
751
  disabled: disabled || pageIndex === 0,
734
752
  onClick: actions.prevPage
735
753
  }, /* @__PURE__ */ import_react21.default.createElement(Icon, {
736
- fallback: /* @__PURE__ */ import_react21.default.createElement(ChevronLeft, {
754
+ fallback: /* @__PURE__ */ import_react21.default.createElement(Left, {
737
755
  theme
738
756
  }),
739
757
  src: disabled ? prevIconDisable : prevIcon,
740
758
  alt: "[prev]"
741
759
  }))), /* @__PURE__ */ import_react21.default.createElement("span", {
760
+ className: (0, import_clsx3.default)(`${name3}-text`, theme)
761
+ }, /* @__PURE__ */ import_react21.default.createElement("span", {
742
762
  className: (0, import_clsx3.default)(`${name3}-page`, theme)
743
763
  }, pageCount === 0 ? "\u2026" : pageIndex + 1), /* @__PURE__ */ import_react21.default.createElement("span", {
744
764
  className: (0, import_clsx3.default)(`${name3}-slash`, theme)
745
765
  }, "/"), /* @__PURE__ */ import_react21.default.createElement("span", {
746
766
  className: (0, import_clsx3.default)(`${name3}-page-count`, theme)
747
- }, pageCount), /* @__PURE__ */ import_react21.default.createElement(import_react20.default, {
767
+ }, pageCount)), /* @__PURE__ */ import_react21.default.createElement(import_react20.default, {
748
768
  className: "fastboard-tip",
749
769
  content: t("nextPage"),
750
770
  theme,
@@ -758,7 +778,7 @@ function PageControl({
758
778
  disabled: disabled || pageIndex === pageCount - 1,
759
779
  onClick: actions.nextPage
760
780
  }, /* @__PURE__ */ import_react21.default.createElement(Icon, {
761
- fallback: /* @__PURE__ */ import_react21.default.createElement(ChevronRight, {
781
+ fallback: /* @__PURE__ */ import_react21.default.createElement(Right, {
762
782
  theme
763
783
  }),
764
784
  src: disabled ? nextIconDisable : nextIcon,
@@ -777,7 +797,7 @@ function PageControl({
777
797
  disabled,
778
798
  onClick: actions.addPage
779
799
  }, /* @__PURE__ */ import_react21.default.createElement(Icon, {
780
- fallback: /* @__PURE__ */ import_react21.default.createElement(FilePlus, {
800
+ fallback: /* @__PURE__ */ import_react21.default.createElement(WhiteboardAdd, {
781
801
  theme
782
802
  }),
783
803
  src: disabled ? addIconDisable : addIcon,
@@ -1149,14 +1169,14 @@ var EmptyToolbarHook = {
1149
1169
  // src/components/Toolbar/Toolbar.tsx
1150
1170
  var import_clsx10 = __toESM(require("clsx"));
1151
1171
  var import_framer_motion = require("framer-motion");
1152
- var import_react59 = __toESM(require("react"));
1172
+ var import_react60 = __toESM(require("react"));
1153
1173
 
1154
1174
  // src/components/Toolbar/components/assets/expanded.png
1155
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==";
1156
1176
 
1157
1177
  // src/components/Toolbar/Content.tsx
1158
1178
  var import_clsx9 = __toESM(require("clsx"));
1159
- var import_react58 = __toESM(require("react"));
1179
+ var import_react59 = __toESM(require("react"));
1160
1180
 
1161
1181
  // src/components/Toolbar/components/ApplianceButtons.tsx
1162
1182
  var import_react45 = __toESM(require("react"));
@@ -1282,8 +1302,8 @@ function CleanButton() {
1282
1302
 
1283
1303
  // src/components/Toolbar/components/AppsButton.tsx
1284
1304
  var import_clsx5 = __toESM(require("clsx"));
1285
- var import_react46 = __toESM(require("@tippyjs/react"));
1286
- var import_react47 = __toESM(require("react"));
1305
+ var import_react47 = __toESM(require("@tippyjs/react"));
1306
+ var import_react48 = __toESM(require("react"));
1287
1307
 
1288
1308
  // src/components/Toolbar/components/assets/vscode.png
1289
1309
  var vscode_default = "data:image/png;base64,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";
@@ -1294,23 +1314,35 @@ var geogebra_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCA
1294
1314
  // src/components/Toolbar/components/assets/countdown.png
1295
1315
  var countdown_default = "data:image/png;base64,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";
1296
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
+
1297
1329
  // src/components/Toolbar/components/AppsButton.tsx
1298
1330
  function AppsButton({ content, onClick }) {
1299
- const { theme, icons, writable } = (0, import_react47.useContext)(ToolbarContext);
1331
+ const { theme, icons, writable } = (0, import_react48.useContext)(ToolbarContext);
1300
1332
  const disabled = !writable;
1301
- const button = /* @__PURE__ */ import_react47.default.createElement(Button, {
1333
+ const button = /* @__PURE__ */ import_react48.default.createElement(Button, {
1302
1334
  content: "Apps",
1303
1335
  onClick
1304
- }, /* @__PURE__ */ import_react47.default.createElement(Icon, {
1305
- fallback: /* @__PURE__ */ import_react47.default.createElement(Icons.Apps, {
1336
+ }, /* @__PURE__ */ import_react48.default.createElement(Icon, {
1337
+ fallback: /* @__PURE__ */ import_react48.default.createElement(Icons.Apps, {
1306
1338
  theme
1307
1339
  }),
1308
1340
  src: disabled ? icons == null ? void 0 : icons.appsIconDisable : icons == null ? void 0 : icons.appsIcon,
1309
1341
  alt: "[apps]"
1310
1342
  }));
1311
- return content === false ? button : /* @__PURE__ */ import_react47.default.createElement("span", {
1343
+ return content === false ? button : /* @__PURE__ */ import_react48.default.createElement("span", {
1312
1344
  className: "fastboard-toolbar-btn-interactive"
1313
- }, /* @__PURE__ */ import_react47.default.createElement(import_react46.default, {
1345
+ }, /* @__PURE__ */ import_react48.default.createElement(import_react47.default, {
1314
1346
  className: "fastboard-tip",
1315
1347
  content: renderAppsButtonContent(content),
1316
1348
  theme,
@@ -1322,28 +1354,28 @@ function AppsButton({ content, onClick }) {
1322
1354
  }, button));
1323
1355
  }
1324
1356
  function renderAppsButtonContent(content) {
1325
- return /* @__PURE__ */ import_react47.default.createElement("div", {
1357
+ return /* @__PURE__ */ import_react48.default.createElement("div", {
1326
1358
  className: "fastboard-toolbar-panel apps"
1327
- }, /* @__PURE__ */ import_react47.default.createElement("div", {
1359
+ }, /* @__PURE__ */ import_react48.default.createElement("div", {
1328
1360
  className: "fastboard-toolbar-apps"
1329
- }, content || /* @__PURE__ */ import_react47.default.createElement(DefaultApps, null)));
1361
+ }, content || /* @__PURE__ */ import_react48.default.createElement(DefaultApps, null)));
1330
1362
  }
1331
1363
  function DefaultApps() {
1332
1364
  const app = useFastboardApp();
1333
- const { appsStatus } = (0, import_react47.useContext)(ToolbarContext);
1334
- 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, {
1335
1367
  title: "Code Editor",
1336
1368
  src: vscode_default,
1337
1369
  alt: "[code editor]",
1338
1370
  appStatus: appsStatus["Monaco"],
1339
1371
  onClick: app == null ? void 0 : app.insertCodeEditor.bind(app)
1340
- }), /* @__PURE__ */ import_react47.default.createElement(AppIcon, {
1372
+ }), /* @__PURE__ */ import_react48.default.createElement(AppIcon, {
1341
1373
  title: "GeoGebra",
1342
1374
  src: geogebra_default,
1343
1375
  alt: "[geogebra]",
1344
1376
  appStatus: appsStatus["GeoGebra"],
1345
1377
  onClick: app == null ? void 0 : app.insertGeoGebra.bind(app)
1346
- }), /* @__PURE__ */ import_react47.default.createElement(AppIcon, {
1378
+ }), /* @__PURE__ */ import_react48.default.createElement(AppIcon, {
1347
1379
  title: "Countdown",
1348
1380
  src: countdown_default,
1349
1381
  alt: "[countdown]",
@@ -1352,37 +1384,44 @@ function DefaultApps() {
1352
1384
  }));
1353
1385
  }
1354
1386
  function AppIcon({ title, src, alt, appStatus, onClick }) {
1387
+ const { theme } = (0, import_react48.useContext)(ToolbarContext);
1355
1388
  const { status = "idle", reason } = appStatus || {};
1356
1389
  const loading = status === "loading";
1357
1390
  const failed = status === "failed";
1358
1391
  const unifiedTitle = loading ? "loading" : failed ? reason : title;
1359
- 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", {
1360
1395
  className: (0, import_clsx5.default)("fastboard-toolbar-app-icon", {
1361
1396
  "fastboard-toolbar-app-is-loading": loading,
1362
1397
  "fastboard-toolbar-app-is-failed": failed
1363
1398
  })
1364
- }, /* @__PURE__ */ import_react47.default.createElement(Button, {
1365
- disabled: failed,
1399
+ }, /* @__PURE__ */ import_react48.default.createElement(Button, {
1400
+ disabled: failed || loading,
1366
1401
  placement: "top",
1367
1402
  content: unifiedTitle,
1368
1403
  onClick
1369
- }, /* @__PURE__ */ import_react47.default.createElement("img", {
1404
+ }, /* @__PURE__ */ import_react48.default.createElement("img", {
1370
1405
  src,
1371
1406
  alt,
1372
1407
  title: unifiedTitle
1373
- })), /* @__PURE__ */ import_react47.default.createElement("span", {
1408
+ })), /* @__PURE__ */ import_react48.default.createElement("span", {
1374
1409
  className: "fastboard-toolbar-app-icon-text"
1375
- }, 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
+ })));
1376
1415
  }
1377
1416
 
1378
1417
  // src/components/Toolbar/components/PencilButton.tsx
1379
- var import_react51 = __toESM(require("@tippyjs/react"));
1380
- var import_react52 = __toESM(require("react"));
1418
+ var import_react52 = __toESM(require("@tippyjs/react"));
1419
+ var import_react53 = __toESM(require("react"));
1381
1420
  var import_white_web_sdk3 = require("white-web-sdk");
1382
1421
 
1383
1422
  // src/components/Toolbar/components/ColorBox.tsx
1384
1423
  var import_clsx6 = __toESM(require("clsx"));
1385
- var import_react48 = __toESM(require("react"));
1424
+ var import_react49 = __toESM(require("react"));
1386
1425
  var colors = {
1387
1426
  "#E02020": [224, 32, 32],
1388
1427
  "#F7B500": [247, 181, 0],
@@ -1395,20 +1434,20 @@ var colors = {
1395
1434
  };
1396
1435
  var colorKeys = Object.keys(colors);
1397
1436
  function ColorBox() {
1398
- const { theme, memberState, setStrokeColor, writable } = (0, import_react48.useContext)(ToolbarContext);
1437
+ const { theme, memberState, setStrokeColor, writable } = (0, import_react49.useContext)(ToolbarContext);
1399
1438
  const strokeColor = memberState == null ? void 0 : memberState.strokeColor;
1400
1439
  const disabled = !writable;
1401
- return /* @__PURE__ */ import_react48.default.createElement("div", {
1440
+ return /* @__PURE__ */ import_react49.default.createElement("div", {
1402
1441
  className: (0, import_clsx6.default)("fastboard-toolbar-color-box", theme)
1403
- }, colorKeys.map((key) => /* @__PURE__ */ import_react48.default.createElement("div", {
1442
+ }, colorKeys.map((key) => /* @__PURE__ */ import_react49.default.createElement("div", {
1404
1443
  key,
1405
1444
  className: (0, import_clsx6.default)("fastboard-toolbar-color-item", theme),
1406
1445
  onClick: () => setStrokeColor(colors[key])
1407
- }, /* @__PURE__ */ import_react48.default.createElement("div", {
1446
+ }, /* @__PURE__ */ import_react49.default.createElement("div", {
1408
1447
  className: (0, import_clsx6.default)("fastboard-toolbar-color-border", theme, {
1409
1448
  active: strokeColor && isEqualArray(strokeColor, colors[key])
1410
1449
  })
1411
- }, /* @__PURE__ */ import_react48.default.createElement("button", {
1450
+ }, /* @__PURE__ */ import_react49.default.createElement("button", {
1412
1451
  className: (0, import_clsx6.default)("fastboard-toolbar-color-btn"),
1413
1452
  style: { background: key },
1414
1453
  disabled,
@@ -1421,10 +1460,10 @@ function ColorBox() {
1421
1460
 
1422
1461
  // src/components/Toolbar/components/CutLine.tsx
1423
1462
  var import_clsx7 = __toESM(require("clsx"));
1424
- var import_react49 = __toESM(require("react"));
1463
+ var import_react50 = __toESM(require("react"));
1425
1464
  function CutLine() {
1426
- const { theme } = (0, import_react49.useContext)(ToolbarContext);
1427
- return /* @__PURE__ */ import_react49.default.createElement("span", {
1465
+ const { theme } = (0, import_react50.useContext)(ToolbarContext);
1466
+ return /* @__PURE__ */ import_react50.default.createElement("span", {
1428
1467
  className: (0, import_clsx7.default)(`${name4}-cut-line`, theme)
1429
1468
  });
1430
1469
  }
@@ -1432,12 +1471,12 @@ function CutLine() {
1432
1471
  // src/components/Toolbar/components/Slider.tsx
1433
1472
  var import_clsx8 = __toESM(require("clsx"));
1434
1473
  var import_rc_slider = __toESM(require("rc-slider"));
1435
- var import_react50 = __toESM(require("react"));
1474
+ var import_react51 = __toESM(require("react"));
1436
1475
  function Slider() {
1437
- const { theme, writable, memberState, setStrokeWidth } = (0, import_react50.useContext)(ToolbarContext);
1476
+ const { theme, writable, memberState, setStrokeWidth } = (0, import_react51.useContext)(ToolbarContext);
1438
1477
  const { activeColor } = themes[theme];
1439
1478
  const strokeWidth = (memberState == null ? void 0 : memberState.strokeWidth) || 0;
1440
- return /* @__PURE__ */ import_react50.default.createElement(import_rc_slider.default, {
1479
+ return /* @__PURE__ */ import_react51.default.createElement(import_rc_slider.default, {
1441
1480
  disabled: !writable,
1442
1481
  className: (0, import_clsx8.default)("fastboard-toolbar-slider", theme),
1443
1482
  trackStyle: { background: activeColor },
@@ -1453,17 +1492,17 @@ function Slider() {
1453
1492
  function PencilButton() {
1454
1493
  const app = useFastboardApp();
1455
1494
  const { t } = useTranslation();
1456
- const { theme, icons, writable, setAppliance, memberState } = (0, import_react52.useContext)(ToolbarContext);
1457
- 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)(() => {
1458
1497
  setAppliance(import_white_web_sdk3.ApplianceNames.pencil);
1459
1498
  }, [setAppliance]);
1460
1499
  const appliance = memberState == null ? void 0 : memberState.currentApplianceName;
1461
1500
  const active = appliance === import_white_web_sdk3.ApplianceNames.pencil;
1462
1501
  const disabled = !writable;
1463
1502
  const shortcut = ((app == null ? void 0 : app.hotKeys) || defaultHotKeys).changeToPencil;
1464
- return /* @__PURE__ */ import_react52.default.createElement("span", {
1503
+ return /* @__PURE__ */ import_react53.default.createElement("span", {
1465
1504
  className: "fastboard-toolbar-btn-interactive"
1466
- }, /* @__PURE__ */ import_react52.default.createElement(import_react51.default, {
1505
+ }, /* @__PURE__ */ import_react53.default.createElement(import_react52.default, {
1467
1506
  className: "fastboard-tip",
1468
1507
  content: renderPencilButtonContent(),
1469
1508
  theme,
@@ -1472,50 +1511,50 @@ function PencilButton() {
1472
1511
  offset: RightOffset,
1473
1512
  arrow: false,
1474
1513
  interactive: true
1475
- }, /* @__PURE__ */ import_react52.default.createElement(Button, {
1514
+ }, /* @__PURE__ */ import_react53.default.createElement(Button, {
1476
1515
  content: renderToolTip(t("pencil"), shortcut),
1477
1516
  active,
1478
1517
  onClick: changeAppliance
1479
- }, /* @__PURE__ */ import_react52.default.createElement(Icon, {
1480
- fallback: /* @__PURE__ */ import_react52.default.createElement(Icons.Pencil, {
1518
+ }, /* @__PURE__ */ import_react53.default.createElement(Icon, {
1519
+ fallback: /* @__PURE__ */ import_react53.default.createElement(Icons.Pencil, {
1481
1520
  theme,
1482
1521
  active
1483
1522
  }),
1484
1523
  src: disabled ? icons == null ? void 0 : icons.pencilIconDisable : icons == null ? void 0 : icons.pencilIcon,
1485
1524
  alt: "[pencil]"
1486
- }), /* @__PURE__ */ import_react52.default.createElement("span", {
1525
+ }), /* @__PURE__ */ import_react53.default.createElement("span", {
1487
1526
  className: "fastboard-toolbar-triangle"
1488
1527
  }))));
1489
1528
  }
1490
1529
  function renderPencilButtonContent() {
1491
- return /* @__PURE__ */ import_react52.default.createElement("div", {
1530
+ return /* @__PURE__ */ import_react53.default.createElement("div", {
1492
1531
  className: "fastboard-toolbar-panel pencil"
1493
- }, /* @__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));
1494
1533
  }
1495
1534
 
1496
1535
  // src/components/Toolbar/components/ShapesButton.tsx
1497
- var import_react53 = __toESM(require("@tippyjs/react"));
1498
- var import_react54 = __toESM(require("react"));
1536
+ var import_react54 = __toESM(require("@tippyjs/react"));
1537
+ var import_react55 = __toESM(require("react"));
1499
1538
  var import_white_web_sdk4 = require("white-web-sdk");
1500
1539
  var ShapeTypes = /* @__PURE__ */ new Set([...ApplianceShapes, ...Shapes]);
1501
1540
  function ShapesButton() {
1502
1541
  const { t } = useTranslation();
1503
- const { writable, theme, memberState, lastShape, setAppliance } = (0, import_react54.useContext)(ToolbarContext);
1542
+ const { writable, theme, memberState, lastShape, setAppliance } = (0, import_react55.useContext)(ToolbarContext);
1504
1543
  const appliance = memberState == null ? void 0 : memberState.currentApplianceName;
1505
1544
  const shape = memberState == null ? void 0 : memberState.shapeType;
1506
1545
  const key = appliance === import_white_web_sdk4.ApplianceNames.shape ? shape : appliance;
1507
1546
  const active = ShapeTypes.has(key);
1508
1547
  const CurrentIcon = ShapesMap[lastShape];
1509
- const onClick = (0, import_react54.useCallback)(() => {
1548
+ const onClick = (0, import_react55.useCallback)(() => {
1510
1549
  if (ApplianceShapes.includes(lastShape)) {
1511
1550
  setAppliance(lastShape);
1512
1551
  } else if (Shapes.includes(lastShape)) {
1513
1552
  setAppliance(import_white_web_sdk4.ApplianceNames.shape, lastShape);
1514
1553
  }
1515
1554
  }, [lastShape, setAppliance]);
1516
- return /* @__PURE__ */ import_react54.default.createElement("span", {
1555
+ return /* @__PURE__ */ import_react55.default.createElement("span", {
1517
1556
  className: "fastboard-toolbar-btn-interactive"
1518
- }, /* @__PURE__ */ import_react54.default.createElement(import_react53.default, {
1557
+ }, /* @__PURE__ */ import_react55.default.createElement(import_react54.default, {
1519
1558
  className: "fastboard-tip",
1520
1559
  content: renderShapesButtonContent(),
1521
1560
  theme,
@@ -1524,33 +1563,33 @@ function ShapesButton() {
1524
1563
  offset: RightOffset,
1525
1564
  arrow: false,
1526
1565
  interactive: true
1527
- }, /* @__PURE__ */ import_react54.default.createElement(Button, {
1566
+ }, /* @__PURE__ */ import_react55.default.createElement(Button, {
1528
1567
  content: t("shape"),
1529
1568
  active,
1530
1569
  disabled: !writable,
1531
1570
  onClick
1532
- }, /* @__PURE__ */ import_react54.default.createElement(CurrentIcon, {
1571
+ }, /* @__PURE__ */ import_react55.default.createElement(CurrentIcon, {
1533
1572
  theme,
1534
1573
  active
1535
- }), /* @__PURE__ */ import_react54.default.createElement("span", {
1574
+ }), /* @__PURE__ */ import_react55.default.createElement("span", {
1536
1575
  className: "fastboard-toolbar-triangle"
1537
1576
  }))));
1538
1577
  }
1539
1578
  function renderShapesButtonContent() {
1540
- return /* @__PURE__ */ import_react54.default.createElement("div", {
1579
+ return /* @__PURE__ */ import_react55.default.createElement("div", {
1541
1580
  className: "fastboard-toolbar-panel shapes"
1542
- }, /* @__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));
1543
1582
  }
1544
1583
  function ShapesBox() {
1545
1584
  const { t } = useTranslation();
1546
- return /* @__PURE__ */ import_react54.default.createElement("div", {
1585
+ return /* @__PURE__ */ import_react55.default.createElement("div", {
1547
1586
  className: "fastboard-toolbar-shapes"
1548
- }, ApplianceShapes.map((Appliance) => /* @__PURE__ */ import_react54.default.createElement(ApplianceShapeButton, {
1587
+ }, ApplianceShapes.map((Appliance) => /* @__PURE__ */ import_react55.default.createElement(ApplianceShapeButton, {
1549
1588
  key: Appliance,
1550
1589
  content: t(Appliance),
1551
1590
  Appliance,
1552
1591
  Icon: ShapesMap[Appliance]
1553
- })), Shapes.map((shape) => /* @__PURE__ */ import_react54.default.createElement(ShapeShapeButton, {
1592
+ })), Shapes.map((shape) => /* @__PURE__ */ import_react55.default.createElement(ShapeShapeButton, {
1554
1593
  key: shape,
1555
1594
  content: t(shape),
1556
1595
  shape,
@@ -1558,53 +1597,53 @@ function ShapesBox() {
1558
1597
  })));
1559
1598
  }
1560
1599
  function ApplianceShapeButton({ content, Appliance, Icon: Icon2 }) {
1561
- const { theme, writable, setAppliance, memberState } = (0, import_react54.useContext)(ToolbarContext);
1600
+ const { theme, writable, setAppliance, memberState } = (0, import_react55.useContext)(ToolbarContext);
1562
1601
  const current = memberState == null ? void 0 : memberState.currentApplianceName;
1563
1602
  const disabled = !writable;
1564
- return /* @__PURE__ */ import_react54.default.createElement(Button, {
1603
+ return /* @__PURE__ */ import_react55.default.createElement(Button, {
1565
1604
  content,
1566
1605
  disabled,
1567
1606
  placement: "top",
1568
1607
  onClick: () => setAppliance(Appliance)
1569
- }, /* @__PURE__ */ import_react54.default.createElement(Icon2, {
1608
+ }, /* @__PURE__ */ import_react55.default.createElement(Icon2, {
1570
1609
  theme,
1571
1610
  active: current === Appliance
1572
1611
  }));
1573
1612
  }
1574
1613
  function ShapeShapeButton({ content, shape, Icon: Icon2 }) {
1575
- const { theme, writable, setAppliance, memberState } = (0, import_react54.useContext)(ToolbarContext);
1614
+ const { theme, writable, setAppliance, memberState } = (0, import_react55.useContext)(ToolbarContext);
1576
1615
  const appliance = memberState == null ? void 0 : memberState.currentApplianceName;
1577
1616
  const current = appliance === import_white_web_sdk4.ApplianceNames.shape && (memberState == null ? void 0 : memberState.shapeType);
1578
1617
  const disabled = !writable;
1579
- return /* @__PURE__ */ import_react54.default.createElement(Button, {
1618
+ return /* @__PURE__ */ import_react55.default.createElement(Button, {
1580
1619
  content,
1581
1620
  disabled,
1582
1621
  placement: "top",
1583
1622
  onClick: () => setAppliance(import_white_web_sdk4.ApplianceNames.shape, shape)
1584
- }, /* @__PURE__ */ import_react54.default.createElement(Icon2, {
1623
+ }, /* @__PURE__ */ import_react55.default.createElement(Icon2, {
1585
1624
  theme,
1586
1625
  active: current === shape
1587
1626
  }));
1588
1627
  }
1589
1628
 
1590
1629
  // src/components/Toolbar/components/TextButton.tsx
1591
- var import_react55 = __toESM(require("@tippyjs/react"));
1592
- var import_react56 = __toESM(require("react"));
1630
+ var import_react56 = __toESM(require("@tippyjs/react"));
1631
+ var import_react57 = __toESM(require("react"));
1593
1632
  var import_white_web_sdk5 = require("white-web-sdk");
1594
1633
  function TextButton() {
1595
1634
  const app = useFastboardApp();
1596
1635
  const { t } = useTranslation();
1597
- const { theme, icons, writable, setAppliance, memberState } = (0, import_react56.useContext)(ToolbarContext);
1598
- 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)(() => {
1599
1638
  setAppliance(import_white_web_sdk5.ApplianceNames.text);
1600
1639
  }, [setAppliance]);
1601
1640
  const appliance = memberState == null ? void 0 : memberState.currentApplianceName;
1602
1641
  const active = appliance === import_white_web_sdk5.ApplianceNames.text;
1603
1642
  const disabled = !writable;
1604
1643
  const shortcut = ((app == null ? void 0 : app.hotKeys) || defaultHotKeys).changeToText;
1605
- return /* @__PURE__ */ import_react56.default.createElement("span", {
1644
+ return /* @__PURE__ */ import_react57.default.createElement("span", {
1606
1645
  className: "fastboard-toolbar-btn-interactive"
1607
- }, /* @__PURE__ */ import_react56.default.createElement(import_react55.default, {
1646
+ }, /* @__PURE__ */ import_react57.default.createElement(import_react56.default, {
1608
1647
  className: "fastboard-tip",
1609
1648
  content: renderTextButtonContent(),
1610
1649
  theme,
@@ -1613,53 +1652,53 @@ function TextButton() {
1613
1652
  offset: RightOffset,
1614
1653
  arrow: false,
1615
1654
  interactive: true
1616
- }, /* @__PURE__ */ import_react56.default.createElement(Button, {
1655
+ }, /* @__PURE__ */ import_react57.default.createElement(Button, {
1617
1656
  content: renderToolTip(t("text"), shortcut),
1618
1657
  active,
1619
1658
  onClick: changeAppliance
1620
- }, /* @__PURE__ */ import_react56.default.createElement(Icon, {
1621
- fallback: /* @__PURE__ */ import_react56.default.createElement(Icons.Text, {
1659
+ }, /* @__PURE__ */ import_react57.default.createElement(Icon, {
1660
+ fallback: /* @__PURE__ */ import_react57.default.createElement(Icons.Text, {
1622
1661
  theme,
1623
1662
  active
1624
1663
  }),
1625
1664
  src: disabled ? icons == null ? void 0 : icons.textIconDisable : icons == null ? void 0 : icons.textIcon,
1626
1665
  alt: "[text]"
1627
- }), /* @__PURE__ */ import_react56.default.createElement("span", {
1666
+ }), /* @__PURE__ */ import_react57.default.createElement("span", {
1628
1667
  className: "fastboard-toolbar-triangle"
1629
1668
  }))));
1630
1669
  }
1631
1670
  function renderTextButtonContent() {
1632
- return /* @__PURE__ */ import_react56.default.createElement("div", {
1671
+ return /* @__PURE__ */ import_react57.default.createElement("div", {
1633
1672
  className: "fastboard-toolbar-panel text"
1634
- }, /* @__PURE__ */ import_react56.default.createElement(ColorBox, null));
1673
+ }, /* @__PURE__ */ import_react57.default.createElement(ColorBox, null));
1635
1674
  }
1636
1675
 
1637
1676
  // src/components/Toolbar/components/UpDownButtons.tsx
1638
- var import_react57 = __toESM(require("react"));
1677
+ var import_react58 = __toESM(require("react"));
1639
1678
  function UpButton({ disabled, scrollTo }) {
1640
- const { theme, icons } = (0, import_react57.useContext)(ToolbarContext);
1641
- const scrollUp = (0, import_react57.useCallback)(() => scrollTo(-ItemHeight), [scrollTo]);
1642
- 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, {
1643
1682
  content: "Up",
1644
1683
  disabled,
1645
1684
  onClick: scrollUp
1646
- }, /* @__PURE__ */ import_react57.default.createElement(Icon, {
1647
- fallback: /* @__PURE__ */ import_react57.default.createElement(Icons.Up, {
1685
+ }, /* @__PURE__ */ import_react58.default.createElement(Icon, {
1686
+ fallback: /* @__PURE__ */ import_react58.default.createElement(Icons.Up, {
1648
1687
  theme
1649
1688
  }),
1650
1689
  src: disabled ? icons == null ? void 0 : icons.upIconDisable : icons == null ? void 0 : icons.upIcon,
1651
1690
  alt: "[up]"
1652
- })), /* @__PURE__ */ import_react57.default.createElement(CutLine, null));
1691
+ })), /* @__PURE__ */ import_react58.default.createElement(CutLine, null));
1653
1692
  }
1654
1693
  function DownButton({ disabled, scrollTo }) {
1655
- const { theme, icons } = (0, import_react57.useContext)(ToolbarContext);
1656
- const scrollDown = (0, import_react57.useCallback)(() => scrollTo(ItemHeight), [scrollTo]);
1657
- 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, {
1658
1697
  content: "Down",
1659
1698
  disabled,
1660
1699
  onClick: scrollDown
1661
- }, /* @__PURE__ */ import_react57.default.createElement(Icon, {
1662
- fallback: /* @__PURE__ */ import_react57.default.createElement(Icons.Down, {
1700
+ }, /* @__PURE__ */ import_react58.default.createElement(Icon, {
1701
+ fallback: /* @__PURE__ */ import_react58.default.createElement(Icons.Down, {
1663
1702
  theme
1664
1703
  }),
1665
1704
  src: disabled ? icons == null ? void 0 : icons.downIconDisable : icons == null ? void 0 : icons.downIcon,
@@ -1672,25 +1711,25 @@ var collapsed_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAB8C
1672
1711
 
1673
1712
  // src/components/Toolbar/Content.tsx
1674
1713
  function Content({ onCollapse }) {
1675
- const { theme, icons, writable } = (0, import_react58.useContext)(ToolbarContext);
1676
- const ref = (0, import_react58.useRef)(null);
1677
- const [scrollTop, setScrollTop] = (0, import_react58.useState)(0);
1678
- 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);
1679
1718
  const disabled = !writable;
1680
1719
  const needScroll = parentHeight < ItemHeight * ItemsCount + 48;
1681
1720
  const sectionHeight = clamp(parentHeight - 48 * (needScroll ? 3 : 1), MinHeight, MaxHeight);
1682
1721
  const scrollBuffer = Math.max(parentHeight - sectionHeight - 1, 0);
1683
1722
  const disableScrollUp = scrollTop === 0;
1684
1723
  const disableScrollDown = scrollTop === scrollBuffer;
1685
- const scrollTo = (0, import_react58.useCallback)((height) => {
1724
+ const scrollTo = (0, import_react59.useCallback)((height) => {
1686
1725
  setScrollTop(clamp(scrollTop + height, 0, scrollBuffer));
1687
1726
  }, [scrollBuffer, scrollTop]);
1688
- (0, import_react58.useEffect)(() => {
1727
+ (0, import_react59.useEffect)(() => {
1689
1728
  if (ref.current) {
1690
1729
  ref.current.scrollTop = scrollTop;
1691
1730
  }
1692
1731
  }, [scrollTop]);
1693
- (0, import_react58.useEffect)(() => {
1732
+ (0, import_react59.useEffect)(() => {
1694
1733
  var _a, _b;
1695
1734
  const container = (_b = (_a = ref.current) == null ? void 0 : _a.parentElement) == null ? void 0 : _b.parentElement;
1696
1735
  if (container) {
@@ -1703,24 +1742,24 @@ function Content({ onCollapse }) {
1703
1742
  return () => resizeObserver.disconnect();
1704
1743
  }
1705
1744
  }, []);
1706
- 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, {
1707
1746
  scrollTo,
1708
1747
  disabled: disableScrollUp
1709
- }), /* @__PURE__ */ import_react58.default.createElement("div", {
1748
+ }), /* @__PURE__ */ import_react59.default.createElement("div", {
1710
1749
  ref,
1711
1750
  className: (0, import_clsx9.default)(`${name4}-section`),
1712
1751
  style: {
1713
1752
  height: `${sectionHeight}px`,
1714
1753
  overflow: needScroll ? "hidden" : "visible"
1715
1754
  }
1716
- }, /* @__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, {
1717
1756
  scrollTo,
1718
1757
  disabled: disableScrollDown
1719
- }), /* @__PURE__ */ import_react58.default.createElement("div", {
1758
+ }), /* @__PURE__ */ import_react59.default.createElement("div", {
1720
1759
  className: (0, import_clsx9.default)("fastboard-toolbar-mask", theme),
1721
1760
  onClick: onCollapse
1722
- }, /* @__PURE__ */ import_react58.default.createElement(Icon, {
1723
- fallback: /* @__PURE__ */ import_react58.default.createElement("img", {
1761
+ }, /* @__PURE__ */ import_react59.default.createElement(Icon, {
1762
+ fallback: /* @__PURE__ */ import_react59.default.createElement("img", {
1724
1763
  draggable: false,
1725
1764
  className: (0, import_clsx9.default)(`${name4}-mask-btn`, theme),
1726
1765
  src: collapsed_default
@@ -1730,19 +1769,19 @@ function Content({ onCollapse }) {
1730
1769
  }
1731
1770
 
1732
1771
  // src/components/Toolbar/Toolbar.tsx
1733
- var ToolbarContext = (0, import_react59.createContext)(__spreadValues({
1772
+ var ToolbarContext = (0, import_react60.createContext)(__spreadValues({
1734
1773
  theme: "light"
1735
1774
  }, EmptyToolbarHook));
1736
1775
  var name4 = "fastboard-toolbar";
1737
1776
  function Toolbar({ theme, icons }) {
1738
1777
  theme = useTheme(theme);
1739
1778
  const hook = useToolbar();
1740
- const [expanded, setExpanded] = (0, import_react59.useState)(true);
1741
- 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");
1742
1781
  const disabled = !hook.writable;
1743
- return /* @__PURE__ */ import_react59.default.createElement(ToolbarContext.Provider, {
1782
+ return /* @__PURE__ */ import_react60.default.createElement(ToolbarContext.Provider, {
1744
1783
  value: __spreadValues({ theme, icons }, hook)
1745
- }, /* @__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, {
1746
1785
  key: "toolbar",
1747
1786
  className: (0, import_clsx10.default)(name4, theme),
1748
1787
  initial: { x: -100 },
@@ -1751,16 +1790,16 @@ function Toolbar({ theme, icons }) {
1751
1790
  onAnimationStart: () => setPointerEvents("none"),
1752
1791
  onAnimationComplete: () => setPointerEvents("auto"),
1753
1792
  style: { pointerEvents }
1754
- }, /* @__PURE__ */ import_react59.default.createElement(Content, {
1793
+ }, /* @__PURE__ */ import_react60.default.createElement(Content, {
1755
1794
  onCollapse: () => setExpanded(false)
1756
- })) : /* @__PURE__ */ import_react59.default.createElement(import_framer_motion.motion.div, {
1795
+ })) : /* @__PURE__ */ import_react60.default.createElement(import_framer_motion.motion.div, {
1757
1796
  className: (0, import_clsx10.default)(`${name4}-expand-btn`, theme),
1758
1797
  key: "expand",
1759
1798
  onClick: () => setExpanded(true),
1760
1799
  initial: { x: -100 },
1761
1800
  animate: { x: 0, transition: { duration: 0.5 } }
1762
- }, /* @__PURE__ */ import_react59.default.createElement(Icon, {
1763
- fallback: /* @__PURE__ */ import_react59.default.createElement("img", {
1801
+ }, /* @__PURE__ */ import_react60.default.createElement(Icon, {
1802
+ fallback: /* @__PURE__ */ import_react60.default.createElement("img", {
1764
1803
  draggable: false,
1765
1804
  src: expanded_default,
1766
1805
  className: (0, import_clsx10.default)(`${name4}-mask-btn`, theme)
@@ -1770,15 +1809,15 @@ function Toolbar({ theme, icons }) {
1770
1809
  }
1771
1810
 
1772
1811
  // src/components/PlayerControl/hooks.ts
1773
- var import_react60 = require("react");
1812
+ var import_react61 = require("react");
1774
1813
  var import_white_web_sdk6 = require("white-web-sdk");
1775
1814
  var EMPTY_ARRAY = [];
1776
1815
  function useForceUpdate2() {
1777
- const [, forceUpdate_] = (0, import_react60.useState)({});
1778
- return (0, import_react60.useCallback)(() => forceUpdate_({}), EMPTY_ARRAY);
1816
+ const [, forceUpdate_] = (0, import_react61.useState)({});
1817
+ return (0, import_react61.useCallback)(() => forceUpdate_({}), EMPTY_ARRAY);
1779
1818
  }
1780
1819
  function usePlayerControl(player) {
1781
- const togglePlay = (0, import_react60.useCallback)(() => {
1820
+ const togglePlay = (0, import_react61.useCallback)(() => {
1782
1821
  if (player) {
1783
1822
  switch (player.phase) {
1784
1823
  case import_white_web_sdk6.PlayerPhase.WaitingFirstFrame:
@@ -1794,25 +1833,25 @@ function usePlayerControl(player) {
1794
1833
  }
1795
1834
  }
1796
1835
  }, [player]);
1797
- const seekToProgressTime = (0, import_react60.useCallback)((time) => {
1836
+ const seekToProgressTime = (0, import_react61.useCallback)((time) => {
1798
1837
  if (player) {
1799
1838
  player.seekToProgressTime(time);
1800
1839
  }
1801
1840
  }, [player]);
1802
1841
  const lastPlayer = useLastValue(player);
1803
1842
  const forceUpdate = useForceUpdate2();
1804
- const setSpeed = (0, import_react60.useCallback)((speed2) => {
1843
+ const setSpeed = (0, import_react61.useCallback)((speed2) => {
1805
1844
  if (player) {
1806
1845
  player.playbackSpeed = speed2;
1807
1846
  forceUpdate();
1808
1847
  }
1809
1848
  }, [forceUpdate, player]);
1810
- (0, import_react60.useEffect)(() => {
1849
+ (0, import_react61.useEffect)(() => {
1811
1850
  if (!lastPlayer && player) {
1812
1851
  forceUpdate();
1813
1852
  }
1814
1853
  }, [forceUpdate, lastPlayer, player]);
1815
- (0, import_react60.useEffect)(() => {
1854
+ (0, import_react61.useEffect)(() => {
1816
1855
  if (player) {
1817
1856
  player.callbacks.on("onPhaseChanged", forceUpdate);
1818
1857
  player.callbacks.on("onProgressTimeChanged", forceUpdate);
@@ -1838,19 +1877,19 @@ function usePlayerControl(player) {
1838
1877
  }
1839
1878
 
1840
1879
  // src/components/PlayerControl/PlayerControl.tsx
1841
- var import_react67 = __toESM(require("@tippyjs/react"));
1880
+ var import_react68 = __toESM(require("@tippyjs/react"));
1842
1881
  var import_clsx12 = __toESM(require("clsx"));
1843
1882
  var import_rc_slider2 = __toESM(require("rc-slider"));
1844
- var import_react68 = __toESM(require("react"));
1883
+ var import_react69 = __toESM(require("react"));
1845
1884
  var import_white_web_sdk7 = require("white-web-sdk");
1846
1885
 
1847
1886
  // src/components/PlayerControl/components/Button.tsx
1848
1887
  var import_clsx11 = __toESM(require("clsx"));
1849
- var import_react61 = __toESM(require("react"));
1850
- var import_react62 = __toESM(require("@tippyjs/react"));
1851
- 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) => {
1852
1891
  const { theme, content, disabled, active, onClick, interactive, placement = "top", children } = props;
1853
- return /* @__PURE__ */ import_react61.default.createElement(import_react62.default, {
1892
+ return /* @__PURE__ */ import_react62.default.createElement(import_react63.default, {
1854
1893
  className: "fastboard-tip",
1855
1894
  content,
1856
1895
  interactive,
@@ -1860,7 +1899,7 @@ var Button2 = (0, import_react61.forwardRef)((props, ref) => {
1860
1899
  offset: TopOffset,
1861
1900
  delay: [1e3, 400],
1862
1901
  duration: 300
1863
- }, /* @__PURE__ */ import_react61.default.createElement("button", {
1902
+ }, /* @__PURE__ */ import_react62.default.createElement("button", {
1864
1903
  ref,
1865
1904
  className: (0, import_clsx11.default)("fastboard-player-control-btn", theme, { active }),
1866
1905
  onClick,
@@ -1869,39 +1908,39 @@ var Button2 = (0, import_react61.forwardRef)((props, ref) => {
1869
1908
  });
1870
1909
 
1871
1910
  // src/components/PlayerControl/icons/index.ts
1872
- var import_react66 = require("react");
1911
+ var import_react67 = require("react");
1873
1912
 
1874
1913
  // src/components/PlayerControl/icons/Loading.tsx
1875
- var import_react63 = __toESM(require("react"));
1876
- var Loading = (props) => {
1914
+ var import_react64 = __toESM(require("react"));
1915
+ var Loading2 = (props) => {
1877
1916
  const stroke = getStroke(props);
1878
- return /* @__PURE__ */ import_react63.default.createElement("svg", {
1917
+ return /* @__PURE__ */ import_react64.default.createElement("svg", {
1879
1918
  viewBox: "0 0 24 24"
1880
- }, /* @__PURE__ */ import_react63.default.createElement("path", {
1919
+ }, /* @__PURE__ */ import_react64.default.createElement("path", {
1881
1920
  d: "M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8z",
1882
1921
  fill: stroke
1883
1922
  }));
1884
1923
  };
1885
1924
 
1886
1925
  // src/components/PlayerControl/icons/Pause.tsx
1887
- var import_react64 = __toESM(require("react"));
1926
+ var import_react65 = __toESM(require("react"));
1888
1927
  var Pause = (props) => {
1889
1928
  const stroke = getStroke(props);
1890
- return /* @__PURE__ */ import_react64.default.createElement("svg", {
1929
+ return /* @__PURE__ */ import_react65.default.createElement("svg", {
1891
1930
  viewBox: "0 0 24 24"
1892
- }, /* @__PURE__ */ import_react64.default.createElement("path", {
1931
+ }, /* @__PURE__ */ import_react65.default.createElement("path", {
1893
1932
  d: "M14 19h4V5h-4M6 19h4V5H6v14z",
1894
1933
  fill: stroke
1895
1934
  }));
1896
1935
  };
1897
1936
 
1898
1937
  // src/components/PlayerControl/icons/Play.tsx
1899
- var import_react65 = __toESM(require("react"));
1938
+ var import_react66 = __toESM(require("react"));
1900
1939
  var Play = (props) => {
1901
1940
  const stroke = getStroke(props);
1902
- return /* @__PURE__ */ import_react65.default.createElement("svg", {
1941
+ return /* @__PURE__ */ import_react66.default.createElement("svg", {
1903
1942
  viewBox: "0 0 24 24"
1904
- }, /* @__PURE__ */ import_react65.default.createElement("path", {
1943
+ }, /* @__PURE__ */ import_react66.default.createElement("path", {
1905
1944
  d: "M8 5.14v14l11-7l-11-7z",
1906
1945
  fill: stroke
1907
1946
  }));
@@ -1909,9 +1948,9 @@ var Play = (props) => {
1909
1948
 
1910
1949
  // src/components/PlayerControl/icons/index.ts
1911
1950
  var Icons2 = {
1912
- Play: (0, import_react66.memo)(Play),
1913
- Pause: (0, import_react66.memo)(Pause),
1914
- 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)
1915
1954
  };
1916
1955
 
1917
1956
  // src/components/PlayerControl/PlayerControl.tsx
@@ -1920,12 +1959,12 @@ function PlayerControl(_a) {
1920
1959
  var _b = _a, { theme, autoHide = false, player: player_ } = _b, icons = __objRest(_b, ["theme", "autoHide", "player"]);
1921
1960
  theme = useTheme(theme);
1922
1961
  const { t } = useTranslation();
1923
- const [currentTime, setCurrentTime] = (0, import_react68.useState)(0);
1924
- const player = usePlayerControl(player_);
1925
- (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)(() => {
1926
1965
  setCurrentTime(player.currentTime);
1927
1966
  }, [player.currentTime]);
1928
- (0, import_react68.useEffect)(() => {
1967
+ (0, import_react69.useEffect)(() => {
1929
1968
  if (player.currentTime !== currentTime) {
1930
1969
  player.seekToProgressTime(currentTime);
1931
1970
  }
@@ -1933,25 +1972,25 @@ function PlayerControl(_a) {
1933
1972
  const isLoading = player.phase === import_white_web_sdk7.PlayerPhase.WaitingFirstFrame || player.phase === import_white_web_sdk7.PlayerPhase.Buffering;
1934
1973
  const isPlaying = player.phase === import_white_web_sdk7.PlayerPhase.Playing;
1935
1974
  const { activeColor } = themes[theme];
1936
- return /* @__PURE__ */ import_react68.default.createElement("div", {
1975
+ return /* @__PURE__ */ import_react69.default.createElement("div", {
1937
1976
  className: (0, import_clsx12.default)(name5, theme, { "auto-hide": autoHide })
1938
- }, /* @__PURE__ */ import_react68.default.createElement("button", {
1977
+ }, /* @__PURE__ */ import_react69.default.createElement("button", {
1939
1978
  className: (0, import_clsx12.default)(`${name5}-btn`, isLoading ? "loading" : isPlaying ? "pause" : "play", theme),
1940
1979
  disabled: isLoading,
1941
1980
  onClick: player.togglePlay
1942
- }, /* @__PURE__ */ import_react68.default.createElement(Icon, {
1943
- 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, {
1944
1983
  theme
1945
- }) : isPlaying ? /* @__PURE__ */ import_react68.default.createElement(Icons2.Pause, {
1984
+ }) : isPlaying ? /* @__PURE__ */ import_react69.default.createElement(Icons2.Pause, {
1946
1985
  theme
1947
- }) : /* @__PURE__ */ import_react68.default.createElement(Icons2.Play, {
1986
+ }) : /* @__PURE__ */ import_react69.default.createElement(Icons2.Play, {
1948
1987
  theme
1949
1988
  }),
1950
1989
  src: isLoading ? icons.loadingIcon : isPlaying ? icons.pauseIcon : icons.playIcon,
1951
1990
  alt: isLoading ? "[loading]" : isPlaying ? "[pause]" : "[play]"
1952
- })), /* @__PURE__ */ import_react68.default.createElement("span", {
1991
+ })), /* @__PURE__ */ import_react69.default.createElement("span", {
1953
1992
  className: (0, import_clsx12.default)(`${name5}-slider`, { loading: isLoading }, theme)
1954
- }, /* @__PURE__ */ import_react68.default.createElement(import_rc_slider2.default, {
1993
+ }, /* @__PURE__ */ import_react69.default.createElement(import_rc_slider2.default, {
1955
1994
  disabled: isLoading,
1956
1995
  trackStyle: { background: activeColor },
1957
1996
  handleStyle: { border: `1px solid ${activeColor}` },
@@ -1960,15 +1999,15 @@ function PlayerControl(_a) {
1960
1999
  min: 0,
1961
2000
  max: player.totalTime,
1962
2001
  step: 100
1963
- })), /* @__PURE__ */ import_react68.default.createElement("span", {
2002
+ })), /* @__PURE__ */ import_react69.default.createElement("span", {
1964
2003
  className: (0, import_clsx12.default)(`${name5}-current`, theme)
1965
- }, renderTime(player.currentTime)), /* @__PURE__ */ import_react68.default.createElement("span", {
2004
+ }, renderTime(player.currentTime)), /* @__PURE__ */ import_react69.default.createElement("span", {
1966
2005
  className: (0, import_clsx12.default)(`${name5}-slash`, theme)
1967
- }, "/"), /* @__PURE__ */ import_react68.default.createElement("span", {
2006
+ }, "/"), /* @__PURE__ */ import_react69.default.createElement("span", {
1968
2007
  className: (0, import_clsx12.default)(`${name5}-total`, theme)
1969
- }, renderTime(player.totalTime)), /* @__PURE__ */ import_react68.default.createElement("span", {
2008
+ }, renderTime(player.totalTime)), /* @__PURE__ */ import_react69.default.createElement("span", {
1970
2009
  className: `${name5}-btn-interactive`
1971
- }, /* @__PURE__ */ import_react68.default.createElement(import_react67.default, {
2010
+ }, /* @__PURE__ */ import_react69.default.createElement(import_react68.default, {
1972
2011
  className: "fastboard-tip",
1973
2012
  content: renderSpeeds(player),
1974
2013
  theme,
@@ -1977,11 +2016,11 @@ function PlayerControl(_a) {
1977
2016
  offset: TopOffset,
1978
2017
  arrow: false,
1979
2018
  interactive: true
1980
- }, /* @__PURE__ */ import_react68.default.createElement(Button2, {
2019
+ }, /* @__PURE__ */ import_react69.default.createElement(Button2, {
1981
2020
  content: t("speed"),
1982
2021
  theme,
1983
2022
  disabled: isLoading
1984
- }, /* @__PURE__ */ import_react68.default.createElement("span", {
2023
+ }, /* @__PURE__ */ import_react69.default.createElement("span", {
1985
2024
  className: (0, import_clsx12.default)(`${name5}-speed-text`, theme)
1986
2025
  }, player.speed, "x")))));
1987
2026
  }
@@ -1993,9 +2032,9 @@ function renderTime(ms) {
1993
2032
  }
1994
2033
  var Speeds = [2, 1.5, 1.25, 1, 0.75, 0.5];
1995
2034
  function renderSpeeds({ speed: current, setSpeed }) {
1996
- return /* @__PURE__ */ import_react68.default.createElement("div", {
2035
+ return /* @__PURE__ */ import_react69.default.createElement("div", {
1997
2036
  className: (0, import_clsx12.default)(`${name5}-panel`, "speed")
1998
- }, Speeds.map((speed) => /* @__PURE__ */ import_react68.default.createElement("button", {
2037
+ }, Speeds.map((speed) => /* @__PURE__ */ import_react69.default.createElement("button", {
1999
2038
  className: (0, import_clsx12.default)(`${name5}-btn`, "speed", {
2000
2039
  active: speed === current
2001
2040
  }),
@@ -2005,91 +2044,2949 @@ function renderSpeeds({ speed: current, setSpeed }) {
2005
2044
  }
2006
2045
 
2007
2046
  // src/components/Fastboard.tsx
2008
- var import_react69 = __toESM(require("react"));
2009
- var Fastboard = /* @__PURE__ */ (0, import_react69.forwardRef)(function Fastboard2(_a, ref) {
2010
- var _b = _a, { app, theme, layout, language } = _b, restProps = __objRest(_b, ["app", "theme", "layout", "language"]);
2011
- if (!app) {
2012
- return /* @__PURE__ */ import_react69.default.createElement("div", __spreadValues({
2013
- className: "fastboard-root",
2014
- ref
2015
- }, 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;
2016
2088
  }
2017
- return /* @__PURE__ */ import_react69.default.createElement(FastboardAppContext.Provider, {
2018
- value: app
2019
- }, /* @__PURE__ */ import_react69.default.createElement(FastboardInternal, __spreadValues(__spreadValues({
2020
- forwardedRef: ref
2021
- }, { theme, layout, language }), restProps)));
2022
- });
2023
- function FastboardInternal(_a) {
2024
- var _b = _a, {
2025
- forwardedRef,
2026
- language,
2027
- layout = {},
2028
- theme = "light",
2029
- children
2030
- } = _b, restProps = __objRest(_b, [
2031
- "forwardedRef",
2032
- "language",
2033
- "layout",
2034
- "theme",
2035
- "children"
2036
- ]);
2037
- const app = useFastboardApp();
2038
- const forceUpdate = useForceUpdate();
2039
- const i18n = useAsyncValue(() => createI18n({ language }));
2040
- (0, import_react69.useEffect)(() => {
2041
- if (i18n)
2042
- i18n.changeLanguage(language);
2043
- forceUpdate();
2044
- }, [forceUpdate, i18n, language]);
2045
- (0, import_react69.useEffect)(() => {
2046
- app.manager.setPrefersColorScheme(theme);
2047
- }, [app, theme]);
2048
- const useWhiteboard = (0, import_react69.useCallback)((container) => {
2049
- if (container && app)
2050
- app.manager.bindContainer(container);
2051
- }, [app]);
2052
- const hideControls = useHideControls();
2053
- const showControls = !hideControls;
2054
- const {
2055
- Toolbar: toolbar = showControls || hideControls === "toolbar-only",
2056
- RedoUndo: redo_undo = showControls,
2057
- ZoomControl: zoom_control = showControls,
2058
- PageControl: page_control = showControls
2059
- } = layout;
2060
- return /* @__PURE__ */ import_react69.default.createElement(ThemeContext.Provider, {
2061
- value: theme
2062
- }, /* @__PURE__ */ import_react69.default.createElement(I18nContext.Provider, {
2063
- value: i18n
2064
- }, /* @__PURE__ */ import_react69.default.createElement("div", __spreadProps(__spreadValues({}, restProps), {
2065
- className: "fastboard-root",
2066
- ref: forwardedRef
2067
- }), /* @__PURE__ */ import_react69.default.createElement("div", {
2068
- className: "fastboard-view",
2069
- ref: useWhiteboard,
2070
- onPointerDownCapture: focusThisElementImmediate
2071
- }), children ? children : /* @__PURE__ */ import_react69.default.createElement(import_react69.default.Fragment, null, toolbar && /* @__PURE__ */ import_react69.default.createElement("div", {
2072
- className: "fastboard-left"
2073
- }, /* @__PURE__ */ import_react69.default.createElement(Toolbar, null)), (redo_undo || zoom_control) && /* @__PURE__ */ import_react69.default.createElement("div", {
2074
- className: "fastboard-bottom-left"
2075
- }, 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", {
2076
- className: "fastboard-bottom-right"
2077
- }, /* @__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;
2078
2094
  }
2079
- function focusThisElementImmediate(ev) {
2080
- ev.currentTarget.focus();
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;
2104
+ }
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;
2081
2111
  }
2082
2112
 
2083
- // src/vanilla/index.tsx
2084
- 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"));
2085
4982
  var import_react_dom = __toESM(require("react-dom"));
2086
4983
  function mount(app, dom, props) {
2087
- 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({
2088
4985
  app
2089
4986
  }, props)), dom);
2090
4987
  return {
2091
4988
  update(props2) {
2092
- 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({
2093
4990
  app
2094
4991
  }, props2)), dom);
2095
4992
  },