@hufe921/canvas-editor 0.9.96 → 0.9.97

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;cursor:pointer;transition:all .3s}.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:hover{background-color:#dadce0}.ce-table-tool__row .ce-table-tool__row__item:last-child:after{display:none}.ce-table-tool__quick__add{width:16px;height:16px;position:absolute;border-radius:50%;background-color:#e2e6ed;cursor:pointer}.ce-table-tool__quick__add:after{content:"+";color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}.ce-table-tool__select{width:16px;height:18px;position:absolute;border-radius:3px;cursor:pointer}.ce-table-tool__select:hover{background-color:#e2e6ed}.ce-table-tool__select:after{content:":::";color:#aaaaab;position:absolute;top:50%;left:50%;transform:translate(-75%,-50%) rotate(-90deg)}.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;cursor:pointer;transition:all .3s}.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:hover{background-color:#dadce0}.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;pointer-events:none}.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;pointer-events:initial}.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;z-index:9;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-dash{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMyAzaC0xVjJoMWExIDEgMCAwMTEgMXYxaC0xVjN6bS0zLTF2MUg4LjV2MmgtMVYzSDZWMmg0ek00IDJ2MUgzdjFIMlYzYTEgMSAwIDAxMS0xaDF6TTIgNmgxdjEuNWgydjFIM1YxMEgyVjZ6bTAgNmgxdjFoMXYxSDNhMSAxIDAgMDEtMS0xdi0xem00IDJ2LTFoMS41di0yaDF2MkgxMHYxSDZ6bTYgMHYtMWgxdi0xaDF2MWExIDEgMCAwMS0xIDFoLTF6bTItNGgtMVY4LjVoLTJ2LTFoMlY2aDF2NHpNOC41IDcuNXYtMWgtMXYxaC0xdjFoMXYxaDF2LTFoMXYtMWgtMXoiIGZpbGw9IiMwMDAwMDAiLz48L3N2Zz4=)}.ce-contextmenu-border-external{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iIzNENDc1NyIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOSA1VjNIOHYyaDF6bTAgOXYtMkg4djJoMXpNNSA4SDN2MWgyVjh6bTkgMGgtMnYxaDJWOHpNOSA3djFoMXYxSDl2MUg4VjlIN1Y4aDFWN2gxeiIgZmlsbD0iI0FBQUNCMCIvPjwvc3ZnPg==)}.ce-contextmenu-border-internal{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOSA1VjNIOHYyaDF6bTAgOXYtMkg4djJoMXpNNSA4SDN2MWgyVjh6bTkgMGgtMnYxaDJWOHpNOSA3djFoMXYxSDl2MUg4VjlIN1Y4aDFWN2gxeiIgZmlsbD0iIzNENDc1NyIvPjwvc3ZnPg==)}.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}}.ce-float-image{position:absolute;opacity:.5;pointer-events:none}')),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;cursor:pointer;transition:all .3s}.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:hover{background-color:#dadce0}.ce-table-tool__row .ce-table-tool__row__item:last-child:after{display:none}.ce-table-tool__quick__add{width:16px;height:16px;position:absolute;border-radius:50%;background-color:#e2e6ed;cursor:pointer}.ce-table-tool__quick__add:after{content:"+";color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}.ce-table-tool__select{width:16px;height:18px;position:absolute;border-radius:3px;cursor:pointer}.ce-table-tool__select:hover{background-color:#e2e6ed}.ce-table-tool__select:after{content:":::";color:#aaaaab;position:absolute;top:50%;left:50%;transform:translate(-75%,-50%) rotate(-90deg)}.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;cursor:pointer;transition:all .3s}.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:hover{background-color:#dadce0}.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;pointer-events:none}.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;pointer-events:initial}.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;z-index:9;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-dash{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMyAzaC0xVjJoMWExIDEgMCAwMTEgMXYxaC0xVjN6bS0zLTF2MUg4LjV2MmgtMVYzSDZWMmg0ek00IDJ2MUgzdjFIMlYzYTEgMSAwIDAxMS0xaDF6TTIgNmgxdjEuNWgydjFIM1YxMEgyVjZ6bTAgNmgxdjFoMXYxSDNhMSAxIDAgMDEtMS0xdi0xem00IDJ2LTFoMS41di0yaDF2MkgxMHYxSDZ6bTYgMHYtMWgxdi0xaDF2MWExIDEgMCAwMS0xIDFoLTF6bTItNGgtMVY4LjVoLTJ2LTFoMlY2aDF2NHpNOC41IDcuNXYtMWgtMXYxaC0xdjFoMXYxaDF2LTFoMXYtMWgtMXoiIGZpbGw9IiMwMDAwMDAiLz48L3N2Zz4=)}.ce-contextmenu-border-external{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iIzNENDc1NyIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOSA1VjNIOHYyaDF6bTAgOXYtMkg4djJoMXpNNSA4SDN2MWgyVjh6bTkgMGgtMnYxaDJWOHpNOSA3djFoMXYxSDl2MUg4VjlIN1Y4aDFWN2gxeiIgZmlsbD0iI0FBQUNCMCIvPjwvc3ZnPg==)}.ce-contextmenu-border-internal{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuNSAzYS41LjUgMCAwMS41LS41aDExYS41LjUgMCAwMS41LjV2MTFhLjUuNSAwIDAxLS41LjVIM2EuNS41IDAgMDEtLjUtLjVWM3oiIHN0cm9rZT0iI0FBQUNCMCIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOSA1VjNIOHYyaDF6bTAgOXYtMkg4djJoMXpNNSA4SDN2MWgyVjh6bTkgMGgtMnYxaDJWOHpNOSA3djFoMXYxSDl2MUg4VjlIN1Y4aDFWN2gxeiIgZmlsbD0iIzNENDc1NyIvPjwvc3ZnPg==)}.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;top: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}}.ce-float-image{position:absolute;opacity:.5;pointer-events:none}')),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.96";
26
+ const version = "0.9.97";
27
27
  var MaxHeightRatio;
28
28
  (function(MaxHeightRatio2) {
29
29
  MaxHeightRatio2["HALF"] = "half";
@@ -384,6 +384,9 @@ function isRectIntersect(rect1, rect2) {
384
384
  }
385
385
  return true;
386
386
  }
387
+ function isNonValue(value) {
388
+ return value === void 0 || value === null;
389
+ }
387
390
  const CURSOR_AGENT_OFFSET_HEIGHT = 12;
388
391
  const defaultCursorOption = {
389
392
  width: 1,
@@ -412,6 +415,7 @@ var ElementType;
412
415
  ElementType2["SEPARATOR"] = "separator";
413
416
  ElementType2["PAGE_BREAK"] = "pageBreak";
414
417
  ElementType2["CONTROL"] = "control";
418
+ ElementType2["AREA"] = "area";
415
419
  ElementType2["CHECKBOX"] = "checkbox";
416
420
  ElementType2["RADIO"] = "radio";
417
421
  ElementType2["LATEX"] = "latex";
@@ -445,6 +449,7 @@ const EDITOR_ELEMENT_COPY_ATTR = [
445
449
  "strikeout",
446
450
  "rowFlex",
447
451
  "url",
452
+ "areaId",
448
453
  "hyperlinkId",
449
454
  "dateId",
450
455
  "dateFormat",
@@ -488,7 +493,9 @@ const EDITOR_ELEMENT_ZIP_ATTR = [
488
493
  "imgFloatPosition",
489
494
  "textDecoration",
490
495
  "extension",
491
- "externalId"
496
+ "externalId",
497
+ "areaId",
498
+ "area"
492
499
  ];
493
500
  const TABLE_TD_ZIP_ATTR = [
494
501
  "conceptId",
@@ -527,10 +534,12 @@ const CONTROL_STYLE_ATTR = [
527
534
  "italic",
528
535
  "strikeout"
529
536
  ];
537
+ const AREA_CONTEXT_ATTR = ["areaId", "area"];
530
538
  const EDITOR_ELEMENT_CONTEXT_ATTR = [
531
539
  ...TABLE_CONTEXT_ATTR,
532
540
  ...TITLE_CONTEXT_ATTR,
533
- ...LIST_CONTEXT_ATTR
541
+ ...LIST_CONTEXT_ATTR,
542
+ ...AREA_CONTEXT_ATTR
534
543
  ];
535
544
  const TEXTLIKE_ELEMENT_TYPE = [
536
545
  ElementType.TEXT,
@@ -3773,6 +3782,11 @@ var ControlIndentation;
3773
3782
  ControlIndentation2["ROW_START"] = "rowStart";
3774
3783
  ControlIndentation2["VALUE_START"] = "valueStart";
3775
3784
  })(ControlIndentation || (ControlIndentation = {}));
3785
+ var ControlState;
3786
+ (function(ControlState2) {
3787
+ ControlState2["ACTIVE"] = "active";
3788
+ ControlState2["INACTIVE"] = "inactive";
3789
+ })(ControlState || (ControlState = {}));
3776
3790
  var BackgroundSize;
3777
3791
  (function(BackgroundSize2) {
3778
3792
  BackgroundSize2["CONTAIN"] = "contain";
@@ -4064,6 +4078,7 @@ function unzipElementList(elementList) {
4064
4078
  return result;
4065
4079
  }
4066
4080
  function formatElementList(elementList, options) {
4081
+ var _a;
4067
4082
  const { isHandleFirstElement = true, isForceCompensation = false, editorOptions } = options;
4068
4083
  const startElement = elementList[0];
4069
4084
  if (isForceCompensation || isHandleFirstElement && (startElement == null ? void 0 : startElement.type) !== ElementType.LIST && ((startElement == null ? void 0 : startElement.type) && startElement.type !== ElementType.TEXT || !START_LINE_BREAK_REG.test(startElement == null ? void 0 : startElement.value))) {
@@ -4082,7 +4097,7 @@ function formatElementList(elementList, options) {
4082
4097
  isForceCompensation: false
4083
4098
  }));
4084
4099
  if (valueList.length) {
4085
- const titleId = getUUID();
4100
+ const titleId = el.titleId || getUUID();
4086
4101
  const titleOptions = editorOptions.title;
4087
4102
  for (let v = 0; v < valueList.length; v++) {
4088
4103
  const value = valueList[v];
@@ -4123,6 +4138,39 @@ function formatElementList(elementList, options) {
4123
4138
  }
4124
4139
  }
4125
4140
  i--;
4141
+ } else if (el.type === ElementType.AREA) {
4142
+ elementList.splice(i, 1);
4143
+ const valueList = (el == null ? void 0 : el.valueList) || [];
4144
+ formatElementList(valueList, __spreadProps(__spreadValues({}, options), {
4145
+ isHandleFirstElement: false,
4146
+ isForceCompensation: false
4147
+ }));
4148
+ if (valueList.length) {
4149
+ const areaId = getUUID();
4150
+ for (let v = 0; v < valueList.length; v++) {
4151
+ const value = valueList[v];
4152
+ value.areaId = el.areaId || areaId;
4153
+ value.area = el.area;
4154
+ if (value.type === ElementType.TABLE) {
4155
+ const trList = value.trList;
4156
+ for (let r = 0; r < trList.length; r++) {
4157
+ const tr = trList[r];
4158
+ for (let d = 0; d < tr.tdList.length; d++) {
4159
+ const td = tr.tdList[d];
4160
+ const tdValueList = td.value;
4161
+ for (let t = 0; t < tdValueList.length; t++) {
4162
+ const tdValue = tdValueList[t];
4163
+ tdValue.areaId = el.areaId || areaId;
4164
+ tdValue.area = el.area;
4165
+ }
4166
+ }
4167
+ }
4168
+ }
4169
+ elementList.splice(i, 0, value);
4170
+ i++;
4171
+ }
4172
+ }
4173
+ i--;
4126
4174
  } else if (el.type === ElementType.TABLE) {
4127
4175
  const tableId = getUUID();
4128
4176
  el.id = tableId;
@@ -4192,7 +4240,7 @@ function formatElementList(elementList, options) {
4192
4240
  }
4193
4241
  const { prefix, postfix, value, placeholder, code, type, valueSets } = el.control;
4194
4242
  const { editorOptions: { control: controlOption, checkbox: checkboxOption, radio: radioOption } } = options;
4195
- const controlId = getUUID();
4243
+ const controlId = el.controlId || getUUID();
4196
4244
  elementList.splice(i, 1);
4197
4245
  const controlContext = pickObject(el, [
4198
4246
  ...EDITOR_ELEMENT_CONTEXT_ATTR,
@@ -4345,7 +4393,7 @@ function formatElementList(elementList, options) {
4345
4393
  i++;
4346
4394
  }
4347
4395
  i--;
4348
- } else if ((!el.type || TEXTLIKE_ELEMENT_TYPE.includes(el.type)) && el.value.length > 1) {
4396
+ } else if ((!el.type || TEXTLIKE_ELEMENT_TYPE.includes(el.type)) && ((_a = el.value) == null ? void 0 : _a.length) > 1) {
4349
4397
  elementList.splice(i, 1);
4350
4398
  const valueList = splitText(el.value);
4351
4399
  for (let v = 0; v < valueList.length; v++) {
@@ -4406,7 +4454,7 @@ function pickElementAttr(payload, option = {}) {
4406
4454
  return element;
4407
4455
  }
4408
4456
  function zipElementList(payload, options = {}) {
4409
- const { extraPickAttrs } = options;
4457
+ const { extraPickAttrs, isClassifyArea = false } = options;
4410
4458
  const elementList = deepClone(payload);
4411
4459
  const zipElementListData = [];
4412
4460
  let e = 0;
@@ -4423,6 +4471,7 @@ function zipElementList(payload, options = {}) {
4423
4471
  const titleElement = {
4424
4472
  type: ElementType.TITLE,
4425
4473
  title: element.title,
4474
+ titleId,
4426
4475
  value: "",
4427
4476
  level
4428
4477
  };
@@ -4468,6 +4517,35 @@ function zipElementList(payload, options = {}) {
4468
4517
  listElement.valueList = zipElementList(valueList, options);
4469
4518
  element = listElement;
4470
4519
  }
4520
+ } else if (element.areaId && element.area) {
4521
+ const areaId = element.areaId;
4522
+ const area = element.area;
4523
+ const valueList = [];
4524
+ while (e < elementList.length) {
4525
+ const areaE = elementList[e];
4526
+ if (areaId !== areaE.areaId) {
4527
+ e--;
4528
+ break;
4529
+ }
4530
+ delete areaE.area;
4531
+ delete areaE.areaId;
4532
+ valueList.push(areaE);
4533
+ e++;
4534
+ }
4535
+ const areaElementList = zipElementList(valueList, options);
4536
+ if (isClassifyArea) {
4537
+ const areaElement = {
4538
+ type: ElementType.AREA,
4539
+ value: "",
4540
+ areaId,
4541
+ area
4542
+ };
4543
+ areaElement.valueList = areaElementList;
4544
+ element = areaElement;
4545
+ } else {
4546
+ zipElementListData.splice(e, 0, ...areaElementList);
4547
+ continue;
4548
+ }
4471
4549
  } else if (element.type === ElementType.TABLE) {
4472
4550
  if (element.pagingId) {
4473
4551
  let tableIndex = e + 1;
@@ -4494,7 +4572,9 @@ function zipElementList(payload, options = {}) {
4494
4572
  const zipTd = {
4495
4573
  colspan: td.colspan,
4496
4574
  rowspan: td.rowspan,
4497
- value: zipElementList(td.value, options)
4575
+ value: zipElementList(td.value, __spreadProps(__spreadValues({}, options), {
4576
+ isClassifyArea: false
4577
+ }))
4498
4578
  };
4499
4579
  TABLE_TD_ZIP_ATTR.forEach((attr) => {
4500
4580
  const value = td[attr];
@@ -4645,7 +4725,7 @@ function getAnchorElement(elementList, anchorIndex) {
4645
4725
  if (!anchorElement)
4646
4726
  return null;
4647
4727
  const anchorNextElement = elementList[anchorIndex + 1];
4648
- return !anchorElement.listId && anchorElement.value === ZERO && anchorNextElement && anchorNextElement.value !== ZERO ? anchorNextElement : anchorElement;
4728
+ return !anchorElement.listId && anchorElement.value === ZERO && anchorNextElement && anchorNextElement.value !== ZERO && anchorElement.areaId === anchorNextElement.areaId ? anchorNextElement : anchorElement;
4649
4729
  }
4650
4730
  function formatElementContext(sourceElementList, formatElementList2, anchorIndex, options) {
4651
4731
  var _a, _b, _c;
@@ -4664,7 +4744,11 @@ function formatElementContext(sourceElementList, formatElementList2, anchorIndex
4664
4744
  isBreakWarped = true;
4665
4745
  }
4666
4746
  if (isBreakWarped || !copyElement.listId && targetElement.type === ElementType.LIST) {
4667
- const cloneAttr2 = [...TABLE_CONTEXT_ATTR, ...EDITOR_ROW_ATTR];
4747
+ const cloneAttr2 = [
4748
+ ...TABLE_CONTEXT_ATTR,
4749
+ ...EDITOR_ROW_ATTR,
4750
+ ...AREA_CONTEXT_ATTR
4751
+ ];
4668
4752
  cloneProperty(cloneAttr2, copyElement, targetElement);
4669
4753
  (_b = targetElement.valueList) == null ? void 0 : _b.forEach((valueItem) => {
4670
4754
  cloneProperty(cloneAttr2, copyElement, valueItem);
@@ -6527,7 +6611,7 @@ function del(evt, host) {
6527
6611
  }
6528
6612
  }
6529
6613
  function enter(evt, host) {
6530
- var _a, _b;
6614
+ var _a, _b, _c;
6531
6615
  const draw = host.getDraw();
6532
6616
  if (draw.isReadonly())
6533
6617
  return;
@@ -6543,7 +6627,7 @@ function enter(evt, host) {
6543
6627
  draw.getListParticle().unsetList();
6544
6628
  return;
6545
6629
  }
6546
- const enterText = {
6630
+ let enterText = {
6547
6631
  value: ZERO
6548
6632
  };
6549
6633
  if (evt.shiftKey && startElement.listId) {
@@ -6553,8 +6637,11 @@ function enter(evt, host) {
6553
6637
  isBreakWhenWrap: true,
6554
6638
  editorOptions: draw.getOptions()
6555
6639
  });
6556
- if (!(endElement.titleId && endElement.titleId !== ((_b = elementList[endIndex + 1]) == null ? void 0 : _b.titleId))) {
6557
- const copyElement = getAnchorElement(elementList, endIndex);
6640
+ if (evt.shiftKey && endElement.areaId && endElement.areaId !== ((_b = elementList[endIndex + 1]) == null ? void 0 : _b.areaId)) {
6641
+ enterText = omitObject(enterText, AREA_CONTEXT_ATTR);
6642
+ }
6643
+ if (!(endElement.titleId && endElement.titleId !== ((_c = elementList[endIndex + 1]) == null ? void 0 : _c.titleId))) {
6644
+ const copyElement = rangeManager.getRangeAnchorStyle(elementList, endIndex);
6558
6645
  if (copyElement) {
6559
6646
  const copyAttr = [...EDITOR_ROW_ATTR];
6560
6647
  if (copyElement.controlComponent !== ControlComponent.POSTFIX) {
@@ -7266,7 +7353,7 @@ function input(data2, host) {
7266
7353
  `, ZERO);
7267
7354
  const { startIndex, endIndex } = rangeManager.getRange();
7268
7355
  const elementList = draw.getElementList();
7269
- const copyElement = getAnchorElement(elementList, endIndex);
7356
+ const copyElement = rangeManager.getRangeAnchorStyle(elementList, endIndex);
7270
7357
  if (!copyElement)
7271
7358
  return;
7272
7359
  const isDesignMode = draw.isDesignMode();
@@ -8081,6 +8168,7 @@ class Position {
8081
8168
  }
8082
8169
  }
8083
8170
  x += curRow.offsetX || 0;
8171
+ y += curRow.offsetY || 0;
8084
8172
  const tablePreX = x;
8085
8173
  const tablePreY = y;
8086
8174
  for (let j = 0; j < curRow.elementList.length; j++) {
@@ -8441,7 +8529,7 @@ class Position {
8441
8529
  }
8442
8530
  }
8443
8531
  const margins = this.draw.getMargins();
8444
- if (y <= margins[1]) {
8532
+ if (y <= margins[0]) {
8445
8533
  for (let p = 0; p < positionList.length; p++) {
8446
8534
  const position = positionList[p];
8447
8535
  if (position.pageNo !== positionNo || position.rowNo !== 0)
@@ -8593,6 +8681,7 @@ class RangeManager {
8593
8681
  __publicField(this, "eventBus");
8594
8682
  __publicField(this, "position");
8595
8683
  __publicField(this, "historyManager");
8684
+ __publicField(this, "defaultStyle");
8596
8685
  this.draw = draw;
8597
8686
  this.options = draw.getOptions();
8598
8687
  this.listener = draw.getListener();
@@ -8603,6 +8692,7 @@ class RangeManager {
8603
8692
  startIndex: -1,
8604
8693
  endIndex: -1
8605
8694
  };
8695
+ this.defaultStyle = null;
8606
8696
  }
8607
8697
  getRange() {
8608
8698
  return this.range;
@@ -8610,6 +8700,22 @@ class RangeManager {
8610
8700
  clearRange() {
8611
8701
  this.setRange(-1, -1);
8612
8702
  }
8703
+ setDefaultStyle(style) {
8704
+ if (!style) {
8705
+ this.defaultStyle = null;
8706
+ } else {
8707
+ this.defaultStyle = __spreadValues(__spreadValues({}, this.defaultStyle), style);
8708
+ }
8709
+ }
8710
+ getDefaultStyle() {
8711
+ return this.defaultStyle;
8712
+ }
8713
+ getRangeAnchorStyle(elementList, anchorIndex) {
8714
+ const anchorElement = getAnchorElement(elementList, anchorIndex);
8715
+ if (!anchorElement)
8716
+ return null;
8717
+ return __spreadValues(__spreadValues({}, anchorElement), this.defaultStyle);
8718
+ }
8613
8719
  getIsCollapsed() {
8614
8720
  const { startIndex, endIndex } = this.range;
8615
8721
  return startIndex === endIndex;
@@ -8872,6 +8978,7 @@ class RangeManager {
8872
8978
  this.range.startTrIndex = startTrIndex;
8873
8979
  this.range.endTrIndex = endTrIndex;
8874
8980
  this.range.isCrossRowCol = !!(startTdIndex || endTdIndex || startTrIndex || endTrIndex);
8981
+ this.setDefaultStyle(null);
8875
8982
  this.range.zone = this.draw.getZone().getZone();
8876
8983
  const control = this.draw.getControl();
8877
8984
  if (~startIndex && ~endIndex) {
@@ -8904,7 +9011,7 @@ class RangeManager {
8904
9011
  } else {
8905
9012
  const index2 = ~endIndex ? endIndex : 0;
8906
9013
  const elementList = this.draw.getElementList();
8907
- curElement = getAnchorElement(elementList, index2);
9014
+ curElement = this.getRangeAnchorStyle(elementList, index2);
8908
9015
  }
8909
9016
  if (!curElement)
8910
9017
  return;
@@ -11186,7 +11293,8 @@ class SelectControl {
11186
11293
  __publicField(this, "isPopup");
11187
11294
  __publicField(this, "selectDom");
11188
11295
  __publicField(this, "options");
11189
- this.options = control.getDraw().getOptions();
11296
+ const draw = control.getDraw();
11297
+ this.options = draw.getOptions();
11190
11298
  this.element = element;
11191
11299
  this.control = control;
11192
11300
  this.isPopup = false;
@@ -11436,7 +11544,8 @@ class TextControl {
11436
11544
  __publicField(this, "element");
11437
11545
  __publicField(this, "control");
11438
11546
  __publicField(this, "options");
11439
- this.options = control.getDraw().getOptions();
11547
+ const draw = control.getDraw();
11548
+ this.options = draw.getOptions();
11440
11549
  this.element = element;
11441
11550
  this.control = control;
11442
11551
  }
@@ -12327,6 +12436,7 @@ class Control {
12327
12436
  __publicField(this, "options");
12328
12437
  __publicField(this, "controlOptions");
12329
12438
  __publicField(this, "activeControl");
12439
+ __publicField(this, "activeControlValue");
12330
12440
  this.controlBorder = new ControlBorder(draw);
12331
12441
  this.draw = draw;
12332
12442
  this.range = draw.getRange();
@@ -12336,6 +12446,7 @@ class Control {
12336
12446
  this.options = draw.getOptions();
12337
12447
  this.controlOptions = this.options.control;
12338
12448
  this.activeControl = null;
12449
+ this.activeControlValue = [];
12339
12450
  }
12340
12451
  setHighlightList(payload) {
12341
12452
  this.controlSearch.setHighlightList(payload);
@@ -12490,10 +12601,13 @@ class Control {
12490
12601
  getActiveControl() {
12491
12602
  return this.activeControl;
12492
12603
  }
12604
+ updateActiveControlValue() {
12605
+ if (this.activeControl) {
12606
+ this.activeControlValue = this.activeControl.getValue();
12607
+ }
12608
+ }
12493
12609
  initControl() {
12494
- const isReadonly = this.draw.isReadonly();
12495
- if (isReadonly)
12496
- return;
12610
+ var _a, _b;
12497
12611
  const elementList = this.getElementList();
12498
12612
  const range = this.getRange();
12499
12613
  const element = elementList[range.startIndex];
@@ -12506,10 +12620,15 @@ class Control {
12506
12620
  }
12507
12621
  }
12508
12622
  const controlElement = this.activeControl.getElement();
12509
- if (element.controlId === controlElement.controlId)
12623
+ if (element.controlId === controlElement.controlId) {
12624
+ this.updateActiveControlValue();
12510
12625
  return;
12626
+ }
12511
12627
  }
12512
12628
  this.destroyControl();
12629
+ const isReadonly = this.draw.isReadonly();
12630
+ if (isReadonly)
12631
+ return;
12513
12632
  const control = element.control;
12514
12633
  if (control.type === ControlType.TEXT) {
12515
12634
  this.activeControl = new TextControl(element, this);
@@ -12526,46 +12645,61 @@ class Control {
12526
12645
  this.activeControl = dateControl;
12527
12646
  dateControl.awake();
12528
12647
  }
12529
- nextTick(() => {
12530
- var _a;
12531
- const controlChangeListener = this.listener.controlChange;
12532
- const isSubscribeControlChange = this.eventBus.isSubscribe("controlChange");
12533
- if (!controlChangeListener && !isSubscribeControlChange)
12534
- return;
12535
- let payload;
12536
- const value = (_a = this.activeControl) == null ? void 0 : _a.getValue();
12537
- if (value && value.length) {
12538
- payload = zipElementList(value)[0].control;
12648
+ this.updateActiveControlValue();
12649
+ const isSubscribeControlChange = this.eventBus.isSubscribe("controlChange");
12650
+ if (this.listener.controlChange || isSubscribeControlChange) {
12651
+ let control2;
12652
+ const value = this.activeControlValue;
12653
+ if (value == null ? void 0 : value.length) {
12654
+ control2 = zipElementList(value)[0].control;
12539
12655
  } else {
12540
- payload = pickElementAttr(deepClone(element)).control;
12541
- }
12542
- if (controlChangeListener) {
12543
- controlChangeListener(payload);
12656
+ control2 = pickElementAttr(deepClone(element)).control;
12657
+ control2.value = [];
12544
12658
  }
12659
+ const payload = {
12660
+ control: control2,
12661
+ controlId: element.controlId,
12662
+ state: ControlState.ACTIVE
12663
+ };
12664
+ (_b = (_a = this.listener).controlChange) == null ? void 0 : _b.call(_a, payload);
12545
12665
  if (isSubscribeControlChange) {
12546
12666
  this.eventBus.emit("controlChange", payload);
12547
12667
  }
12548
- });
12668
+ }
12549
12669
  }
12550
- destroyControl() {
12551
- if (this.activeControl) {
12552
- if (this.activeControl instanceof SelectControl || this.activeControl instanceof DateControl) {
12553
- this.activeControl.destroy();
12554
- }
12555
- this.activeControl = null;
12556
- nextTick(() => {
12557
- const controlChangeListener = this.listener.controlChange;
12558
- const isSubscribeControlChange = this.eventBus.isSubscribe("controlChange");
12559
- if (!controlChangeListener && !isSubscribeControlChange)
12560
- return;
12561
- if (controlChangeListener) {
12562
- controlChangeListener(null);
12670
+ destroyControl(options = {}) {
12671
+ var _a, _b;
12672
+ if (!this.activeControl)
12673
+ return;
12674
+ const { isEmitEvent = true } = options;
12675
+ if (this.activeControl instanceof SelectControl || this.activeControl instanceof DateControl) {
12676
+ this.activeControl.destroy();
12677
+ }
12678
+ if (isEmitEvent) {
12679
+ const isSubscribeControlChange = this.eventBus.isSubscribe("controlChange");
12680
+ if (this.listener.controlChange || isSubscribeControlChange) {
12681
+ let control;
12682
+ const value = this.activeControlValue;
12683
+ const activeElement = this.activeControl.getElement();
12684
+ if (value == null ? void 0 : value.length) {
12685
+ control = zipElementList(value)[0].control;
12686
+ } else {
12687
+ control = pickElementAttr(deepClone(activeElement)).control;
12688
+ control.value = [];
12563
12689
  }
12690
+ const payload = {
12691
+ control,
12692
+ controlId: activeElement.controlId,
12693
+ state: ControlState.INACTIVE
12694
+ };
12695
+ (_b = (_a = this.listener).controlChange) == null ? void 0 : _b.call(_a, payload);
12564
12696
  if (isSubscribeControlChange) {
12565
- this.eventBus.emit("controlChange", null);
12697
+ this.eventBus.emit("controlChange", payload);
12566
12698
  }
12567
- });
12699
+ }
12568
12700
  }
12701
+ this.activeControl = null;
12702
+ this.activeControlValue = [];
12569
12703
  }
12570
12704
  repaintControl(options = {}) {
12571
12705
  const { curIndex, isCompute = true, isSubmitHistory = true, isSetCursor = true } = options;
@@ -12728,7 +12862,7 @@ class Control {
12728
12862
  for (let p = 0; p < placeholderStrList.length; p++) {
12729
12863
  const value = placeholderStrList[p];
12730
12864
  const newElement = __spreadProps(__spreadValues({}, anchorElementStyleAttr), {
12731
- value,
12865
+ value: value === "\n" ? ZERO : value,
12732
12866
  controlId: startElement.controlId,
12733
12867
  type: ElementType.CONTROL,
12734
12868
  control: startElement.control,
@@ -12760,7 +12894,7 @@ class Control {
12760
12894
  return this.activeControl.cut();
12761
12895
  }
12762
12896
  getValueById(payload) {
12763
- const { id, conceptId } = payload;
12897
+ const { id, conceptId, areaId } = payload;
12764
12898
  const result = [];
12765
12899
  if (!id && !conceptId)
12766
12900
  return result;
@@ -12779,7 +12913,7 @@ class Control {
12779
12913
  }
12780
12914
  }
12781
12915
  }
12782
- if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId) {
12916
+ if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId || areaId && element.areaId !== areaId) {
12783
12917
  continue;
12784
12918
  }
12785
12919
  const { type, code, valueSets } = element.control;
@@ -12838,7 +12972,7 @@ class Control {
12838
12972
  }
12839
12973
  setValueById(payload) {
12840
12974
  let isExistSet = false;
12841
- const { id, conceptId, value } = payload;
12975
+ const { id, conceptId, areaId, value } = payload;
12842
12976
  if (!id && !conceptId)
12843
12977
  return;
12844
12978
  const setValue = (elementList) => {
@@ -12856,7 +12990,7 @@ class Control {
12856
12990
  }
12857
12991
  }
12858
12992
  }
12859
- if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId) {
12993
+ if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId || areaId && element.areaId !== areaId) {
12860
12994
  continue;
12861
12995
  }
12862
12996
  isExistSet = true;
@@ -12938,7 +13072,9 @@ class Control {
12938
13072
  i = newEndIndex;
12939
13073
  }
12940
13074
  };
12941
- this.destroyControl();
13075
+ this.destroyControl({
13076
+ isEmitEvent: false
13077
+ });
12942
13078
  const data2 = [
12943
13079
  this.draw.getHeaderElementList(),
12944
13080
  this.draw.getOriginalMainElementList(),
@@ -12954,7 +13090,7 @@ class Control {
12954
13090
  }
12955
13091
  }
12956
13092
  setExtensionById(payload) {
12957
- const { id, conceptId, extension } = payload;
13093
+ const { id, conceptId, areaId, extension } = payload;
12958
13094
  if (!id && !conceptId)
12959
13095
  return;
12960
13096
  const setExtension = (elementList) => {
@@ -12972,7 +13108,7 @@ class Control {
12972
13108
  }
12973
13109
  }
12974
13110
  }
12975
- if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId) {
13111
+ if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId || areaId && element.areaId !== areaId) {
12976
13112
  continue;
12977
13113
  }
12978
13114
  element.control.extension = extension;
@@ -12996,7 +13132,7 @@ class Control {
12996
13132
  }
12997
13133
  }
12998
13134
  setPropertiesById(payload) {
12999
- const { id, conceptId, properties } = payload;
13135
+ const { id, conceptId, areaId, properties } = payload;
13000
13136
  if (!id && !conceptId)
13001
13137
  return;
13002
13138
  let isExistUpdate = false;
@@ -13015,7 +13151,7 @@ class Control {
13015
13151
  }
13016
13152
  }
13017
13153
  }
13018
- if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId) {
13154
+ if (!element.control || id && element.controlId !== id || conceptId && element.control.conceptId !== conceptId || areaId && element.areaId !== areaId) {
13019
13155
  continue;
13020
13156
  }
13021
13157
  isExistUpdate = true;
@@ -13051,7 +13187,9 @@ class Control {
13051
13187
  return;
13052
13188
  for (const key in pageComponentData) {
13053
13189
  const pageComponentKey = key;
13054
- const elementList = zipElementList(pageComponentData[pageComponentKey]);
13190
+ const elementList = zipElementList(pageComponentData[pageComponentKey], {
13191
+ isClassifyArea: true
13192
+ });
13055
13193
  pageComponentData[pageComponentKey] = elementList;
13056
13194
  formatElementList(elementList, {
13057
13195
  editorOptions: this.options,
@@ -13533,7 +13671,7 @@ function WorkerWrapper$2() {
13533
13671
  objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);
13534
13672
  }
13535
13673
  }
13536
- const encodedJs$1 = "KCgpPT57KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBsOyhmdW5jdGlvbih0KXt0LlRFWFQ9InRleHQiLHQuSU1BR0U9ImltYWdlIix0LlRBQkxFPSJ0YWJsZSIsdC5IWVBFUkxJTks9Imh5cGVybGluayIsdC5TVVBFUlNDUklQVD0ic3VwZXJzY3JpcHQiLHQuU1VCU0NSSVBUPSJzdWJzY3JpcHQiLHQuU0VQQVJBVE9SPSJzZXBhcmF0b3IiLHQuUEFHRV9CUkVBSz0icGFnZUJyZWFrIix0LkNPTlRST0w9ImNvbnRyb2wiLHQuQ0hFQ0tCT1g9ImNoZWNrYm94Iix0LlJBRElPPSJyYWRpbyIsdC5MQVRFWD0ibGF0ZXgiLHQuVEFCPSJ0YWIiLHQuREFURT0iZGF0ZSIsdC5CTE9DSz0iYmxvY2siLHQuVElUTEU9InRpdGxlIix0LkxJU1Q9Imxpc3QifSkobHx8KGw9e30pKTt2YXIgYTsoZnVuY3Rpb24odCl7dC5GSVJTVD0iZmlyc3QiLHQuU0VDT05EPSJzZWNvbmQiLHQuVEhJUkQ9InRoaXJkIix0LkZPVVJUSD0iZm91cnRoIix0LkZJRlRIPSJmaWZ0aCIsdC5TSVhUSD0ic2l4dGgifSkoYXx8KGE9e30pKTtjb25zdCBnPXtbYS5GSVJTVF06MSxbYS5TRUNPTkRdOjIsW2EuVEhJUkRdOjMsW2EuRk9VUlRIXTo0LFthLkZJRlRIXTo1LFthLlNJWFRIXTo2fSxMPVtsLlRFWFQsbC5IWVBFUkxJTkssbC5TVUJTQ1JJUFQsbC5TVVBFUlNDUklQVCxsLkNPTlRST0wsbC5EQVRFXSxUPSJcdTIwMEIiO2Z1bmN0aW9uIGQodCl7cmV0dXJuIXQudHlwZXx8TC5pbmNsdWRlcyh0LnR5cGUpfWZ1bmN0aW9uIGYodCl7Y29uc3R7ZWxlbWVudExpc3Q6bixwb3NpdGlvbkxpc3Q6dn09dCxJPVtdO2xldCBpPTA7Zm9yKDtpPG4ubGVuZ3RoOyl7Y29uc3Qgcz1uW2ldO2lmKHMudGl0bGVJZCl7Y29uc3QgZT1zLnRpdGxlSWQsbz1zLmxldmVsLGM9e3R5cGU6bC5USVRMRSx2YWx1ZToiIixsZXZlbDpvLHRpdGxlSWQ6ZSxwYWdlTm86dltpXS5wYWdlTm99LHI9W107Zm9yKDtpPG4ubGVuZ3RoOyl7Y29uc3QgdT1uW2ldO2lmKGUhPT11LnRpdGxlSWQpe2ktLTticmVha31yLnB1c2godSksaSsrfWMudmFsdWU9ci5maWx0ZXIodT0+ZCh1KSkubWFwKHU9PnUudmFsdWUpLmpvaW4oIiIpLnJlcGxhY2UobmV3IFJlZ0V4cChULCJnIiksIiIpLEkucHVzaChjKX1pKyt9aWYoIUkubGVuZ3RoKXJldHVybiBudWxsO2NvbnN0IGg9KHMsZSk9Pntjb25zdCBvPWUuc3ViQ2F0YWxvZ1tlLnN1YkNhdGFsb2cubGVuZ3RoLTFdLGM9Z1tvPT1udWxsP3ZvaWQgMDpvLmxldmVsXSxyPWdbcy5sZXZlbF07byYmcj5jP2gocyxvKTplLnN1YkNhdGFsb2cucHVzaCh7aWQ6cy50aXRsZUlkLG5hbWU6cy52YWx1ZSxsZXZlbDpzLmxldmVsLHBhZ2VObzpzLnBhZ2VObyxzdWJDYXRhbG9nOltdfSl9LFI9W107Zm9yKGxldCBzPTA7czxJLmxlbmd0aDtzKyspe2NvbnN0IGU9SVtzXSxvPVJbUi5sZW5ndGgtMV0sYz1nW289PW51bGw/dm9pZCAwOm8ubGV2ZWxdLHI9Z1tlLmxldmVsXTtvJiZyPmM/aChlLG8pOlIucHVzaCh7aWQ6ZS50aXRsZUlkLG5hbWU6ZS52YWx1ZSxsZXZlbDplLmxldmVsLHBhZ2VObzplLnBhZ2VObyxzdWJDYXRhbG9nOltdfSl9cmV0dXJuIFJ9b25tZXNzYWdlPXQ9Pntjb25zdCBuPXQuZGF0YSx2PWYobik7cG9zdE1lc3NhZ2Uodil9fSkoKTt9KSgpOwo=";
13674
+ const encodedJs$1 = "KCgpPT57KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBhOyhmdW5jdGlvbih0KXt0LlRFWFQ9InRleHQiLHQuSU1BR0U9ImltYWdlIix0LlRBQkxFPSJ0YWJsZSIsdC5IWVBFUkxJTks9Imh5cGVybGluayIsdC5TVVBFUlNDUklQVD0ic3VwZXJzY3JpcHQiLHQuU1VCU0NSSVBUPSJzdWJzY3JpcHQiLHQuU0VQQVJBVE9SPSJzZXBhcmF0b3IiLHQuUEFHRV9CUkVBSz0icGFnZUJyZWFrIix0LkNPTlRST0w9ImNvbnRyb2wiLHQuQ0hFQ0tCT1g9ImNoZWNrYm94Iix0LlJBRElPPSJyYWRpbyIsdC5MQVRFWD0ibGF0ZXgiLHQuVEFCPSJ0YWIiLHQuREFURT0iZGF0ZSIsdC5CTE9DSz0iYmxvY2siLHQuVElUTEU9InRpdGxlIix0LkFSRUE9ImFyZWEiLHQuTElTVD0ibGlzdCJ9KShhfHwoYT17fSkpO3ZhciBsOyhmdW5jdGlvbih0KXt0LkZJUlNUPSJmaXJzdCIsdC5TRUNPTkQ9InNlY29uZCIsdC5USElSRD0idGhpcmQiLHQuRk9VUlRIPSJmb3VydGgiLHQuRklGVEg9ImZpZnRoIix0LlNJWFRIPSJzaXh0aCJ9KShsfHwobD17fSkpO2NvbnN0IGc9e1tsLkZJUlNUXToxLFtsLlNFQ09ORF06MixbbC5USElSRF06MyxbbC5GT1VSVEhdOjQsW2wuRklGVEhdOjUsW2wuU0lYVEhdOjZ9LEw9W2EuVEVYVCxhLkhZUEVSTElOSyxhLlNVQlNDUklQVCxhLlNVUEVSU0NSSVBULGEuQ09OVFJPTCxhLkRBVEVdLGQ9Ilx1MjAwQiI7ZnVuY3Rpb24gZih0KXtyZXR1cm4hdC50eXBlfHxMLmluY2x1ZGVzKHQudHlwZSl9ZnVuY3Rpb24gQyh0KXtjb25zdHtlbGVtZW50TGlzdDpuLHBvc2l0aW9uTGlzdDp2fT10LEk9W107bGV0IGk9MDtmb3IoO2k8bi5sZW5ndGg7KXtjb25zdCBzPW5baV07aWYocy50aXRsZUlkKXtjb25zdCBvPXMudGl0bGVJZCxlPXMubGV2ZWwsYz17dHlwZTphLlRJVExFLHZhbHVlOiIiLGxldmVsOmUsdGl0bGVJZDpvLHBhZ2VObzp2W2ldLnBhZ2VOb30scj1bXTtmb3IoO2k8bi5sZW5ndGg7KXtjb25zdCB1PW5baV07aWYobyE9PXUudGl0bGVJZCl7aS0tO2JyZWFrfXIucHVzaCh1KSxpKyt9Yy52YWx1ZT1yLmZpbHRlcih1PT5mKHUpKS5tYXAodT0+dS52YWx1ZSkuam9pbigiIikucmVwbGFjZShuZXcgUmVnRXhwKGQsImciKSwiIiksSS5wdXNoKGMpfWkrK31pZighSS5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgaD0ocyxvKT0+e2NvbnN0IGU9by5zdWJDYXRhbG9nW28uc3ViQ2F0YWxvZy5sZW5ndGgtMV0sYz1nW2U9PW51bGw/dm9pZCAwOmUubGV2ZWxdLHI9Z1tzLmxldmVsXTtlJiZyPmM/aChzLGUpOm8uc3ViQ2F0YWxvZy5wdXNoKHtpZDpzLnRpdGxlSWQsbmFtZTpzLnZhbHVlLGxldmVsOnMubGV2ZWwscGFnZU5vOnMucGFnZU5vLHN1YkNhdGFsb2c6W119KX0sUj1bXTtmb3IobGV0IHM9MDtzPEkubGVuZ3RoO3MrKyl7Y29uc3Qgbz1JW3NdLGU9UltSLmxlbmd0aC0xXSxjPWdbZT09bnVsbD92b2lkIDA6ZS5sZXZlbF0scj1nW28ubGV2ZWxdO2UmJnI+Yz9oKG8sZSk6Ui5wdXNoKHtpZDpvLnRpdGxlSWQsbmFtZTpvLnZhbHVlLGxldmVsOm8ubGV2ZWwscGFnZU5vOm8ucGFnZU5vLHN1YkNhdGFsb2c6W119KX1yZXR1cm4gUn1vbm1lc3NhZ2U9dD0+e2NvbnN0IG49dC5kYXRhLHY9QyhuKTtwb3N0TWVzc2FnZSh2KX19KSgpO30pKCk7Cg==";
13537
13675
  const blob$1 = typeof window !== "undefined" && window.Blob && new Blob([atob(encodedJs$1)], { type: "text/javascript;charset=utf-8" });
13538
13676
  function WorkerWrapper$1() {
13539
13677
  const objURL = blob$1 && (window.URL || window.webkitURL).createObjectURL(blob$1);
@@ -16073,6 +16211,175 @@ class TableOperate {
16073
16211
  });
16074
16212
  }
16075
16213
  }
16214
+ var AreaMode;
16215
+ (function(AreaMode2) {
16216
+ AreaMode2["EDIT"] = "edit";
16217
+ AreaMode2["READONLY"] = "readonly";
16218
+ AreaMode2["FORM"] = "form";
16219
+ })(AreaMode || (AreaMode = {}));
16220
+ class Area {
16221
+ constructor(draw) {
16222
+ __publicField(this, "draw");
16223
+ __publicField(this, "zone");
16224
+ __publicField(this, "range");
16225
+ __publicField(this, "position");
16226
+ __publicField(this, "areaInfoMap", new Map());
16227
+ this.draw = draw;
16228
+ this.zone = draw.getZone();
16229
+ this.range = draw.getRange();
16230
+ this.position = draw.getPosition();
16231
+ }
16232
+ getActiveAreaId() {
16233
+ if (!this.areaInfoMap.size)
16234
+ return null;
16235
+ const { startIndex } = this.range.getRange();
16236
+ const elementList = this.draw.getElementList();
16237
+ const element = elementList[startIndex];
16238
+ return (element == null ? void 0 : element.areaId) || null;
16239
+ }
16240
+ getActiveAreaInfo() {
16241
+ const activeAreaId = this.getActiveAreaId();
16242
+ if (!activeAreaId)
16243
+ return null;
16244
+ return this.areaInfoMap.get(activeAreaId) || null;
16245
+ }
16246
+ isReadonly() {
16247
+ const activeAreaInfo = this.getActiveAreaInfo();
16248
+ if (!activeAreaInfo)
16249
+ return false;
16250
+ switch (activeAreaInfo.area.mode) {
16251
+ case AreaMode.EDIT:
16252
+ return false;
16253
+ case AreaMode.READONLY:
16254
+ return true;
16255
+ case AreaMode.FORM:
16256
+ return !this.draw.getControl().getIsRangeWithinControl();
16257
+ default:
16258
+ return false;
16259
+ }
16260
+ }
16261
+ insertArea(payload) {
16262
+ if (this.zone.getZone() !== EditorZone.MAIN) {
16263
+ this.zone.setZone(EditorZone.MAIN);
16264
+ }
16265
+ this.draw.getPosition().setPositionContext({
16266
+ isTable: false
16267
+ });
16268
+ const { id, value, area, position } = payload;
16269
+ if (position === LocationPosition.BEFORE) {
16270
+ this.range.setRange(0, 0);
16271
+ } else {
16272
+ const elementList = this.draw.getOriginalMainElementList();
16273
+ const lastIndex = elementList.length - 1;
16274
+ this.range.setRange(lastIndex, lastIndex);
16275
+ }
16276
+ const areaId = id || getUUID();
16277
+ this.draw.insertElementList([
16278
+ {
16279
+ type: ElementType.AREA,
16280
+ value: "",
16281
+ areaId,
16282
+ valueList: value,
16283
+ area: deepClone(area)
16284
+ }
16285
+ ]);
16286
+ return areaId;
16287
+ }
16288
+ render(ctx, pageNo) {
16289
+ if (!this.areaInfoMap.size)
16290
+ return;
16291
+ ctx.save();
16292
+ const margins = this.draw.getMargins();
16293
+ const width = this.draw.getInnerWidth();
16294
+ for (const areaInfoItem of this.areaInfoMap) {
16295
+ const { area, positionList } = areaInfoItem[1];
16296
+ if (!area.backgroundColor && !area.borderColor)
16297
+ continue;
16298
+ const pagePositionList = positionList.filter((p) => p.pageNo === pageNo);
16299
+ if (!pagePositionList.length)
16300
+ continue;
16301
+ ctx.translate(0.5, 0.5);
16302
+ const firstPosition = pagePositionList[0];
16303
+ const lastPosition = pagePositionList[pagePositionList.length - 1];
16304
+ const x = margins[3];
16305
+ const y = Math.ceil(firstPosition.coordinate.leftTop[1]);
16306
+ const height = Math.ceil(lastPosition.coordinate.rightBottom[1] - y);
16307
+ if (area.backgroundColor) {
16308
+ ctx.fillStyle = area.backgroundColor;
16309
+ ctx.fillRect(x, y, width, height);
16310
+ }
16311
+ if (area.borderColor) {
16312
+ ctx.strokeStyle = area.borderColor;
16313
+ ctx.strokeRect(x, y, width, height);
16314
+ }
16315
+ }
16316
+ ctx.restore();
16317
+ }
16318
+ compute() {
16319
+ this.areaInfoMap.clear();
16320
+ const elementList = this.draw.getOriginalMainElementList();
16321
+ const positionList = this.position.getOriginalMainPositionList();
16322
+ for (let e = 0; e < elementList.length; e++) {
16323
+ const element = elementList[e];
16324
+ const areaId = element.areaId;
16325
+ if (areaId) {
16326
+ const areaInfo = this.areaInfoMap.get(areaId);
16327
+ if (!areaInfo) {
16328
+ this.areaInfoMap.set(areaId, {
16329
+ id: areaId,
16330
+ area: element.area,
16331
+ elementList: [element],
16332
+ positionList: [positionList[e]]
16333
+ });
16334
+ } else {
16335
+ areaInfo.elementList.push(element);
16336
+ areaInfo.positionList.push(positionList[e]);
16337
+ }
16338
+ }
16339
+ }
16340
+ }
16341
+ getAreaValue(options = {}) {
16342
+ const areaId = options.id || this.getActiveAreaId();
16343
+ if (!areaId)
16344
+ return null;
16345
+ const areaInfo = this.areaInfoMap.get(areaId);
16346
+ if (!areaInfo)
16347
+ return null;
16348
+ return {
16349
+ area: areaInfo.area,
16350
+ id: areaInfo.id,
16351
+ startPageNo: areaInfo.positionList[0].pageNo,
16352
+ endPageNo: areaInfo.positionList[areaInfo.positionList.length - 1].pageNo,
16353
+ value: zipElementList(areaInfo.elementList)
16354
+ };
16355
+ }
16356
+ setAreaProperties(payload) {
16357
+ const areaId = payload.id || this.getActiveAreaId();
16358
+ if (!areaId)
16359
+ return;
16360
+ const areaInfo = this.areaInfoMap.get(areaId);
16361
+ if (!areaInfo)
16362
+ return;
16363
+ let isCompute = false;
16364
+ if (payload.properties.mode) {
16365
+ areaInfo.area.mode = payload.properties.mode;
16366
+ }
16367
+ if (payload.properties.borderColor) {
16368
+ areaInfo.area.borderColor = payload.properties.borderColor;
16369
+ }
16370
+ if (payload.properties.backgroundColor) {
16371
+ areaInfo.area.backgroundColor = payload.properties.backgroundColor;
16372
+ }
16373
+ if (!isNonValue(payload.properties.top)) {
16374
+ isCompute = true;
16375
+ areaInfo.area.top = payload.properties.top;
16376
+ }
16377
+ this.draw.render({
16378
+ isCompute,
16379
+ isSetCursor: false
16380
+ });
16381
+ }
16382
+ }
16076
16383
  class Draw {
16077
16384
  constructor(rootContainer, options, data2, listener, eventBus, override) {
16078
16385
  __publicField(this, "container");
@@ -16098,6 +16405,7 @@ class Draw {
16098
16405
  __publicField(this, "background");
16099
16406
  __publicField(this, "search");
16100
16407
  __publicField(this, "group");
16408
+ __publicField(this, "area");
16101
16409
  __publicField(this, "underline");
16102
16410
  __publicField(this, "strikeout");
16103
16411
  __publicField(this, "highlight");
@@ -16165,6 +16473,7 @@ class Draw {
16165
16473
  this.background = new Background(this);
16166
16474
  this.search = new Search(this);
16167
16475
  this.group = new Group(this);
16476
+ this.area = new Area(this);
16168
16477
  this.underline = new Underline(this);
16169
16478
  this.strikeout = new Strikeout(this);
16170
16479
  this.highlight = new Highlight(this);
@@ -16258,6 +16567,9 @@ class Draw {
16258
16567
  });
16259
16568
  }
16260
16569
  isReadonly() {
16570
+ if (this.area.getActiveAreaId()) {
16571
+ return this.area.isReadonly();
16572
+ }
16261
16573
  switch (this.mode) {
16262
16574
  case EditorMode.DESIGN:
16263
16575
  return false;
@@ -16451,6 +16763,9 @@ class Draw {
16451
16763
  getGroup() {
16452
16764
  return this.group;
16453
16765
  }
16766
+ getArea() {
16767
+ return this.area;
16768
+ }
16454
16769
  getHistoryManager() {
16455
16770
  return this.historyManager;
16456
16771
  }
@@ -16877,7 +17192,8 @@ class Draw {
16877
17192
  extraPickAttrs
16878
17193
  }),
16879
17194
  main: zipElementList(mainElementList, {
16880
- extraPickAttrs
17195
+ extraPickAttrs,
17196
+ isClassifyArea: true
16881
17197
  }),
16882
17198
  footer: zipElementList(this.getFooterElementList(), {
16883
17199
  extraPickAttrs
@@ -16989,7 +17305,7 @@ class Draw {
16989
17305
  return defaultBasicRowMarginHeight * ((_a = el.rowMargin) != null ? _a : defaultRowMargin) * scale;
16990
17306
  }
16991
17307
  computeRowList(payload) {
16992
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
17308
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
16993
17309
  const { innerWidth, elementList, isPagingMode = false, isFromTable = false, startX = 0, startY = 0, pageHeight = 0, mainOuterHeight = 0, surroundElementList = [] } = payload;
16994
17310
  const { defaultSize, defaultRowMargin, scale, table: { tdPadding }, defaultTabWidth } = this.options;
16995
17311
  const defaultBasicRowMarginHeight = this.getDefaultBasicRowMarginHeight();
@@ -17026,7 +17342,9 @@ class Draw {
17026
17342
  };
17027
17343
  const offsetX = curRow.offsetX || element.listId && listStyleMap.get(element.listId) || 0;
17028
17344
  const availableWidth = innerWidth - offsetX;
17029
- x += curRow.elementList.length === 1 ? offsetX : 0;
17345
+ const isStartElement = curRow.elementList.length === 1;
17346
+ x += isStartElement ? offsetX : 0;
17347
+ y += isStartElement ? curRow.offsetY || 0 : 0;
17030
17348
  if (element.type === ElementType.IMAGE || element.type === ElementType.LATEX) {
17031
17349
  if (element.imgDisplay === ImageDisplay.SURROUND || element.imgDisplay === ImageDisplay.FLOAT_TOP || element.imgDisplay === ImageDisplay.FLOAT_BOTTOM) {
17032
17350
  metrics.width = 0;
@@ -17151,10 +17469,11 @@ class Draw {
17151
17469
  let curPagePreHeight = marginHeight;
17152
17470
  for (let r = 0; r < rowList.length; r++) {
17153
17471
  const row = rowList[r];
17154
- if (row.height + curPagePreHeight > height2 || ((_f = rowList[r - 1]) == null ? void 0 : _f.isPageBreak)) {
17155
- curPagePreHeight = marginHeight + row.height;
17472
+ const rowOffsetY = row.offsetY || 0;
17473
+ if (row.height + curPagePreHeight + rowOffsetY > height2 || ((_f = rowList[r - 1]) == null ? void 0 : _f.isPageBreak)) {
17474
+ curPagePreHeight = marginHeight + row.height + rowOffsetY;
17156
17475
  } else {
17157
- curPagePreHeight += row.height;
17476
+ curPagePreHeight += row.height + rowOffsetY;
17158
17477
  }
17159
17478
  }
17160
17479
  const rowMarginHeight = rowMargin * 2 * scale;
@@ -17354,7 +17673,7 @@ class Draw {
17354
17673
  x = surroundPosition.x;
17355
17674
  curRowWidth += surroundPosition.rowIncreaseWidth;
17356
17675
  x += metrics.width;
17357
- const isForceBreak = 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 || (preElement == null ? void 0 : preElement.listId) !== element.listId || i !== 0 && element.value === ZERO;
17676
+ const isForceBreak = 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 || (preElement == null ? void 0 : preElement.listId) !== element.listId || (preElement == null ? void 0 : preElement.areaId) !== element.areaId || i !== 0 && element.value === ZERO;
17358
17677
  const isWidthNotEnough = curRowWidth > availableWidth;
17359
17678
  const isWrap = isForceBreak || isWidthNotEnough;
17360
17679
  if (isWrap) {
@@ -17386,10 +17705,11 @@ class Draw {
17386
17705
  row.offsetX = listStyleMap.get(element.listId);
17387
17706
  row.listIndex = listIndex;
17388
17707
  }
17708
+ row.offsetY = !isFromTable && ((_l = element.area) == null ? void 0 : _l.top) && element.areaId !== ((_m = elementList[i - 1]) == null ? void 0 : _m.areaId) ? element.area.top * scale : 0;
17389
17709
  rowList.push(row);
17390
17710
  } else {
17391
17711
  curRow.width += metrics.width;
17392
- if (i === 0 && getIsBlockElement(elementList[1])) {
17712
+ if (i === 0 && (getIsBlockElement(elementList[1]) || !!((_n = elementList[1]) == null ? void 0 : _n.areaId))) {
17393
17713
  curRow.height = defaultBasicRowMarginHeight;
17394
17714
  curRow.ascent = defaultBasicRowMarginHeight;
17395
17715
  } else if (curRow.height < height) {
@@ -17400,8 +17720,8 @@ class Draw {
17400
17720
  }
17401
17721
  if (isWrap || i === elementList.length - 1) {
17402
17722
  curRow.isWidthNotEnough = isWidthNotEnough && !isForceBreak;
17403
- if (!curRow.isSurround && ((preElement == null ? void 0 : preElement.rowFlex) === RowFlex.JUSTIFY || (preElement == null ? void 0 : preElement.rowFlex) === RowFlex.ALIGNMENT && isWidthNotEnough)) {
17404
- const rowElementList = ((_l = curRow.elementList[0]) == null ? void 0 : _l.value) === ZERO ? curRow.elementList.slice(1) : curRow.elementList;
17723
+ if (!curRow.isSurround && ((preElement == null ? void 0 : preElement.rowFlex) === RowFlex.JUSTIFY || (preElement == null ? void 0 : preElement.rowFlex) === RowFlex.ALIGNMENT && curRow.isWidthNotEnough)) {
17724
+ const rowElementList = ((_o = curRow.elementList[0]) == null ? void 0 : _o.value) === ZERO ? curRow.elementList.slice(1) : curRow.elementList;
17405
17725
  const gap = (availableWidth - curRow.width) / (rowElementList.length - 1);
17406
17726
  for (let e = 0; e < rowElementList.length - 1; e++) {
17407
17727
  const el = rowElementList[e];
@@ -17449,7 +17769,7 @@ class Draw {
17449
17769
  let pageNo = 0;
17450
17770
  if (pageMode === PageMode.CONTINUITY) {
17451
17771
  pageRowList[0] = this.rowList;
17452
- pageHeight += this.rowList.reduce((pre, cur) => pre + cur.height, 0);
17772
+ pageHeight += this.rowList.reduce((pre, cur) => pre + cur.height + (cur.offsetY || 0), 0);
17453
17773
  const dpr = this.getPagePixelRatio();
17454
17774
  const pageDom = this.pageList[0];
17455
17775
  const pageDomHeight = Number(pageDom.style.height.replace("px", ""));
@@ -17465,16 +17785,17 @@ class Draw {
17465
17785
  } else {
17466
17786
  for (let i = 0; i < this.rowList.length; i++) {
17467
17787
  const row = this.rowList[i];
17468
- if (row.height + pageHeight > height || ((_a = this.rowList[i - 1]) == null ? void 0 : _a.isPageBreak)) {
17788
+ const rowOffsetY = row.offsetY || 0;
17789
+ if (row.height + rowOffsetY + pageHeight > height || ((_a = this.rowList[i - 1]) == null ? void 0 : _a.isPageBreak)) {
17469
17790
  if (Number.isInteger(maxPageNo) && pageNo >= maxPageNo) {
17470
17791
  this.elementList = this.elementList.slice(0, row.startIndex);
17471
17792
  break;
17472
17793
  }
17473
- pageHeight = marginHeight + row.height;
17794
+ pageHeight = marginHeight + row.height + rowOffsetY;
17474
17795
  pageRowList.push([row]);
17475
17796
  pageNo++;
17476
17797
  } else {
17477
- pageHeight += row.height;
17798
+ pageHeight += row.height + rowOffsetY;
17478
17799
  pageRowList[pageNo].push(row);
17479
17800
  }
17480
17801
  }
@@ -17739,19 +18060,25 @@ class Draw {
17739
18060
  var _a, _b;
17740
18061
  const { elementList, positionList, rowList, pageNo } = payload;
17741
18062
  const { inactiveAlpha, pageMode, header, footer, pageNumber, lineNumber, pageBorder } = this.options;
18063
+ const isPrintMode = this.mode === EditorMode.PRINT;
17742
18064
  const innerWidth = this.getInnerWidth();
17743
18065
  const ctx = this.ctxList[pageNo];
17744
18066
  ctx.globalAlpha = !this.zone.isMainActive() ? inactiveAlpha : 1;
17745
18067
  this._clearPage(pageNo);
17746
18068
  this.background.render(ctx, pageNo);
17747
- if (this.mode !== EditorMode.PRINT) {
18069
+ if (!isPrintMode) {
18070
+ this.area.render(ctx, pageNo);
18071
+ }
18072
+ if (!isPrintMode) {
17748
18073
  this.margin.render(ctx, pageNo);
17749
18074
  }
17750
18075
  this._drawFloat(ctx, {
17751
18076
  pageNo,
17752
18077
  imgDisplays: [ImageDisplay.FLOAT_BOTTOM]
17753
18078
  });
17754
- this.control.renderHighlightList(ctx, pageNo);
18079
+ if (!isPrintMode) {
18080
+ this.control.renderHighlightList(ctx, pageNo);
18081
+ }
17755
18082
  const index2 = (_a = rowList[0]) == null ? void 0 : _a.startIndex;
17756
18083
  this.drawRow(ctx, {
17757
18084
  elementList,
@@ -17777,7 +18104,7 @@ class Draw {
17777
18104
  pageNo,
17778
18105
  imgDisplays: [ImageDisplay.FLOAT_TOP, ImageDisplay.SURROUND]
17779
18106
  });
17780
- if (this.search.getSearchKeyword()) {
18107
+ if (!isPrintMode && this.search.getSearchKeyword()) {
17781
18108
  this.search.render(ctx, pageNo);
17782
18109
  }
17783
18110
  if (pageMode !== PageMode.CONTINUITY && this.options.watermark.data) {
@@ -17866,11 +18193,14 @@ class Draw {
17866
18193
  });
17867
18194
  this.pageRowList = this._computePageList();
17868
18195
  this.position.computePositionList();
17869
- const searchKeyword = this.search.getSearchKeyword();
17870
- if (searchKeyword) {
17871
- this.search.compute(searchKeyword);
18196
+ this.area.compute();
18197
+ if (this.mode !== EditorMode.PRINT) {
18198
+ const searchKeyword = this.search.getSearchKeyword();
18199
+ if (searchKeyword) {
18200
+ this.search.compute(searchKeyword);
18201
+ }
18202
+ this.control.computeHighlightList();
17872
18203
  }
17873
- this.control.computeHighlightList();
17874
18204
  }
17875
18205
  this.imageObserver.clearAll();
17876
18206
  this.cursor.recoveryCursor();
@@ -18070,6 +18400,8 @@ class Command {
18070
18400
  __publicField(this, "executePaperDirection");
18071
18401
  __publicField(this, "executeSetPaperMargin");
18072
18402
  __publicField(this, "executeInsertElementList");
18403
+ __publicField(this, "executeInsertArea");
18404
+ __publicField(this, "executeSetAreaProperties");
18073
18405
  __publicField(this, "executeAppendElementList");
18074
18406
  __publicField(this, "executeUpdateElementById");
18075
18407
  __publicField(this, "executeSetValue");
@@ -18095,6 +18427,7 @@ class Command {
18095
18427
  __publicField(this, "getImage");
18096
18428
  __publicField(this, "getOptions");
18097
18429
  __publicField(this, "getValue");
18430
+ __publicField(this, "getAreaValue");
18098
18431
  __publicField(this, "getHTML");
18099
18432
  __publicField(this, "getText");
18100
18433
  __publicField(this, "getWordCount");
@@ -18188,6 +18521,9 @@ class Command {
18188
18521
  this.executePaperSize = adapt.paperSize.bind(adapt);
18189
18522
  this.executePaperDirection = adapt.paperDirection.bind(adapt);
18190
18523
  this.executeSetPaperMargin = adapt.setPaperMargin.bind(adapt);
18524
+ this.getAreaValue = adapt.getAreaValue.bind(adapt);
18525
+ this.executeInsertArea = adapt.insertArea.bind(adapt);
18526
+ this.executeSetAreaProperties = adapt.setAreaProperties.bind(adapt);
18191
18527
  this.executeInsertElementList = adapt.insertElementList.bind(adapt);
18192
18528
  this.executeAppendElementList = adapt.appendElementList.bind(adapt);
18193
18529
  this.executeUpdateElementById = adapt.updateElementById.bind(adapt);
@@ -18506,13 +18842,23 @@ class CommandAdapt {
18506
18842
  });
18507
18843
  this.draw.render({ isSetCursor: false });
18508
18844
  } else {
18845
+ let isSubmitHistory = true;
18509
18846
  const { endIndex } = this.range.getRange();
18510
18847
  const elementList = this.draw.getElementList();
18511
18848
  const enterElement = elementList[endIndex];
18512
18849
  if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
18513
18850
  enterElement.font = payload;
18514
- this.draw.render({ curIndex: endIndex, isCompute: false });
18851
+ } else {
18852
+ this.range.setDefaultStyle({
18853
+ font: payload
18854
+ });
18855
+ isSubmitHistory = false;
18515
18856
  }
18857
+ this.draw.render({
18858
+ isSubmitHistory,
18859
+ curIndex: endIndex,
18860
+ isCompute: false
18861
+ });
18516
18862
  }
18517
18863
  }
18518
18864
  size(payload) {
@@ -18535,6 +18881,15 @@ class CommandAdapt {
18535
18881
  if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
18536
18882
  changeElementList.push(enterElement);
18537
18883
  renderOption = { curIndex: endIndex };
18884
+ } else {
18885
+ this.range.setDefaultStyle({
18886
+ size: payload
18887
+ });
18888
+ this.draw.render({
18889
+ curIndex: endIndex,
18890
+ isCompute: false,
18891
+ isSubmitHistory: false
18892
+ });
18538
18893
  }
18539
18894
  }
18540
18895
  if (!changeElementList.length)
@@ -18555,6 +18910,7 @@ class CommandAdapt {
18555
18910
  const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
18556
18911
  if (isDisabled)
18557
18912
  return;
18913
+ const { defaultSize, maxSize } = this.options;
18558
18914
  const selection = this.range.getTextLikeSelectionElementList();
18559
18915
  let renderOption = {};
18560
18916
  let changeElementList = [];
@@ -18568,11 +18924,21 @@ class CommandAdapt {
18568
18924
  if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
18569
18925
  changeElementList.push(enterElement);
18570
18926
  renderOption = { curIndex: endIndex };
18927
+ } else {
18928
+ const style = this.range.getDefaultStyle();
18929
+ const anchorSize = (style == null ? void 0 : style.size) || enterElement.size || defaultSize;
18930
+ this.range.setDefaultStyle({
18931
+ size: anchorSize + 2 > maxSize ? maxSize : anchorSize + 2
18932
+ });
18933
+ this.draw.render({
18934
+ curIndex: endIndex,
18935
+ isCompute: false,
18936
+ isSubmitHistory: false
18937
+ });
18571
18938
  }
18572
18939
  }
18573
18940
  if (!changeElementList.length)
18574
18941
  return;
18575
- const { defaultSize, maxSize } = this.options;
18576
18942
  let isExistUpdate = false;
18577
18943
  changeElementList.forEach((el) => {
18578
18944
  if (!el.size) {
@@ -18595,6 +18961,7 @@ class CommandAdapt {
18595
18961
  const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
18596
18962
  if (isDisabled)
18597
18963
  return;
18964
+ const { defaultSize, minSize } = this.options;
18598
18965
  const selection = this.range.getTextLikeSelectionElementList();
18599
18966
  let renderOption = {};
18600
18967
  let changeElementList = [];
@@ -18608,11 +18975,21 @@ class CommandAdapt {
18608
18975
  if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
18609
18976
  changeElementList.push(enterElement);
18610
18977
  renderOption = { curIndex: endIndex };
18978
+ } else {
18979
+ const style = this.range.getDefaultStyle();
18980
+ const anchorSize = (style == null ? void 0 : style.size) || enterElement.size || defaultSize;
18981
+ this.range.setDefaultStyle({
18982
+ size: anchorSize - 2 < minSize ? minSize : anchorSize - 2
18983
+ });
18984
+ this.draw.render({
18985
+ curIndex: endIndex,
18986
+ isCompute: false,
18987
+ isSubmitHistory: false
18988
+ });
18611
18989
  }
18612
18990
  }
18613
18991
  if (!changeElementList.length)
18614
18992
  return;
18615
- const { defaultSize, minSize } = this.options;
18616
18993
  let isExistUpdate = false;
18617
18994
  changeElementList.forEach((el) => {
18618
18995
  if (!el.size) {
@@ -18632,6 +19009,7 @@ class CommandAdapt {
18632
19009
  }
18633
19010
  }
18634
19011
  bold() {
19012
+ var _a;
18635
19013
  const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
18636
19014
  if (isDisabled)
18637
19015
  return;
@@ -18643,16 +19021,27 @@ class CommandAdapt {
18643
19021
  });
18644
19022
  this.draw.render({ isSetCursor: false });
18645
19023
  } else {
19024
+ let isSubmitHistory = true;
18646
19025
  const { endIndex } = this.range.getRange();
18647
19026
  const elementList = this.draw.getElementList();
18648
19027
  const enterElement = elementList[endIndex];
18649
19028
  if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
18650
19029
  enterElement.bold = !enterElement.bold;
18651
- this.draw.render({ curIndex: endIndex, isCompute: false });
19030
+ } else {
19031
+ this.range.setDefaultStyle({
19032
+ bold: enterElement.bold ? false : !((_a = this.range.getDefaultStyle()) == null ? void 0 : _a.bold)
19033
+ });
19034
+ isSubmitHistory = false;
18652
19035
  }
19036
+ this.draw.render({
19037
+ isSubmitHistory,
19038
+ curIndex: endIndex,
19039
+ isCompute: false
19040
+ });
18653
19041
  }
18654
19042
  }
18655
19043
  italic() {
19044
+ var _a;
18656
19045
  const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
18657
19046
  if (isDisabled)
18658
19047
  return;
@@ -18664,16 +19053,27 @@ class CommandAdapt {
18664
19053
  });
18665
19054
  this.draw.render({ isSetCursor: false });
18666
19055
  } else {
19056
+ let isSubmitHistory = true;
18667
19057
  const { endIndex } = this.range.getRange();
18668
19058
  const elementList = this.draw.getElementList();
18669
19059
  const enterElement = elementList[endIndex];
18670
19060
  if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
18671
19061
  enterElement.italic = !enterElement.italic;
18672
- this.draw.render({ curIndex: endIndex, isCompute: false });
19062
+ } else {
19063
+ this.range.setDefaultStyle({
19064
+ italic: enterElement.italic ? false : !((_a = this.range.getDefaultStyle()) == null ? void 0 : _a.italic)
19065
+ });
19066
+ isSubmitHistory = false;
18673
19067
  }
19068
+ this.draw.render({
19069
+ isSubmitHistory,
19070
+ curIndex: endIndex,
19071
+ isCompute: false
19072
+ });
18674
19073
  }
18675
19074
  }
18676
19075
  underline(textDecoration) {
19076
+ var _a;
18677
19077
  const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
18678
19078
  if (isDisabled)
18679
19079
  return;
@@ -18693,16 +19093,27 @@ class CommandAdapt {
18693
19093
  isCompute: false
18694
19094
  });
18695
19095
  } else {
19096
+ let isSubmitHistory = true;
18696
19097
  const { endIndex } = this.range.getRange();
18697
19098
  const elementList = this.draw.getElementList();
18698
19099
  const enterElement = elementList[endIndex];
18699
19100
  if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
18700
19101
  enterElement.underline = !enterElement.underline;
18701
- this.draw.render({ curIndex: endIndex, isCompute: false });
19102
+ } else {
19103
+ this.range.setDefaultStyle({
19104
+ underline: (enterElement == null ? void 0 : enterElement.underline) ? false : !((_a = this.range.getDefaultStyle()) == null ? void 0 : _a.underline)
19105
+ });
19106
+ isSubmitHistory = false;
18702
19107
  }
19108
+ this.draw.render({
19109
+ isSubmitHistory,
19110
+ curIndex: endIndex,
19111
+ isCompute: false
19112
+ });
18703
19113
  }
18704
19114
  }
18705
19115
  strikeout() {
19116
+ var _a;
18706
19117
  const isDisabled = this.draw.isReadonly() || this.draw.isDisabled();
18707
19118
  if (isDisabled)
18708
19119
  return;
@@ -18717,13 +19128,23 @@ class CommandAdapt {
18717
19128
  isCompute: false
18718
19129
  });
18719
19130
  } else {
19131
+ let isSubmitHistory = true;
18720
19132
  const { endIndex } = this.range.getRange();
18721
19133
  const elementList = this.draw.getElementList();
18722
19134
  const enterElement = elementList[endIndex];
18723
19135
  if ((enterElement == null ? void 0 : enterElement.value) === ZERO) {
18724
19136
  enterElement.strikeout = !enterElement.strikeout;
18725
- this.draw.render({ curIndex: endIndex, isCompute: false });
19137
+ } else {
19138
+ this.range.setDefaultStyle({
19139
+ strikeout: enterElement.strikeout ? false : !((_a = this.range.getDefaultStyle()) == null ? void 0 : _a.strikeout)
19140
+ });
19141
+ isSubmitHistory = false;
18726
19142
  }
19143
+ this.draw.render({
19144
+ isSubmitHistory,
19145
+ curIndex: endIndex,
19146
+ isCompute: false
19147
+ });
18727
19148
  }
18728
19149
  }
18729
19150
  superscript() {
@@ -18788,6 +19209,7 @@ class CommandAdapt {
18788
19209
  isCompute: false
18789
19210
  });
18790
19211
  } else {
19212
+ let isSubmitHistory = true;
18791
19213
  const { endIndex } = this.range.getRange();
18792
19214
  const elementList = this.draw.getElementList();
18793
19215
  const enterElement = elementList[endIndex];
@@ -18797,8 +19219,17 @@ class CommandAdapt {
18797
19219
  } else {
18798
19220
  delete enterElement.color;
18799
19221
  }
18800
- this.draw.render({ curIndex: endIndex, isCompute: false });
19222
+ } else {
19223
+ this.range.setDefaultStyle({
19224
+ color: payload || void 0
19225
+ });
19226
+ isSubmitHistory = false;
18801
19227
  }
19228
+ this.draw.render({
19229
+ isSubmitHistory,
19230
+ curIndex: endIndex,
19231
+ isCompute: false
19232
+ });
18802
19233
  }
18803
19234
  }
18804
19235
  highlight(payload) {
@@ -18819,6 +19250,7 @@ class CommandAdapt {
18819
19250
  isCompute: false
18820
19251
  });
18821
19252
  } else {
19253
+ let isSubmitHistory = true;
18822
19254
  const { endIndex } = this.range.getRange();
18823
19255
  const elementList = this.draw.getElementList();
18824
19256
  const enterElement = elementList[endIndex];
@@ -18828,8 +19260,17 @@ class CommandAdapt {
18828
19260
  } else {
18829
19261
  delete enterElement.highlight;
18830
19262
  }
18831
- this.draw.render({ curIndex: endIndex, isCompute: false });
19263
+ } else {
19264
+ this.range.setDefaultStyle({
19265
+ highlight: payload || void 0
19266
+ });
19267
+ isSubmitHistory = false;
18832
19268
  }
19269
+ this.draw.render({
19270
+ isSubmitHistory,
19271
+ curIndex: endIndex,
19272
+ isCompute: false
19273
+ });
18833
19274
  }
18834
19275
  }
18835
19276
  title(payload) {
@@ -19433,6 +19874,9 @@ class CommandAdapt {
19433
19874
  getValue(options) {
19434
19875
  return this.draw.getValue(options);
19435
19876
  }
19877
+ getAreaValue(options) {
19878
+ return this.draw.getArea().getAreaValue(options);
19879
+ }
19436
19880
  getHTML() {
19437
19881
  const options = this.options;
19438
19882
  const headerElementList = this.draw.getHeaderElementList();
@@ -20121,6 +20565,12 @@ class CommandAdapt {
20121
20565
  direction: MoveDirection.DOWN
20122
20566
  });
20123
20567
  }
20568
+ insertArea(payload) {
20569
+ return this.draw.getArea().insertArea(payload);
20570
+ }
20571
+ setAreaProperties(payload) {
20572
+ this.draw.getArea().setAreaProperties(payload);
20573
+ }
20124
20574
  }
20125
20575
  class Listener {
20126
20576
  constructor() {
@@ -21284,5 +21734,5 @@ class Editor {
21284
21734
  this.use = plugin.use.bind(plugin);
21285
21735
  }
21286
21736
  }
21287
- export { BackgroundRepeat, BackgroundSize, BlockType, Command, ControlIndentation, ControlType, EDITOR_CLIPBOARD, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, INTERNAL_CONTEXT_MENU_KEY, ImageDisplay, KeyMap, LETTER_CLASS, LineNumberType, ListStyle, ListType, LocationPosition, MaxHeightRatio, NumberType, PageMode, PaperDirection, RenderMode, RowFlex, TableBorder, TdBorder, TdSlash, TextDecorationStyle, TitleLevel, VerticalAlign, WordBreak, createDomFromElementList, Editor as default, getElementListByHTML, getTextFromElementList, splitText };
21737
+ export { AreaMode, BackgroundRepeat, BackgroundSize, BlockType, Command, ControlIndentation, ControlState, ControlType, EDITOR_CLIPBOARD, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, INTERNAL_CONTEXT_MENU_KEY, ImageDisplay, KeyMap, LETTER_CLASS, LineNumberType, ListStyle, ListType, LocationPosition, MaxHeightRatio, NumberType, PageMode, PaperDirection, RenderMode, RowFlex, TableBorder, TdBorder, TdSlash, TextDecorationStyle, TitleLevel, VerticalAlign, WordBreak, createDomFromElementList, Editor as default, getElementListByHTML, getTextFromElementList, splitText };
21288
21738
  //# sourceMappingURL=canvas-editor.es.js.map