@hufe921/canvas-editor 0.9.60 → 0.9.62

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.60";
26
+ const version = "0.9.62";
27
27
  var MaxHeightRatio;
28
28
  (function(MaxHeightRatio2) {
29
29
  MaxHeightRatio2["HALF"] = "half";
@@ -4111,12 +4111,14 @@ function formatElementContext(sourceElementList, formatElementList2, anchorIndex
4111
4111
  if (!copyElement)
4112
4112
  return;
4113
4113
  const { isBreakWhenWrap = false } = options || {};
4114
+ let isBreakWarped = false;
4114
4115
  for (let e = 0; e < formatElementList2.length; e++) {
4115
4116
  const targetElement = formatElementList2[e];
4116
4117
  if (isBreakWhenWrap && !copyElement.listId && /^\n/.test(targetElement.value)) {
4117
- break;
4118
+ isBreakWarped = true;
4118
4119
  }
4119
- if (!copyElement.listId && targetElement.type === ElementType.LIST) {
4120
+ if (isBreakWarped || !copyElement.listId && targetElement.type === ElementType.LIST) {
4121
+ cloneProperty(TABLE_CONTEXT_ATTR, copyElement, targetElement);
4120
4122
  (_a = targetElement.valueList) == null ? void 0 : _a.forEach((valueItem) => {
4121
4123
  cloneProperty(TABLE_CONTEXT_ATTR, copyElement, valueItem);
4122
4124
  });
@@ -5133,18 +5135,22 @@ function mousedown(evt, host) {
5133
5135
  const isSetCheckbox = isDirectHitCheckbox && !isReadonly;
5134
5136
  if (isSetCheckbox) {
5135
5137
  const { checkbox, control } = curElement;
5136
- const codes = ((_a = control == null ? void 0 : control.code) == null ? void 0 : _a.split(",")) || [];
5137
- if (checkbox == null ? void 0 : checkbox.value) {
5138
- const codeIndex = codes.findIndex((c) => c === checkbox.code);
5139
- codes.splice(codeIndex, 1);
5138
+ if (!control) {
5139
+ draw.getCheckboxParticle().setSelect(curElement);
5140
5140
  } else {
5141
- if (checkbox == null ? void 0 : checkbox.code) {
5142
- codes.push(checkbox.code);
5141
+ const codes = ((_a = control == null ? void 0 : control.code) == null ? void 0 : _a.split(",")) || [];
5142
+ if (checkbox == null ? void 0 : checkbox.value) {
5143
+ const codeIndex = codes.findIndex((c) => c === checkbox.code);
5144
+ codes.splice(codeIndex, 1);
5145
+ } else {
5146
+ if (checkbox == null ? void 0 : checkbox.code) {
5147
+ codes.push(checkbox.code);
5148
+ }
5149
+ }
5150
+ const activeControl = draw.getControl().getActiveControl();
5151
+ if (activeControl instanceof CheckboxControl) {
5152
+ activeControl.setSelect(codes);
5143
5153
  }
5144
- }
5145
- const activeControl = draw.getControl().getActiveControl();
5146
- if (activeControl instanceof CheckboxControl) {
5147
- activeControl.setSelect(codes);
5148
5154
  }
5149
5155
  } else {
5150
5156
  draw.render({
@@ -5388,8 +5394,111 @@ function mousemove(evt, host) {
5388
5394
  isCompute: false
5389
5395
  });
5390
5396
  }
5397
+ var EditorComponent;
5398
+ (function(EditorComponent2) {
5399
+ EditorComponent2["COMPONENT"] = "component";
5400
+ EditorComponent2["MENU"] = "menu";
5401
+ EditorComponent2["MAIN"] = "main";
5402
+ EditorComponent2["FOOTER"] = "footer";
5403
+ EditorComponent2["CONTEXTMENU"] = "contextmenu";
5404
+ EditorComponent2["POPUP"] = "popup";
5405
+ EditorComponent2["CATALOG"] = "catalog";
5406
+ EditorComponent2["COMMENT"] = "comment";
5407
+ })(EditorComponent || (EditorComponent = {}));
5408
+ var EditorContext;
5409
+ (function(EditorContext2) {
5410
+ EditorContext2["PAGE"] = "page";
5411
+ EditorContext2["TABLE"] = "table";
5412
+ })(EditorContext || (EditorContext = {}));
5413
+ var EditorMode;
5414
+ (function(EditorMode2) {
5415
+ EditorMode2["EDIT"] = "edit";
5416
+ EditorMode2["CLEAN"] = "clean";
5417
+ EditorMode2["READONLY"] = "readonly";
5418
+ EditorMode2["FORM"] = "form";
5419
+ EditorMode2["PRINT"] = "print";
5420
+ })(EditorMode || (EditorMode = {}));
5421
+ var EditorZone;
5422
+ (function(EditorZone2) {
5423
+ EditorZone2["HEADER"] = "header";
5424
+ EditorZone2["MAIN"] = "main";
5425
+ EditorZone2["FOOTER"] = "footer";
5426
+ })(EditorZone || (EditorZone = {}));
5427
+ var PageMode;
5428
+ (function(PageMode2) {
5429
+ PageMode2["PAGING"] = "paging";
5430
+ PageMode2["CONTINUITY"] = "continuity";
5431
+ })(PageMode || (PageMode = {}));
5432
+ var PaperDirection;
5433
+ (function(PaperDirection2) {
5434
+ PaperDirection2["VERTICAL"] = "vertical";
5435
+ PaperDirection2["HORIZONTAL"] = "horizontal";
5436
+ })(PaperDirection || (PaperDirection = {}));
5437
+ var WordBreak;
5438
+ (function(WordBreak2) {
5439
+ WordBreak2["BREAK_ALL"] = "break-all";
5440
+ WordBreak2["BREAK_WORD"] = "break-word";
5441
+ })(WordBreak || (WordBreak = {}));
5442
+ function enter(evt, host) {
5443
+ var _a, _b;
5444
+ const draw = host.getDraw();
5445
+ const isReadonly = draw.isReadonly();
5446
+ const control = draw.getControl();
5447
+ if (isReadonly || control.isPartRangeInControlOutside())
5448
+ return;
5449
+ const rangeManager = draw.getRange();
5450
+ const { startIndex, endIndex } = rangeManager.getRange();
5451
+ const isCollapsed = rangeManager.getIsCollapsed();
5452
+ const elementList = draw.getElementList();
5453
+ const startElement = elementList[startIndex];
5454
+ const endElement = elementList[endIndex];
5455
+ if (isCollapsed && endElement.listId && endElement.value === ZERO && ((_a = elementList[endIndex + 1]) == null ? void 0 : _a.listId) !== endElement.listId) {
5456
+ draw.getListParticle().unsetList();
5457
+ return;
5458
+ }
5459
+ const enterText = {
5460
+ value: ZERO
5461
+ };
5462
+ if (evt.shiftKey && startElement.listId) {
5463
+ enterText.listWrap = true;
5464
+ }
5465
+ if (!(endElement.titleId && endElement.titleId !== ((_b = elementList[endIndex + 1]) == null ? void 0 : _b.titleId))) {
5466
+ formatElementContext(elementList, [enterText], startIndex);
5467
+ }
5468
+ const copyElement = getAnchorElement(elementList, endIndex);
5469
+ if (copyElement) {
5470
+ EDITOR_ELEMENT_STYLE_ATTR.forEach((attr) => {
5471
+ const value = copyElement[attr];
5472
+ if (value !== void 0) {
5473
+ enterText[attr] = value;
5474
+ }
5475
+ });
5476
+ }
5477
+ const activeControl = control.getActiveControl();
5478
+ let curIndex;
5479
+ if (activeControl && !control.isRangInPostfix()) {
5480
+ curIndex = control.setValue([enterText]);
5481
+ } else {
5482
+ const position = draw.getPosition();
5483
+ const cursorPosition = position.getCursorPosition();
5484
+ if (!cursorPosition)
5485
+ return;
5486
+ const { index: index2 } = cursorPosition;
5487
+ if (isCollapsed) {
5488
+ draw.spliceElementList(elementList, index2 + 1, 0, enterText);
5489
+ } else {
5490
+ draw.spliceElementList(elementList, startIndex + 1, endIndex - startIndex, enterText);
5491
+ }
5492
+ curIndex = index2 + 1;
5493
+ }
5494
+ if (~curIndex) {
5495
+ rangeManager.setRange(curIndex, curIndex);
5496
+ draw.render({ curIndex });
5497
+ }
5498
+ evt.preventDefault();
5499
+ }
5391
5500
  function keydown(evt, host) {
5392
- var _a, _b, _c, _d;
5501
+ var _a, _b, _c;
5393
5502
  if (host.isComposing)
5394
5503
  return;
5395
5504
  const draw = host.getDraw();
@@ -5461,35 +5570,7 @@ function keydown(evt, host) {
5461
5570
  rangeManager.setRange(curIndex, curIndex);
5462
5571
  draw.render({ curIndex });
5463
5572
  } else if (evt.key === KeyMap.Enter) {
5464
- if (isReadonly || control.isPartRangeInControlOutside())
5465
- return;
5466
- const enterText = {
5467
- value: ZERO
5468
- };
5469
- const startElement = elementList[startIndex];
5470
- const endElement = elementList[endIndex];
5471
- if (evt.shiftKey && startElement.listId) {
5472
- enterText.listWrap = true;
5473
- }
5474
- if (!(endElement.titleId && endElement.titleId !== ((_b = elementList[endIndex + 1]) == null ? void 0 : _b.titleId))) {
5475
- formatElementContext(elementList, [enterText], startIndex);
5476
- }
5477
- let curIndex;
5478
- if (activeControl && !control.isRangInPostfix()) {
5479
- curIndex = control.setValue([enterText]);
5480
- } else {
5481
- if (isCollapsed) {
5482
- draw.spliceElementList(elementList, index2 + 1, 0, enterText);
5483
- } else {
5484
- draw.spliceElementList(elementList, startIndex + 1, endIndex - startIndex, enterText);
5485
- }
5486
- curIndex = index2 + 1;
5487
- }
5488
- if (~curIndex) {
5489
- rangeManager.setRange(curIndex, curIndex);
5490
- draw.render({ curIndex });
5491
- }
5492
- evt.preventDefault();
5573
+ enter(evt, host);
5493
5574
  } else if (evt.key === KeyMap.Left) {
5494
5575
  if (isReadonly)
5495
5576
  return;
@@ -5499,7 +5580,7 @@ function keydown(evt, host) {
5499
5580
  if (isMod(evt)) {
5500
5581
  const LETTER_REG = draw.getLetterReg();
5501
5582
  const moveStartIndex = evt.shiftKey && !isCollapsed && startIndex === (cursorPosition2 == null ? void 0 : cursorPosition2.index) ? endIndex : startIndex;
5502
- if (LETTER_REG.test((_c = elementList[moveStartIndex]) == null ? void 0 : _c.value)) {
5583
+ if (LETTER_REG.test((_b = elementList[moveStartIndex]) == null ? void 0 : _b.value)) {
5503
5584
  let i = moveStartIndex - 1;
5504
5585
  while (i > 0) {
5505
5586
  const element = elementList[i];
@@ -5548,7 +5629,7 @@ function keydown(evt, host) {
5548
5629
  if (isMod(evt)) {
5549
5630
  const LETTER_REG = draw.getLetterReg();
5550
5631
  const moveStartIndex = evt.shiftKey && !isCollapsed && startIndex === (cursorPosition2 == null ? void 0 : cursorPosition2.index) ? endIndex : startIndex;
5551
- if (LETTER_REG.test((_d = elementList[moveStartIndex + 1]) == null ? void 0 : _d.value)) {
5632
+ if (LETTER_REG.test((_c = elementList[moveStartIndex + 1]) == null ? void 0 : _c.value)) {
5552
5633
  let i = moveStartIndex + 2;
5553
5634
  while (i < elementList.length) {
5554
5635
  const element = elementList[i];
@@ -5762,7 +5843,7 @@ function input(data2, host) {
5762
5843
  value
5763
5844
  };
5764
5845
  const nextElement = elementList[endIndex + 1];
5765
- 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) {
5846
+ 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) {
5766
5847
  EDITOR_ELEMENT_COPY_ATTR.forEach((attr) => {
5767
5848
  if (attr === "groupIds" && !(nextElement == null ? void 0 : nextElement.groupIds))
5768
5849
  return;
@@ -5911,11 +5992,21 @@ function copy(host) {
5911
5992
  writeElementList(copyElementList, draw.getOptions());
5912
5993
  }
5913
5994
  function drop(evt, host) {
5914
- var _a;
5995
+ var _a, _b;
5915
5996
  evt.preventDefault();
5916
5997
  const data2 = (_a = evt.dataTransfer) == null ? void 0 : _a.getData("text");
5917
5998
  if (data2) {
5918
5999
  host.input(data2);
6000
+ } else {
6001
+ const files = (_b = evt.dataTransfer) == null ? void 0 : _b.files;
6002
+ if (!files)
6003
+ return;
6004
+ for (let i = 0; i < files.length; i++) {
6005
+ const file = files[i];
6006
+ if (file.type.startsWith("image")) {
6007
+ pasteImage(host, file);
6008
+ }
6009
+ }
5919
6010
  }
5920
6011
  }
5921
6012
  function dblclick(host, evt) {
@@ -5962,8 +6053,11 @@ function dblclick(host, evt) {
5962
6053
  }
5963
6054
  }
5964
6055
  }
6056
+ const startIndex = index2 - upCount - 1;
6057
+ if (startIndex < 0)
6058
+ return;
5965
6059
  const rangeManager = draw.getRange();
5966
- rangeManager.setRange(index2 - upCount - 1, index2 + downCount);
6060
+ rangeManager.setRange(startIndex, index2 + downCount);
5967
6061
  draw.render({
5968
6062
  isSubmitHistory: false,
5969
6063
  isSetCursor: false,
@@ -5972,6 +6066,7 @@ function dblclick(host, evt) {
5972
6066
  rangeManager.setRangeStyle();
5973
6067
  }
5974
6068
  function threeClick(host) {
6069
+ var _a, _b;
5975
6070
  const draw = host.getDraw();
5976
6071
  const position = draw.getPosition();
5977
6072
  const cursorPosition = position.getCursorPosition();
@@ -5983,26 +6078,36 @@ function threeClick(host) {
5983
6078
  let downCount = 0;
5984
6079
  let upStartIndex = index2 - 1;
5985
6080
  while (upStartIndex > 0) {
5986
- const value = elementList[upStartIndex].value;
5987
- if (value !== ZERO) {
5988
- upCount++;
5989
- upStartIndex--;
5990
- } else {
6081
+ const element = elementList[upStartIndex];
6082
+ const preElement = elementList[upStartIndex - 1];
6083
+ if (element.value === ZERO && !element.listWrap || element.listId !== (preElement == null ? void 0 : preElement.listId) || element.titleId !== (preElement == null ? void 0 : preElement.titleId)) {
5991
6084
  break;
5992
6085
  }
6086
+ upCount++;
6087
+ upStartIndex--;
5993
6088
  }
5994
6089
  let downStartIndex = index2 + 1;
5995
6090
  while (downStartIndex < elementList.length) {
5996
- const value = elementList[downStartIndex].value;
5997
- if (value !== ZERO) {
5998
- downCount++;
5999
- downStartIndex++;
6000
- } else {
6091
+ const element = elementList[downStartIndex];
6092
+ const nextElement = elementList[downStartIndex + 1];
6093
+ if (element.value === ZERO && !element.listWrap || element.listId !== (nextElement == null ? void 0 : nextElement.listId) || element.titleId !== (nextElement == null ? void 0 : nextElement.titleId)) {
6001
6094
  break;
6002
6095
  }
6096
+ downCount++;
6097
+ downStartIndex++;
6003
6098
  }
6004
6099
  const rangeManager = draw.getRange();
6005
- rangeManager.setRange(index2 - upCount - 1, index2 + downCount);
6100
+ let newStartIndex = index2 - upCount - 1;
6101
+ if (((_a = elementList[newStartIndex]) == null ? void 0 : _a.value) !== ZERO) {
6102
+ newStartIndex -= 1;
6103
+ }
6104
+ if (newStartIndex < 0)
6105
+ return;
6106
+ let newEndIndex = index2 + downCount + 1;
6107
+ if (((_b = elementList[newEndIndex]) == null ? void 0 : _b.value) === ZERO) {
6108
+ newEndIndex -= 1;
6109
+ }
6110
+ rangeManager.setRange(newStartIndex, newEndIndex);
6006
6111
  draw.render({
6007
6112
  isSubmitHistory: false,
6008
6113
  isSetCursor: false,
@@ -6384,51 +6489,6 @@ class HistoryManager {
6384
6489
  this.redoStack = [];
6385
6490
  }
6386
6491
  }
6387
- var EditorComponent;
6388
- (function(EditorComponent2) {
6389
- EditorComponent2["COMPONENT"] = "component";
6390
- EditorComponent2["MENU"] = "menu";
6391
- EditorComponent2["MAIN"] = "main";
6392
- EditorComponent2["FOOTER"] = "footer";
6393
- EditorComponent2["CONTEXTMENU"] = "contextmenu";
6394
- EditorComponent2["POPUP"] = "popup";
6395
- EditorComponent2["CATALOG"] = "catalog";
6396
- EditorComponent2["COMMENT"] = "comment";
6397
- })(EditorComponent || (EditorComponent = {}));
6398
- var EditorContext;
6399
- (function(EditorContext2) {
6400
- EditorContext2["PAGE"] = "page";
6401
- EditorContext2["TABLE"] = "table";
6402
- })(EditorContext || (EditorContext = {}));
6403
- var EditorMode;
6404
- (function(EditorMode2) {
6405
- EditorMode2["EDIT"] = "edit";
6406
- EditorMode2["CLEAN"] = "clean";
6407
- EditorMode2["READONLY"] = "readonly";
6408
- EditorMode2["FORM"] = "form";
6409
- EditorMode2["PRINT"] = "print";
6410
- })(EditorMode || (EditorMode = {}));
6411
- var EditorZone;
6412
- (function(EditorZone2) {
6413
- EditorZone2["HEADER"] = "header";
6414
- EditorZone2["MAIN"] = "main";
6415
- EditorZone2["FOOTER"] = "footer";
6416
- })(EditorZone || (EditorZone = {}));
6417
- var PageMode;
6418
- (function(PageMode2) {
6419
- PageMode2["PAGING"] = "paging";
6420
- PageMode2["CONTINUITY"] = "continuity";
6421
- })(PageMode || (PageMode = {}));
6422
- var PaperDirection;
6423
- (function(PaperDirection2) {
6424
- PaperDirection2["VERTICAL"] = "vertical";
6425
- PaperDirection2["HORIZONTAL"] = "horizontal";
6426
- })(PaperDirection || (PaperDirection = {}));
6427
- var WordBreak;
6428
- (function(WordBreak2) {
6429
- WordBreak2["BREAK_ALL"] = "break-all";
6430
- WordBreak2["BREAK_WORD"] = "break-word";
6431
- })(WordBreak || (WordBreak = {}));
6432
6492
  class Position {
6433
6493
  constructor(draw) {
6434
6494
  __publicField(this, "cursorPosition");
@@ -6939,7 +6999,6 @@ class RangeManager {
6939
6999
  return rowElementList;
6940
7000
  }
6941
7001
  getRangeParagraph() {
6942
- var _a, _b, _c;
6943
7002
  const { startIndex, endIndex } = this.range;
6944
7003
  if (!~startIndex && !~endIndex)
6945
7004
  return null;
@@ -6957,7 +7016,9 @@ class RangeManager {
6957
7016
  if (!rowArray.includes(rowNo)) {
6958
7017
  rowArray.unshift(rowNo);
6959
7018
  }
6960
- if (((_a = positionList[start]) == null ? void 0 : _a.value) === ZERO || elementList[start].titleId !== ((_b = elementList[start - 1]) == null ? void 0 : _b.titleId)) {
7019
+ const element = elementList[start];
7020
+ const preElement = elementList[start - 1];
7021
+ if (element.value === ZERO && !element.listWrap || element.listId !== (preElement == null ? void 0 : preElement.listId) || element.titleId !== (preElement == null ? void 0 : preElement.titleId)) {
6961
7022
  break;
6962
7023
  }
6963
7024
  start--;
@@ -6979,7 +7040,9 @@ class RangeManager {
6979
7040
  }
6980
7041
  let end = endIndex;
6981
7042
  while (end < positionList.length) {
6982
- if (positionList[end].value === ZERO || elementList[end].titleId !== ((_c = elementList[end + 1]) == null ? void 0 : _c.titleId)) {
7043
+ const element = elementList[end];
7044
+ const nextElement = elementList[end + 1];
7045
+ if (element.value === ZERO && !element.listWrap || element.listId !== (nextElement == null ? void 0 : nextElement.listId) || element.titleId !== (nextElement == null ? void 0 : nextElement.titleId)) {
6983
7046
  break;
6984
7047
  }
6985
7048
  const { pageNo, rowNo } = positionList[end];
@@ -7019,12 +7082,15 @@ class RangeManager {
7019
7082
  getIsSelectAll() {
7020
7083
  const elementList = this.draw.getElementList();
7021
7084
  const { startIndex, endIndex } = this.range;
7022
- return startIndex === 0 && elementList.length - 1 === endIndex;
7085
+ return startIndex === 0 && elementList.length - 1 === endIndex && !this.position.getPositionContext().isTable;
7023
7086
  }
7024
7087
  getIsPointInRange(x, y) {
7025
7088
  const { startIndex, endIndex } = this.range;
7026
7089
  const positionList = this.position.getPositionList();
7027
7090
  for (let p = startIndex + 1; p <= endIndex; p++) {
7091
+ const position = positionList[p];
7092
+ if (!position)
7093
+ break;
7028
7094
  const { coordinate: { leftTop, rightBottom } } = positionList[p];
7029
7095
  if (x >= leftTop[0] && x <= rightBottom[0] && y >= leftTop[1] && y <= rightBottom[1]) {
7030
7096
  return true;
@@ -7275,22 +7341,88 @@ class RangeManager {
7275
7341
  return selection.map((s) => s.value).join("").replace(new RegExp(ZERO, "g"), "");
7276
7342
  }
7277
7343
  }
7344
+ var BackgroundSize;
7345
+ (function(BackgroundSize2) {
7346
+ BackgroundSize2["CONTAIN"] = "contain";
7347
+ BackgroundSize2["COVER"] = "cover";
7348
+ })(BackgroundSize || (BackgroundSize = {}));
7349
+ var BackgroundRepeat;
7350
+ (function(BackgroundRepeat2) {
7351
+ BackgroundRepeat2["REPEAT"] = "repeat";
7352
+ BackgroundRepeat2["NO_REPEAT"] = "no-repeat";
7353
+ BackgroundRepeat2["REPEAT_X"] = "repeat-x";
7354
+ BackgroundRepeat2["REPEAT_Y"] = "repeat-y";
7355
+ })(BackgroundRepeat || (BackgroundRepeat = {}));
7278
7356
  class Background {
7279
7357
  constructor(draw) {
7280
7358
  __publicField(this, "draw");
7281
7359
  __publicField(this, "options");
7360
+ __publicField(this, "imageCache");
7282
7361
  this.draw = draw;
7283
7362
  this.options = draw.getOptions();
7363
+ this.imageCache = new Map();
7284
7364
  }
7285
- render(ctx, pageNo) {
7286
- const { backgroundColor } = this.options;
7287
- const width = this.draw.getCanvasWidth(pageNo);
7288
- const height = this.draw.getCanvasHeight(pageNo);
7365
+ _renderBackgroundColor(ctx, color, width, height) {
7289
7366
  ctx.save();
7290
- ctx.fillStyle = backgroundColor;
7367
+ ctx.fillStyle = color;
7291
7368
  ctx.fillRect(0, 0, width, height);
7292
7369
  ctx.restore();
7293
7370
  }
7371
+ _drawImage(ctx, imageElement, width, height) {
7372
+ const { background, scale } = this.options;
7373
+ if (background.size === BackgroundSize.CONTAIN) {
7374
+ const imageWidth = imageElement.width * scale;
7375
+ const imageHeight = imageElement.height * scale;
7376
+ if (!background.repeat || background.repeat === BackgroundRepeat.NO_REPEAT) {
7377
+ ctx.drawImage(imageElement, 0, 0, imageWidth, imageHeight);
7378
+ } else {
7379
+ let startX = 0;
7380
+ let startY = 0;
7381
+ const repeatXCount = background.repeat === BackgroundRepeat.REPEAT || background.repeat === BackgroundRepeat.REPEAT_X ? Math.ceil(width * scale / imageWidth) : 1;
7382
+ const repeatYCount = background.repeat === BackgroundRepeat.REPEAT || background.repeat === BackgroundRepeat.REPEAT_Y ? Math.ceil(height * scale / imageHeight) : 1;
7383
+ for (let x = 0; x < repeatXCount; x++) {
7384
+ for (let y = 0; y < repeatYCount; y++) {
7385
+ ctx.drawImage(imageElement, startX, startY, imageWidth, imageHeight);
7386
+ startY += imageHeight;
7387
+ }
7388
+ startY = 0;
7389
+ startX += imageWidth;
7390
+ }
7391
+ }
7392
+ } else {
7393
+ ctx.drawImage(imageElement, 0, 0, width * scale, height * scale);
7394
+ }
7395
+ }
7396
+ _renderBackgroundImage(ctx, width, height) {
7397
+ const { background } = this.options;
7398
+ const imageElementCache = this.imageCache.get(background.image);
7399
+ if (imageElementCache) {
7400
+ this._drawImage(ctx, imageElementCache, width, height);
7401
+ } else {
7402
+ const img = new Image();
7403
+ img.setAttribute("crossOrigin", "Anonymous");
7404
+ img.src = background.image;
7405
+ img.onload = () => {
7406
+ this.imageCache.set(background.image, img);
7407
+ this._drawImage(ctx, img, width, height);
7408
+ this.draw.render({
7409
+ isCompute: false,
7410
+ isSubmitHistory: false
7411
+ });
7412
+ };
7413
+ }
7414
+ }
7415
+ render(ctx, pageNo) {
7416
+ const { background } = this.options;
7417
+ if (background.image) {
7418
+ const { width, height } = this.options;
7419
+ this._renderBackgroundImage(ctx, width, height);
7420
+ } else {
7421
+ const width = this.draw.getCanvasWidth(pageNo);
7422
+ const height = this.draw.getCanvasHeight(pageNo);
7423
+ this._renderBackgroundColor(ctx, background.color, width, height);
7424
+ }
7425
+ }
7294
7426
  }
7295
7427
  class AbstractRichText {
7296
7428
  constructor() {
@@ -7681,6 +7813,7 @@ class Underline extends AbstractRichText {
7681
7813
  class TextParticle {
7682
7814
  constructor(draw) {
7683
7815
  __publicField(this, "draw");
7816
+ __publicField(this, "options");
7684
7817
  __publicField(this, "ctx");
7685
7818
  __publicField(this, "curX");
7686
7819
  __publicField(this, "curY");
@@ -7689,6 +7822,7 @@ class TextParticle {
7689
7822
  __publicField(this, "curColor");
7690
7823
  __publicField(this, "cacheMeasureText");
7691
7824
  this.draw = draw;
7825
+ this.options = draw.getOptions();
7692
7826
  this.ctx = draw.getCtx();
7693
7827
  this.curX = -1;
7694
7828
  this.curY = -1;
@@ -7768,9 +7902,7 @@ class TextParticle {
7768
7902
  return;
7769
7903
  this.ctx.save();
7770
7904
  this.ctx.font = this.curStyle;
7771
- if (this.curColor) {
7772
- this.ctx.fillStyle = this.curColor;
7773
- }
7905
+ this.ctx.fillStyle = this.curColor || this.options.defaultColor;
7774
7906
  this.ctx.fillText(this.text, this.curX, this.curY);
7775
7907
  this.ctx.restore();
7776
7908
  }
@@ -7982,7 +8114,10 @@ var TableBorder;
7982
8114
  })(TableBorder || (TableBorder = {}));
7983
8115
  var TdBorder;
7984
8116
  (function(TdBorder2) {
8117
+ TdBorder2["TOP"] = "top";
8118
+ TdBorder2["RIGHT"] = "right";
7985
8119
  TdBorder2["BOTTOM"] = "bottom";
8120
+ TdBorder2["LEFT"] = "left";
7986
8121
  })(TdBorder || (TdBorder = {}));
7987
8122
  var TdSlash;
7988
8123
  (function(TdSlash2) {
@@ -8123,13 +8258,27 @@ class TableParticle {
8123
8258
  const y = Math.round(td.y * scale + startY);
8124
8259
  ctx.translate(0.5, 0.5);
8125
8260
  ctx.beginPath();
8261
+ if (td.borderType === TdBorder.TOP) {
8262
+ ctx.moveTo(x - width, y);
8263
+ ctx.lineTo(x, y);
8264
+ ctx.stroke();
8265
+ }
8266
+ if (td.borderType === TdBorder.RIGHT) {
8267
+ ctx.moveTo(x, y);
8268
+ ctx.lineTo(x, y + height);
8269
+ ctx.stroke();
8270
+ }
8126
8271
  if (td.borderType === TdBorder.BOTTOM) {
8127
8272
  ctx.moveTo(x, y + height);
8128
8273
  ctx.lineTo(x - width, y + height);
8129
8274
  ctx.stroke();
8130
8275
  }
8276
+ if (td.borderType === TdBorder.LEFT) {
8277
+ ctx.moveTo(x - width, y);
8278
+ ctx.lineTo(x - width, y + height);
8279
+ ctx.stroke();
8280
+ }
8131
8281
  if (!isEmptyBorderType && !isExternalBorderType) {
8132
- ctx.moveTo(x, y + height);
8133
8282
  ctx.moveTo(x, y);
8134
8283
  ctx.lineTo(x, y + height);
8135
8284
  ctx.lineTo(x - width, y + height);
@@ -9400,8 +9549,13 @@ class Control {
9400
9549
  }
9401
9550
  }
9402
9551
  }
9403
- if (!element.controlId || ((_a = element.control) == null ? void 0 : _a.minWidth)) {
9552
+ if (!element.controlId)
9404
9553
  return true;
9554
+ if ((_a = element.control) == null ? void 0 : _a.minWidth) {
9555
+ if (element.controlComponent === ControlComponent.PREFIX || element.controlComponent === ControlComponent.POSTFIX) {
9556
+ element.value = "";
9557
+ return true;
9558
+ }
9405
9559
  }
9406
9560
  return element.controlComponent !== ControlComponent.PREFIX && element.controlComponent !== ControlComponent.POSTFIX && element.controlComponent !== ControlComponent.PLACEHOLDER;
9407
9561
  });
@@ -9909,9 +10063,25 @@ class Control {
9909
10063
  }
9910
10064
  class CheckboxParticle {
9911
10065
  constructor(draw) {
10066
+ __publicField(this, "draw");
9912
10067
  __publicField(this, "options");
10068
+ this.draw = draw;
9913
10069
  this.options = draw.getOptions();
9914
10070
  }
10071
+ setSelect(element) {
10072
+ const { checkbox } = element;
10073
+ if (checkbox) {
10074
+ checkbox.value = !checkbox.value;
10075
+ } else {
10076
+ element.checkbox = {
10077
+ value: true
10078
+ };
10079
+ }
10080
+ this.draw.render({
10081
+ isCompute: false,
10082
+ isSetCursor: false
10083
+ });
10084
+ }
9915
10085
  render(ctx, element, x, y) {
9916
10086
  const { checkbox: { gap, lineWidth, fillStyle, fontStyle }, scale } = this.options;
9917
10087
  const { metrics, checkbox } = element;
@@ -10406,7 +10576,10 @@ const contextmenu$1 = {
10406
10576
  borderEmpty: "\u65E0\u6846\u7EBF",
10407
10577
  borderExternal: "\u5916\u4FA7\u6846\u7EBF",
10408
10578
  borderTd: "\u5355\u5143\u683C\u8FB9\u6846",
10579
+ borderTdTop: "\u4E0A\u8FB9\u6846",
10580
+ borderTdRight: "\u53F3\u8FB9\u6846",
10409
10581
  borderTdBottom: "\u4E0B\u8FB9\u6846",
10582
+ borderTdLeft: "\u5DE6\u8FB9\u6846",
10410
10583
  borderTdForward: "\u6B63\u659C\u7EBF",
10411
10584
  borderTdBack: "\u53CD\u659C\u7EBF"
10412
10585
  }
@@ -11191,9 +11364,12 @@ const contextmenu = {
11191
11364
  borderEmpty: "Empty",
11192
11365
  borderExternal: "External",
11193
11366
  borderTd: "Table cell border",
11367
+ borderTdTop: "Top",
11368
+ borderTdRight: "Right",
11194
11369
  borderTdBottom: "Bottom",
11195
- borderTdForward: "forward",
11196
- borderTdBack: "back"
11370
+ borderTdLeft: "Left",
11371
+ borderTdForward: "Forward",
11372
+ borderTdBack: "Back"
11197
11373
  }
11198
11374
  };
11199
11375
  const datePicker = {
@@ -11305,14 +11481,28 @@ class ZoneTip {
11305
11481
  this.tipContent = tipContent;
11306
11482
  this.isDisableMouseMove = true;
11307
11483
  this.currentMoveZone = EditorZone.MAIN;
11308
- this._watchMouseMoveZoneChange();
11484
+ const watchZones = [];
11485
+ const { header, footer } = draw.getOptions();
11486
+ if (!header.disabled) {
11487
+ watchZones.push(EditorZone.HEADER);
11488
+ }
11489
+ if (!footer.disabled) {
11490
+ watchZones.push(EditorZone.FOOTER);
11491
+ }
11492
+ if (watchZones.length) {
11493
+ this._watchMouseMoveZoneChange(watchZones);
11494
+ }
11309
11495
  }
11310
- _watchMouseMoveZoneChange() {
11496
+ _watchMouseMoveZoneChange(watchZones) {
11311
11497
  this.pageContainer.addEventListener("mousemove", throttle((evt) => {
11312
11498
  if (this.isDisableMouseMove)
11313
11499
  return;
11314
11500
  if (evt.target instanceof HTMLCanvasElement) {
11315
11501
  const mousemoveZone = this.zone.getZoneByY(evt.offsetY);
11502
+ if (!watchZones.includes(mousemoveZone)) {
11503
+ this._updateZoneTip(false);
11504
+ return;
11505
+ }
11316
11506
  this.currentMoveZone = mousemoveZone;
11317
11507
  this._updateZoneTip(this.zone.getZone() === EditorZone.MAIN && (mousemoveZone === EditorZone.HEADER || mousemoveZone === EditorZone.FOOTER), evt.x, evt.y);
11318
11508
  } else {
@@ -11590,12 +11780,79 @@ class Footer {
11590
11780
  }
11591
11781
  class ListParticle {
11592
11782
  constructor(draw) {
11783
+ __publicField(this, "draw");
11784
+ __publicField(this, "range");
11593
11785
  __publicField(this, "options");
11594
11786
  __publicField(this, "UN_COUNT_STYLE_WIDTH", 20);
11595
11787
  __publicField(this, "MEASURE_BASE_TEXT", "0");
11596
11788
  __publicField(this, "LIST_GAP", 10);
11789
+ this.draw = draw;
11790
+ this.range = draw.getRange();
11597
11791
  this.options = draw.getOptions();
11598
11792
  }
11793
+ setList(listType, listStyle) {
11794
+ const isReadonly = this.draw.isReadonly();
11795
+ if (isReadonly)
11796
+ return;
11797
+ const { startIndex, endIndex } = this.range.getRange();
11798
+ if (!~startIndex && !~endIndex)
11799
+ return;
11800
+ const changeElementList = this.range.getRangeParagraphElementList();
11801
+ if (!changeElementList || !changeElementList.length)
11802
+ return;
11803
+ const isUnsetList = changeElementList.find((el) => el.listType === listType && el.listStyle === listStyle);
11804
+ if (isUnsetList || !listType) {
11805
+ this.unsetList();
11806
+ return;
11807
+ }
11808
+ const listId = getUUID();
11809
+ changeElementList.forEach((el) => {
11810
+ el.listId = listId;
11811
+ el.listType = listType;
11812
+ el.listStyle = listStyle;
11813
+ });
11814
+ const isSetCursor = startIndex === endIndex;
11815
+ const curIndex = isSetCursor ? endIndex : startIndex;
11816
+ this.draw.render({ curIndex, isSetCursor });
11817
+ }
11818
+ unsetList() {
11819
+ var _a;
11820
+ const isReadonly = this.draw.isReadonly();
11821
+ if (isReadonly)
11822
+ return;
11823
+ const { startIndex, endIndex } = this.range.getRange();
11824
+ if (!~startIndex && !~endIndex)
11825
+ return;
11826
+ const changeElementList = (_a = this.range.getRangeParagraphElementList()) == null ? void 0 : _a.filter((el) => el.listId);
11827
+ if (!changeElementList || !changeElementList.length)
11828
+ return;
11829
+ const elementList = this.draw.getElementList();
11830
+ const endElement = elementList[endIndex];
11831
+ if (endElement.listId) {
11832
+ let start = endIndex + 1;
11833
+ while (start < elementList.length) {
11834
+ const element = elementList[start];
11835
+ if (element.value === ZERO && !element.listWrap)
11836
+ break;
11837
+ if (element.listId !== endElement.listId) {
11838
+ this.draw.spliceElementList(elementList, start, 0, {
11839
+ value: ZERO
11840
+ });
11841
+ break;
11842
+ }
11843
+ start++;
11844
+ }
11845
+ }
11846
+ changeElementList.forEach((el) => {
11847
+ delete el.listId;
11848
+ delete el.listType;
11849
+ delete el.listStyle;
11850
+ delete el.listWrap;
11851
+ });
11852
+ const isSetCursor = startIndex === endIndex;
11853
+ const curIndex = isSetCursor ? endIndex : startIndex;
11854
+ this.draw.render({ curIndex, isSetCursor });
11855
+ }
11599
11856
  computeListStyle(ctx, elementList) {
11600
11857
  const listStyleMap = new Map();
11601
11858
  let start = 0;
@@ -12406,6 +12663,9 @@ class Draw {
12406
12663
  getListParticle() {
12407
12664
  return this.listParticle;
12408
12665
  }
12666
+ getCheckboxParticle() {
12667
+ return this.checkboxParticle;
12668
+ }
12409
12669
  getControl() {
12410
12670
  return this.control;
12411
12671
  }
@@ -12912,7 +13172,7 @@ class Draw {
12912
13172
  if (element.letterSpacing) {
12913
13173
  metrics.width += element.letterSpacing * scale;
12914
13174
  }
12915
- metrics.boundingBoxAscent = (element.value === ZERO ? defaultSize : fontMetrics.actualBoundingBoxAscent) * scale;
13175
+ metrics.boundingBoxAscent = (element.value === ZERO ? element.size || defaultSize : fontMetrics.actualBoundingBoxAscent) * scale;
12916
13176
  metrics.boundingBoxDescent = fontMetrics.actualBoundingBoxDescent * scale;
12917
13177
  if (element.type === ElementType.SUPERSCRIPT) {
12918
13178
  metrics.boundingBoxAscent += metrics.height / 2;
@@ -12965,7 +13225,7 @@ class Draw {
12965
13225
  }
12966
13226
  }
12967
13227
  listId = element.listId;
12968
- if (element.type === ElementType.TABLE || (preElement == null ? void 0 : preElement.type) === ElementType.TABLE || (preElement == null ? void 0 : preElement.type) === ElementType.BLOCK || element.type === ElementType.BLOCK || (preElement == null ? void 0 : preElement.imgDisplay) === ImageDisplay.INLINE || element.imgDisplay === ImageDisplay.INLINE || curRowWidth > availableWidth || i !== 0 && element.value === ZERO || (preElement == null ? void 0 : preElement.listId) !== element.listId) {
13228
+ if (element.type === ElementType.SEPARATOR || element.type === ElementType.TABLE || (preElement == null ? void 0 : preElement.type) === ElementType.TABLE || (preElement == null ? void 0 : preElement.type) === ElementType.BLOCK || element.type === ElementType.BLOCK || (preElement == null ? void 0 : preElement.imgDisplay) === ImageDisplay.INLINE || element.imgDisplay === ImageDisplay.INLINE || curRowWidth > availableWidth || i !== 0 && element.value === ZERO || (preElement == null ? void 0 : preElement.listId) !== element.listId) {
12969
13229
  if (curRow.startIndex === 0 && curRow.elementList.length === 1 && INLINE_ELEMENT_TYPE.includes(element.type)) {
12970
13230
  curRow.height = defaultBasicRowMarginHeight;
12971
13231
  }
@@ -13132,6 +13392,9 @@ class Draw {
13132
13392
  this._drawRichText(ctx);
13133
13393
  this.blockParticle.render(pageNo, element, x, y);
13134
13394
  } else {
13395
+ if (element.left) {
13396
+ this.textParticle.complete();
13397
+ }
13135
13398
  this.textParticle.record(ctx, element, x, y + offsetY);
13136
13399
  if (element.width || element.letterSpacing) {
13137
13400
  this.textParticle.complete();
@@ -13845,29 +14108,52 @@ class CommandAdapt {
13845
14108
  if (isDisabled)
13846
14109
  return;
13847
14110
  const selection = this.range.getSelectionElementList();
13848
- if (!selection)
14111
+ let renderOption = {};
14112
+ let changeElementList = [];
14113
+ if (selection == null ? void 0 : selection.length) {
14114
+ changeElementList = selection;
14115
+ renderOption = { isSetCursor: false };
14116
+ } else {
14117
+ const { endIndex } = this.range.getRange();
14118
+ const elementList = this.draw.getElementList();
14119
+ const enterElement = elementList[endIndex];
14120
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14121
+ changeElementList.push(enterElement);
14122
+ renderOption = { curIndex: endIndex };
14123
+ }
14124
+ }
14125
+ if (!changeElementList.length)
13849
14126
  return;
13850
- selection.forEach((el) => {
13851
- el.font = "";
13852
- el.color = "";
13853
- el.bold = false;
13854
- el.italic = false;
13855
- el.underline = false;
13856
- el.strikeout = false;
14127
+ changeElementList.forEach((el) => {
14128
+ delete el.size;
14129
+ delete el.font;
14130
+ delete el.color;
14131
+ delete el.bold;
14132
+ delete el.italic;
14133
+ delete el.underline;
14134
+ delete el.strikeout;
13857
14135
  });
13858
- this.draw.render({ isSetCursor: false });
14136
+ this.draw.render(renderOption);
13859
14137
  }
13860
14138
  font(payload) {
13861
14139
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
13862
14140
  if (isDisabled)
13863
14141
  return;
13864
14142
  const selection = this.range.getSelectionElementList();
13865
- if (!selection)
13866
- return;
13867
- selection.forEach((el) => {
13868
- el.font = payload;
13869
- });
13870
- this.draw.render({ isSetCursor: false });
14143
+ if (selection == null ? void 0 : selection.length) {
14144
+ selection.forEach((el) => {
14145
+ el.font = payload;
14146
+ });
14147
+ this.draw.render({ isSetCursor: false });
14148
+ } else {
14149
+ const { endIndex } = this.range.getRange();
14150
+ const elementList = this.draw.getElementList();
14151
+ const enterElement = elementList[endIndex];
14152
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14153
+ enterElement.font = payload;
14154
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14155
+ }
14156
+ }
13871
14157
  }
13872
14158
  size(payload) {
13873
14159
  const { minSize, maxSize, defaultSize } = this.options;
@@ -13876,11 +14162,25 @@ class CommandAdapt {
13876
14162
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
13877
14163
  if (isDisabled)
13878
14164
  return;
14165
+ let renderOption = {};
14166
+ let changeElementList = [];
13879
14167
  const selection = this.range.getTextLikeSelectionElementList();
13880
- if (!selection || !selection.length)
14168
+ if (selection == null ? void 0 : selection.length) {
14169
+ changeElementList = selection;
14170
+ renderOption = { isSetCursor: false };
14171
+ } else {
14172
+ const { endIndex } = this.range.getRange();
14173
+ const elementList = this.draw.getElementList();
14174
+ const enterElement = elementList[endIndex];
14175
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14176
+ changeElementList.push(enterElement);
14177
+ renderOption = { curIndex: endIndex };
14178
+ }
14179
+ }
14180
+ if (!changeElementList.length)
13881
14181
  return;
13882
14182
  let isExistUpdate = false;
13883
- selection.forEach((el) => {
14183
+ changeElementList.forEach((el) => {
13884
14184
  if (!el.size && payload === defaultSize || el.size && el.size === payload) {
13885
14185
  return;
13886
14186
  }
@@ -13888,7 +14188,7 @@ class CommandAdapt {
13888
14188
  isExistUpdate = true;
13889
14189
  });
13890
14190
  if (isExistUpdate) {
13891
- this.draw.render({ isSetCursor: false });
14191
+ this.draw.render(renderOption);
13892
14192
  }
13893
14193
  }
13894
14194
  sizeAdd() {
@@ -13896,11 +14196,25 @@ class CommandAdapt {
13896
14196
  if (isDisabled)
13897
14197
  return;
13898
14198
  const selection = this.range.getTextLikeSelectionElementList();
13899
- if (!selection || !selection.length)
14199
+ let renderOption = {};
14200
+ let changeElementList = [];
14201
+ if (selection == null ? void 0 : selection.length) {
14202
+ changeElementList = selection;
14203
+ renderOption = { isSetCursor: false };
14204
+ } else {
14205
+ const { endIndex } = this.range.getRange();
14206
+ const elementList = this.draw.getElementList();
14207
+ const enterElement = elementList[endIndex];
14208
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14209
+ changeElementList.push(enterElement);
14210
+ renderOption = { curIndex: endIndex };
14211
+ }
14212
+ }
14213
+ if (!changeElementList.length)
13900
14214
  return;
13901
14215
  const { defaultSize, maxSize } = this.options;
13902
14216
  let isExistUpdate = false;
13903
- selection.forEach((el) => {
14217
+ changeElementList.forEach((el) => {
13904
14218
  if (!el.size) {
13905
14219
  el.size = defaultSize;
13906
14220
  }
@@ -13914,7 +14228,7 @@ class CommandAdapt {
13914
14228
  isExistUpdate = true;
13915
14229
  });
13916
14230
  if (isExistUpdate) {
13917
- this.draw.render({ isSetCursor: false });
14231
+ this.draw.render(renderOption);
13918
14232
  }
13919
14233
  }
13920
14234
  sizeMinus() {
@@ -13922,11 +14236,25 @@ class CommandAdapt {
13922
14236
  if (isDisabled)
13923
14237
  return;
13924
14238
  const selection = this.range.getTextLikeSelectionElementList();
13925
- if (!selection || !selection.length)
14239
+ let renderOption = {};
14240
+ let changeElementList = [];
14241
+ if (selection == null ? void 0 : selection.length) {
14242
+ changeElementList = selection;
14243
+ renderOption = { isSetCursor: false };
14244
+ } else {
14245
+ const { endIndex } = this.range.getRange();
14246
+ const elementList = this.draw.getElementList();
14247
+ const enterElement = elementList[endIndex];
14248
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14249
+ changeElementList.push(enterElement);
14250
+ renderOption = { curIndex: endIndex };
14251
+ }
14252
+ }
14253
+ if (!changeElementList.length)
13926
14254
  return;
13927
14255
  const { defaultSize, minSize } = this.options;
13928
14256
  let isExistUpdate = false;
13929
- selection.forEach((el) => {
14257
+ changeElementList.forEach((el) => {
13930
14258
  if (!el.size) {
13931
14259
  el.size = defaultSize;
13932
14260
  }
@@ -13940,7 +14268,7 @@ class CommandAdapt {
13940
14268
  isExistUpdate = true;
13941
14269
  });
13942
14270
  if (isExistUpdate) {
13943
- this.draw.render({ isSetCursor: false });
14271
+ this.draw.render(renderOption);
13944
14272
  }
13945
14273
  }
13946
14274
  bold() {
@@ -13948,58 +14276,90 @@ class CommandAdapt {
13948
14276
  if (isDisabled)
13949
14277
  return;
13950
14278
  const selection = this.range.getSelectionElementList();
13951
- if (!selection)
13952
- return;
13953
- const noBoldIndex = selection.findIndex((s) => !s.bold);
13954
- selection.forEach((el) => {
13955
- el.bold = !!~noBoldIndex;
13956
- });
13957
- this.draw.render({ isSetCursor: false });
14279
+ if (selection == null ? void 0 : selection.length) {
14280
+ const noBoldIndex = selection.findIndex((s) => !s.bold);
14281
+ selection.forEach((el) => {
14282
+ el.bold = !!~noBoldIndex;
14283
+ });
14284
+ this.draw.render({ isSetCursor: false });
14285
+ } else {
14286
+ const { endIndex } = this.range.getRange();
14287
+ const elementList = this.draw.getElementList();
14288
+ const enterElement = elementList[endIndex];
14289
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14290
+ enterElement.bold = !enterElement.bold;
14291
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14292
+ }
14293
+ }
13958
14294
  }
13959
14295
  italic() {
13960
14296
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
13961
14297
  if (isDisabled)
13962
14298
  return;
13963
14299
  const selection = this.range.getSelectionElementList();
13964
- if (!selection)
13965
- return;
13966
- const noItalicIndex = selection.findIndex((s) => !s.italic);
13967
- selection.forEach((el) => {
13968
- el.italic = !!~noItalicIndex;
13969
- });
13970
- this.draw.render({ isSetCursor: false });
14300
+ if (selection == null ? void 0 : selection.length) {
14301
+ const noItalicIndex = selection.findIndex((s) => !s.italic);
14302
+ selection.forEach((el) => {
14303
+ el.italic = !!~noItalicIndex;
14304
+ });
14305
+ this.draw.render({ isSetCursor: false });
14306
+ } else {
14307
+ const { endIndex } = this.range.getRange();
14308
+ const elementList = this.draw.getElementList();
14309
+ const enterElement = elementList[endIndex];
14310
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14311
+ enterElement.italic = !enterElement.italic;
14312
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14313
+ }
14314
+ }
13971
14315
  }
13972
14316
  underline() {
13973
14317
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
13974
14318
  if (isDisabled)
13975
14319
  return;
13976
14320
  const selection = this.range.getSelectionElementList();
13977
- if (!selection)
13978
- return;
13979
- const noUnderlineIndex = selection.findIndex((s) => !s.underline);
13980
- selection.forEach((el) => {
13981
- el.underline = !!~noUnderlineIndex;
13982
- });
13983
- this.draw.render({
13984
- isSetCursor: false,
13985
- isCompute: false
13986
- });
14321
+ if (selection == null ? void 0 : selection.length) {
14322
+ const noUnderlineIndex = selection.findIndex((s) => !s.underline);
14323
+ selection.forEach((el) => {
14324
+ el.underline = !!~noUnderlineIndex;
14325
+ });
14326
+ this.draw.render({
14327
+ isSetCursor: false,
14328
+ isCompute: false
14329
+ });
14330
+ } else {
14331
+ const { endIndex } = this.range.getRange();
14332
+ const elementList = this.draw.getElementList();
14333
+ const enterElement = elementList[endIndex];
14334
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14335
+ enterElement.underline = !enterElement.underline;
14336
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14337
+ }
14338
+ }
13987
14339
  }
13988
14340
  strikeout() {
13989
14341
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
13990
14342
  if (isDisabled)
13991
14343
  return;
13992
14344
  const selection = this.range.getSelectionElementList();
13993
- if (!selection)
13994
- return;
13995
- const noStrikeoutIndex = selection.findIndex((s) => !s.strikeout);
13996
- selection.forEach((el) => {
13997
- el.strikeout = !!~noStrikeoutIndex;
13998
- });
13999
- this.draw.render({
14000
- isSetCursor: false,
14001
- isCompute: false
14002
- });
14345
+ if (selection == null ? void 0 : selection.length) {
14346
+ const noStrikeoutIndex = selection.findIndex((s) => !s.strikeout);
14347
+ selection.forEach((el) => {
14348
+ el.strikeout = !!~noStrikeoutIndex;
14349
+ });
14350
+ this.draw.render({
14351
+ isSetCursor: false,
14352
+ isCompute: false
14353
+ });
14354
+ } else {
14355
+ const { endIndex } = this.range.getRange();
14356
+ const elementList = this.draw.getElementList();
14357
+ const enterElement = elementList[endIndex];
14358
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14359
+ enterElement.strikeout = !enterElement.strikeout;
14360
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14361
+ }
14362
+ }
14003
14363
  }
14004
14364
  superscript() {
14005
14365
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
@@ -14050,30 +14410,46 @@ class CommandAdapt {
14050
14410
  if (isDisabled)
14051
14411
  return;
14052
14412
  const selection = this.range.getSelectionElementList();
14053
- if (!selection)
14054
- return;
14055
- selection.forEach((el) => {
14056
- el.color = payload;
14057
- });
14058
- this.draw.render({
14059
- isSetCursor: false,
14060
- isCompute: false
14061
- });
14413
+ if (selection == null ? void 0 : selection.length) {
14414
+ selection.forEach((el) => {
14415
+ el.color = payload;
14416
+ });
14417
+ this.draw.render({
14418
+ isSetCursor: false,
14419
+ isCompute: false
14420
+ });
14421
+ } else {
14422
+ const { endIndex } = this.range.getRange();
14423
+ const elementList = this.draw.getElementList();
14424
+ const enterElement = elementList[endIndex];
14425
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14426
+ enterElement.color = payload;
14427
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14428
+ }
14429
+ }
14062
14430
  }
14063
14431
  highlight(payload) {
14064
14432
  const isDisabled = this.draw.isReadonly() || this.control.isDisabledControl();
14065
14433
  if (isDisabled)
14066
14434
  return;
14067
14435
  const selection = this.range.getSelectionElementList();
14068
- if (!selection)
14069
- return;
14070
- selection.forEach((el) => {
14071
- el.highlight = payload;
14072
- });
14073
- this.draw.render({
14074
- isSetCursor: false,
14075
- isCompute: false
14076
- });
14436
+ if (selection == null ? void 0 : selection.length) {
14437
+ selection.forEach((el) => {
14438
+ el.highlight = payload;
14439
+ });
14440
+ this.draw.render({
14441
+ isSetCursor: false,
14442
+ isCompute: false
14443
+ });
14444
+ } else {
14445
+ const { endIndex } = this.range.getRange();
14446
+ const elementList = this.draw.getElementList();
14447
+ const enterElement = elementList[endIndex];
14448
+ if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
14449
+ enterElement.highlight = payload;
14450
+ this.draw.render({ curIndex: endIndex, isCompute: false });
14451
+ }
14452
+ }
14077
14453
  }
14078
14454
  title(payload) {
14079
14455
  const isReadonly = this.draw.isReadonly();
@@ -14115,30 +14491,7 @@ class CommandAdapt {
14115
14491
  const isReadonly = this.draw.isReadonly();
14116
14492
  if (isReadonly)
14117
14493
  return;
14118
- const { startIndex, endIndex } = this.range.getRange();
14119
- if (!~startIndex && !~endIndex)
14120
- return;
14121
- const changeElementList = this.range.getRangeParagraphElementList();
14122
- if (!changeElementList || !changeElementList.length)
14123
- return;
14124
- const isUnsetList = changeElementList.find((el) => el.listType === listType && el.listStyle === listStyle);
14125
- const listId = getUUID();
14126
- changeElementList.forEach((el) => {
14127
- if (!isUnsetList && listType) {
14128
- el.listId = listId;
14129
- el.listType = listType;
14130
- el.listStyle = listStyle;
14131
- } else {
14132
- if (el.listId) {
14133
- delete el.listId;
14134
- delete el.listType;
14135
- delete el.listStyle;
14136
- }
14137
- }
14138
- });
14139
- const isSetCursor = startIndex === endIndex;
14140
- const curIndex = isSetCursor ? endIndex : startIndex;
14141
- this.draw.render({ curIndex, isSetCursor });
14494
+ this.draw.getListParticle().setList(listType, listStyle);
14142
14495
  }
14143
14496
  rowFlex(payload) {
14144
14497
  const isReadonly = this.draw.isReadonly();
@@ -15676,7 +16029,10 @@ const INTERNAL_CONTEXT_MENU_KEY = {
15676
16029
  BORDER_EMPTY: "tableBorderEmpty",
15677
16030
  BORDER_EXTERNAL: "tableBorderExternal",
15678
16031
  BORDER_TD: "tableBorderTd",
16032
+ BORDER_TD_TOP: "tableBorderTdTop",
16033
+ BORDER_TD_RIGHT: "tableBorderTdRight",
15679
16034
  BORDER_TD_BOTTOM: "tableBorderTdBottom",
16035
+ BORDER_TD_LEFT: "tableBorderTdLeft",
15680
16036
  BORDER_TD_FORWARD: "tableBorderTdForward",
15681
16037
  BORDER_TD_BACK: "tableBorderTdBack",
15682
16038
  VERTICAL_ALIGN: "tableVerticalAlign",
@@ -15874,7 +16230,7 @@ const imageMenus = [
15874
16230
  ]
15875
16231
  }
15876
16232
  ];
15877
- 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;
16233
+ 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;
15878
16234
  const tableMenus = [
15879
16235
  {
15880
16236
  isDivider: true
@@ -15920,6 +16276,24 @@ const tableMenus = [
15920
16276
  icon: "border-td",
15921
16277
  when: () => true,
15922
16278
  childMenus: [
16279
+ {
16280
+ key: BORDER_TD_TOP,
16281
+ i18nPath: "contextmenu.table.borderTdTop",
16282
+ icon: "border-td-top",
16283
+ when: () => true,
16284
+ callback: (command) => {
16285
+ command.executeTableTdBorderType(TdBorder.TOP);
16286
+ }
16287
+ },
16288
+ {
16289
+ key: BORDER_TD_RIGHT,
16290
+ i18nPath: "contextmenu.table.borderTdRight",
16291
+ icon: "border-td-right",
16292
+ when: () => true,
16293
+ callback: (command) => {
16294
+ command.executeTableTdBorderType(TdBorder.RIGHT);
16295
+ }
16296
+ },
15923
16297
  {
15924
16298
  key: BORDER_TD_BOTTOM,
15925
16299
  i18nPath: "contextmenu.table.borderTdBottom",
@@ -15929,6 +16303,15 @@ const tableMenus = [
15929
16303
  command.executeTableTdBorderType(TdBorder.BOTTOM);
15930
16304
  }
15931
16305
  },
16306
+ {
16307
+ key: BORDER_TD_LEFT,
16308
+ i18nPath: "contextmenu.table.borderTdLeft",
16309
+ icon: "border-td-left",
16310
+ when: () => true,
16311
+ callback: (command) => {
16312
+ command.executeTableTdBorderType(TdBorder.LEFT);
16313
+ }
16314
+ },
15932
16315
  {
15933
16316
  key: BORDER_TD_FORWARD,
15934
16317
  i18nPath: "contextmenu.table.borderTdForward",
@@ -16659,6 +17042,12 @@ const defaultPageBreakOption = {
16659
17042
  const defaultZoneOption = {
16660
17043
  tipDisabled: true
16661
17044
  };
17045
+ const defaultBackground = {
17046
+ color: "#FFFFFF",
17047
+ image: "",
17048
+ size: BackgroundSize.COVER,
17049
+ repeat: BackgroundRepeat.NO_REPEAT
17050
+ };
16662
17051
  class Editor {
16663
17052
  constructor(container, data2, options = {}) {
16664
17053
  __publicField(this, "command");
@@ -16680,9 +17069,11 @@ class Editor {
16680
17069
  const groupOptions = __spreadValues(__spreadValues({}, defaultGroupOption), options.group);
16681
17070
  const pageBreakOptions = __spreadValues(__spreadValues({}, defaultPageBreakOption), options.pageBreak);
16682
17071
  const zoneOptions = __spreadValues(__spreadValues({}, defaultZoneOption), options.zone);
17072
+ const backgroundOptions = __spreadValues(__spreadValues({}, defaultBackground), options.background);
16683
17073
  const editorOptions = __spreadProps(__spreadValues({
16684
17074
  mode: EditorMode.EDIT,
16685
17075
  defaultType: "TEXT",
17076
+ defaultColor: "#000000",
16686
17077
  defaultFont: "Microsoft YaHei",
16687
17078
  defaultSize: 16,
16688
17079
  minSize: 5,
@@ -16694,7 +17085,6 @@ class Editor {
16694
17085
  height: 1123,
16695
17086
  scale: 1,
16696
17087
  pageGap: 20,
16697
- backgroundColor: "#FFFFFF",
16698
17088
  underlineColor: "#000000",
16699
17089
  strikeoutColor: "#FF0000",
16700
17090
  rangeAlpha: 0.6,
@@ -16735,7 +17125,8 @@ class Editor {
16735
17125
  placeholder: placeholderOptions,
16736
17126
  group: groupOptions,
16737
17127
  pageBreak: pageBreakOptions,
16738
- zone: zoneOptions
17128
+ zone: zoneOptions,
17129
+ background: backgroundOptions
16739
17130
  });
16740
17131
  data2 = deepClone(data2);
16741
17132
  let headerElementList = [];
@@ -16783,5 +17174,5 @@ class Editor {
16783
17174
  this.use = plugin.use.bind(plugin);
16784
17175
  }
16785
17176
  }
16786
- 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 };
17177
+ 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 };
16787
17178
  //# sourceMappingURL=canvas-editor.es.js.map