@hufe921/canvas-editor 0.9.61 → 0.9.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (()=>{(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.id="canvas-editor-style",e.appendChild(document.createTextNode('.ce-select-control-popup{max-width:160px;min-width:69px;max-height:225px;position:absolute;z-index:1;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;box-shadow:0 2px 12px #0000001a;box-sizing:border-box;margin:5px 0;overflow-y:auto}.ce-select-control-popup ul{list-style:none;padding:3px 0;margin:0;box-sizing:border-box}.ce-select-control-popup ul li{font-size:13px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#666;height:36px;line-height:36px;box-sizing:border-box;cursor:pointer}.ce-select-control-popup ul li:hover{background-color:#eef2fd}.ce-select-control-popup ul li.active{color:var(--COLOR-HOVER, #5175f4);font-weight:700}.ce-date-container{display:none;width:300px;overflow:hidden;left:0;right:0;position:absolute;z-index:1;color:#606266;background:#ffffff;border-radius:4px;padding:10px;user-select:none;border:1px solid #e4e7ed;box-shadow:0 2px 12px #0000001a}.ce-date-container.active{display:block}.ce-date-wrap{display:none}.ce-date-wrap.active{display:block}.ce-date-title{display:flex;justify-content:center;align-items:center;text-align:center;color:#606266;font-size:16px}.ce-date-title>span{display:inline-block}.ce-date-title>span:not(.ce-date-title__now){font-family:cursive;cursor:pointer}.ce-date-title>span:not(.ce-date-title__now):hover{color:#5175f4}.ce-date-title .ce-date-title__pre-year,.ce-date-title .ce-date-title__pre-month{width:15%}.ce-date-title .ce-date-title__now{width:40%}.ce-date-title .ce-date-title__next-year,.ce-date-title .ce-date-title__next-month{width:15%}.ce-date-week{width:100%;display:flex;justify-content:center;margin-top:15px;padding-bottom:5px;border-bottom:1px solid #e4e7ed}.ce-date-week>span{list-style:none;width:14.28571%;text-align:center;color:#606266;font-size:14px}.ce-date-day{width:100%;display:flex;flex-wrap:wrap;align-items:center;margin-top:5px}.ce-date-day>div{width:14.28571%;height:40px;text-align:center;color:#606266;font-size:14px;cursor:pointer;line-height:40px;border-radius:4px}.ce-date-day>div:hover{color:#5175f4;opacity:.8}.ce-date-day>div.active{color:#5175f4;font-weight:700}.ce-date-day>div.disable{color:#c0c4cc}.ce-date-day>div.select{color:#fff;background-color:#5175f4}.ce-time-wrap{display:none;padding:10px;height:286px}.ce-time-wrap ::-webkit-scrollbar{width:0}.ce-time-wrap.active{display:flex}.ce-time-wrap li{list-style:none}.ce-time-wrap>li{width:33.3%;height:100%;text-align:center}.ce-time-wrap>li>span{transform:translateY(-5px);display:inline-block}.ce-time-wrap>li>ol{height:calc(100% - 20px);overflow-y:auto;border:1px solid #e2e2e2;position:relative}.ce-time-wrap>li:first-child>ol{border-right:0}.ce-time-wrap>li:last-child>ol{border-left:0}.ce-time-wrap>li>ol>li{line-height:30px;cursor:pointer;transition:all .3s}.ce-time-wrap>li>ol>li:hover{background-color:#eaeaea}.ce-time-wrap>li>ol>li.active{color:#fff;background:#5175F4}.ce-date-menu{width:100%;height:28px;display:flex;justify-content:flex-end;align-items:center;padding-top:10px;position:relative;border-top:1px solid #e4e7ed}.ce-date-menu button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;appearance:none;text-align:center;box-sizing:border-box;outline:none;transition:.1s;font-weight:500;user-select:none;padding:7px 15px;font-size:12px;border-radius:3px;margin:0 0 0 10px}.ce-date-menu button:hover{color:#5175f4;border-color:#5175f4}.ce-date-menu button.ce-date-menu__time{border:1px solid transparent;position:absolute;left:0;margin-left:0}.ce-date-menu button.ce-date-menu__time:hover{color:#5175f4}.ce-block-item{position:absolute;z-index:0;overflow:hidden;border-radius:8px;background-color:#fff;border:1px solid rgb(235 236 240)}.ce-table-tool__row{position:absolute;width:12px;border-radius:6.5px;overflow:hidden;background-color:#e2e6ed}.ce-table-tool__row .ce-table-tool__row__item{width:100%;position:relative}.ce-table-tool__row .ce-table-tool__row__item:after{content:"";position:absolute;bottom:0;left:2px;width:8px;height:1px;background-color:#c0c6cf}.ce-table-tool__row .ce-table-tool__row__item:last-child:after{display:none}.ce-table-tool__col{position:absolute;height:12px;border-radius:6.5px;overflow:hidden;background-color:#e2e6ed;display:flex}.ce-table-tool__col .ce-table-tool__col__item{height:100%;position:relative}.ce-table-tool__col .ce-table-tool__col__item:after{content:"";position:absolute;top:2px;left:-1px;width:1px;height:8px;z-index:1;background-color:#c0c6cf}.ce-table-tool__col .ce-table-tool__col__item:first-child:after{display:none}.ce-table-tool__row .ce-table-tool__row__item.active,.ce-table-tool__col .ce-table-tool__col__item.active{background-color:#c4d7fa}.ce-table-tool__col .ce-table-tool__anchor{right:-5px;width:10px;height:12px;z-index:9;position:absolute;cursor:col-resize}.ce-table-tool__row .ce-table-tool__anchor{bottom:-5px;left:0;width:12px;height:10px;z-index:9;position:absolute;cursor:row-resize}.ce-table-anchor__line{z-index:9;position:absolute;border:1px dotted #000000}.ce-table-tool__border{position:absolute;z-index:1;background:transparent;pointer-events:none}.ce-table-tool__border__row{position:absolute;cursor:row-resize;pointer-events:auto}.ce-table-tool__border__col{position:absolute;cursor:col-resize;pointer-events:auto}.ce-resizer-selection{position:absolute;border:1px solid}.ce-resizer-selection .resizer-handle{position:absolute;z-index:9;width:10px;height:10px;box-shadow:0 1px 4px #0000004d;border-radius:5px;border:2px solid #ffffff;box-sizing:border-box}.ce-resizer-selection .handle-0{cursor:nw-resize}.ce-resizer-selection .handle-1{cursor:n-resize}.ce-resizer-selection .handle-2{cursor:ne-resize}.ce-resizer-selection .handle-3{cursor:e-resize}.ce-resizer-selection .handle-4{cursor:se-resize}.ce-resizer-selection .handle-5{cursor:s-resize}.ce-resizer-selection .handle-6{cursor:sw-resize}.ce-resizer-selection .handle-7{cursor:w-resize}.ce-resizer-size-view{display:flex;align-items:center;height:20px;white-space:nowrap;position:absolute;top:-30px;left:0;opacity:.9;background-color:#000;padding:0 5px;border-radius:4px}.ce-resizer-size-view span{color:#fff;font-size:12px}.ce-resizer-image{position:absolute;opacity:.5}.ce-image-previewer{position:fixed;left:0;top:0;z-index:1000;width:100%;height:100%;overflow:hidden;background:#f2f4f7;display:flex;align-items:center;justify-content:center;animation:previewerAnimation .3s}@keyframes previewerAnimation{0%{opacity:.1}to{opacity:1}}.ce-image-previewer .image-close{width:24px;height:24px;display:inline-block;position:absolute;right:50px;top:30px;z-index:99;cursor:pointer;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIzLjk3IDdsMS40MTUgMS40MTQtNy43NzkgNy43NzggNy43NzkgNy43NzktMS40MTQgMS40MTQtNy43NzktNy43NzktNy43NzggNy43NzlMNyAyMy45N2w3Ljc3OC03Ljc3OUw3IDguNDE0IDguNDE0IDdsNy43NzggNy43NzhMMjMuOTcxIDd6IiBmaWxsPSIjM0Q0NzU3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=) no-repeat;background-size:100% 100%;transition:all .3s;border-radius:50%}.ce-image-previewer .image-close:hover{background-color:#e2e6ed}.ce-image-previewer .ce-image-container{position:relative}.ce-image-previewer .ce-image-container img{cursor:move;position:relative}.ce-image-previewer .ce-image-menu{height:50px;position:absolute;bottom:50px;z-index:99;display:flex;align-items:center;justify-content:center}.ce-image-previewer .ce-image-menu i{width:32px;height:32px;margin:0 8px;cursor:pointer;display:inline-block;background-repeat:no-repeat;background-size:100% 100%;transition:all .3s;border-radius:50%}.ce-image-previewer .ce-image-menu i:hover{background-color:#e2e6ed}.ce-image-previewer .ce-image-menu i.zoom-in{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0IDE0di00aDJ2NGg0djJoLTR2NGgtMnYtNGgtNHYtMmg0em04Ljc0OSAxMC4xNjNBMTEuOTUyIDExLjk1MiAwIDAxMTUgMjdDOC4zNzMgMjcgMyAyMS42MjcgMyAxNVM4LjM3MyAzIDE1IDNzMTIgNS4zNzMgMTIgMTJjMCAyLjk1NC0xLjA2NyA1LjY1OC0yLjgzNyA3Ljc0OWw0LjkwOCA0LjkwOC0xLjQxNCAxLjQxNC00LjkwOC00LjkwOHpNMTUgMjVjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMyMC41MjMgNSAxNSA1IDUgOS40NzcgNSAxNXM0LjQ3NyAxMCAxMCAxMHoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.zoom-out{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIyLjc0OSAyNC4xNjNBMTEuOTUyIDExLjk1MiAwIDAxMTUgMjdDOC4zNzMgMjcgMyAyMS42MjcgMyAxNVM4LjM3MyAzIDE1IDNzMTIgNS4zNzMgMTIgMTJjMCAyLjk1NC0xLjA2NyA1LjY1OC0yLjgzNyA3Ljc0OWw0LjkwOCA0LjkwOC0xLjQxNCAxLjQxNC00LjkwOC00LjkwOHpNMTUgMjVjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMyMC41MjMgNSAxNSA1IDUgOS40NzcgNSAxNXM0LjQ3NyAxMCAxMCAxMHptLTUtMTFoMTB2MkgxMHYtMnoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.rotate{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTYgNGM2LjYyNyAwIDEyIDUuMzczIDEyIDEyYTExLjk3IDExLjk3IDAgMDEtNCA4Ljk0NFYyM2gtLjg2QTkuOTY4IDkuOTY4IDAgMDAyNiAxNmMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwUzYgMTAuNDc3IDYgMTZjMCA1LjE4NSAzLjk0NyA5LjQ0OSA5IDkuOTV2Mi4wMDlDOC44NCAyNy40NTEgNCAyMi4yOTEgNCAxNiA0IDkuMzczIDkuMzczIDQgMTYgNHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik0xOS44NzkgMjcuMzI4bDEuNzY3LTYuNzE3IDQuOTUgNC45NXoiLz48L2c+PC9zdmc+)}.ce-image-previewer .ce-image-menu i.original-size{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQgNGgyNHYyNEg0VjR6bTIgMnYyMGgyMFY2SDZ6bTQgNWgydjEwaC0yVjExem01IDJoMnYyaC0ydi0yem0wIDRoMnYyaC0ydi0yem01LTZoMnYxMGgtMlYxMXoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.image-download{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuNSAxNXYzLjVoMTVWMTVIMjF2NUgzdi01aDEuNXptOC4yMzItMTEuMjI2djkuMTk2bDQuMDUtNC4wNSAxLjA2IDEuMDYtNS44MzQgNS44MzQtNS44MzMtNS44MzMgMS4wNi0xLjA2IDMuOTk4IDMuOTk2VjMuNzc0aDEuNXoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-contextmenu-container{z-index:9;position:fixed;display:none;padding:4px;overflow-x:hidden;overflow-y:auto;background:#fff;box-shadow:0 2px 12px #38383833;border:1px solid #e2e6ed;border-radius:2px}.ce-contextmenu-content{display:flex;flex-direction:column}.ce-contextmenu-content .ce-contextmenu-sub-item:after{position:absolute;content:"";width:16px;height:16px;right:12px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMCAwaDE2djE2SDB6Ii8+PGcgZmlsbD0iIzc2N0M4NSI+PHBhdGggZD0iTTcgMTIuMjQzbC0uNzA3LS43MDcgNC4yNDMtNC4yNDMuNzA3LjcwN3oiLz48cGF0aCBkPSJNNi4yOTMgNC40NjRMNyAzLjc1NyAxMS4yNDMgOGwtLjcwNy43MDd6Ii8+PC9nPjwvZz48L3N2Zz4=)}.ce-contextmenu-content .ce-contextmenu-item{min-width:140px;padding:0 32px 0 16px;height:30px;display:flex;align-items:center;white-space:nowrap;box-sizing:border-box;cursor:pointer}.ce-contextmenu-content .ce-contextmenu-item.hover{background:rgba(25,55,88,.04)}.ce-contextmenu-content .ce-contextmenu-item span{max-width:300px;font-size:12px;color:#3d4757;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ce-contextmenu-content .ce-contextmenu-item span.ce-shortcut{color:#767c85;height:30px;flex:1;text-align:right;line-height:30px;margin-left:20px}.ce-contextmenu-content .ce-contextmenu-item i{width:16px;height:16px;vertical-align:middle;display:inline-block;background-repeat:no-repeat;background-size:100% 100%;flex-shrink:0;margin-right:8px}.ce-contextmenu-divider{background-color:#e2e6ed;margin:4px 16px;height:1px}.ce-contextmenu-print{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjM0Q0NzU3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiA0aC0xVjJINXYySDRWMmExIDEgMCAwMTEtMWg2YTEgMSAwIDAxMSAxdjJ6bTAgNXY0YTEgMSAwIDAxLTEgMUg1YTEgMSAwIDAxLTEtMVY5aDF2NGg2VjloMXoiLz48cGF0aCBkPSJNMTIgMTJ2LTFoMlY1SDJ2NmgydjFIMmExIDEgMCAwMS0xLTFWNWExIDEgMCAwMTEtMWgxMmExIDEgMCAwMTEgMXY2YTEgMSAwIDAxLTEgMWgtMnoiLz48cGF0aCBkPSJNMyA4aDEwdjFIM3ptOC0yaDJ2MWgtMnoiLz48L2c+PC9zdmc+)}.ce-contextmenu-image{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSLlm77lsYJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3Qwe2ZpbGw6IzNkNDc1N308L3N0eWxlPjxnIGlkPSJfeDMwXzAt5YWs5YWxX3gyRl8wMuW3peWFt+agj194MkZf5o+S5YWl5Zu+54mHLTE2cHgtIj48ZyBpZD0iR3JvdXAtMTkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiPjxwYXRoIGlkPSJDb21iaW5lZC1TaGFwZSIgY2xhc3M9InN0MCIgZD0iTTEgMGgxMmMuNiAwIDEgLjQgMSAxdjExYzAgLjYtLjQgMS0xIDFIMWMtLjYgMC0xLS40LTEtMVYxYzAtLjYuNC0xIDEtMXptMCAxdjExaDEyVjFIMXoiLz48Y2lyY2xlIGlkPSLmpK3lnIblvaIiIGNsYXNzPSJzdDAiIGN4PSIxMCIgY3k9IjQiIHI9IjEiLz48cGF0aCBpZD0iUGF0aCIgY2xhc3M9InN0MCIgZD0iTTguNSAxMS4ybC00LTQuMUwxIDEwLjdWOS4yYzEuNy0xLjYgMi43LTIuNSAzLTIuOC40LS41LjctLjQgMSAwTDguNSAxMCAxMSA3LjNjLjQtLjUuNi0uNSAxLS4xbDIgMi44djEuNWwtMi41LTMuNC0zIDMuMXoiLz48L2c+PC9nPjwvc3ZnPg==)}.ce-contextmenu-image-change{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDQpIiBmaWxsPSIjM0Q0NzU3Ij48Y2lyY2xlIGZpbGwtcnVsZT0ibm9uemVybyIgY3g9IjMiIGN5PSIxIiByPSIxIi8+PHBhdGggZD0iTTcuNDczIDguMjIzTDMuNDcgNC4xMDcgMCA3LjY2N3YtMS41QzEuNzE1IDQuNiAyLjcwNyAzLjY2NCAyLjk3NSAzLjM1OGMuNDAyLS40NTcuNjUxLS4zOSAxLjA0MiAwTDcuNDczIDcgOS45NiA0LjM0OWMuNDE0LS40NjIuNjItLjQ2MiAxLjAxMS0uMDcxTDEzIDcuMDZ2MS41bC0yLjUxLTMuNDEtMy4wMTcgMy4wNzJ6Ii8+PC9nPjxwYXRoIGQ9Ik02IDEuNUgxLjV2MTJoMTN2LTRWMTNhLjUuNSAwIDAxLS41LjVIMmEuNS41IDAgMDEtLjUtLjVWMmEuNS41IDAgMDEuNS0uNWg0em04LjUgOFY2bC0uNS41aDFsLS41LS41djMuNXpNNiAxLjVoNEw5LjUgMXYxbC41LS41SDZ6IiBzdHJva2U9IiMzRDQ3NTciLz48cGF0aCBkPSJNMTMuMDg1IDEuMzE2bC0zLjgxNCA0YTEgMSAwIDAwMS40NTggMS4zNjhsMy44MTUtNGExIDEgMCAxMC0xLjQ1OS0xLjM2OHoiIGZpbGw9IiMzRDQ3NTciIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-insert-row-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik04LjUgNS41aDZ2NGgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNCA3djFoMlY3em0tMyAuNUw0IDV2NXpNMSAxaDEydjFIMXptMCAxMmgxMnYxSDF6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-top-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNOCA1SDd2M2gxem0tLjUtM0wxMCA1SDV6Ii8+PHJlY3Qgc3Ryb2tlPSIjM0Q0NzU3IiB4PSIxLjUiIHk9IjEwLjUiIHdpZHRoPSIxMiIgaGVpZ2h0PSIzIiByeD0iMSIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-insert-bottom-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNyAxMWgxVjhIN3ptLjUgM0w1IDExaDV6Ii8+PHJlY3Qgc3Ryb2tlPSIjM0Q0NzU3IiB4PSIxLjUiIHk9IjIuNSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjMiIHJ4PSIxIi8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-left-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMTEgN3YxaDNWN3ptLTMgLjVMMTEgNXY1eiIvPjxyZWN0IHN0cm9rZT0iIzNENDc1NyIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNCA3LjUpIiB4PSItMiIgeT0iNiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjMiIHJ4PSIxIi8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-right-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNSA4VjdIMnYxem0zLS41TDUgMTBWNXoiLz48cmVjdCBzdHJva2U9IiMzRDQ3NTciIHRyYW5zZm9ybT0icm90YXRlKDkwIDEyIDcuNSkiIHg9IjYiIHk9IjYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIzIiByeD0iMSIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-row-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik04LjUgNi41aDZ2MmgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMiAxMmgxMXYxSDJ6TTIgMmgxMXYxSDJ6bS42MyAzTDcgOS4zNWwtLjYzNS42NUwyIDUuNjN6Ii8+PHBhdGggZmlsbD0iIzNENDc1NyIgZD0iTTIgOS4zNjNMNi4zNTUgNSA3IDUuNzA3IDIuNjk1IDEweiIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik04LjUgNS41aDZ2NGgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMSAxM2gxMnYxSDF6TTEgMWgxMnYxSDF6bTAgNGgxdjFIMXptMSAxaDF2MUgyem0xIDFoMXYxSDN6bTEtMWgxdjFINHptMS0xaDF2MUg1ek00IDhoMXYxSDR6TTIgOGgxdjFIMnptMyAxaDF2MUg1ek0xIDloMXYxSDF6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-delete-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik01LjUgNy41di02aDR2NnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMTMgMTVWM2gxdjEyek0xIDE1VjNoMXYxMnptNCAwdi0xaDF2MXptMS0xdi0xaDF2MXptMS0xdi0xaDF2MXptLTEtMXYtMWgxdjF6bS0xLTF2LTFoMXYxem0zIDF2LTFoMXYxem0wIDJ2LTFoMXYxem0xLTN2LTFoMXYxem0wIDR2LTFoMXYxeiIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-table{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTQgMTNoLTF2LTNIMnYzSDF2LTNhMSAxIDAgMDExLTFoMTFhMSAxIDAgMDExIDF2M3oiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik01LjYyNSAyTDEwIDYuMzc1IDkuMzc1IDcgNSAyLjYyNXoiLz48cGF0aCBkPSJNNSA2LjM3NUw5LjM3NSAybC42MjUuNjI1TDUuNjI1IDd6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-merge-cell{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNNiAxdjFIMnYxMWg0djFIMmExIDEgMCAwMS0xLTFWMmExIDEgMCAwMTEtMWg0em0zIDBoNGExIDEgMCAwMTEgMXYxMWExIDEgMCAwMS0xIDFIOXYtMWg0VjJIOVYxeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTYgMWgxdjRINnptMiAwaDF2NEg4eiIvPjxwYXRoIGQ9Ik04IDcuNUwxMCA2djN6bS0xIDBMNSA2djN6Ii8+PHBhdGggZD0iTTkgN2gzdjFIOXpNMyA3aDN2MUgzeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTggMTBoMXY0SDh6bS0yIDBoMXY0SDZ6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-merge-cancel-cell{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNNiAxdjFIMnYxMWg0djFIMmExIDEgMCAwMS0xLTFWMmExIDEgMCAwMTEtMWg0em0zIDBoNGExIDEgMCAwMTEgMXYxMWExIDEgMCAwMS0xIDFIOXYtMWg0VjJIOVYxeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTYgMWgxdjRINnptMiAwaDF2NEg4eiIvPjxwYXRoIGQ9Ik0zIDcuNUw1IDZ2M3ptOSAwTDEwIDZ2M3oiLz48cGF0aCBkPSJNNCA3aDN2MUg0em00IDBoM3YxSDh6Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNOCAxMGgxdjRIOHptLTIgMGgxdjRINnoiLz48L2c+PC9zdmc+)}.ce-contextmenu-vertical-align{background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiAxM2gxMnYxSDJ6bTAtM2g4djFIMnptMC0zaDEydjFIMnptMC02aDEydjFIMnptMCAzaDh2MUgyeiIgZmlsbD0iIzNkNDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.ce-contextmenu-vertical-align-top{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTggOEg3djZoMXptLS41LTNMMTAgOEg1ek0yIDNoMTF2MUgyeiIgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.ce-contextmenu-vertical-align-middle{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOCAxMkg3djNoMXptLS41LTNsMi41IDNINXpNNyAzaDFWMEg3em0uNSAzTDUgM2g1ek0yIDdoMTF2MUgyeiIgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.ce-contextmenu-vertical-align-bottom{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcgOWgxVjNIN3ptLjUgM0w1IDloNXpNMiAxM2gxMXYxSDJ6IiBmaWxsPSIjM0Q0NzU3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ce-contextmenu-border-all{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iIzNENDc1NyIvPjxwYXRoIGZpbGw9IiMzRDQ3NTciIGQ9Ik0zIDhoMTF2MUgzeiIvPjxwYXRoIGZpbGw9IiMzRDQ3NTciIGQ9Ik05IDN2MTFIOFYzeiIvPjwvc3ZnPg==)}.ce-contextmenu-border-empty{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMyAzaC0xVjJoMWExIDEgMCAwMTEgMXYxaC0xVjN6bS0zLTF2MUg4LjV2MmgtMVYzSDZWMmg0ek00IDJ2MUgzdjFIMlYzYTEgMSAwIDAxMS0xaDF6TTIgNmgxdjEuNWgydjFIM1YxMEgyVjZ6bTAgNmgxdjFoMXYxSDNhMSAxIDAgMDEtMS0xdi0xem00IDJ2LTFoMS41di0yaDF2MkgxMHYxSDZ6bTYgMHYtMWgxdi0xaDF2MWExIDEgMCAwMS0xIDFoLTF6bTItNGgtMVY4LjVoLTJ2LTFoMlY2aDF2NHpNOC41IDcuNXYtMWgtMXYxaC0xdjFoMXYxaDF2LTFoMXYtMWgtMXoiIGZpbGw9IiNBQUFDQjAiLz48L3N2Zz4=)}.ce-contextmenu-border-external{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iIzNENDc1NyIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOSA1VjNIOHYyaDF6bTAgOXYtMkg4djJoMXpNNSA4SDN2MWgyVjh6bTkgMGgtMnYxaDJWOHpNOSA3djFoMXYxSDl2MUg4VjlIN1Y4aDFWN2gxeiIgZmlsbD0iI0FBQUNCMCIvPjwvc3ZnPg==)}.ce-contextmenu-border-td{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgZD0iTTguNSAyLjUgdjYgaC02Ii8+PC9zdmc+)}.ce-contextmenu-border-td-bottom{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgZD0iTTIuNSA4LjUgaDEyIi8+PC9zdmc+)}.ce-contextmenu-border-td-forward{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIgLz48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik0xNCAzIGwtMTEgMTEiIC8+PC9zdmc+)}.ce-contextmenu-border-td-back{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIgLz48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik0zIDMgbDExIDExIiAvPjwvc3ZnPg==)}.ce-hyperlink-popup{background:#fff;box-shadow:0 2px 12px #626b8433;border-radius:2px;color:#3d4757;padding:12px 16px;position:absolute;z-index:1;text-align:center;display:none}.ce-hyperlink-popup a{min-width:100px;max-width:300px;font-size:12px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;text-decoration:none;border-bottom-width:1px;border-bottom-style:solid;color:#00f}.ce-zone-indicator>div{padding:3px 6px;color:#000;font-size:12px;background:rgb(218 231 252);position:absolute;transform-origin:0 0}.ce-zone-indicator-border__top,.ce-zone-indicator-border__bottom,.ce-zone-indicator-border__left,.ce-zone-indicator-border__right{display:block;position:absolute;z-index:0}.ce-zone-indicator-border__top{border-top:2px dashed rgb(238,238,238)}.ce-zone-indicator-border__bottom{border-top:2px dashed rgb(238,238,238);width:100%}.ce-zone-indicator-border__left{border-left:2px dashed rgb(238,238,238)}.ce-zone-indicator-border__right{border-right:2px dashed rgb(238,238,238)}.ce-zone-tip{display:none;align-items:center;height:30px;white-space:nowrap;position:fixed;opacity:.9;background-color:#000;padding:0 5px;border-radius:4px;z-index:9;transition:all .3s;outline:none;user-select:none;pointer-events:none;transform:translate(10px,10px)}.ce-zone-tip.show{display:flex}.ce-zone-tip span{color:#fff;font-size:12px}.ce-inputarea{width:100px;height:30px;min-width:0;min-height:0;margin:0;padding:0;left:0;right:0;letter-spacing:0;font-size:12px;position:absolute;z-index:-1;outline:none;resize:none;border:none;overflow:hidden;color:transparent;user-select:none;caret-color:transparent;background-color:transparent}.ce-cursor{width:1px;height:20px;left:0;right:0;position:absolute;outline:none;background-color:#000;pointer-events:none}.ce-cursor.ce-cursor--animation{animation-duration:1s;animation-iteration-count:infinite;animation-name:cursorAnimation}@keyframes cursorAnimation{0%{opacity:1}13%{opacity:0}50%{opacity:0}63%{opacity:1}to{opacity:1}}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();})();
1
+ (()=>{(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.id="canvas-editor-style",e.appendChild(document.createTextNode('.ce-select-control-popup{max-width:160px;min-width:69px;max-height:225px;position:absolute;z-index:1;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;box-shadow:0 2px 12px #0000001a;box-sizing:border-box;margin:5px 0;overflow-y:auto}.ce-select-control-popup ul{list-style:none;padding:3px 0;margin:0;box-sizing:border-box}.ce-select-control-popup ul li{font-size:13px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#666;height:36px;line-height:36px;box-sizing:border-box;cursor:pointer}.ce-select-control-popup ul li:hover{background-color:#eef2fd}.ce-select-control-popup ul li.active{color:var(--COLOR-HOVER, #5175f4);font-weight:700}.ce-date-container{display:none;width:300px;overflow:hidden;left:0;right:0;position:absolute;z-index:1;color:#606266;background:#ffffff;border-radius:4px;padding:10px;user-select:none;border:1px solid #e4e7ed;box-shadow:0 2px 12px #0000001a}.ce-date-container.active{display:block}.ce-date-wrap{display:none}.ce-date-wrap.active{display:block}.ce-date-title{display:flex;justify-content:center;align-items:center;text-align:center;color:#606266;font-size:16px}.ce-date-title>span{display:inline-block}.ce-date-title>span:not(.ce-date-title__now){font-family:cursive;cursor:pointer}.ce-date-title>span:not(.ce-date-title__now):hover{color:#5175f4}.ce-date-title .ce-date-title__pre-year,.ce-date-title .ce-date-title__pre-month{width:15%}.ce-date-title .ce-date-title__now{width:40%}.ce-date-title .ce-date-title__next-year,.ce-date-title .ce-date-title__next-month{width:15%}.ce-date-week{width:100%;display:flex;justify-content:center;margin-top:15px;padding-bottom:5px;border-bottom:1px solid #e4e7ed}.ce-date-week>span{list-style:none;width:14.28571%;text-align:center;color:#606266;font-size:14px}.ce-date-day{width:100%;display:flex;flex-wrap:wrap;align-items:center;margin-top:5px}.ce-date-day>div{width:14.28571%;height:40px;text-align:center;color:#606266;font-size:14px;cursor:pointer;line-height:40px;border-radius:4px}.ce-date-day>div:hover{color:#5175f4;opacity:.8}.ce-date-day>div.active{color:#5175f4;font-weight:700}.ce-date-day>div.disable{color:#c0c4cc}.ce-date-day>div.select{color:#fff;background-color:#5175f4}.ce-time-wrap{display:none;padding:10px;height:286px}.ce-time-wrap ::-webkit-scrollbar{width:0}.ce-time-wrap.active{display:flex}.ce-time-wrap li{list-style:none}.ce-time-wrap>li{width:33.3%;height:100%;text-align:center}.ce-time-wrap>li>span{transform:translateY(-5px);display:inline-block}.ce-time-wrap>li>ol{height:calc(100% - 20px);overflow-y:auto;border:1px solid #e2e2e2;position:relative}.ce-time-wrap>li:first-child>ol{border-right:0}.ce-time-wrap>li:last-child>ol{border-left:0}.ce-time-wrap>li>ol>li{line-height:30px;cursor:pointer;transition:all .3s}.ce-time-wrap>li>ol>li:hover{background-color:#eaeaea}.ce-time-wrap>li>ol>li.active{color:#fff;background:#5175F4}.ce-date-menu{width:100%;height:28px;display:flex;justify-content:flex-end;align-items:center;padding-top:10px;position:relative;border-top:1px solid #e4e7ed}.ce-date-menu button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;appearance:none;text-align:center;box-sizing:border-box;outline:none;transition:.1s;font-weight:500;user-select:none;padding:7px 15px;font-size:12px;border-radius:3px;margin:0 0 0 10px}.ce-date-menu button:hover{color:#5175f4;border-color:#5175f4}.ce-date-menu button.ce-date-menu__time{border:1px solid transparent;position:absolute;left:0;margin-left:0}.ce-date-menu button.ce-date-menu__time:hover{color:#5175f4}.ce-block-item{position:absolute;z-index:0;overflow:hidden;border-radius:8px;background-color:#fff;border:1px solid rgb(235 236 240)}.ce-table-tool__row{position:absolute;width:12px;border-radius:6.5px;overflow:hidden;background-color:#e2e6ed}.ce-table-tool__row .ce-table-tool__row__item{width:100%;position:relative}.ce-table-tool__row .ce-table-tool__row__item:after{content:"";position:absolute;bottom:0;left:2px;width:8px;height:1px;background-color:#c0c6cf}.ce-table-tool__row .ce-table-tool__row__item:last-child:after{display:none}.ce-table-tool__col{position:absolute;height:12px;border-radius:6.5px;overflow:hidden;background-color:#e2e6ed;display:flex}.ce-table-tool__col .ce-table-tool__col__item{height:100%;position:relative}.ce-table-tool__col .ce-table-tool__col__item:after{content:"";position:absolute;top:2px;left:-1px;width:1px;height:8px;z-index:1;background-color:#c0c6cf}.ce-table-tool__col .ce-table-tool__col__item:first-child:after{display:none}.ce-table-tool__row .ce-table-tool__row__item.active,.ce-table-tool__col .ce-table-tool__col__item.active{background-color:#c4d7fa}.ce-table-tool__col .ce-table-tool__anchor{right:-5px;width:10px;height:12px;z-index:9;position:absolute;cursor:col-resize}.ce-table-tool__row .ce-table-tool__anchor{bottom:-5px;left:0;width:12px;height:10px;z-index:9;position:absolute;cursor:row-resize}.ce-table-anchor__line{z-index:9;position:absolute;border:1px dotted #000000}.ce-table-tool__border{position:absolute;z-index:1;background:transparent;pointer-events:none}.ce-table-tool__border__row{position:absolute;cursor:row-resize;pointer-events:auto}.ce-table-tool__border__col{position:absolute;cursor:col-resize;pointer-events:auto}.ce-resizer-selection{position:absolute;border:1px solid}.ce-resizer-selection .resizer-handle{position:absolute;z-index:9;width:10px;height:10px;box-shadow:0 1px 4px #0000004d;border-radius:5px;border:2px solid #ffffff;box-sizing:border-box}.ce-resizer-selection .handle-0{cursor:nw-resize}.ce-resizer-selection .handle-1{cursor:n-resize}.ce-resizer-selection .handle-2{cursor:ne-resize}.ce-resizer-selection .handle-3{cursor:e-resize}.ce-resizer-selection .handle-4{cursor:se-resize}.ce-resizer-selection .handle-5{cursor:s-resize}.ce-resizer-selection .handle-6{cursor:sw-resize}.ce-resizer-selection .handle-7{cursor:w-resize}.ce-resizer-size-view{display:flex;align-items:center;height:20px;white-space:nowrap;position:absolute;top:-30px;left:0;opacity:.9;background-color:#000;padding:0 5px;border-radius:4px}.ce-resizer-size-view span{color:#fff;font-size:12px}.ce-resizer-image{position:absolute;opacity:.5}.ce-image-previewer{position:fixed;left:0;top:0;z-index:1000;width:100%;height:100%;overflow:hidden;background:#f2f4f7;display:flex;align-items:center;justify-content:center;animation:previewerAnimation .3s}@keyframes previewerAnimation{0%{opacity:.1}to{opacity:1}}.ce-image-previewer .image-close{width:24px;height:24px;display:inline-block;position:absolute;right:50px;top:30px;z-index:99;cursor:pointer;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIzLjk3IDdsMS40MTUgMS40MTQtNy43NzkgNy43NzggNy43NzkgNy43NzktMS40MTQgMS40MTQtNy43NzktNy43NzktNy43NzggNy43NzlMNyAyMy45N2w3Ljc3OC03Ljc3OUw3IDguNDE0IDguNDE0IDdsNy43NzggNy43NzhMMjMuOTcxIDd6IiBmaWxsPSIjM0Q0NzU3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=) no-repeat;background-size:100% 100%;transition:all .3s;border-radius:50%}.ce-image-previewer .image-close:hover{background-color:#e2e6ed}.ce-image-previewer .ce-image-container{position:relative}.ce-image-previewer .ce-image-container img{cursor:move;position:relative}.ce-image-previewer .ce-image-menu{height:50px;position:absolute;bottom:50px;z-index:99;display:flex;align-items:center;justify-content:center}.ce-image-previewer .ce-image-menu i{width:32px;height:32px;margin:0 8px;cursor:pointer;display:inline-block;background-repeat:no-repeat;background-size:100% 100%;transition:all .3s;border-radius:50%}.ce-image-previewer .ce-image-menu i:hover{background-color:#e2e6ed}.ce-image-previewer .ce-image-menu i.zoom-in{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0IDE0di00aDJ2NGg0djJoLTR2NGgtMnYtNGgtNHYtMmg0em04Ljc0OSAxMC4xNjNBMTEuOTUyIDExLjk1MiAwIDAxMTUgMjdDOC4zNzMgMjcgMyAyMS42MjcgMyAxNVM4LjM3MyAzIDE1IDNzMTIgNS4zNzMgMTIgMTJjMCAyLjk1NC0xLjA2NyA1LjY1OC0yLjgzNyA3Ljc0OWw0LjkwOCA0LjkwOC0xLjQxNCAxLjQxNC00LjkwOC00LjkwOHpNMTUgMjVjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMyMC41MjMgNSAxNSA1IDUgOS40NzcgNSAxNXM0LjQ3NyAxMCAxMCAxMHoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.zoom-out{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIyLjc0OSAyNC4xNjNBMTEuOTUyIDExLjk1MiAwIDAxMTUgMjdDOC4zNzMgMjcgMyAyMS42MjcgMyAxNVM4LjM3MyAzIDE1IDNzMTIgNS4zNzMgMTIgMTJjMCAyLjk1NC0xLjA2NyA1LjY1OC0yLjgzNyA3Ljc0OWw0LjkwOCA0LjkwOC0xLjQxNCAxLjQxNC00LjkwOC00LjkwOHpNMTUgMjVjNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMyMC41MjMgNSAxNSA1IDUgOS40NzcgNSAxNXM0LjQ3NyAxMCAxMCAxMHptLTUtMTFoMTB2MkgxMHYtMnoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.rotate{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTYgNGM2LjYyNyAwIDEyIDUuMzczIDEyIDEyYTExLjk3IDExLjk3IDAgMDEtNCA4Ljk0NFYyM2gtLjg2QTkuOTY4IDkuOTY4IDAgMDAyNiAxNmMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwUzYgMTAuNDc3IDYgMTZjMCA1LjE4NSAzLjk0NyA5LjQ0OSA5IDkuOTV2Mi4wMDlDOC44NCAyNy40NTEgNCAyMi4yOTEgNCAxNiA0IDkuMzczIDkuMzczIDQgMTYgNHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik0xOS44NzkgMjcuMzI4bDEuNzY3LTYuNzE3IDQuOTUgNC45NXoiLz48L2c+PC9zdmc+)}.ce-image-previewer .ce-image-menu i.original-size{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQgNGgyNHYyNEg0VjR6bTIgMnYyMGgyMFY2SDZ6bTQgNWgydjEwaC0yVjExem01IDJoMnYyaC0ydi0yem0wIDRoMnYyaC0ydi0yem01LTZoMnYxMGgtMlYxMXoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-image-previewer .ce-image-menu i.image-download{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuNSAxNXYzLjVoMTVWMTVIMjF2NUgzdi01aDEuNXptOC4yMzItMTEuMjI2djkuMTk2bDQuMDUtNC4wNSAxLjA2IDEuMDYtNS44MzQgNS44MzQtNS44MzMtNS44MzMgMS4wNi0xLjA2IDMuOTk4IDMuOTk2VjMuNzc0aDEuNXoiIGZpbGw9IiMzRDQ3NTciLz48L3N2Zz4=)}.ce-contextmenu-container{z-index:9;position:fixed;display:none;padding:4px;overflow-x:hidden;overflow-y:auto;background:#fff;box-shadow:0 2px 12px #38383833;border:1px solid #e2e6ed;border-radius:2px}.ce-contextmenu-content{display:flex;flex-direction:column}.ce-contextmenu-content .ce-contextmenu-sub-item:after{position:absolute;content:"";width:16px;height:16px;right:12px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMCAwaDE2djE2SDB6Ii8+PGcgZmlsbD0iIzc2N0M4NSI+PHBhdGggZD0iTTcgMTIuMjQzbC0uNzA3LS43MDcgNC4yNDMtNC4yNDMuNzA3LjcwN3oiLz48cGF0aCBkPSJNNi4yOTMgNC40NjRMNyAzLjc1NyAxMS4yNDMgOGwtLjcwNy43MDd6Ii8+PC9nPjwvZz48L3N2Zz4=)}.ce-contextmenu-content .ce-contextmenu-item{min-width:140px;padding:0 32px 0 16px;height:30px;display:flex;align-items:center;white-space:nowrap;box-sizing:border-box;cursor:pointer}.ce-contextmenu-content .ce-contextmenu-item.hover{background:rgba(25,55,88,.04)}.ce-contextmenu-content .ce-contextmenu-item span{max-width:300px;font-size:12px;color:#3d4757;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ce-contextmenu-content .ce-contextmenu-item span.ce-shortcut{color:#767c85;height:30px;flex:1;text-align:right;line-height:30px;margin-left:20px}.ce-contextmenu-content .ce-contextmenu-item i{width:16px;height:16px;vertical-align:middle;display:inline-block;background-repeat:no-repeat;background-size:100% 100%;flex-shrink:0;margin-right:8px}.ce-contextmenu-divider{background-color:#e2e6ed;margin:4px 16px;height:1px}.ce-contextmenu-print{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjM0Q0NzU3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiA0aC0xVjJINXYySDRWMmExIDEgMCAwMTEtMWg2YTEgMSAwIDAxMSAxdjJ6bTAgNXY0YTEgMSAwIDAxLTEgMUg1YTEgMSAwIDAxLTEtMVY5aDF2NGg2VjloMXoiLz48cGF0aCBkPSJNMTIgMTJ2LTFoMlY1SDJ2NmgydjFIMmExIDEgMCAwMS0xLTFWNWExIDEgMCAwMTEtMWgxMmExIDEgMCAwMTEgMXY2YTEgMSAwIDAxLTEgMWgtMnoiLz48cGF0aCBkPSJNMyA4aDEwdjFIM3ptOC0yaDJ2MWgtMnoiLz48L2c+PC9zdmc+)}.ce-contextmenu-image{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSLlm77lsYJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3Qwe2ZpbGw6IzNkNDc1N308L3N0eWxlPjxnIGlkPSJfeDMwXzAt5YWs5YWxX3gyRl8wMuW3peWFt+agj194MkZf5o+S5YWl5Zu+54mHLTE2cHgtIj48ZyBpZD0iR3JvdXAtMTkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiPjxwYXRoIGlkPSJDb21iaW5lZC1TaGFwZSIgY2xhc3M9InN0MCIgZD0iTTEgMGgxMmMuNiAwIDEgLjQgMSAxdjExYzAgLjYtLjQgMS0xIDFIMWMtLjYgMC0xLS40LTEtMVYxYzAtLjYuNC0xIDEtMXptMCAxdjExaDEyVjFIMXoiLz48Y2lyY2xlIGlkPSLmpK3lnIblvaIiIGNsYXNzPSJzdDAiIGN4PSIxMCIgY3k9IjQiIHI9IjEiLz48cGF0aCBpZD0iUGF0aCIgY2xhc3M9InN0MCIgZD0iTTguNSAxMS4ybC00LTQuMUwxIDEwLjdWOS4yYzEuNy0xLjYgMi43LTIuNSAzLTIuOC40LS41LjctLjQgMSAwTDguNSAxMCAxMSA3LjNjLjQtLjUuNi0uNSAxLS4xbDIgMi44djEuNWwtMi41LTMuNC0zIDMuMXoiLz48L2c+PC9nPjwvc3ZnPg==)}.ce-contextmenu-image-change{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDQpIiBmaWxsPSIjM0Q0NzU3Ij48Y2lyY2xlIGZpbGwtcnVsZT0ibm9uemVybyIgY3g9IjMiIGN5PSIxIiByPSIxIi8+PHBhdGggZD0iTTcuNDczIDguMjIzTDMuNDcgNC4xMDcgMCA3LjY2N3YtMS41QzEuNzE1IDQuNiAyLjcwNyAzLjY2NCAyLjk3NSAzLjM1OGMuNDAyLS40NTcuNjUxLS4zOSAxLjA0MiAwTDcuNDczIDcgOS45NiA0LjM0OWMuNDE0LS40NjIuNjItLjQ2MiAxLjAxMS0uMDcxTDEzIDcuMDZ2MS41bC0yLjUxLTMuNDEtMy4wMTcgMy4wNzJ6Ii8+PC9nPjxwYXRoIGQ9Ik02IDEuNUgxLjV2MTJoMTN2LTRWMTNhLjUuNSAwIDAxLS41LjVIMmEuNS41IDAgMDEtLjUtLjVWMmEuNS41IDAgMDEuNS0uNWg0em04LjUgOFY2bC0uNS41aDFsLS41LS41djMuNXpNNiAxLjVoNEw5LjUgMXYxbC41LS41SDZ6IiBzdHJva2U9IiMzRDQ3NTciLz48cGF0aCBkPSJNMTMuMDg1IDEuMzE2bC0zLjgxNCA0YTEgMSAwIDAwMS40NTggMS4zNjhsMy44MTUtNGExIDEgMCAxMC0xLjQ1OS0xLjM2OHoiIGZpbGw9IiMzRDQ3NTciIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-insert-row-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik04LjUgNS41aDZ2NGgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNCA3djFoMlY3em0tMyAuNUw0IDV2NXpNMSAxaDEydjFIMXptMCAxMmgxMnYxSDF6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-top-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNOCA1SDd2M2gxem0tLjUtM0wxMCA1SDV6Ii8+PHJlY3Qgc3Ryb2tlPSIjM0Q0NzU3IiB4PSIxLjUiIHk9IjEwLjUiIHdpZHRoPSIxMiIgaGVpZ2h0PSIzIiByeD0iMSIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-insert-bottom-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNyAxMWgxVjhIN3ptLjUgM0w1IDExaDV6Ii8+PHJlY3Qgc3Ryb2tlPSIjM0Q0NzU3IiB4PSIxLjUiIHk9IjIuNSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjMiIHJ4PSIxIi8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-left-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMTEgN3YxaDNWN3ptLTMgLjVMMTEgNXY1eiIvPjxyZWN0IHN0cm9rZT0iIzNENDc1NyIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNCA3LjUpIiB4PSItMiIgeT0iNiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjMiIHJ4PSIxIi8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-insert-right-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNNSA4VjdIMnYxem0zLS41TDUgMTBWNXoiLz48cmVjdCBzdHJva2U9IiMzRDQ3NTciIHRyYW5zZm9ybT0icm90YXRlKDkwIDEyIDcuNSkiIHg9IjYiIHk9IjYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIzIiByeD0iMSIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-row-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik04LjUgNi41aDZ2MmgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMiAxMmgxMXYxSDJ6TTIgMmgxMXYxSDJ6bS42MyAzTDcgOS4zNWwtLjYzNS42NUwyIDUuNjN6Ii8+PHBhdGggZmlsbD0iIzNENDc1NyIgZD0iTTIgOS4zNjNMNi4zNTUgNSA3IDUuNzA3IDIuNjk1IDEweiIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-row{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik04LjUgNS41aDZ2NGgtNnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMSAxM2gxMnYxSDF6TTEgMWgxMnYxSDF6bTAgNGgxdjFIMXptMSAxaDF2MUgyem0xIDFoMXYxSDN6bTEtMWgxdjFINHptMS0xaDF2MUg1ek00IDhoMXYxSDR6TTIgOGgxdjFIMnptMyAxaDF2MUg1ek0xIDloMXYxSDF6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-delete-col{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9IiM5MjlBQTgiIGQ9Ik01LjUgNy41di02aDR2NnoiLz48cGF0aCBmaWxsPSIjM0Q0NzU3IiBkPSJNMTMgMTVWM2gxdjEyek0xIDE1VjNoMXYxMnptNCAwdi0xaDF2MXptMS0xdi0xaDF2MXptMS0xdi0xaDF2MXptLTEtMXYtMWgxdjF6bS0xLTF2LTFoMXYxem0zIDF2LTFoMXYxem0wIDJ2LTFoMXYxem0xLTN2LTFoMXYxem0wIDR2LTFoMXYxeiIvPjwvZz48L3N2Zz4=)}.ce-contextmenu-delete-table{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTQgMTNoLTF2LTNIMnYzSDF2LTNhMSAxIDAgMDExLTFoMTFhMSAxIDAgMDExIDF2M3oiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik01LjYyNSAyTDEwIDYuMzc1IDkuMzc1IDcgNSAyLjYyNXoiLz48cGF0aCBkPSJNNSA2LjM3NUw5LjM3NSAybC42MjUuNjI1TDUuNjI1IDd6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-merge-cell{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNNiAxdjFIMnYxMWg0djFIMmExIDEgMCAwMS0xLTFWMmExIDEgMCAwMTEtMWg0em0zIDBoNGExIDEgMCAwMTEgMXYxMWExIDEgMCAwMS0xIDFIOXYtMWg0VjJIOVYxeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTYgMWgxdjRINnptMiAwaDF2NEg4eiIvPjxwYXRoIGQ9Ik04IDcuNUwxMCA2djN6bS0xIDBMNSA2djN6Ii8+PHBhdGggZD0iTTkgN2gzdjFIOXpNMyA3aDN2MUgzeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTggMTBoMXY0SDh6bS0yIDBoMXY0SDZ6Ii8+PC9nPjwvc3ZnPg==)}.ce-contextmenu-merge-cancel-cell{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNNiAxdjFIMnYxMWg0djFIMmExIDEgMCAwMS0xLTFWMmExIDEgMCAwMTEtMWg0em0zIDBoNGExIDEgMCAwMTEgMXYxMWExIDEgMCAwMS0xIDFIOXYtMWg0VjJIOVYxeiIvPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTYgMWgxdjRINnptMiAwaDF2NEg4eiIvPjxwYXRoIGQ9Ik0zIDcuNUw1IDZ2M3ptOSAwTDEwIDZ2M3oiLz48cGF0aCBkPSJNNCA3aDN2MUg0em00IDBoM3YxSDh6Ii8+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNOCAxMGgxdjRIOHptLTIgMGgxdjRINnoiLz48L2c+PC9zdmc+)}.ce-contextmenu-vertical-align{background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiAxM2gxMnYxSDJ6bTAtM2g4djFIMnptMC0zaDEydjFIMnptMC02aDEydjFIMnptMCAzaDh2MUgyeiIgZmlsbD0iIzNkNDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.ce-contextmenu-vertical-align-top{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTggOEg3djZoMXptLS41LTNMMTAgOEg1ek0yIDNoMTF2MUgyeiIgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.ce-contextmenu-vertical-align-middle{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOCAxMkg3djNoMXptLS41LTNsMi41IDNINXpNNyAzaDFWMEg3em0uNSAzTDUgM2g1ek0yIDdoMTF2MUgyeiIgZmlsbD0iIzNENDc1NyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.ce-contextmenu-vertical-align-bottom{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcgOWgxVjNIN3ptLjUgM0w1IDloNXpNMiAxM2gxMXYxSDJ6IiBmaWxsPSIjM0Q0NzU3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ce-contextmenu-border-all{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iIzNENDc1NyIvPjxwYXRoIGZpbGw9IiMzRDQ3NTciIGQ9Ik0zIDhoMTF2MUgzeiIvPjxwYXRoIGZpbGw9IiMzRDQ3NTciIGQ9Ik05IDN2MTFIOFYzeiIvPjwvc3ZnPg==)}.ce-contextmenu-border-empty{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMyAzaC0xVjJoMWExIDEgMCAwMTEgMXYxaC0xVjN6bS0zLTF2MUg4LjV2MmgtMVYzSDZWMmg0ek00IDJ2MUgzdjFIMlYzYTEgMSAwIDAxMS0xaDF6TTIgNmgxdjEuNWgydjFIM1YxMEgyVjZ6bTAgNmgxdjFoMXYxSDNhMSAxIDAgMDEtMS0xdi0xem00IDJ2LTFoMS41di0yaDF2MkgxMHYxSDZ6bTYgMHYtMWgxdi0xaDF2MWExIDEgMCAwMS0xIDFoLTF6bTItNGgtMVY4LjVoLTJ2LTFoMlY2aDF2NHpNOC41IDcuNXYtMWgtMXYxaC0xdjFoMXYxaDF2LTFoMXYtMWgtMXoiIGZpbGw9IiNBQUFDQjAiLz48L3N2Zz4=)}.ce-contextmenu-border-external{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iIzNENDc1NyIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOSA1VjNIOHYyaDF6bTAgOXYtMkg4djJoMXpNNSA4SDN2MWgyVjh6bTkgMGgtMnYxaDJWOHpNOSA3djFoMXYxSDl2MUg4VjlIN1Y4aDFWN2gxeiIgZmlsbD0iI0FBQUNCMCIvPjwvc3ZnPg==)}.ce-contextmenu-border-td{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgZD0iTTguNSAyLjUgdjYgaC02Ii8+PC9zdmc+)}.ce-contextmenu-border-td-top{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMi41IDMgaDEyIi8+PC9zdmc+)}.ce-contextmenu-border-td-left{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMyAzIHYxMSIvPjwvc3ZnPg==)}.ce-contextmenu-border-td-bottom{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMi41IDE0IGgxMiIvPjwvc3ZnPg==)}.ce-contextmenu-border-td-right{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTQgMyB2MTEiLz48L3N2Zz4=)}.ce-contextmenu-border-td-forward{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIgLz48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik0xNCAzIGwtMTEgMTEiIC8+PC9zdmc+)}.ce-contextmenu-border-td-back{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIgLz48cGF0aCBzdHJva2U9IiMzRDQ3NTciIGQ9Ik0zIDMgbDExIDExIiAvPjwvc3ZnPg==)}.ce-hyperlink-popup{background:#fff;box-shadow:0 2px 12px #626b8433;border-radius:2px;color:#3d4757;padding:12px 16px;position:absolute;z-index:1;text-align:center;display:none}.ce-hyperlink-popup a{min-width:100px;max-width:300px;font-size:12px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;text-decoration:none;border-bottom-width:1px;border-bottom-style:solid;color:#00f}.ce-zone-indicator>div{padding:3px 6px;color:#000;font-size:12px;background:rgb(218 231 252);position:absolute;transform-origin:0 0}.ce-zone-indicator-border__top,.ce-zone-indicator-border__bottom,.ce-zone-indicator-border__left,.ce-zone-indicator-border__right{display:block;position:absolute;z-index:0}.ce-zone-indicator-border__top{border-top:2px dashed rgb(238,238,238)}.ce-zone-indicator-border__bottom{border-top:2px dashed rgb(238,238,238);width:100%}.ce-zone-indicator-border__left{border-left:2px dashed rgb(238,238,238)}.ce-zone-indicator-border__right{border-right:2px dashed rgb(238,238,238)}.ce-zone-tip{display:none;align-items:center;height:30px;white-space:nowrap;position:fixed;opacity:.9;background-color:#000;padding:0 5px;border-radius:4px;z-index:9;transition:all .3s;outline:none;user-select:none;pointer-events:none;transform:translate(10px,10px)}.ce-zone-tip.show{display:flex}.ce-zone-tip span{color:#fff;font-size:12px}.ce-inputarea{width:100px;height:30px;min-width:0;min-height:0;margin:0;padding:0;left:0;right:0;letter-spacing:0;font-size:12px;position:absolute;z-index:-1;outline:none;resize:none;border:none;overflow:hidden;color:transparent;user-select:none;caret-color:transparent;background-color:transparent}.ce-cursor{width:1px;height:20px;left:0;right:0;position:absolute;outline:none;background-color:#000;pointer-events:none}.ce-cursor.ce-cursor--animation{animation-duration:1s;animation-iteration-count:infinite;animation-name:cursorAnimation}@keyframes cursorAnimation{0%{opacity:1}13%{opacity:0}50%{opacity:0}63%{opacity:1}to{opacity:1}}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();})();
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defProps = Object.defineProperties;
4
4
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
@@ -23,7 +23,7 @@ var __publicField = (obj, key, value) => {
23
23
  return value;
24
24
  };
25
25
  var index = "";
26
- const version = "0.9.61";
26
+ const version = "0.9.63";
27
27
  var MaxHeightRatio;
28
28
  (function(MaxHeightRatio2) {
29
29
  MaxHeightRatio2["HALF"] = "half";
@@ -363,6 +363,7 @@ const EDITOR_ELEMENT_STYLE_ATTR = [
363
363
  "underline",
364
364
  "strikeout"
365
365
  ];
366
+ const EDITOR_ROW_ATTR = ["rowFlex", "rowMargin"];
366
367
  const EDITOR_ELEMENT_COPY_ATTR = [
367
368
  "type",
368
369
  "font",
@@ -378,7 +379,9 @@ const EDITOR_ELEMENT_COPY_ATTR = [
378
379
  "hyperlinkId",
379
380
  "dateId",
380
381
  "dateFormat",
381
- "groupIds"
382
+ "groupIds",
383
+ "rowFlex",
384
+ "rowMargin"
382
385
  ];
383
386
  const EDITOR_ELEMENT_ZIP_ATTR = [
384
387
  "type",
@@ -3668,7 +3671,9 @@ function formatElementList(elementList, options) {
3668
3671
  } else if (el.type === ElementType.LIST) {
3669
3672
  elementList.splice(i, 1);
3670
3673
  const valueList = el.valueList || [];
3671
- formatElementList(valueList, __spreadValues({}, options));
3674
+ formatElementList(valueList, __spreadProps(__spreadValues({}, options), {
3675
+ isHandleFirstElement: true
3676
+ }));
3672
3677
  if (valueList.length) {
3673
3678
  const listId = getUUID();
3674
3679
  for (let v = 0; v < valueList.length; v++) {
@@ -3812,20 +3817,20 @@ function formatElementList(elementList, options) {
3812
3817
  }
3813
3818
  }
3814
3819
  }
3820
+ formatElementList(valueList, __spreadProps(__spreadValues({}, options), {
3821
+ isHandleFirstElement: false
3822
+ }));
3815
3823
  for (let v = 0; v < valueList.length; v++) {
3816
3824
  const element = valueList[v];
3817
- const valueStrList = splitText(element.value);
3818
- for (let e = 0; e < valueStrList.length; e++) {
3819
- const value2 = valueStrList[e];
3820
- elementList.splice(i, 0, __spreadProps(__spreadValues({}, element), {
3821
- controlId,
3822
- value: value2 === "\n" ? ZERO : value2,
3823
- type: element.type || ElementType.TEXT,
3824
- control: el.control,
3825
- controlComponent: ControlComponent.VALUE
3826
- }));
3827
- i++;
3828
- }
3825
+ const value2 = element.value;
3826
+ elementList.splice(i, 0, __spreadProps(__spreadValues({}, element), {
3827
+ controlId,
3828
+ value: value2 === "\n" ? ZERO : value2,
3829
+ type: element.type || ElementType.TEXT,
3830
+ control: el.control,
3831
+ controlComponent: ControlComponent.VALUE
3832
+ }));
3833
+ i++;
3829
3834
  }
3830
3835
  }
3831
3836
  } else if (placeholder) {
@@ -5465,6 +5470,16 @@ function enter(evt, host) {
5465
5470
  if (!(endElement.titleId && endElement.titleId !== ((_b = elementList[endIndex + 1]) == null ? void 0 : _b.titleId))) {
5466
5471
  formatElementContext(elementList, [enterText], startIndex);
5467
5472
  }
5473
+ const copyElement = getAnchorElement(elementList, endIndex);
5474
+ if (copyElement) {
5475
+ const copyAttr = [...EDITOR_ELEMENT_STYLE_ATTR, ...EDITOR_ROW_ATTR];
5476
+ copyAttr.forEach((attr) => {
5477
+ const value = copyElement[attr];
5478
+ if (value !== void 0) {
5479
+ enterText[attr] = value;
5480
+ }
5481
+ });
5482
+ }
5468
5483
  const activeControl = control.getActiveControl();
5469
5484
  let curIndex;
5470
5485
  if (activeControl && !control.isRangInPostfix()) {
@@ -5834,7 +5849,7 @@ function input(data2, host) {
5834
5849
  value
5835
5850
  };
5836
5851
  const nextElement = elementList[endIndex + 1];
5837
- if (copyElement.type === TEXT || !copyElement.type && copyElement.value !== ZERO || copyElement.type === HYPERLINK && (nextElement == null ? void 0 : nextElement.type) === HYPERLINK || copyElement.type === DATE && (nextElement == null ? void 0 : nextElement.type) === DATE || copyElement.type === SUBSCRIPT && (nextElement == null ? void 0 : nextElement.type) === SUBSCRIPT || copyElement.type === SUPERSCRIPT && (nextElement == null ? void 0 : nextElement.type) === SUPERSCRIPT) {
5852
+ if (!copyElement.type || copyElement.type === TEXT || copyElement.type === HYPERLINK && (nextElement == null ? void 0 : nextElement.type) === HYPERLINK || copyElement.type === DATE && (nextElement == null ? void 0 : nextElement.type) === DATE || copyElement.type === SUBSCRIPT && (nextElement == null ? void 0 : nextElement.type) === SUBSCRIPT || copyElement.type === SUPERSCRIPT && (nextElement == null ? void 0 : nextElement.type) === SUPERSCRIPT) {
5838
5853
  EDITOR_ELEMENT_COPY_ATTR.forEach((attr) => {
5839
5854
  if (attr === "groupIds" && !(nextElement == null ? void 0 : nextElement.groupIds))
5840
5855
  return;
@@ -5983,11 +5998,21 @@ function copy(host) {
5983
5998
  writeElementList(copyElementList, draw.getOptions());
5984
5999
  }
5985
6000
  function drop(evt, host) {
5986
- var _a;
6001
+ var _a, _b;
5987
6002
  evt.preventDefault();
5988
6003
  const data2 = (_a = evt.dataTransfer) == null ? void 0 : _a.getData("text");
5989
6004
  if (data2) {
5990
6005
  host.input(data2);
6006
+ } else {
6007
+ const files = (_b = evt.dataTransfer) == null ? void 0 : _b.files;
6008
+ if (!files)
6009
+ return;
6010
+ for (let i = 0; i < files.length; i++) {
6011
+ const file = files[i];
6012
+ if (file.type.startsWith("image")) {
6013
+ pasteImage(host, file);
6014
+ }
6015
+ }
5991
6016
  }
5992
6017
  }
5993
6018
  function dblclick(host, evt) {
@@ -7322,22 +7347,88 @@ class RangeManager {
7322
7347
  return selection.map((s) => s.value).join("").replace(new RegExp(ZERO, "g"), "");
7323
7348
  }
7324
7349
  }
7350
+ var BackgroundSize;
7351
+ (function(BackgroundSize2) {
7352
+ BackgroundSize2["CONTAIN"] = "contain";
7353
+ BackgroundSize2["COVER"] = "cover";
7354
+ })(BackgroundSize || (BackgroundSize = {}));
7355
+ var BackgroundRepeat;
7356
+ (function(BackgroundRepeat2) {
7357
+ BackgroundRepeat2["REPEAT"] = "repeat";
7358
+ BackgroundRepeat2["NO_REPEAT"] = "no-repeat";
7359
+ BackgroundRepeat2["REPEAT_X"] = "repeat-x";
7360
+ BackgroundRepeat2["REPEAT_Y"] = "repeat-y";
7361
+ })(BackgroundRepeat || (BackgroundRepeat = {}));
7325
7362
  class Background {
7326
7363
  constructor(draw) {
7327
7364
  __publicField(this, "draw");
7328
7365
  __publicField(this, "options");
7366
+ __publicField(this, "imageCache");
7329
7367
  this.draw = draw;
7330
7368
  this.options = draw.getOptions();
7369
+ this.imageCache = new Map();
7331
7370
  }
7332
- render(ctx, pageNo) {
7333
- const { backgroundColor } = this.options;
7334
- const width = this.draw.getCanvasWidth(pageNo);
7335
- const height = this.draw.getCanvasHeight(pageNo);
7371
+ _renderBackgroundColor(ctx, color, width, height) {
7336
7372
  ctx.save();
7337
- ctx.fillStyle = backgroundColor;
7373
+ ctx.fillStyle = color;
7338
7374
  ctx.fillRect(0, 0, width, height);
7339
7375
  ctx.restore();
7340
7376
  }
7377
+ _drawImage(ctx, imageElement, width, height) {
7378
+ const { background, scale } = this.options;
7379
+ if (background.size === BackgroundSize.CONTAIN) {
7380
+ const imageWidth = imageElement.width * scale;
7381
+ const imageHeight = imageElement.height * scale;
7382
+ if (!background.repeat || background.repeat === BackgroundRepeat.NO_REPEAT) {
7383
+ ctx.drawImage(imageElement, 0, 0, imageWidth, imageHeight);
7384
+ } else {
7385
+ let startX = 0;
7386
+ let startY = 0;
7387
+ const repeatXCount = background.repeat === BackgroundRepeat.REPEAT || background.repeat === BackgroundRepeat.REPEAT_X ? Math.ceil(width * scale / imageWidth) : 1;
7388
+ const repeatYCount = background.repeat === BackgroundRepeat.REPEAT || background.repeat === BackgroundRepeat.REPEAT_Y ? Math.ceil(height * scale / imageHeight) : 1;
7389
+ for (let x = 0; x < repeatXCount; x++) {
7390
+ for (let y = 0; y < repeatYCount; y++) {
7391
+ ctx.drawImage(imageElement, startX, startY, imageWidth, imageHeight);
7392
+ startY += imageHeight;
7393
+ }
7394
+ startY = 0;
7395
+ startX += imageWidth;
7396
+ }
7397
+ }
7398
+ } else {
7399
+ ctx.drawImage(imageElement, 0, 0, width * scale, height * scale);
7400
+ }
7401
+ }
7402
+ _renderBackgroundImage(ctx, width, height) {
7403
+ const { background } = this.options;
7404
+ const imageElementCache = this.imageCache.get(background.image);
7405
+ if (imageElementCache) {
7406
+ this._drawImage(ctx, imageElementCache, width, height);
7407
+ } else {
7408
+ const img = new Image();
7409
+ img.setAttribute("crossOrigin", "Anonymous");
7410
+ img.src = background.image;
7411
+ img.onload = () => {
7412
+ this.imageCache.set(background.image, img);
7413
+ this._drawImage(ctx, img, width, height);
7414
+ this.draw.render({
7415
+ isCompute: false,
7416
+ isSubmitHistory: false
7417
+ });
7418
+ };
7419
+ }
7420
+ }
7421
+ render(ctx, pageNo) {
7422
+ const { background } = this.options;
7423
+ if (background.image) {
7424
+ const { width, height } = this.options;
7425
+ this._renderBackgroundImage(ctx, width, height);
7426
+ } else {
7427
+ const width = this.draw.getCanvasWidth(pageNo);
7428
+ const height = this.draw.getCanvasHeight(pageNo);
7429
+ this._renderBackgroundColor(ctx, background.color, width, height);
7430
+ }
7431
+ }
7341
7432
  }
7342
7433
  class AbstractRichText {
7343
7434
  constructor() {
@@ -7728,6 +7819,7 @@ class Underline extends AbstractRichText {
7728
7819
  class TextParticle {
7729
7820
  constructor(draw) {
7730
7821
  __publicField(this, "draw");
7822
+ __publicField(this, "options");
7731
7823
  __publicField(this, "ctx");
7732
7824
  __publicField(this, "curX");
7733
7825
  __publicField(this, "curY");
@@ -7736,6 +7828,7 @@ class TextParticle {
7736
7828
  __publicField(this, "curColor");
7737
7829
  __publicField(this, "cacheMeasureText");
7738
7830
  this.draw = draw;
7831
+ this.options = draw.getOptions();
7739
7832
  this.ctx = draw.getCtx();
7740
7833
  this.curX = -1;
7741
7834
  this.curY = -1;
@@ -7815,9 +7908,7 @@ class TextParticle {
7815
7908
  return;
7816
7909
  this.ctx.save();
7817
7910
  this.ctx.font = this.curStyle;
7818
- if (this.curColor) {
7819
- this.ctx.fillStyle = this.curColor;
7820
- }
7911
+ this.ctx.fillStyle = this.curColor || this.options.defaultColor;
7821
7912
  this.ctx.fillText(this.text, this.curX, this.curY);
7822
7913
  this.ctx.restore();
7823
7914
  }
@@ -8029,7 +8120,10 @@ var TableBorder;
8029
8120
  })(TableBorder || (TableBorder = {}));
8030
8121
  var TdBorder;
8031
8122
  (function(TdBorder2) {
8123
+ TdBorder2["TOP"] = "top";
8124
+ TdBorder2["RIGHT"] = "right";
8032
8125
  TdBorder2["BOTTOM"] = "bottom";
8126
+ TdBorder2["LEFT"] = "left";
8033
8127
  })(TdBorder || (TdBorder = {}));
8034
8128
  var TdSlash;
8035
8129
  (function(TdSlash2) {
@@ -8170,13 +8264,27 @@ class TableParticle {
8170
8264
  const y = Math.round(td.y * scale + startY);
8171
8265
  ctx.translate(0.5, 0.5);
8172
8266
  ctx.beginPath();
8267
+ if (td.borderType === TdBorder.TOP) {
8268
+ ctx.moveTo(x - width, y);
8269
+ ctx.lineTo(x, y);
8270
+ ctx.stroke();
8271
+ }
8272
+ if (td.borderType === TdBorder.RIGHT) {
8273
+ ctx.moveTo(x, y);
8274
+ ctx.lineTo(x, y + height);
8275
+ ctx.stroke();
8276
+ }
8173
8277
  if (td.borderType === TdBorder.BOTTOM) {
8174
8278
  ctx.moveTo(x, y + height);
8175
8279
  ctx.lineTo(x - width, y + height);
8176
8280
  ctx.stroke();
8177
8281
  }
8282
+ if (td.borderType === TdBorder.LEFT) {
8283
+ ctx.moveTo(x - width, y);
8284
+ ctx.lineTo(x - width, y + height);
8285
+ ctx.stroke();
8286
+ }
8178
8287
  if (!isEmptyBorderType && !isExternalBorderType) {
8179
- ctx.moveTo(x, y + height);
8180
8288
  ctx.moveTo(x, y);
8181
8289
  ctx.lineTo(x, y + height);
8182
8290
  ctx.lineTo(x - width, y + height);
@@ -9447,8 +9555,13 @@ class Control {
9447
9555
  }
9448
9556
  }
9449
9557
  }
9450
- if (!element.controlId || ((_a = element.control) == null ? void 0 : _a.minWidth)) {
9558
+ if (!element.controlId)
9451
9559
  return true;
9560
+ if ((_a = element.control) == null ? void 0 : _a.minWidth) {
9561
+ if (element.controlComponent === ControlComponent.PREFIX || element.controlComponent === ControlComponent.POSTFIX) {
9562
+ element.value = "";
9563
+ return true;
9564
+ }
9452
9565
  }
9453
9566
  return element.controlComponent !== ControlComponent.PREFIX && element.controlComponent !== ControlComponent.POSTFIX && element.controlComponent !== ControlComponent.PLACEHOLDER;
9454
9567
  });
@@ -10223,15 +10336,31 @@ class Previewer {
10223
10336
  let dy = 0;
10224
10337
  switch (this.curHandleIndex) {
10225
10338
  case 0:
10226
- dx = this.mousedownX - evt.x;
10227
- dy = this.mousedownY - evt.y;
10339
+ {
10340
+ const offsetX = this.mousedownX - evt.x;
10341
+ const offsetY = this.mousedownY - evt.y;
10342
+ dx = Math.cbrt(offsetX ** 3 + offsetY ** 3);
10343
+ dy = this.curElement.height * dx / this.curElement.width;
10344
+ }
10228
10345
  break;
10229
10346
  case 1:
10230
10347
  dy = this.mousedownY - evt.y;
10231
10348
  break;
10232
10349
  case 2:
10233
- dx = evt.x - this.mousedownX;
10234
- dy = this.mousedownY - evt.y;
10350
+ {
10351
+ const offsetX = evt.x - this.mousedownX;
10352
+ const offsetY = this.mousedownY - evt.y;
10353
+ dx = Math.cbrt(offsetX ** 3 + offsetY ** 3);
10354
+ dy = this.curElement.height * dx / this.curElement.width;
10355
+ }
10356
+ break;
10357
+ case 4:
10358
+ {
10359
+ const offsetX = evt.x - this.mousedownX;
10360
+ const offsetY = evt.y - this.mousedownY;
10361
+ dx = Math.cbrt(offsetX ** 3 + offsetY ** 3);
10362
+ dy = this.curElement.height * dx / this.curElement.width;
10363
+ }
10235
10364
  break;
10236
10365
  case 3:
10237
10366
  dx = evt.x - this.mousedownX;
@@ -10240,16 +10369,16 @@ class Previewer {
10240
10369
  dy = evt.y - this.mousedownY;
10241
10370
  break;
10242
10371
  case 6:
10243
- dx = this.mousedownX - evt.x;
10244
- dy = evt.y - this.mousedownY;
10372
+ {
10373
+ const offsetX = this.mousedownX - evt.x;
10374
+ const offsetY = evt.y - this.mousedownY;
10375
+ dx = Math.cbrt(offsetX ** 3 + offsetY ** 3);
10376
+ dy = this.curElement.height * dx / this.curElement.width;
10377
+ }
10245
10378
  break;
10246
10379
  case 7:
10247
10380
  dx = this.mousedownX - evt.x;
10248
10381
  break;
10249
- default:
10250
- dx = evt.x - this.mousedownX;
10251
- dy = evt.y - this.mousedownY;
10252
- break;
10253
10382
  }
10254
10383
  const dw = this.curElement.width + dx / scale;
10255
10384
  const dh = this.curElement.height + dy / scale;
@@ -10469,7 +10598,10 @@ const contextmenu$1 = {
10469
10598
  borderEmpty: "\u65E0\u6846\u7EBF",
10470
10599
  borderExternal: "\u5916\u4FA7\u6846\u7EBF",
10471
10600
  borderTd: "\u5355\u5143\u683C\u8FB9\u6846",
10601
+ borderTdTop: "\u4E0A\u8FB9\u6846",
10602
+ borderTdRight: "\u53F3\u8FB9\u6846",
10472
10603
  borderTdBottom: "\u4E0B\u8FB9\u6846",
10604
+ borderTdLeft: "\u5DE6\u8FB9\u6846",
10473
10605
  borderTdForward: "\u6B63\u659C\u7EBF",
10474
10606
  borderTdBack: "\u53CD\u659C\u7EBF"
10475
10607
  }
@@ -11254,9 +11386,12 @@ const contextmenu = {
11254
11386
  borderEmpty: "Empty",
11255
11387
  borderExternal: "External",
11256
11388
  borderTd: "Table cell border",
11389
+ borderTdTop: "Top",
11390
+ borderTdRight: "Right",
11257
11391
  borderTdBottom: "Bottom",
11258
- borderTdForward: "forward",
11259
- borderTdBack: "back"
11392
+ borderTdLeft: "Left",
11393
+ borderTdForward: "Forward",
11394
+ borderTdBack: "Back"
11260
11395
  }
11261
11396
  };
11262
11397
  const datePicker = {
@@ -11368,14 +11503,28 @@ class ZoneTip {
11368
11503
  this.tipContent = tipContent;
11369
11504
  this.isDisableMouseMove = true;
11370
11505
  this.currentMoveZone = EditorZone.MAIN;
11371
- this._watchMouseMoveZoneChange();
11506
+ const watchZones = [];
11507
+ const { header, footer } = draw.getOptions();
11508
+ if (!header.disabled) {
11509
+ watchZones.push(EditorZone.HEADER);
11510
+ }
11511
+ if (!footer.disabled) {
11512
+ watchZones.push(EditorZone.FOOTER);
11513
+ }
11514
+ if (watchZones.length) {
11515
+ this._watchMouseMoveZoneChange(watchZones);
11516
+ }
11372
11517
  }
11373
- _watchMouseMoveZoneChange() {
11518
+ _watchMouseMoveZoneChange(watchZones) {
11374
11519
  this.pageContainer.addEventListener("mousemove", throttle((evt) => {
11375
11520
  if (this.isDisableMouseMove)
11376
11521
  return;
11377
11522
  if (evt.target instanceof HTMLCanvasElement) {
11378
11523
  const mousemoveZone = this.zone.getZoneByY(evt.offsetY);
11524
+ if (!watchZones.includes(mousemoveZone)) {
11525
+ this._updateZoneTip(false);
11526
+ return;
11527
+ }
11379
11528
  this.currentMoveZone = mousemoveZone;
11380
11529
  this._updateZoneTip(this.zone.getZone() === EditorZone.MAIN && (mousemoveZone === EditorZone.HEADER || mousemoveZone === EditorZone.FOOTER), evt.x, evt.y);
11381
11530
  } else {
@@ -12833,7 +12982,7 @@ class Draw {
12833
12982
  return `${el.italic ? "italic " : ""}${el.bold ? "bold " : ""}${size * scale}px ${font}`;
12834
12983
  }
12835
12984
  computeRowList(innerWidth, elementList) {
12836
- var _a, _b, _c, _d, _e, _f;
12985
+ var _a, _b, _c, _d, _e, _f, _g, _h;
12837
12986
  const { defaultSize, defaultRowMargin, scale, tdPadding, defaultTabWidth } = this.options;
12838
12987
  const defaultBasicRowMarginHeight = this.getDefaultBasicRowMarginHeight();
12839
12988
  const canvas = document.createElement("canvas");
@@ -12847,7 +12996,7 @@ class Draw {
12847
12996
  ascent: 0,
12848
12997
  elementList: [],
12849
12998
  startIndex: 0,
12850
- rowFlex: (_a = elementList == null ? void 0 : elementList[1]) == null ? void 0 : _a.rowFlex
12999
+ rowFlex: ((_a = elementList == null ? void 0 : elementList[0]) == null ? void 0 : _a.rowFlex) || ((_b = elementList == null ? void 0 : elementList[1]) == null ? void 0 : _b.rowFlex)
12851
13000
  });
12852
13001
  }
12853
13002
  let listId;
@@ -12956,7 +13105,7 @@ class Draw {
12956
13105
  let curPagePreHeight = marginHeight;
12957
13106
  for (let r = 0; r < rowList.length; r++) {
12958
13107
  const row = rowList[r];
12959
- if (row.height + curPagePreHeight > height2 || ((_b = rowList[r - 1]) == null ? void 0 : _b.isPageBreak)) {
13108
+ if (row.height + curPagePreHeight > height2 || ((_c = rowList[r - 1]) == null ? void 0 : _c.isPageBreak)) {
12960
13109
  curPagePreHeight = marginHeight + row.height;
12961
13110
  } else {
12962
13111
  curPagePreHeight += row.height;
@@ -12973,7 +13122,7 @@ class Draw {
12973
13122
  const tr = trList2[r];
12974
13123
  const trHeight = tr.height * scale;
12975
13124
  if (curPagePreHeight + rowMarginHeight + preTrHeight + trHeight > height2) {
12976
- if (((_c = element.colgroup) == null ? void 0 : _c.length) !== tr.tdList.length) {
13125
+ if (((_d = element.colgroup) == null ? void 0 : _d.length) !== tr.tdList.length) {
12977
13126
  deleteCount = 0;
12978
13127
  }
12979
13128
  break;
@@ -13045,7 +13194,7 @@ class Draw {
13045
13194
  if (element.letterSpacing) {
13046
13195
  metrics.width += element.letterSpacing * scale;
13047
13196
  }
13048
- metrics.boundingBoxAscent = (element.value === ZERO ? defaultSize : fontMetrics.actualBoundingBoxAscent) * scale;
13197
+ metrics.boundingBoxAscent = (element.value === ZERO ? element.size || defaultSize : fontMetrics.actualBoundingBoxAscent) * scale;
13049
13198
  metrics.boundingBoxDescent = fontMetrics.actualBoundingBoxDescent * scale;
13050
13199
  if (element.type === ElementType.SUPERSCRIPT) {
13051
13200
  metrics.boundingBoxAscent += metrics.height / 2;
@@ -13059,7 +13208,7 @@ class Draw {
13059
13208
  metrics,
13060
13209
  style: this._getFont(element, scale)
13061
13210
  });
13062
- if ((_d = rowElement.control) == null ? void 0 : _d.minWidth) {
13211
+ if ((_e = rowElement.control) == null ? void 0 : _e.minWidth) {
13063
13212
  if (rowElement.controlComponent) {
13064
13213
  controlRealWidth += metrics.width;
13065
13214
  }
@@ -13116,10 +13265,10 @@ class Draw {
13116
13265
  startIndex: i,
13117
13266
  elementList: [rowElement],
13118
13267
  ascent,
13119
- rowFlex: (_e = elementList[i + 1]) == null ? void 0 : _e.rowFlex,
13268
+ rowFlex: ((_f = elementList[i]) == null ? void 0 : _f.rowFlex) || ((_g = elementList[i + 1]) == null ? void 0 : _g.rowFlex),
13120
13269
  isPageBreak: element.type === ElementType.PAGE_BREAK
13121
13270
  };
13122
- if (rowElement.controlComponent !== ControlComponent.PREFIX && ((_f = rowElement.control) == null ? void 0 : _f.indentation) === ControlIndentation.VALUE_START) {
13271
+ if (rowElement.controlComponent !== ControlComponent.PREFIX && ((_h = rowElement.control) == null ? void 0 : _h.indentation) === ControlIndentation.VALUE_START) {
13123
13272
  const preStartIndex = curRow.elementList.findIndex((el) => el.controlId === rowElement.controlId && el.controlComponent !== ControlComponent.PREFIX);
13124
13273
  if (~preStartIndex) {
13125
13274
  const preRowPositionList = this.position.computeRowPosition({
@@ -13265,6 +13414,9 @@ class Draw {
13265
13414
  this._drawRichText(ctx);
13266
13415
  this.blockParticle.render(pageNo, element, x, y);
13267
13416
  } else {
13417
+ if (element.left) {
13418
+ this.textParticle.complete();
13419
+ }
13268
13420
  this.textParticle.record(ctx, element, x, y + offsetY);
13269
13421
  if (element.width || element.letterSpacing) {
13270
13422
  this.textParticle.complete();
@@ -13978,29 +14130,52 @@ class CommandAdapt {
13978
14130
  if (isDisabled)
13979
14131
  return;
13980
14132
  const selection = this.range.getSelectionElementList();
13981
- if (!selection)
14133
+ let renderOption = {};
14134
+ let changeElementList = [];
14135
+ if (selection == null ? void 0 : selection.length) {
14136
+ changeElementList = selection;
14137
+ renderOption = { isSetCursor: false };
14138
+ } else {
14139
+ const { endIndex } = this.range.getRange();
14140
+ const elementList = this.draw.getElementList();
14141
+ const enterElement = elementList[endIndex];
14142
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14143
+ changeElementList.push(enterElement);
14144
+ renderOption = { curIndex: endIndex };
14145
+ }
14146
+ }
14147
+ if (!changeElementList.length)
13982
14148
  return;
13983
- selection.forEach((el) => {
13984
- el.font = "";
13985
- el.color = "";
13986
- el.bold = false;
13987
- el.italic = false;
13988
- el.underline = false;
13989
- el.strikeout = false;
14149
+ changeElementList.forEach((el) => {
14150
+ delete el.size;
14151
+ delete el.font;
14152
+ delete el.color;
14153
+ delete el.bold;
14154
+ delete el.italic;
14155
+ delete el.underline;
14156
+ delete el.strikeout;
13990
14157
  });
13991
- this.draw.render({ isSetCursor: false });
14158
+ this.draw.render(renderOption);
13992
14159
  }
13993
14160
  font(payload) {
13994
14161
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
13995
14162
  if (isDisabled)
13996
14163
  return;
13997
14164
  const selection = this.range.getSelectionElementList();
13998
- if (!selection)
13999
- return;
14000
- selection.forEach((el) => {
14001
- el.font = payload;
14002
- });
14003
- this.draw.render({ isSetCursor: false });
14165
+ if (selection == null ? void 0 : selection.length) {
14166
+ selection.forEach((el) => {
14167
+ el.font = payload;
14168
+ });
14169
+ this.draw.render({ isSetCursor: false });
14170
+ } else {
14171
+ const { endIndex } = this.range.getRange();
14172
+ const elementList = this.draw.getElementList();
14173
+ const enterElement = elementList[endIndex];
14174
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14175
+ enterElement.font = payload;
14176
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14177
+ }
14178
+ }
14004
14179
  }
14005
14180
  size(payload) {
14006
14181
  const { minSize, maxSize, defaultSize } = this.options;
@@ -14009,11 +14184,25 @@ class CommandAdapt {
14009
14184
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
14010
14185
  if (isDisabled)
14011
14186
  return;
14187
+ let renderOption = {};
14188
+ let changeElementList = [];
14012
14189
  const selection = this.range.getTextLikeSelectionElementList();
14013
- if (!selection || !selection.length)
14190
+ if (selection == null ? void 0 : selection.length) {
14191
+ changeElementList = selection;
14192
+ renderOption = { isSetCursor: false };
14193
+ } else {
14194
+ const { endIndex } = this.range.getRange();
14195
+ const elementList = this.draw.getElementList();
14196
+ const enterElement = elementList[endIndex];
14197
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14198
+ changeElementList.push(enterElement);
14199
+ renderOption = { curIndex: endIndex };
14200
+ }
14201
+ }
14202
+ if (!changeElementList.length)
14014
14203
  return;
14015
14204
  let isExistUpdate = false;
14016
- selection.forEach((el) => {
14205
+ changeElementList.forEach((el) => {
14017
14206
  if (!el.size && payload === defaultSize || el.size && el.size === payload) {
14018
14207
  return;
14019
14208
  }
@@ -14021,7 +14210,7 @@ class CommandAdapt {
14021
14210
  isExistUpdate = true;
14022
14211
  });
14023
14212
  if (isExistUpdate) {
14024
- this.draw.render({ isSetCursor: false });
14213
+ this.draw.render(renderOption);
14025
14214
  }
14026
14215
  }
14027
14216
  sizeAdd() {
@@ -14029,11 +14218,25 @@ class CommandAdapt {
14029
14218
  if (isDisabled)
14030
14219
  return;
14031
14220
  const selection = this.range.getTextLikeSelectionElementList();
14032
- if (!selection || !selection.length)
14221
+ let renderOption = {};
14222
+ let changeElementList = [];
14223
+ if (selection == null ? void 0 : selection.length) {
14224
+ changeElementList = selection;
14225
+ renderOption = { isSetCursor: false };
14226
+ } else {
14227
+ const { endIndex } = this.range.getRange();
14228
+ const elementList = this.draw.getElementList();
14229
+ const enterElement = elementList[endIndex];
14230
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14231
+ changeElementList.push(enterElement);
14232
+ renderOption = { curIndex: endIndex };
14233
+ }
14234
+ }
14235
+ if (!changeElementList.length)
14033
14236
  return;
14034
14237
  const { defaultSize, maxSize } = this.options;
14035
14238
  let isExistUpdate = false;
14036
- selection.forEach((el) => {
14239
+ changeElementList.forEach((el) => {
14037
14240
  if (!el.size) {
14038
14241
  el.size = defaultSize;
14039
14242
  }
@@ -14047,7 +14250,7 @@ class CommandAdapt {
14047
14250
  isExistUpdate = true;
14048
14251
  });
14049
14252
  if (isExistUpdate) {
14050
- this.draw.render({ isSetCursor: false });
14253
+ this.draw.render(renderOption);
14051
14254
  }
14052
14255
  }
14053
14256
  sizeMinus() {
@@ -14055,11 +14258,25 @@ class CommandAdapt {
14055
14258
  if (isDisabled)
14056
14259
  return;
14057
14260
  const selection = this.range.getTextLikeSelectionElementList();
14058
- if (!selection || !selection.length)
14261
+ let renderOption = {};
14262
+ let changeElementList = [];
14263
+ if (selection == null ? void 0 : selection.length) {
14264
+ changeElementList = selection;
14265
+ renderOption = { isSetCursor: false };
14266
+ } else {
14267
+ const { endIndex } = this.range.getRange();
14268
+ const elementList = this.draw.getElementList();
14269
+ const enterElement = elementList[endIndex];
14270
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14271
+ changeElementList.push(enterElement);
14272
+ renderOption = { curIndex: endIndex };
14273
+ }
14274
+ }
14275
+ if (!changeElementList.length)
14059
14276
  return;
14060
14277
  const { defaultSize, minSize } = this.options;
14061
14278
  let isExistUpdate = false;
14062
- selection.forEach((el) => {
14279
+ changeElementList.forEach((el) => {
14063
14280
  if (!el.size) {
14064
14281
  el.size = defaultSize;
14065
14282
  }
@@ -14073,7 +14290,7 @@ class CommandAdapt {
14073
14290
  isExistUpdate = true;
14074
14291
  });
14075
14292
  if (isExistUpdate) {
14076
- this.draw.render({ isSetCursor: false });
14293
+ this.draw.render(renderOption);
14077
14294
  }
14078
14295
  }
14079
14296
  bold() {
@@ -14081,58 +14298,90 @@ class CommandAdapt {
14081
14298
  if (isDisabled)
14082
14299
  return;
14083
14300
  const selection = this.range.getSelectionElementList();
14084
- if (!selection)
14085
- return;
14086
- const noBoldIndex = selection.findIndex((s) => !s.bold);
14087
- selection.forEach((el) => {
14088
- el.bold = !!~noBoldIndex;
14089
- });
14090
- this.draw.render({ isSetCursor: false });
14301
+ if (selection == null ? void 0 : selection.length) {
14302
+ const noBoldIndex = selection.findIndex((s) => !s.bold);
14303
+ selection.forEach((el) => {
14304
+ el.bold = !!~noBoldIndex;
14305
+ });
14306
+ this.draw.render({ isSetCursor: false });
14307
+ } else {
14308
+ const { endIndex } = this.range.getRange();
14309
+ const elementList = this.draw.getElementList();
14310
+ const enterElement = elementList[endIndex];
14311
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14312
+ enterElement.bold = !enterElement.bold;
14313
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14314
+ }
14315
+ }
14091
14316
  }
14092
14317
  italic() {
14093
14318
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
14094
14319
  if (isDisabled)
14095
14320
  return;
14096
14321
  const selection = this.range.getSelectionElementList();
14097
- if (!selection)
14098
- return;
14099
- const noItalicIndex = selection.findIndex((s) => !s.italic);
14100
- selection.forEach((el) => {
14101
- el.italic = !!~noItalicIndex;
14102
- });
14103
- this.draw.render({ isSetCursor: false });
14322
+ if (selection == null ? void 0 : selection.length) {
14323
+ const noItalicIndex = selection.findIndex((s) => !s.italic);
14324
+ selection.forEach((el) => {
14325
+ el.italic = !!~noItalicIndex;
14326
+ });
14327
+ this.draw.render({ isSetCursor: false });
14328
+ } else {
14329
+ const { endIndex } = this.range.getRange();
14330
+ const elementList = this.draw.getElementList();
14331
+ const enterElement = elementList[endIndex];
14332
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14333
+ enterElement.italic = !enterElement.italic;
14334
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14335
+ }
14336
+ }
14104
14337
  }
14105
14338
  underline() {
14106
14339
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
14107
14340
  if (isDisabled)
14108
14341
  return;
14109
14342
  const selection = this.range.getSelectionElementList();
14110
- if (!selection)
14111
- return;
14112
- const noUnderlineIndex = selection.findIndex((s) => !s.underline);
14113
- selection.forEach((el) => {
14114
- el.underline = !!~noUnderlineIndex;
14115
- });
14116
- this.draw.render({
14117
- isSetCursor: false,
14118
- isCompute: false
14119
- });
14343
+ if (selection == null ? void 0 : selection.length) {
14344
+ const noUnderlineIndex = selection.findIndex((s) => !s.underline);
14345
+ selection.forEach((el) => {
14346
+ el.underline = !!~noUnderlineIndex;
14347
+ });
14348
+ this.draw.render({
14349
+ isSetCursor: false,
14350
+ isCompute: false
14351
+ });
14352
+ } else {
14353
+ const { endIndex } = this.range.getRange();
14354
+ const elementList = this.draw.getElementList();
14355
+ const enterElement = elementList[endIndex];
14356
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14357
+ enterElement.underline = !enterElement.underline;
14358
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14359
+ }
14360
+ }
14120
14361
  }
14121
14362
  strikeout() {
14122
14363
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
14123
14364
  if (isDisabled)
14124
14365
  return;
14125
14366
  const selection = this.range.getSelectionElementList();
14126
- if (!selection)
14127
- return;
14128
- const noStrikeoutIndex = selection.findIndex((s) => !s.strikeout);
14129
- selection.forEach((el) => {
14130
- el.strikeout = !!~noStrikeoutIndex;
14131
- });
14132
- this.draw.render({
14133
- isSetCursor: false,
14134
- isCompute: false
14135
- });
14367
+ if (selection == null ? void 0 : selection.length) {
14368
+ const noStrikeoutIndex = selection.findIndex((s) => !s.strikeout);
14369
+ selection.forEach((el) => {
14370
+ el.strikeout = !!~noStrikeoutIndex;
14371
+ });
14372
+ this.draw.render({
14373
+ isSetCursor: false,
14374
+ isCompute: false
14375
+ });
14376
+ } else {
14377
+ const { endIndex } = this.range.getRange();
14378
+ const elementList = this.draw.getElementList();
14379
+ const enterElement = elementList[endIndex];
14380
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14381
+ enterElement.strikeout = !enterElement.strikeout;
14382
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14383
+ }
14384
+ }
14136
14385
  }
14137
14386
  superscript() {
14138
14387
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
@@ -14183,30 +14432,46 @@ class CommandAdapt {
14183
14432
  if (isDisabled)
14184
14433
  return;
14185
14434
  const selection = this.range.getSelectionElementList();
14186
- if (!selection)
14187
- return;
14188
- selection.forEach((el) => {
14189
- el.color = payload;
14190
- });
14191
- this.draw.render({
14192
- isSetCursor: false,
14193
- isCompute: false
14194
- });
14435
+ if (selection == null ? void 0 : selection.length) {
14436
+ selection.forEach((el) => {
14437
+ el.color = payload;
14438
+ });
14439
+ this.draw.render({
14440
+ isSetCursor: false,
14441
+ isCompute: false
14442
+ });
14443
+ } else {
14444
+ const { endIndex } = this.range.getRange();
14445
+ const elementList = this.draw.getElementList();
14446
+ const enterElement = elementList[endIndex];
14447
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14448
+ enterElement.color = payload;
14449
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14450
+ }
14451
+ }
14195
14452
  }
14196
14453
  highlight(payload) {
14197
14454
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
14198
14455
  if (isDisabled)
14199
14456
  return;
14200
14457
  const selection = this.range.getSelectionElementList();
14201
- if (!selection)
14202
- return;
14203
- selection.forEach((el) => {
14204
- el.highlight = payload;
14205
- });
14206
- this.draw.render({
14207
- isSetCursor: false,
14208
- isCompute: false
14209
- });
14458
+ if (selection == null ? void 0 : selection.length) {
14459
+ selection.forEach((el) => {
14460
+ el.highlight = payload;
14461
+ });
14462
+ this.draw.render({
14463
+ isSetCursor: false,
14464
+ isCompute: false
14465
+ });
14466
+ } else {
14467
+ const { endIndex } = this.range.getRange();
14468
+ const elementList = this.draw.getElementList();
14469
+ const enterElement = elementList[endIndex];
14470
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14471
+ enterElement.highlight = payload;
14472
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14473
+ }
14474
+ }
14210
14475
  }
14211
14476
  title(payload) {
14212
14477
  const isReadonly = this.draw.isReadonly();
@@ -15786,7 +16051,10 @@ const INTERNAL_CONTEXT_MENU_KEY = {
15786
16051
  BORDER_EMPTY: "tableBorderEmpty",
15787
16052
  BORDER_EXTERNAL: "tableBorderExternal",
15788
16053
  BORDER_TD: "tableBorderTd",
16054
+ BORDER_TD_TOP: "tableBorderTdTop",
16055
+ BORDER_TD_RIGHT: "tableBorderTdRight",
15789
16056
  BORDER_TD_BOTTOM: "tableBorderTdBottom",
16057
+ BORDER_TD_LEFT: "tableBorderTdLeft",
15790
16058
  BORDER_TD_FORWARD: "tableBorderTdForward",
15791
16059
  BORDER_TD_BACK: "tableBorderTdBack",
15792
16060
  VERTICAL_ALIGN: "tableVerticalAlign",
@@ -15984,7 +16252,7 @@ const imageMenus = [
15984
16252
  ]
15985
16253
  }
15986
16254
  ];
15987
- const { TABLE: { BORDER, BORDER_ALL, BORDER_EMPTY, BORDER_EXTERNAL, BORDER_TD, BORDER_TD_BOTTOM, BORDER_TD_BACK, BORDER_TD_FORWARD, VERTICAL_ALIGN, VERTICAL_ALIGN_TOP, VERTICAL_ALIGN_MIDDLE, VERTICAL_ALIGN_BOTTOM, INSERT_ROW_COL, INSERT_TOP_ROW, INSERT_BOTTOM_ROW, INSERT_LEFT_COL, INSERT_RIGHT_COL, DELETE_ROW_COL, DELETE_ROW, DELETE_COL, DELETE_TABLE, MERGE_CELL, CANCEL_MERGE_CELL } } = INTERNAL_CONTEXT_MENU_KEY;
16255
+ const { TABLE: { BORDER, BORDER_ALL, BORDER_EMPTY, BORDER_EXTERNAL, BORDER_TD, BORDER_TD_TOP, BORDER_TD_LEFT, BORDER_TD_BOTTOM, BORDER_TD_RIGHT, BORDER_TD_BACK, BORDER_TD_FORWARD, VERTICAL_ALIGN, VERTICAL_ALIGN_TOP, VERTICAL_ALIGN_MIDDLE, VERTICAL_ALIGN_BOTTOM, INSERT_ROW_COL, INSERT_TOP_ROW, INSERT_BOTTOM_ROW, INSERT_LEFT_COL, INSERT_RIGHT_COL, DELETE_ROW_COL, DELETE_ROW, DELETE_COL, DELETE_TABLE, MERGE_CELL, CANCEL_MERGE_CELL } } = INTERNAL_CONTEXT_MENU_KEY;
15988
16256
  const tableMenus = [
15989
16257
  {
15990
16258
  isDivider: true
@@ -16030,6 +16298,24 @@ const tableMenus = [
16030
16298
  icon: "border-td",
16031
16299
  when: () => true,
16032
16300
  childMenus: [
16301
+ {
16302
+ key: BORDER_TD_TOP,
16303
+ i18nPath: "contextmenu.table.borderTdTop",
16304
+ icon: "border-td-top",
16305
+ when: () => true,
16306
+ callback: (command) => {
16307
+ command.executeTableTdBorderType(TdBorder.TOP);
16308
+ }
16309
+ },
16310
+ {
16311
+ key: BORDER_TD_RIGHT,
16312
+ i18nPath: "contextmenu.table.borderTdRight",
16313
+ icon: "border-td-right",
16314
+ when: () => true,
16315
+ callback: (command) => {
16316
+ command.executeTableTdBorderType(TdBorder.RIGHT);
16317
+ }
16318
+ },
16033
16319
  {
16034
16320
  key: BORDER_TD_BOTTOM,
16035
16321
  i18nPath: "contextmenu.table.borderTdBottom",
@@ -16039,6 +16325,15 @@ const tableMenus = [
16039
16325
  command.executeTableTdBorderType(TdBorder.BOTTOM);
16040
16326
  }
16041
16327
  },
16328
+ {
16329
+ key: BORDER_TD_LEFT,
16330
+ i18nPath: "contextmenu.table.borderTdLeft",
16331
+ icon: "border-td-left",
16332
+ when: () => true,
16333
+ callback: (command) => {
16334
+ command.executeTableTdBorderType(TdBorder.LEFT);
16335
+ }
16336
+ },
16042
16337
  {
16043
16338
  key: BORDER_TD_FORWARD,
16044
16339
  i18nPath: "contextmenu.table.borderTdForward",
@@ -16769,6 +17064,12 @@ const defaultPageBreakOption = {
16769
17064
  const defaultZoneOption = {
16770
17065
  tipDisabled: true
16771
17066
  };
17067
+ const defaultBackground = {
17068
+ color: "#FFFFFF",
17069
+ image: "",
17070
+ size: BackgroundSize.COVER,
17071
+ repeat: BackgroundRepeat.NO_REPEAT
17072
+ };
16772
17073
  class Editor {
16773
17074
  constructor(container, data2, options = {}) {
16774
17075
  __publicField(this, "command");
@@ -16790,9 +17091,11 @@ class Editor {
16790
17091
  const groupOptions = __spreadValues(__spreadValues({}, defaultGroupOption), options.group);
16791
17092
  const pageBreakOptions = __spreadValues(__spreadValues({}, defaultPageBreakOption), options.pageBreak);
16792
17093
  const zoneOptions = __spreadValues(__spreadValues({}, defaultZoneOption), options.zone);
17094
+ const backgroundOptions = __spreadValues(__spreadValues({}, defaultBackground), options.background);
16793
17095
  const editorOptions = __spreadProps(__spreadValues({
16794
17096
  mode: EditorMode.EDIT,
16795
17097
  defaultType: "TEXT",
17098
+ defaultColor: "#000000",
16796
17099
  defaultFont: "Microsoft YaHei",
16797
17100
  defaultSize: 16,
16798
17101
  minSize: 5,
@@ -16804,7 +17107,6 @@ class Editor {
16804
17107
  height: 1123,
16805
17108
  scale: 1,
16806
17109
  pageGap: 20,
16807
- backgroundColor: "#FFFFFF",
16808
17110
  underlineColor: "#000000",
16809
17111
  strikeoutColor: "#FF0000",
16810
17112
  rangeAlpha: 0.6,
@@ -16845,7 +17147,8 @@ class Editor {
16845
17147
  placeholder: placeholderOptions,
16846
17148
  group: groupOptions,
16847
17149
  pageBreak: pageBreakOptions,
16848
- zone: zoneOptions
17150
+ zone: zoneOptions,
17151
+ background: backgroundOptions
16849
17152
  });
16850
17153
  data2 = deepClone(data2);
16851
17154
  let headerElementList = [];
@@ -16893,5 +17196,5 @@ class Editor {
16893
17196
  this.use = plugin.use.bind(plugin);
16894
17197
  }
16895
17198
  }
16896
- export { BlockType, Command, ControlIndentation, ControlType, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, INTERNAL_CONTEXT_MENU_KEY, ImageDisplay, KeyMap, LETTER_CLASS, ListStyle, ListType, MaxHeightRatio, NumberType, PageMode, PaperDirection, RowFlex, TableBorder, TdBorder, TdSlash, TitleLevel, VerticalAlign, WordBreak, Editor as default, splitText };
17199
+ export { BackgroundRepeat, BackgroundSize, BlockType, Command, ControlIndentation, ControlType, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, INTERNAL_CONTEXT_MENU_KEY, ImageDisplay, KeyMap, LETTER_CLASS, ListStyle, ListType, MaxHeightRatio, NumberType, PageMode, PaperDirection, RowFlex, TableBorder, TdBorder, TdSlash, TitleLevel, VerticalAlign, WordBreak, Editor as default, splitText };
16897
17200
  //# sourceMappingURL=canvas-editor.es.js.map