@netless/fastboard-react 0.2.2 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +193 -188
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +121 -116
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/components/Toolbar/Toolbar.scss +13 -0
- package/src/components/Toolbar/components/ShapesButton.tsx +2 -3
- package/src/components/Toolbar/hooks.ts +13 -1
- package/src/components/ZoomControl/hooks.ts +2 -4
- package/src/components/hooks.ts +8 -1
package/dist/index.js
CHANGED
|
@@ -136,7 +136,7 @@ function useForceUpdate() {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
// src/style.scss?inline
|
|
139
|
-
var style_default = '.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-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}.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-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-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%)}.fastboard-toolbar-mask.dark{left:100%}.fastboard-toolbar-mask-btn{width:17px;height:62px;cursor:pointer}.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';
|
|
139
|
+
var style_default = '.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}.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-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';
|
|
140
140
|
|
|
141
141
|
// src/behaviors/style.ts
|
|
142
142
|
applyStyles(style_default);
|
|
@@ -174,11 +174,16 @@ function useFocusedApp() {
|
|
|
174
174
|
function useMaximized() {
|
|
175
175
|
return useBoxState() === "maximized";
|
|
176
176
|
}
|
|
177
|
+
var AppsShouldShowToolbar = /* @__PURE__ */ (() => [import_window_manager.BuiltinApps.DocsViewer, "Slide"])();
|
|
177
178
|
function useHideControls() {
|
|
179
|
+
const writable = useWritable();
|
|
178
180
|
const maximized = useMaximized();
|
|
179
181
|
const focusedApp = useFocusedApp();
|
|
182
|
+
if (!writable) {
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
180
185
|
if (maximized) {
|
|
181
|
-
if (
|
|
186
|
+
if (AppsShouldShowToolbar.some((kind) => focusedApp == null ? void 0 : focusedApp.includes(kind))) {
|
|
182
187
|
return "toolbar-only";
|
|
183
188
|
} else {
|
|
184
189
|
return true;
|
|
@@ -427,12 +432,7 @@ function RedoUndo({ theme, undoIcon, undoIconDisable, redoIcon, redoIconDisable
|
|
|
427
432
|
// src/components/ZoomControl/hooks.ts
|
|
428
433
|
var import_react10 = require("react");
|
|
429
434
|
var ScalePoints = [
|
|
430
|
-
0.
|
|
431
|
-
0.13421772800000012,
|
|
432
|
-
0.16777216000000014,
|
|
433
|
-
0.20971520000000016,
|
|
434
|
-
0.26214400000000015,
|
|
435
|
-
0.3276800000000002,
|
|
435
|
+
0.3,
|
|
436
436
|
0.4096000000000002,
|
|
437
437
|
0.5120000000000001,
|
|
438
438
|
0.6400000000000001,
|
|
@@ -442,12 +442,7 @@ var ScalePoints = [
|
|
|
442
442
|
1.5876000000000001,
|
|
443
443
|
2.000376,
|
|
444
444
|
2.5204737600000002,
|
|
445
|
-
3
|
|
446
|
-
4.001504141376,
|
|
447
|
-
5.041895218133761,
|
|
448
|
-
6.352787974848539,
|
|
449
|
-
8.00451284830916,
|
|
450
|
-
10
|
|
445
|
+
3
|
|
451
446
|
];
|
|
452
447
|
function nextScale(scale, delta) {
|
|
453
448
|
const { length } = ScalePoints;
|
|
@@ -790,97 +785,48 @@ function PageControl({
|
|
|
790
785
|
}
|
|
791
786
|
|
|
792
787
|
// src/components/Toolbar/hooks.ts
|
|
793
|
-
var
|
|
794
|
-
function useRoomState() {
|
|
795
|
-
return useFastboardValue(useFastboardApp().memberState);
|
|
796
|
-
}
|
|
797
|
-
function useToolbar() {
|
|
798
|
-
const app = useFastboardApp();
|
|
799
|
-
const writable = useWritable();
|
|
800
|
-
const memberState = useRoomState();
|
|
801
|
-
const cleanCurrentScene = (0, import_react22.useCallback)(() => {
|
|
802
|
-
app.cleanCurrentScene();
|
|
803
|
-
}, [app]);
|
|
804
|
-
const setAppliance = (0, import_react22.useCallback)((appliance, shape) => {
|
|
805
|
-
app.setAppliance(appliance, shape);
|
|
806
|
-
}, [app]);
|
|
807
|
-
const setStrokeWidth = (0, import_react22.useCallback)((strokeWidth) => {
|
|
808
|
-
app.setStrokeWidth(strokeWidth);
|
|
809
|
-
}, [app]);
|
|
810
|
-
const setStrokeColor = (0, import_react22.useCallback)((strokeColor) => {
|
|
811
|
-
app.setStrokeColor(strokeColor);
|
|
812
|
-
}, [app]);
|
|
813
|
-
return {
|
|
814
|
-
writable,
|
|
815
|
-
memberState,
|
|
816
|
-
cleanCurrentScene,
|
|
817
|
-
setAppliance,
|
|
818
|
-
setStrokeWidth,
|
|
819
|
-
setStrokeColor
|
|
820
|
-
};
|
|
821
|
-
}
|
|
822
|
-
var EmptyToolbarHook = {
|
|
823
|
-
writable: false,
|
|
824
|
-
memberState: void 0,
|
|
825
|
-
cleanCurrentScene: noop,
|
|
826
|
-
setAppliance: noop,
|
|
827
|
-
setStrokeWidth: noop,
|
|
828
|
-
setStrokeColor: noop
|
|
829
|
-
};
|
|
830
|
-
|
|
831
|
-
// src/components/Toolbar/Toolbar.tsx
|
|
832
|
-
var import_clsx9 = __toESM(require("clsx"));
|
|
833
|
-
var import_framer_motion = require("framer-motion");
|
|
834
|
-
var import_react59 = __toESM(require("react"));
|
|
835
|
-
|
|
836
|
-
// src/components/Toolbar/components/assets/expanded.png
|
|
837
|
-
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==";
|
|
838
|
-
|
|
839
|
-
// src/components/Toolbar/Content.tsx
|
|
840
|
-
var import_clsx8 = __toESM(require("clsx"));
|
|
841
|
-
var import_react58 = __toESM(require("react"));
|
|
788
|
+
var import_react42 = require("react");
|
|
842
789
|
|
|
843
|
-
// src/components/Toolbar/
|
|
844
|
-
var import_react45 = __toESM(require("react"));
|
|
790
|
+
// src/components/Toolbar/const.ts
|
|
845
791
|
var import_white_web_sdk = require("white-web-sdk");
|
|
846
792
|
|
|
847
793
|
// src/components/Toolbar/icons/index.ts
|
|
848
|
-
var
|
|
794
|
+
var import_react41 = require("react");
|
|
849
795
|
|
|
850
796
|
// src/components/Toolbar/icons/Apps.tsx
|
|
851
|
-
var
|
|
797
|
+
var import_react22 = __toESM(require("react"));
|
|
852
798
|
var Apps = (props) => {
|
|
853
799
|
const stroke = getStroke(props);
|
|
854
|
-
return /* @__PURE__ */
|
|
800
|
+
return /* @__PURE__ */ import_react22.default.createElement("svg", {
|
|
855
801
|
viewBox: "0 0 24 24"
|
|
856
|
-
}, /* @__PURE__ */
|
|
802
|
+
}, /* @__PURE__ */ import_react22.default.createElement("g", {
|
|
857
803
|
fill: stroke
|
|
858
|
-
}, /* @__PURE__ */
|
|
804
|
+
}, /* @__PURE__ */ import_react22.default.createElement("path", {
|
|
859
805
|
d: "M17.667 4.5h-3.334c-1.012 0-1.833.82-1.833 1.833V11.5h5.167c1.012 0 1.833-.82 1.833-1.833V6.333c0-1.012-.82-1.833-1.833-1.833Zm-3.334 1h3.334c.46 0 .833.373.833.833v3.334l-.006.104a.833.833 0 0 1-.827.729H13.5V6.333c0-.46.373-.833.833-.833Z"
|
|
860
|
-
}), /* @__PURE__ */
|
|
806
|
+
}), /* @__PURE__ */ import_react22.default.createElement("path", {
|
|
861
807
|
d: "M6.333 19.5A1.833 1.833 0 0 1 4.5 17.667v-3.334c0-.525.221-1 .576-1.334a1.822 1.822 0 0 1-.576-1.332V8.333c0-1.012.82-1.833 1.833-1.833H10A1.5 1.5 0 0 1 11.5 8v4.5h4.167c.962 0 1.75.74 1.827 1.683l.006.15v3.334c0 1.012-.82 1.833-1.833 1.833Zm4.167-6H6.333a.833.833 0 0 0-.827.729l-.006.104v3.334c0 .46.373.833.833.833H10.5v-5Zm5.167 0H11.5v5h4.167c.46 0 .833-.373.833-.833v-3.334a.833.833 0 0 0-.833-.833ZM10 7.5H6.333a.833.833 0 0 0-.833.833v3.334c0 .46.373.833.833.833H10.5V8a.5.5 0 0 0-.41-.492L10 7.5Z"
|
|
862
808
|
})));
|
|
863
809
|
};
|
|
864
810
|
|
|
865
811
|
// src/components/Toolbar/icons/Arrow.tsx
|
|
866
|
-
var
|
|
812
|
+
var import_react23 = __toESM(require("react"));
|
|
867
813
|
var Arrow = (props) => {
|
|
868
814
|
const stroke = getStroke(props);
|
|
869
|
-
return /* @__PURE__ */
|
|
815
|
+
return /* @__PURE__ */ import_react23.default.createElement("svg", {
|
|
870
816
|
viewBox: "0 0 24 24"
|
|
871
|
-
}, /* @__PURE__ */
|
|
817
|
+
}, /* @__PURE__ */ import_react23.default.createElement("path", {
|
|
872
818
|
fill: stroke,
|
|
873
819
|
d: "M19 5v6l-2.647-2.646L5.99 18.718l-.708-.708L15.645 7.646 13 5h6Z"
|
|
874
820
|
}));
|
|
875
821
|
};
|
|
876
822
|
|
|
877
823
|
// src/components/Toolbar/icons/Circle.tsx
|
|
878
|
-
var
|
|
824
|
+
var import_react24 = __toESM(require("react"));
|
|
879
825
|
var Circle = (props) => {
|
|
880
826
|
const stroke = getStroke(props);
|
|
881
|
-
return /* @__PURE__ */
|
|
827
|
+
return /* @__PURE__ */ import_react24.default.createElement("svg", {
|
|
882
828
|
viewBox: "0 0 24 24"
|
|
883
|
-
}, /* @__PURE__ */
|
|
829
|
+
}, /* @__PURE__ */ import_react24.default.createElement("rect", {
|
|
884
830
|
width: "15",
|
|
885
831
|
height: "15",
|
|
886
832
|
x: "4.5",
|
|
@@ -892,40 +838,40 @@ var Circle = (props) => {
|
|
|
892
838
|
};
|
|
893
839
|
|
|
894
840
|
// src/components/Toolbar/icons/Clean.tsx
|
|
895
|
-
var
|
|
841
|
+
var import_react25 = __toESM(require("react"));
|
|
896
842
|
var Clean = (props) => {
|
|
897
843
|
const stroke = getStroke(props);
|
|
898
|
-
return /* @__PURE__ */
|
|
844
|
+
return /* @__PURE__ */ import_react25.default.createElement("svg", {
|
|
899
845
|
viewBox: "0 0 24 24"
|
|
900
|
-
}, /* @__PURE__ */
|
|
846
|
+
}, /* @__PURE__ */ import_react25.default.createElement("path", {
|
|
901
847
|
fill: stroke,
|
|
902
848
|
d: "M9.754 11.99c0 1.856-.711 3.62-1.96 4.951l-.151.155h1.403l.855-.853h.707l.853.853h2.635l.094-.064a6.237 6.237 0 0 0 2.559-4.781l.005-.26h1a7.237 7.237 0 0 1-2.994 5.862l-.229.16-.277.083h-3l-.353-.146-.647-.647-.646.647-.354.146h-3l-.286-.91.214-.148a6.237 6.237 0 0 0 2.567-4.787l.005-.26h1Zm4.772-6.502v2l.35.039a2.98 2.98 0 0 1 2.644 2.78l.006.181h-8a2.98 2.98 0 0 1 2.65-2.961l.35-.039v-2h2Z"
|
|
903
849
|
}));
|
|
904
850
|
};
|
|
905
851
|
|
|
906
852
|
// src/components/Toolbar/icons/Clicker.tsx
|
|
907
|
-
var
|
|
853
|
+
var import_react26 = __toESM(require("react"));
|
|
908
854
|
var Clicker = (props) => {
|
|
909
855
|
const stroke = getStroke(props);
|
|
910
|
-
return /* @__PURE__ */
|
|
856
|
+
return /* @__PURE__ */ import_react26.default.createElement("svg", {
|
|
911
857
|
viewBox: "0 0 24 24"
|
|
912
|
-
}, /* @__PURE__ */
|
|
858
|
+
}, /* @__PURE__ */ import_react26.default.createElement("g", {
|
|
913
859
|
fill: "none"
|
|
914
|
-
}, /* @__PURE__ */
|
|
860
|
+
}, /* @__PURE__ */ import_react26.default.createElement("path", {
|
|
915
861
|
d: "M0 0h24v24H0z"
|
|
916
|
-
}), /* @__PURE__ */
|
|
862
|
+
}), /* @__PURE__ */ import_react26.default.createElement("path", {
|
|
917
863
|
fill: stroke,
|
|
918
864
|
d: "m7 5.072 10.33 7.892-4.879.549 3.232 5.598-.866.5-3.233-5.597-2.914 3.95L7 5.072Z"
|
|
919
865
|
})));
|
|
920
866
|
};
|
|
921
867
|
|
|
922
868
|
// src/components/Toolbar/icons/Collapse.tsx
|
|
923
|
-
var
|
|
869
|
+
var import_react27 = __toESM(require("react"));
|
|
924
870
|
var Collapse = (props) => {
|
|
925
871
|
const stroke = getStroke(props);
|
|
926
|
-
return /* @__PURE__ */
|
|
872
|
+
return /* @__PURE__ */ import_react27.default.createElement("svg", {
|
|
927
873
|
viewBox: "0 0 24 24"
|
|
928
|
-
}, /* @__PURE__ */
|
|
874
|
+
}, /* @__PURE__ */ import_react27.default.createElement("path", {
|
|
929
875
|
fill: "none",
|
|
930
876
|
stroke,
|
|
931
877
|
d: "m8 10-2 2 2 2m10-8H6m12 12H6m12-4h-8m8-4h-8"
|
|
@@ -933,12 +879,12 @@ var Collapse = (props) => {
|
|
|
933
879
|
};
|
|
934
880
|
|
|
935
881
|
// src/components/Toolbar/icons/Diamond.tsx
|
|
936
|
-
var
|
|
882
|
+
var import_react28 = __toESM(require("react"));
|
|
937
883
|
var Diamond = (props) => {
|
|
938
884
|
const stroke = getStroke(props);
|
|
939
|
-
return /* @__PURE__ */
|
|
885
|
+
return /* @__PURE__ */ import_react28.default.createElement("svg", {
|
|
940
886
|
viewBox: "0 0 24 24"
|
|
941
|
-
}, /* @__PURE__ */
|
|
887
|
+
}, /* @__PURE__ */ import_react28.default.createElement("path", {
|
|
942
888
|
fill: "none",
|
|
943
889
|
stroke,
|
|
944
890
|
d: "M4.222 12 12 4.222 19.778 12 12 19.778z"
|
|
@@ -946,12 +892,12 @@ var Diamond = (props) => {
|
|
|
946
892
|
};
|
|
947
893
|
|
|
948
894
|
// src/components/Toolbar/icons/Down.tsx
|
|
949
|
-
var
|
|
895
|
+
var import_react29 = __toESM(require("react"));
|
|
950
896
|
var Down = (props) => {
|
|
951
897
|
const stroke = getStroke(props);
|
|
952
|
-
return /* @__PURE__ */
|
|
898
|
+
return /* @__PURE__ */ import_react29.default.createElement("svg", {
|
|
953
899
|
viewBox: "0 0 24 24"
|
|
954
|
-
}, /* @__PURE__ */
|
|
900
|
+
}, /* @__PURE__ */ import_react29.default.createElement("path", {
|
|
955
901
|
fill: "none",
|
|
956
902
|
stroke,
|
|
957
903
|
d: "m16 13-2 2-2 2-2-2-2-2m8-6-2 2-2 2-2-2-2-2"
|
|
@@ -959,24 +905,24 @@ var Down = (props) => {
|
|
|
959
905
|
};
|
|
960
906
|
|
|
961
907
|
// src/components/Toolbar/icons/Eraser.tsx
|
|
962
|
-
var
|
|
908
|
+
var import_react30 = __toESM(require("react"));
|
|
963
909
|
var Eraser = (props) => {
|
|
964
910
|
const stroke = getStroke(props);
|
|
965
|
-
return /* @__PURE__ */
|
|
911
|
+
return /* @__PURE__ */ import_react30.default.createElement("svg", {
|
|
966
912
|
viewBox: "0 0 24 24"
|
|
967
|
-
}, /* @__PURE__ */
|
|
913
|
+
}, /* @__PURE__ */ import_react30.default.createElement("path", {
|
|
968
914
|
fill: stroke,
|
|
969
915
|
d: "m14.333 5.183.165.007c.494.037.978.245 1.356.623l2.333 2.333a2.15 2.15 0 0 1 0 3.04l-5.833 5.834a3.8 3.8 0 0 1-5.374 0l-1.167-1.166a2.15 2.15 0 0 1 0-3.04l7-7c.42-.42.97-.63 1.52-.63ZM11.52 8.52l-4.999 5a1.15 1.15 0 0 0 0 1.626l1.167 1.167a2.8 2.8 0 0 0 3.96 0l3.832-3.833-3.96-3.96Z"
|
|
970
916
|
}));
|
|
971
917
|
};
|
|
972
918
|
|
|
973
919
|
// src/components/Toolbar/icons/Expand.tsx
|
|
974
|
-
var
|
|
920
|
+
var import_react31 = __toESM(require("react"));
|
|
975
921
|
var Expand = (props) => {
|
|
976
922
|
const stroke = getStroke(props);
|
|
977
|
-
return /* @__PURE__ */
|
|
923
|
+
return /* @__PURE__ */ import_react31.default.createElement("svg", {
|
|
978
924
|
viewBox: "0 0 24 24"
|
|
979
|
-
}, /* @__PURE__ */
|
|
925
|
+
}, /* @__PURE__ */ import_react31.default.createElement("path", {
|
|
980
926
|
fill: "none",
|
|
981
927
|
stroke,
|
|
982
928
|
d: "m16 10 2 2-2 2M6 6h12M6 18h12M6 14h8m-8-4h8"
|
|
@@ -984,36 +930,36 @@ var Expand = (props) => {
|
|
|
984
930
|
};
|
|
985
931
|
|
|
986
932
|
// src/components/Toolbar/icons/Line.tsx
|
|
987
|
-
var
|
|
933
|
+
var import_react32 = __toESM(require("react"));
|
|
988
934
|
var Line = (props) => {
|
|
989
935
|
const stroke = getStroke(props);
|
|
990
|
-
return /* @__PURE__ */
|
|
936
|
+
return /* @__PURE__ */ import_react32.default.createElement("svg", {
|
|
991
937
|
viewBox: "0 0 24 24"
|
|
992
|
-
}, /* @__PURE__ */
|
|
938
|
+
}, /* @__PURE__ */ import_react32.default.createElement("path", {
|
|
993
939
|
fill: stroke,
|
|
994
940
|
d: "m18.01 5.282.708.708L5.99 18.718l-.708-.708z"
|
|
995
941
|
}));
|
|
996
942
|
};
|
|
997
943
|
|
|
998
944
|
// src/components/Toolbar/icons/Pencil.tsx
|
|
999
|
-
var
|
|
945
|
+
var import_react33 = __toESM(require("react"));
|
|
1000
946
|
var Pencil = (props) => {
|
|
1001
947
|
const stroke = getStroke(props);
|
|
1002
|
-
return /* @__PURE__ */
|
|
948
|
+
return /* @__PURE__ */ import_react33.default.createElement("svg", {
|
|
1003
949
|
viewBox: "0 0 24 24"
|
|
1004
|
-
}, /* @__PURE__ */
|
|
950
|
+
}, /* @__PURE__ */ import_react33.default.createElement("path", {
|
|
1005
951
|
fill: stroke,
|
|
1006
952
|
d: "m17.497 4.84.116.105 1.442 1.442a1.52 1.52 0 0 1 .104 2.034l-.104.116L8.733 18.858l-4.347.756.756-4.347L15.463 4.945a1.52 1.52 0 0 1 2.034-.104ZM5.967 16.349l-.353 2.037 2.037-.354-1.683-1.683Zm8.407-8.901-7.946 7.946 2.178 2.178 7.946-7.946-2.178-2.178Zm-.728 2.2.708.707-5 5-.708-.708 5-5Zm2.596-4.055-.072.06-1.09 1.088 2.179 2.178 1.089-1.088a.52.52 0 0 0 .105-.584l-.045-.08-.06-.072-1.442-1.442a.52.52 0 0 0-.664-.06Z"
|
|
1007
953
|
}));
|
|
1008
954
|
};
|
|
1009
955
|
|
|
1010
956
|
// src/components/Toolbar/icons/Rectangle.tsx
|
|
1011
|
-
var
|
|
957
|
+
var import_react34 = __toESM(require("react"));
|
|
1012
958
|
var Rectangle = (props) => {
|
|
1013
959
|
const stroke = getStroke(props);
|
|
1014
|
-
return /* @__PURE__ */
|
|
960
|
+
return /* @__PURE__ */ import_react34.default.createElement("svg", {
|
|
1015
961
|
viewBox: "0 0 24 24"
|
|
1016
|
-
}, /* @__PURE__ */
|
|
962
|
+
}, /* @__PURE__ */ import_react34.default.createElement("path", {
|
|
1017
963
|
fill: "none",
|
|
1018
964
|
stroke,
|
|
1019
965
|
d: "M5.5 5.5h13v13h-13z"
|
|
@@ -1021,24 +967,24 @@ var Rectangle = (props) => {
|
|
|
1021
967
|
};
|
|
1022
968
|
|
|
1023
969
|
// src/components/Toolbar/icons/Selector.tsx
|
|
1024
|
-
var
|
|
970
|
+
var import_react35 = __toESM(require("react"));
|
|
1025
971
|
var Selector = (props) => {
|
|
1026
972
|
const stroke = getStroke(props);
|
|
1027
|
-
return /* @__PURE__ */
|
|
973
|
+
return /* @__PURE__ */ import_react35.default.createElement("svg", {
|
|
1028
974
|
viewBox: "0 0 24 24"
|
|
1029
|
-
}, /* @__PURE__ */
|
|
975
|
+
}, /* @__PURE__ */ import_react35.default.createElement("path", {
|
|
1030
976
|
fill: stroke,
|
|
1031
977
|
d: "m12 12 8 2.667-3.556 1.777L14.667 20 12 12Zm3-8v7.5h-1V5H5v9h6.5v1H4V4h11Z"
|
|
1032
978
|
}));
|
|
1033
979
|
};
|
|
1034
980
|
|
|
1035
981
|
// src/components/Toolbar/icons/SpeechBalloon.tsx
|
|
1036
|
-
var
|
|
982
|
+
var import_react36 = __toESM(require("react"));
|
|
1037
983
|
var SpeechBalloon = (props) => {
|
|
1038
984
|
const stroke = getStroke(props);
|
|
1039
|
-
return /* @__PURE__ */
|
|
985
|
+
return /* @__PURE__ */ import_react36.default.createElement("svg", {
|
|
1040
986
|
viewBox: "0 0 24 24"
|
|
1041
|
-
}, /* @__PURE__ */
|
|
987
|
+
}, /* @__PURE__ */ import_react36.default.createElement("path", {
|
|
1042
988
|
fill: "none",
|
|
1043
989
|
stroke,
|
|
1044
990
|
d: "M17 4.5c.414 0 .79.168 1.06.44.272.27.44.646.44 1.06v9c0 .414-.168.79-.44 1.06a1.49 1.49 0 0 1-1.06.44h-4.207l-2.715 2.715-1.81-2.715H7a1.49 1.49 0 0 1-1.06-.44A1.495 1.495 0 0 1 5.5 15V6c0-.414.168-.79.44-1.06A1.49 1.49 0 0 1 7 4.5Z"
|
|
@@ -1046,12 +992,12 @@ var SpeechBalloon = (props) => {
|
|
|
1046
992
|
};
|
|
1047
993
|
|
|
1048
994
|
// src/components/Toolbar/icons/Star.tsx
|
|
1049
|
-
var
|
|
995
|
+
var import_react37 = __toESM(require("react"));
|
|
1050
996
|
var Star = (props) => {
|
|
1051
997
|
const stroke = getStroke(props);
|
|
1052
|
-
return /* @__PURE__ */
|
|
998
|
+
return /* @__PURE__ */ import_react37.default.createElement("svg", {
|
|
1053
999
|
viewBox: "0 0 24 24"
|
|
1054
|
-
}, /* @__PURE__ */
|
|
1000
|
+
}, /* @__PURE__ */ import_react37.default.createElement("path", {
|
|
1055
1001
|
fill: "none",
|
|
1056
1002
|
stroke,
|
|
1057
1003
|
d: "m12 3.523 1.993 5.734 6.07.123-4.838 3.668 1.758 5.81L12 15.391l-4.983 3.467 1.758-5.81L3.938 9.38l6.069-.123L12 3.523Z"
|
|
@@ -1059,24 +1005,24 @@ var Star = (props) => {
|
|
|
1059
1005
|
};
|
|
1060
1006
|
|
|
1061
1007
|
// src/components/Toolbar/icons/Text.tsx
|
|
1062
|
-
var
|
|
1008
|
+
var import_react38 = __toESM(require("react"));
|
|
1063
1009
|
var Text = (props) => {
|
|
1064
1010
|
const stroke = getStroke(props);
|
|
1065
|
-
return /* @__PURE__ */
|
|
1011
|
+
return /* @__PURE__ */ import_react38.default.createElement("svg", {
|
|
1066
1012
|
viewBox: "0 0 24 24"
|
|
1067
|
-
}, /* @__PURE__ */
|
|
1013
|
+
}, /* @__PURE__ */ import_react38.default.createElement("path", {
|
|
1068
1014
|
fill: stroke,
|
|
1069
1015
|
d: "M18.5 5.5V8h-1V6.5H13v11h2v1H9v-1h2v-11H6.5V8h-1V5.5h13Z"
|
|
1070
1016
|
}));
|
|
1071
1017
|
};
|
|
1072
1018
|
|
|
1073
1019
|
// src/components/Toolbar/icons/Triangle.tsx
|
|
1074
|
-
var
|
|
1020
|
+
var import_react39 = __toESM(require("react"));
|
|
1075
1021
|
var Triangle = (props) => {
|
|
1076
1022
|
const stroke = getStroke(props);
|
|
1077
|
-
return /* @__PURE__ */
|
|
1023
|
+
return /* @__PURE__ */ import_react39.default.createElement("svg", {
|
|
1078
1024
|
viewBox: "0 0 24 24"
|
|
1079
|
-
}, /* @__PURE__ */
|
|
1025
|
+
}, /* @__PURE__ */ import_react39.default.createElement("path", {
|
|
1080
1026
|
fill: "none",
|
|
1081
1027
|
stroke,
|
|
1082
1028
|
d: "M12 6.008 19.138 18.5H4.862L12 6.008Z"
|
|
@@ -1084,12 +1030,12 @@ var Triangle = (props) => {
|
|
|
1084
1030
|
};
|
|
1085
1031
|
|
|
1086
1032
|
// src/components/Toolbar/icons/Up.tsx
|
|
1087
|
-
var
|
|
1033
|
+
var import_react40 = __toESM(require("react"));
|
|
1088
1034
|
var Up = (props) => {
|
|
1089
1035
|
const stroke = getStroke(props);
|
|
1090
|
-
return /* @__PURE__ */
|
|
1036
|
+
return /* @__PURE__ */ import_react40.default.createElement("svg", {
|
|
1091
1037
|
viewBox: "0 0 24 24"
|
|
1092
|
-
}, /* @__PURE__ */
|
|
1038
|
+
}, /* @__PURE__ */ import_react40.default.createElement("path", {
|
|
1093
1039
|
fill: "none",
|
|
1094
1040
|
stroke,
|
|
1095
1041
|
d: "m16 11-2-2-2-2-2 2-2 2m8 6-2-2-2-2-2 2-2 2"
|
|
@@ -1098,27 +1044,117 @@ var Up = (props) => {
|
|
|
1098
1044
|
|
|
1099
1045
|
// src/components/Toolbar/icons/index.ts
|
|
1100
1046
|
var Icons = {
|
|
1101
|
-
Clicker: (0,
|
|
1102
|
-
Collapse: (0,
|
|
1103
|
-
Eraser: (0,
|
|
1104
|
-
Expand: (0,
|
|
1105
|
-
Pencil: (0,
|
|
1106
|
-
Selector: (0,
|
|
1107
|
-
Rectangle: (0,
|
|
1108
|
-
Text: (0,
|
|
1109
|
-
Apps: (0,
|
|
1110
|
-
Clean: (0,
|
|
1111
|
-
Circle: (0,
|
|
1112
|
-
Line: (0,
|
|
1113
|
-
Arrow: (0,
|
|
1114
|
-
Star: (0,
|
|
1115
|
-
Diamond: (0,
|
|
1116
|
-
SpeechBalloon: (0,
|
|
1117
|
-
Triangle: (0,
|
|
1118
|
-
Up: (0,
|
|
1119
|
-
Down: (0,
|
|
1047
|
+
Clicker: (0, import_react41.memo)(Clicker),
|
|
1048
|
+
Collapse: (0, import_react41.memo)(Collapse),
|
|
1049
|
+
Eraser: (0, import_react41.memo)(Eraser),
|
|
1050
|
+
Expand: (0, import_react41.memo)(Expand),
|
|
1051
|
+
Pencil: (0, import_react41.memo)(Pencil),
|
|
1052
|
+
Selector: (0, import_react41.memo)(Selector),
|
|
1053
|
+
Rectangle: (0, import_react41.memo)(Rectangle),
|
|
1054
|
+
Text: (0, import_react41.memo)(Text),
|
|
1055
|
+
Apps: (0, import_react41.memo)(Apps),
|
|
1056
|
+
Clean: (0, import_react41.memo)(Clean),
|
|
1057
|
+
Circle: (0, import_react41.memo)(Circle),
|
|
1058
|
+
Line: (0, import_react41.memo)(Line),
|
|
1059
|
+
Arrow: (0, import_react41.memo)(Arrow),
|
|
1060
|
+
Star: (0, import_react41.memo)(Star),
|
|
1061
|
+
Diamond: (0, import_react41.memo)(Diamond),
|
|
1062
|
+
SpeechBalloon: (0, import_react41.memo)(SpeechBalloon),
|
|
1063
|
+
Triangle: (0, import_react41.memo)(Triangle),
|
|
1064
|
+
Up: (0, import_react41.memo)(Up),
|
|
1065
|
+
Down: (0, import_react41.memo)(Down)
|
|
1120
1066
|
};
|
|
1121
1067
|
|
|
1068
|
+
// src/components/Toolbar/const.ts
|
|
1069
|
+
var ShapesMap = {
|
|
1070
|
+
[import_white_web_sdk.ApplianceNames.rectangle]: Icons.Rectangle,
|
|
1071
|
+
[import_white_web_sdk.ApplianceNames.ellipse]: Icons.Circle,
|
|
1072
|
+
[import_white_web_sdk.ApplianceNames.straight]: Icons.Line,
|
|
1073
|
+
[import_white_web_sdk.ApplianceNames.arrow]: Icons.Arrow,
|
|
1074
|
+
[import_white_web_sdk.ShapeType.Pentagram]: Icons.Star,
|
|
1075
|
+
[import_white_web_sdk.ShapeType.Rhombus]: Icons.Diamond,
|
|
1076
|
+
[import_white_web_sdk.ShapeType.Triangle]: Icons.Triangle,
|
|
1077
|
+
[import_white_web_sdk.ShapeType.SpeechBalloon]: Icons.SpeechBalloon
|
|
1078
|
+
};
|
|
1079
|
+
var ApplianceShapes = [
|
|
1080
|
+
import_white_web_sdk.ApplianceNames.rectangle,
|
|
1081
|
+
import_white_web_sdk.ApplianceNames.ellipse,
|
|
1082
|
+
import_white_web_sdk.ApplianceNames.straight,
|
|
1083
|
+
import_white_web_sdk.ApplianceNames.arrow
|
|
1084
|
+
];
|
|
1085
|
+
var Shapes = [
|
|
1086
|
+
import_white_web_sdk.ShapeType.Pentagram,
|
|
1087
|
+
import_white_web_sdk.ShapeType.Rhombus,
|
|
1088
|
+
import_white_web_sdk.ShapeType.Triangle,
|
|
1089
|
+
import_white_web_sdk.ShapeType.SpeechBalloon
|
|
1090
|
+
];
|
|
1091
|
+
var ItemHeight = 32 + 4;
|
|
1092
|
+
var ItemsCount = 8;
|
|
1093
|
+
var MaxHeight = ItemHeight * ItemsCount - 4;
|
|
1094
|
+
var MinHeight = ItemHeight * 2 - 4;
|
|
1095
|
+
|
|
1096
|
+
// src/components/Toolbar/hooks.ts
|
|
1097
|
+
function useRoomState() {
|
|
1098
|
+
return useFastboardValue(useFastboardApp().memberState);
|
|
1099
|
+
}
|
|
1100
|
+
function useToolbar() {
|
|
1101
|
+
const app = useFastboardApp();
|
|
1102
|
+
const writable = useWritable();
|
|
1103
|
+
const memberState = useRoomState();
|
|
1104
|
+
const [lastShape, setLastShape] = (0, import_react42.useState)("rectangle");
|
|
1105
|
+
const cleanCurrentScene = (0, import_react42.useCallback)(() => {
|
|
1106
|
+
app.cleanCurrentScene();
|
|
1107
|
+
}, [app]);
|
|
1108
|
+
const setAppliance = (0, import_react42.useCallback)((appliance, shape) => {
|
|
1109
|
+
app.setAppliance(appliance, shape);
|
|
1110
|
+
if (shape) {
|
|
1111
|
+
setLastShape(shape);
|
|
1112
|
+
} else if (appliance in ShapesMap) {
|
|
1113
|
+
setLastShape(appliance);
|
|
1114
|
+
}
|
|
1115
|
+
}, [app]);
|
|
1116
|
+
const setStrokeWidth = (0, import_react42.useCallback)((strokeWidth) => {
|
|
1117
|
+
app.setStrokeWidth(strokeWidth);
|
|
1118
|
+
}, [app]);
|
|
1119
|
+
const setStrokeColor = (0, import_react42.useCallback)((strokeColor) => {
|
|
1120
|
+
app.setStrokeColor(strokeColor);
|
|
1121
|
+
}, [app]);
|
|
1122
|
+
return {
|
|
1123
|
+
writable,
|
|
1124
|
+
memberState,
|
|
1125
|
+
lastShape,
|
|
1126
|
+
cleanCurrentScene,
|
|
1127
|
+
setAppliance,
|
|
1128
|
+
setStrokeWidth,
|
|
1129
|
+
setStrokeColor
|
|
1130
|
+
};
|
|
1131
|
+
}
|
|
1132
|
+
var EmptyToolbarHook = {
|
|
1133
|
+
writable: false,
|
|
1134
|
+
memberState: void 0,
|
|
1135
|
+
lastShape: "rectangle",
|
|
1136
|
+
cleanCurrentScene: noop,
|
|
1137
|
+
setAppliance: noop,
|
|
1138
|
+
setStrokeWidth: noop,
|
|
1139
|
+
setStrokeColor: noop
|
|
1140
|
+
};
|
|
1141
|
+
|
|
1142
|
+
// src/components/Toolbar/Toolbar.tsx
|
|
1143
|
+
var import_clsx9 = __toESM(require("clsx"));
|
|
1144
|
+
var import_framer_motion = require("framer-motion");
|
|
1145
|
+
var import_react59 = __toESM(require("react"));
|
|
1146
|
+
|
|
1147
|
+
// src/components/Toolbar/components/assets/expanded.png
|
|
1148
|
+
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==";
|
|
1149
|
+
|
|
1150
|
+
// src/components/Toolbar/Content.tsx
|
|
1151
|
+
var import_clsx8 = __toESM(require("clsx"));
|
|
1152
|
+
var import_react58 = __toESM(require("react"));
|
|
1153
|
+
|
|
1154
|
+
// src/components/Toolbar/components/ApplianceButtons.tsx
|
|
1155
|
+
var import_react45 = __toESM(require("react"));
|
|
1156
|
+
var import_white_web_sdk2 = require("white-web-sdk");
|
|
1157
|
+
|
|
1122
1158
|
// src/components/Toolbar/components/Button.tsx
|
|
1123
1159
|
var import_clsx4 = __toESM(require("clsx"));
|
|
1124
1160
|
var import_react43 = __toESM(require("react"));
|
|
@@ -1159,10 +1195,10 @@ function ClickerButton() {
|
|
|
1159
1195
|
const app = useFastboardApp();
|
|
1160
1196
|
const { t } = useTranslation();
|
|
1161
1197
|
const { theme, icons, writable, setAppliance, memberState } = (0, import_react45.useContext)(ToolbarContext);
|
|
1162
|
-
const changeAppliance = (0, import_react45.useCallback)(() => setAppliance(
|
|
1198
|
+
const changeAppliance = (0, import_react45.useCallback)(() => setAppliance(import_white_web_sdk2.ApplianceNames.clicker), [setAppliance]);
|
|
1163
1199
|
const shortcut = (_a = app.hotKeys) == null ? void 0 : _a.changeToClick;
|
|
1164
1200
|
const appliance = memberState == null ? void 0 : memberState.currentApplianceName;
|
|
1165
|
-
const active = appliance ===
|
|
1201
|
+
const active = appliance === import_white_web_sdk2.ApplianceNames.clicker;
|
|
1166
1202
|
const disabled = !writable;
|
|
1167
1203
|
return /* @__PURE__ */ import_react45.default.createElement(Button, {
|
|
1168
1204
|
content: renderToolTip(t("clicker"), shortcut),
|
|
@@ -1181,9 +1217,9 @@ function SelectorButton() {
|
|
|
1181
1217
|
const app = useFastboardApp();
|
|
1182
1218
|
const { t } = useTranslation();
|
|
1183
1219
|
const { theme, icons, writable, setAppliance, memberState } = (0, import_react45.useContext)(ToolbarContext);
|
|
1184
|
-
const changeAppliance = (0, import_react45.useCallback)(() => setAppliance(
|
|
1220
|
+
const changeAppliance = (0, import_react45.useCallback)(() => setAppliance(import_white_web_sdk2.ApplianceNames.selector), [setAppliance]);
|
|
1185
1221
|
const appliance = memberState == null ? void 0 : memberState.currentApplianceName;
|
|
1186
|
-
const active = appliance ===
|
|
1222
|
+
const active = appliance === import_white_web_sdk2.ApplianceNames.selector;
|
|
1187
1223
|
const disabled = !writable;
|
|
1188
1224
|
const shortcut = (app.hotKeys || defaultHotKeys).changeToSelector;
|
|
1189
1225
|
return /* @__PURE__ */ import_react45.default.createElement(Button, {
|
|
@@ -1203,9 +1239,9 @@ function EraserButton() {
|
|
|
1203
1239
|
const app = useFastboardApp();
|
|
1204
1240
|
const { t } = useTranslation();
|
|
1205
1241
|
const { theme, icons, writable, setAppliance, memberState } = (0, import_react45.useContext)(ToolbarContext);
|
|
1206
|
-
const changeAppliance = (0, import_react45.useCallback)(() => setAppliance(
|
|
1242
|
+
const changeAppliance = (0, import_react45.useCallback)(() => setAppliance(import_white_web_sdk2.ApplianceNames.eraser), [setAppliance]);
|
|
1207
1243
|
const appliance = memberState == null ? void 0 : memberState.currentApplianceName;
|
|
1208
|
-
const active = appliance ===
|
|
1244
|
+
const active = appliance === import_white_web_sdk2.ApplianceNames.eraser;
|
|
1209
1245
|
const disabled = !writable;
|
|
1210
1246
|
const shortcut = ((app == null ? void 0 : app.hotKeys) || defaultHotKeys).changeToEraser;
|
|
1211
1247
|
return /* @__PURE__ */ import_react45.default.createElement(Button, {
|
|
@@ -1322,7 +1358,7 @@ function AppIcon({ title, src, alt, onClick }) {
|
|
|
1322
1358
|
// src/components/Toolbar/components/PencilButton.tsx
|
|
1323
1359
|
var import_react51 = __toESM(require("@tippyjs/react"));
|
|
1324
1360
|
var import_react52 = __toESM(require("react"));
|
|
1325
|
-
var
|
|
1361
|
+
var import_white_web_sdk3 = require("white-web-sdk");
|
|
1326
1362
|
|
|
1327
1363
|
// src/components/Toolbar/components/ColorBox.tsx
|
|
1328
1364
|
var import_clsx5 = __toESM(require("clsx"));
|
|
@@ -1399,10 +1435,10 @@ function PencilButton() {
|
|
|
1399
1435
|
const { t } = useTranslation();
|
|
1400
1436
|
const { theme, icons, writable, setAppliance, memberState } = (0, import_react52.useContext)(ToolbarContext);
|
|
1401
1437
|
const changeAppliance = (0, import_react52.useCallback)(() => {
|
|
1402
|
-
setAppliance(
|
|
1438
|
+
setAppliance(import_white_web_sdk3.ApplianceNames.pencil);
|
|
1403
1439
|
}, [setAppliance]);
|
|
1404
1440
|
const appliance = memberState == null ? void 0 : memberState.currentApplianceName;
|
|
1405
|
-
const active = appliance ===
|
|
1441
|
+
const active = appliance === import_white_web_sdk3.ApplianceNames.pencil;
|
|
1406
1442
|
const disabled = !writable;
|
|
1407
1443
|
const shortcut = ((app == null ? void 0 : app.hotKeys) || defaultHotKeys).changeToPencil;
|
|
1408
1444
|
return /* @__PURE__ */ import_react52.default.createElement("span", {
|
|
@@ -1441,46 +1477,15 @@ function renderPencilButtonContent() {
|
|
|
1441
1477
|
var import_react53 = __toESM(require("@tippyjs/react"));
|
|
1442
1478
|
var import_react54 = __toESM(require("react"));
|
|
1443
1479
|
var import_white_web_sdk4 = require("white-web-sdk");
|
|
1444
|
-
|
|
1445
|
-
// src/components/Toolbar/const.ts
|
|
1446
|
-
var import_white_web_sdk3 = require("white-web-sdk");
|
|
1447
|
-
var ShapesMap = {
|
|
1448
|
-
[import_white_web_sdk3.ApplianceNames.rectangle]: Icons.Rectangle,
|
|
1449
|
-
[import_white_web_sdk3.ApplianceNames.ellipse]: Icons.Circle,
|
|
1450
|
-
[import_white_web_sdk3.ApplianceNames.straight]: Icons.Line,
|
|
1451
|
-
[import_white_web_sdk3.ApplianceNames.arrow]: Icons.Arrow,
|
|
1452
|
-
[import_white_web_sdk3.ShapeType.Pentagram]: Icons.Star,
|
|
1453
|
-
[import_white_web_sdk3.ShapeType.Rhombus]: Icons.Diamond,
|
|
1454
|
-
[import_white_web_sdk3.ShapeType.Triangle]: Icons.Triangle,
|
|
1455
|
-
[import_white_web_sdk3.ShapeType.SpeechBalloon]: Icons.SpeechBalloon
|
|
1456
|
-
};
|
|
1457
|
-
var ApplianceShapes = [
|
|
1458
|
-
import_white_web_sdk3.ApplianceNames.rectangle,
|
|
1459
|
-
import_white_web_sdk3.ApplianceNames.ellipse,
|
|
1460
|
-
import_white_web_sdk3.ApplianceNames.straight,
|
|
1461
|
-
import_white_web_sdk3.ApplianceNames.arrow
|
|
1462
|
-
];
|
|
1463
|
-
var Shapes = [
|
|
1464
|
-
import_white_web_sdk3.ShapeType.Pentagram,
|
|
1465
|
-
import_white_web_sdk3.ShapeType.Rhombus,
|
|
1466
|
-
import_white_web_sdk3.ShapeType.Triangle,
|
|
1467
|
-
import_white_web_sdk3.ShapeType.SpeechBalloon
|
|
1468
|
-
];
|
|
1469
|
-
var ItemHeight = 32 + 4;
|
|
1470
|
-
var ItemsCount = 8;
|
|
1471
|
-
var MaxHeight = ItemHeight * ItemsCount - 4;
|
|
1472
|
-
var MinHeight = ItemHeight * 2 - 4;
|
|
1473
|
-
|
|
1474
|
-
// src/components/Toolbar/components/ShapesButton.tsx
|
|
1475
1480
|
var ShapeTypes = /* @__PURE__ */ new Set([...ApplianceShapes, ...Shapes]);
|
|
1476
1481
|
function ShapesButton() {
|
|
1477
1482
|
const { t } = useTranslation();
|
|
1478
|
-
const { theme, memberState } = (0, import_react54.useContext)(ToolbarContext);
|
|
1483
|
+
const { theme, memberState, lastShape } = (0, import_react54.useContext)(ToolbarContext);
|
|
1479
1484
|
const appliance = memberState == null ? void 0 : memberState.currentApplianceName;
|
|
1480
1485
|
const shape = memberState == null ? void 0 : memberState.shapeType;
|
|
1481
1486
|
const key = appliance === import_white_web_sdk4.ApplianceNames.shape ? shape : appliance;
|
|
1482
1487
|
const active = ShapeTypes.has(key);
|
|
1483
|
-
const CurrentIcon = ShapesMap[
|
|
1488
|
+
const CurrentIcon = ShapesMap[lastShape];
|
|
1484
1489
|
return /* @__PURE__ */ import_react54.default.createElement("span", {
|
|
1485
1490
|
className: "fastboard-toolbar-btn-interactive"
|
|
1486
1491
|
}, /* @__PURE__ */ import_react54.default.createElement(import_react53.default, {
|