@agile_jy/word-editor 0.0.1-beta.17 → 0.0.1-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/canvas-editor.es.js +892 -57
- package/dist/canvas-editor.es.js.map +1 -1
- package/dist/canvas-editor.umd.js +39 -36
- package/dist/canvas-editor.umd.js.map +1 -1
- package/dist/src/components/dialog/Dialog.d.ts +38 -0
- package/dist/src/editor/core/command/Command.d.ts +1 -0
- package/dist/src/editor/core/command/CommandAdapt.d.ts +5 -1
- package/dist/src/editor/index.d.ts +3 -2
- package/dist/src/editor/interface/Editor.d.ts +6 -0
- package/dist/src/editor/interface/Element.d.ts +12 -0
- package/dist/src/editor/interface/PageBreak.d.ts +2 -0
- package/dist/src/editor/utils/docxHtml.d.ts +19 -0
- package/dist/src/editor/utils/element.d.ts +18 -7
- package/package.json +1 -1
package/dist/canvas-editor.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
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-calculator{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;padding:8px;width:200px}.ce-calculator-display{width:100%;height:40px;line-height:40px;text-align:right;padding:0 10px;margin-bottom:8px;border:1px solid #e4e7ed;border-radius:4px;background-color:#f5f7fa;font-size:16px;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.ce-calculator-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.ce-calculator-button{width:100%;height:36px;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;font-size:14px;cursor:pointer;transition:all .2s;box-sizing:border-box}.ce-calculator-button:hover{background-color:#eef2fd;border-color:#c6d1ff}.ce-calculator-button:active{background-color:#e1e8ff}.ce-calculator-button.operator{background-color:#f5f7fa}.ce-calculator-button.operator:hover{background-color:#eef2fd}.ce-calculator-button.equal{background-color:var(--COLOR-HOVER, #5175f4);color:#fff;border-color:var(--COLOR-HOVER, #5175f4)}.ce-calculator-button.equal:hover{background-color:var(--COLOR-HOVER, #6a84ff);border-color:var(--COLOR-HOVER, #6a84ff)}.ce-calculator-button.utility{background-color:#f0f2f5}.ce-calculator-button.utility:hover{background-color:#e6e8eb}.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:calc(100%/7);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:calc(100%/7);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;background-color:#fff;border:1px solid rgb(235 236 240)}.ce-block-item .ce-resizer-selection{width:100%;height:100%}.ce-block-item .ce-resizer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background-color:transparent}.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-image-previewer .ce-image-menu .image-navigate{display:flex;align-items:center;justify-content:center}.ce-image-previewer .ce-image-menu i.image-pre{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyLjUgNC4wNjNMNi44NzUgMTBsNS42MjUgNS45MzgiIHN0cm9rZT0iIzNENDc1NyIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==)}.ce-image-previewer .ce-image-menu i.image-next{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcuNSA0LjA2M0wxMy4xMjUgMTAgNy41IDE1LjkzOCIgc3Ryb2tlPSIjM0Q0NzU3IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+)}.ce-image-previewer .ce-image-menu .image-count{color:#000;font-size:20px}.ce-image-previewer .ce-image-menu i.disabled{cursor:not-allowed;opacity:.5}.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}.dialog-mask{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000000;z-index:99}.dialog-container{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;z-index:999;margin:0;display:flex;justify-content:center;align-items:center}.dialog{position:absolute;padding:0 30px 30px;background:#ffffff;box-shadow:0 2px 12px #38383833;border:1px solid #e2e6ed;border-radius:2px}.dialog-title{position:relative;border-bottom:1px solid #e2e6ed;margin-bottom:30px;height:60px;display:flex;align-items:center;justify-content:space-between}.dialog-title i{width:16px;height:16px;cursor:pointer;display:inline-block;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOC45IDguMTkybDQuMjQyIDQuMjQzLS43MDcuNzA3TDguMTkyIDguOSAzLjk1IDEzLjE0MmwtLjcwNy0uNzA3IDQuMjQyLTQuMjQzTDMuMjQzIDMuOTVsLjcwNy0uNzA3IDQuMjQyIDQuMjQyIDQuMjQzLTQuMjQyLjcwNy43MDdMOC45IDguMTkyeiIgZmlsbD0iIzZBNkE2QSIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.dialog-option__item{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.dialog-option__item span{margin-right:12px;font-size:14px;color:#3d4757;position:relative}.dialog-option__item input,.dialog-option__item select{width:276px;height:28px;border-radius:2px;border:1px solid #d3d3d3;min-height:28px;padding:5px;box-sizing:border-box;outline:none;appearance:none;user-select:none;font-family:inherit}.dialog-option__item textarea{width:276px;height:58px;border-radius:2px;border:1px solid #d3d3d3;min-height:58px;padding:5px;box-sizing:border-box;outline:none;appearance:none;user-select:none;font-family:inherit}.dialog-option__item input:focus,.dialog-option__item textarea:focus{border-color:#4991f2}.dialog-option__item--require:before{content:"*";color:#f56c6c;margin-right:4px;position:absolute;left:-8px}.dialog-menu{display:flex;align-items:center;justify-content:flex-end}.dialog-menu button{position:relative;display:inline-block;border:1px solid #e2e6ed;border-radius:2px;background:#ffffff;line-height:22px;padding:0 16px;white-space:nowrap;cursor:pointer}.dialog-menu button:hover{background:rgba(25,55,88,.04)}.dialog-menu__cancel{margin-right:16px}.dialog-menu button[type=submit]{color:#fff;background:#4991f2;border-color:#4991f2}.dialog-menu button[type=submit]:hover{background:#5b9cf3;border-color:#5b9cf3}.searchable-select{position:relative;width:276px;height:30px;box-sizing:border-box}.searchable-select__input-wrapper{position:relative;display:flex;align-items:center;width:100%;height:100%;border:1px solid #d3d3d3}.searchable-select__input-wrapper .searchable-select__input{border:none}.searchable-select__input-wrapper .searchable-select__arrow{margin-right:0;margin-top:-12px}.searchable-select__input{width:100%;height:30px;border-radius:2px;border:1px solid #d3d3d3;padding:5px 30px 5px 5px;box-sizing:border-box;outline:none;font-family:inherit;font-size:14px;cursor:pointer;background-color:#fff}.searchable-select__input:focus{border-color:#4991f2}.searchable-select__arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;color:#666;cursor:pointer;user-select:none;line-height:1;z-index:1}.searchable-select__dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;background:#ffffff;border:1px solid #d3d3d3;border-radius:2px;box-shadow:0 2px 8px #00000026;max-height:200px;overflow-y:auto;z-index:1000}.searchable-select__option{padding:8px 12px;cursor:pointer;font-size:14px;color:#3d4757;transition:background-color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchable-select__option:hover{background-color:#f5f7fa}.searchable-select__option--selected{background-color:#ecf5ff;color:#4991f2;font-weight:500}.searchable-select__option--empty{color:#999;cursor:not-allowed;text-align:center;padding:12px}.searchable-select__option--empty:hover{background-color:transparent}.searchable-select__dropdown::-webkit-scrollbar{width:6px}.searchable-select__dropdown::-webkit-scrollbar-thumb{background-color:#c0c4cc;border-radius:3px}.searchable-select__dropdown::-webkit-scrollbar-thumb:hover{background-color:#909399}.searchable-select__dropdown::-webkit-scrollbar-track{background-color:#f5f7fa}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();
|
|
2
2
|
var index = "";
|
|
3
|
-
const version = "0.0.1-beta.
|
|
3
|
+
const version = "0.0.1-beta.19";
|
|
4
4
|
var MaxHeightRatio;
|
|
5
5
|
(function(MaxHeightRatio2) {
|
|
6
6
|
MaxHeightRatio2["HALF"] = "half";
|
|
@@ -507,7 +507,16 @@ const EDITOR_ELEMENT_STYLE_ATTR = [
|
|
|
507
507
|
"strikeout",
|
|
508
508
|
"textDecoration"
|
|
509
509
|
];
|
|
510
|
-
const EDITOR_ROW_ATTR = [
|
|
510
|
+
const EDITOR_ROW_ATTR = [
|
|
511
|
+
"rowFlex",
|
|
512
|
+
"rowMargin",
|
|
513
|
+
"textIndent",
|
|
514
|
+
"marginLeft",
|
|
515
|
+
"marginRight",
|
|
516
|
+
"marginTop",
|
|
517
|
+
"minHeight",
|
|
518
|
+
"whiteSpace"
|
|
519
|
+
];
|
|
511
520
|
const EDITOR_ELEMENT_COPY_ATTR = [
|
|
512
521
|
"type",
|
|
513
522
|
"font",
|
|
@@ -526,6 +535,12 @@ const EDITOR_ELEMENT_COPY_ATTR = [
|
|
|
526
535
|
"dateFormat",
|
|
527
536
|
"groupIds",
|
|
528
537
|
"rowMargin",
|
|
538
|
+
"textIndent",
|
|
539
|
+
"marginLeft",
|
|
540
|
+
"marginRight",
|
|
541
|
+
"marginTop",
|
|
542
|
+
"minHeight",
|
|
543
|
+
"whiteSpace",
|
|
529
544
|
"textDecoration"
|
|
530
545
|
];
|
|
531
546
|
const EDITOR_ELEMENT_ZIP_ATTR = [
|
|
@@ -540,6 +555,12 @@ const EDITOR_ELEMENT_ZIP_ATTR = [
|
|
|
540
555
|
"strikeout",
|
|
541
556
|
"rowFlex",
|
|
542
557
|
"rowMargin",
|
|
558
|
+
"textIndent",
|
|
559
|
+
"marginLeft",
|
|
560
|
+
"marginRight",
|
|
561
|
+
"marginTop",
|
|
562
|
+
"minHeight",
|
|
563
|
+
"whiteSpace",
|
|
543
564
|
"dashArray",
|
|
544
565
|
"trList",
|
|
545
566
|
"tableToolDisabled",
|
|
@@ -4174,7 +4195,8 @@ const defaultLineBreak = {
|
|
|
4174
4195
|
const defaultPageBreakOption = {
|
|
4175
4196
|
font: "Microsoft YaHei",
|
|
4176
4197
|
fontSize: 12,
|
|
4177
|
-
lineDash: [3, 1]
|
|
4198
|
+
lineDash: [3, 1],
|
|
4199
|
+
visible: true
|
|
4178
4200
|
};
|
|
4179
4201
|
const FORMAT_PLACEHOLDER = {
|
|
4180
4202
|
PAGE_NO: "{pageNo}",
|
|
@@ -5196,6 +5218,68 @@ function convertRowFlexToJustifyContent(rowFlex) {
|
|
|
5196
5218
|
return "flex-start";
|
|
5197
5219
|
}
|
|
5198
5220
|
}
|
|
5221
|
+
function isFloatOverlayImage(element) {
|
|
5222
|
+
return !!element && element.type === ElementType.IMAGE && (element.imgDisplay === ImageDisplay.SURROUND || element.imgDisplay === ImageDisplay.FLOAT_TOP || element.imgDisplay === ImageDisplay.FLOAT_BOTTOM);
|
|
5223
|
+
}
|
|
5224
|
+
function isFloatOverlayOnlyParagraph(p) {
|
|
5225
|
+
var _a, _b;
|
|
5226
|
+
let hasFloatImg = false;
|
|
5227
|
+
for (const node of Array.from(p.childNodes)) {
|
|
5228
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
5229
|
+
if ((_a = node.textContent) == null ? void 0 : _a.trim())
|
|
5230
|
+
return false;
|
|
5231
|
+
continue;
|
|
5232
|
+
}
|
|
5233
|
+
if (node.nodeType !== Node.ELEMENT_NODE)
|
|
5234
|
+
continue;
|
|
5235
|
+
const el = node;
|
|
5236
|
+
if (el.nodeName === "IMG") {
|
|
5237
|
+
const display = el.getAttribute("data-img-display");
|
|
5238
|
+
if (display === ImageDisplay.FLOAT_TOP || display === ImageDisplay.FLOAT_BOTTOM || display === ImageDisplay.SURROUND) {
|
|
5239
|
+
hasFloatImg = true;
|
|
5240
|
+
continue;
|
|
5241
|
+
}
|
|
5242
|
+
return false;
|
|
5243
|
+
}
|
|
5244
|
+
if ((_b = el.textContent) == null ? void 0 : _b.trim())
|
|
5245
|
+
return false;
|
|
5246
|
+
}
|
|
5247
|
+
return hasFloatImg;
|
|
5248
|
+
}
|
|
5249
|
+
function groupElementListByRowFlex(elementList) {
|
|
5250
|
+
var _a;
|
|
5251
|
+
const elementListGroupList = [];
|
|
5252
|
+
if (!elementList.length)
|
|
5253
|
+
return elementListGroupList;
|
|
5254
|
+
let currentRowFlex = ((_a = elementList[0]) == null ? void 0 : _a.rowFlex) || null;
|
|
5255
|
+
elementListGroupList.push({
|
|
5256
|
+
rowFlex: currentRowFlex,
|
|
5257
|
+
data: [elementList[0]]
|
|
5258
|
+
});
|
|
5259
|
+
for (let e = 1; e < elementList.length; e++) {
|
|
5260
|
+
const element = elementList[e];
|
|
5261
|
+
const prev = elementList[e - 1];
|
|
5262
|
+
const rowFlex = element.rowFlex || null;
|
|
5263
|
+
const curIsFloatOverlay = isFloatOverlayImage(element);
|
|
5264
|
+
const prevIsFloatOverlay = isFloatOverlayImage(prev);
|
|
5265
|
+
const bothImages = element.type === ElementType.IMAGE && (prev == null ? void 0 : prev.type) === ElementType.IMAGE;
|
|
5266
|
+
if (currentRowFlex === rowFlex && !getIsBlockElement(element) && !getIsBlockElement(prev) || bothImages || curIsFloatOverlay || prevIsFloatOverlay) {
|
|
5267
|
+
const lastElementListGroup = elementListGroupList[elementListGroupList.length - 1];
|
|
5268
|
+
lastElementListGroup.data.push(element);
|
|
5269
|
+
} else {
|
|
5270
|
+
elementListGroupList.push({
|
|
5271
|
+
rowFlex,
|
|
5272
|
+
data: [element]
|
|
5273
|
+
});
|
|
5274
|
+
currentRowFlex = rowFlex;
|
|
5275
|
+
}
|
|
5276
|
+
}
|
|
5277
|
+
for (let g = 0; g < elementListGroupList.length; g++) {
|
|
5278
|
+
const elementListGroup = elementListGroupList[g];
|
|
5279
|
+
elementListGroup.data = zipElementList(elementListGroup.data);
|
|
5280
|
+
}
|
|
5281
|
+
return elementListGroupList;
|
|
5282
|
+
}
|
|
5199
5283
|
function isTextLikeElement(element) {
|
|
5200
5284
|
return !element.type || TEXTLIKE_ELEMENT_TYPE.includes(element.type);
|
|
5201
5285
|
}
|
|
@@ -5291,9 +5375,72 @@ function convertElementToDom(element, options) {
|
|
|
5291
5375
|
if (element.rowMargin) {
|
|
5292
5376
|
dom.style.lineHeight = ((_b = element.rowMargin) != null ? _b : options.defaultRowMargin).toString();
|
|
5293
5377
|
}
|
|
5378
|
+
if (element.textIndent) {
|
|
5379
|
+
dom.style.textIndent = `${element.textIndent}px`;
|
|
5380
|
+
}
|
|
5381
|
+
if (element.marginLeft) {
|
|
5382
|
+
dom.style.marginInlineStart = `${element.marginLeft}px`;
|
|
5383
|
+
}
|
|
5384
|
+
if (element.marginRight) {
|
|
5385
|
+
dom.style.marginInlineEnd = `${element.marginRight}px`;
|
|
5386
|
+
}
|
|
5387
|
+
if (element.marginTop) {
|
|
5388
|
+
dom.style.marginTop = `${element.marginTop}px`;
|
|
5389
|
+
}
|
|
5390
|
+
if (element.minHeight) {
|
|
5391
|
+
dom.style.minHeight = `${element.minHeight}px`;
|
|
5392
|
+
}
|
|
5393
|
+
if (element.whiteSpace) {
|
|
5394
|
+
dom.style.whiteSpace = element.whiteSpace;
|
|
5395
|
+
}
|
|
5294
5396
|
dom.innerText = element.value.replace(new RegExp(`${ZERO}`, "g"), "\n");
|
|
5295
5397
|
return dom;
|
|
5296
5398
|
}
|
|
5399
|
+
function applyParagraphStyleToDom(dom, element) {
|
|
5400
|
+
dom.style.margin = "0";
|
|
5401
|
+
if (element.rowFlex) {
|
|
5402
|
+
dom.style.textAlign = convertRowFlexToTextAlign(element.rowFlex);
|
|
5403
|
+
}
|
|
5404
|
+
if (element.rowMargin) {
|
|
5405
|
+
dom.style.lineHeight = String(element.rowMargin);
|
|
5406
|
+
}
|
|
5407
|
+
if (element.textIndent) {
|
|
5408
|
+
dom.style.textIndent = `${element.textIndent}px`;
|
|
5409
|
+
}
|
|
5410
|
+
if (element.marginLeft) {
|
|
5411
|
+
dom.style.marginInlineStart = `${element.marginLeft}px`;
|
|
5412
|
+
}
|
|
5413
|
+
if (element.marginRight) {
|
|
5414
|
+
dom.style.marginInlineEnd = `${element.marginRight}px`;
|
|
5415
|
+
}
|
|
5416
|
+
if (element.marginTop) {
|
|
5417
|
+
dom.style.marginTop = `${element.marginTop}px`;
|
|
5418
|
+
}
|
|
5419
|
+
const minHeight = element.minHeight || element.size;
|
|
5420
|
+
if (minHeight) {
|
|
5421
|
+
dom.style.minHeight = `${minHeight}px`;
|
|
5422
|
+
}
|
|
5423
|
+
if (element.whiteSpace) {
|
|
5424
|
+
dom.style.whiteSpace = element.whiteSpace;
|
|
5425
|
+
} else {
|
|
5426
|
+
dom.style.whiteSpace = "pre-wrap";
|
|
5427
|
+
}
|
|
5428
|
+
}
|
|
5429
|
+
function convertInlineElementToDom(element, options) {
|
|
5430
|
+
const dom = convertElementToDom(element, options);
|
|
5431
|
+
dom.style.textIndent = "";
|
|
5432
|
+
dom.style.marginInlineStart = "";
|
|
5433
|
+
dom.style.marginInlineEnd = "";
|
|
5434
|
+
dom.style.marginTop = "";
|
|
5435
|
+
dom.style.textAlign = "";
|
|
5436
|
+
dom.style.minHeight = "";
|
|
5437
|
+
if (element.whiteSpace) {
|
|
5438
|
+
dom.style.whiteSpace = element.whiteSpace;
|
|
5439
|
+
} else {
|
|
5440
|
+
dom.style.whiteSpace = "pre-wrap";
|
|
5441
|
+
}
|
|
5442
|
+
return dom;
|
|
5443
|
+
}
|
|
5297
5444
|
function splitListElement(elementList) {
|
|
5298
5445
|
let curListIndex = 0;
|
|
5299
5446
|
const listElementListMap = /* @__PURE__ */ new Map();
|
|
@@ -5326,44 +5473,319 @@ function splitListElement(elementList) {
|
|
|
5326
5473
|
}
|
|
5327
5474
|
return listElementListMap;
|
|
5328
5475
|
}
|
|
5329
|
-
|
|
5330
|
-
|
|
5331
|
-
|
|
5332
|
-
|
|
5333
|
-
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5338
|
-
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5476
|
+
const IMAGE_DISPLAY_VALUES = Object.values(ImageDisplay);
|
|
5477
|
+
const htmlFloatOffsetMap = /* @__PURE__ */ new Map();
|
|
5478
|
+
function getHtmlFloatOffsetKey(element) {
|
|
5479
|
+
var _a, _b, _c;
|
|
5480
|
+
const p = element.imgFloatPosition;
|
|
5481
|
+
return [
|
|
5482
|
+
element.imgDisplay || "",
|
|
5483
|
+
element.width || 0,
|
|
5484
|
+
element.height || 0,
|
|
5485
|
+
(_a = p == null ? void 0 : p.x) != null ? _a : "",
|
|
5486
|
+
(_b = p == null ? void 0 : p.y) != null ? _b : "",
|
|
5487
|
+
(_c = p == null ? void 0 : p.pageNo) != null ? _c : "",
|
|
5488
|
+
typeof element.value === "string" ? element.value.slice(0, 80) : ""
|
|
5489
|
+
].join("|");
|
|
5490
|
+
}
|
|
5491
|
+
function isParagraphBreakElement(element) {
|
|
5492
|
+
if (element.type === ElementType.PAGE_BREAK)
|
|
5493
|
+
return true;
|
|
5494
|
+
if (element.type === ElementType.TABLE)
|
|
5495
|
+
return true;
|
|
5496
|
+
if (element.type === ElementType.TITLE)
|
|
5497
|
+
return true;
|
|
5498
|
+
if (element.type === ElementType.LIST)
|
|
5499
|
+
return true;
|
|
5500
|
+
if (element.type === ElementType.SEPARATOR)
|
|
5501
|
+
return true;
|
|
5502
|
+
const value = element.value;
|
|
5503
|
+
return value === WRAP || value === "\n" || value === ZERO;
|
|
5504
|
+
}
|
|
5505
|
+
function getParagraphPageOrigin(elementList, positionList, imageIndex) {
|
|
5506
|
+
var _a, _b;
|
|
5507
|
+
let start = imageIndex;
|
|
5508
|
+
while (start > 0) {
|
|
5509
|
+
if (isParagraphBreakElement(elementList[start - 1]))
|
|
5510
|
+
break;
|
|
5511
|
+
start--;
|
|
5512
|
+
}
|
|
5513
|
+
let originX = Number.POSITIVE_INFINITY;
|
|
5514
|
+
let originY = Number.POSITIVE_INFINITY;
|
|
5515
|
+
for (let i = start; i < elementList.length; i++) {
|
|
5516
|
+
if (i > start && isParagraphBreakElement(elementList[i]))
|
|
5517
|
+
break;
|
|
5518
|
+
if (elementList[i].imgDisplay === ImageDisplay.FLOAT_TOP || elementList[i].imgDisplay === ImageDisplay.FLOAT_BOTTOM || elementList[i].imgDisplay === ImageDisplay.SURROUND) {
|
|
5519
|
+
continue;
|
|
5351
5520
|
}
|
|
5521
|
+
const pos = positionList[i];
|
|
5522
|
+
if (!((_a = pos == null ? void 0 : pos.coordinate) == null ? void 0 : _a.leftTop))
|
|
5523
|
+
continue;
|
|
5524
|
+
const [x, y] = pos.coordinate.leftTop;
|
|
5525
|
+
originX = Math.min(originX, x);
|
|
5526
|
+
originY = Math.min(originY, y);
|
|
5352
5527
|
}
|
|
5353
|
-
|
|
5354
|
-
const
|
|
5355
|
-
|
|
5528
|
+
if (!Number.isFinite(originX) || !Number.isFinite(originY)) {
|
|
5529
|
+
const flowPos = positionList[imageIndex];
|
|
5530
|
+
if ((_b = flowPos == null ? void 0 : flowPos.coordinate) == null ? void 0 : _b.leftTop) {
|
|
5531
|
+
return {
|
|
5532
|
+
x: flowPos.coordinate.leftTop[0],
|
|
5533
|
+
y: flowPos.coordinate.leftTop[1]
|
|
5534
|
+
};
|
|
5535
|
+
}
|
|
5536
|
+
return { x: 0, y: 0 };
|
|
5537
|
+
}
|
|
5538
|
+
return { x: originX, y: originY };
|
|
5539
|
+
}
|
|
5540
|
+
function attachHtmlFloatOffset(elementList, positionList, scale = 1) {
|
|
5541
|
+
const safeScale = scale || 1;
|
|
5542
|
+
for (let i = 0; i < elementList.length; i++) {
|
|
5543
|
+
const element = elementList[i];
|
|
5544
|
+
if (element.type !== ElementType.IMAGE || element.imgDisplay !== ImageDisplay.FLOAT_TOP && element.imgDisplay !== ImageDisplay.FLOAT_BOTTOM && element.imgDisplay !== ImageDisplay.SURROUND || !element.imgFloatPosition) {
|
|
5545
|
+
continue;
|
|
5546
|
+
}
|
|
5547
|
+
const origin = getParagraphPageOrigin(elementList, positionList, i);
|
|
5548
|
+
htmlFloatOffsetMap.set(getHtmlFloatOffsetKey(element), {
|
|
5549
|
+
left: (element.imgFloatPosition.x - origin.x) / safeScale,
|
|
5550
|
+
top: (element.imgFloatPosition.y - origin.y) / safeScale
|
|
5551
|
+
});
|
|
5552
|
+
}
|
|
5553
|
+
}
|
|
5554
|
+
function clearHtmlFloatOffset() {
|
|
5555
|
+
htmlFloatOffsetMap.clear();
|
|
5556
|
+
}
|
|
5557
|
+
const HTML_FLOAT_TOP_ADJUST_PX = -6;
|
|
5558
|
+
function buildImageWrapStyle(element) {
|
|
5559
|
+
const styles = ["vertical-align: text-top"];
|
|
5560
|
+
const { imgDisplay, imgFloatPosition } = element;
|
|
5561
|
+
const offset = htmlFloatOffsetMap.get(getHtmlFloatOffsetKey(element));
|
|
5562
|
+
const leftPx = offset ? offset.left : imgFloatPosition ? imgFloatPosition.x : void 0;
|
|
5563
|
+
const topBase = offset ? offset.top : imgFloatPosition ? imgFloatPosition.y : void 0;
|
|
5564
|
+
const topPx = topBase !== void 0 ? topBase + HTML_FLOAT_TOP_ADJUST_PX : void 0;
|
|
5565
|
+
if (imgDisplay === ImageDisplay.SURROUND) {
|
|
5566
|
+
styles.push("position: absolute", "z-index: 1");
|
|
5567
|
+
if (leftPx !== void 0) {
|
|
5568
|
+
styles.push(`left: ${leftPx}px`);
|
|
5569
|
+
}
|
|
5570
|
+
if (topPx !== void 0) {
|
|
5571
|
+
styles.push(`top: ${topPx}px`);
|
|
5572
|
+
}
|
|
5573
|
+
} else if (imgDisplay === ImageDisplay.FLOAT_TOP) {
|
|
5574
|
+
styles.push("position: absolute", "z-index: 2");
|
|
5575
|
+
if (leftPx !== void 0) {
|
|
5576
|
+
styles.push(`left: ${leftPx}px`);
|
|
5577
|
+
}
|
|
5578
|
+
if (topPx !== void 0) {
|
|
5579
|
+
styles.push(`top: ${topPx}px`);
|
|
5580
|
+
}
|
|
5581
|
+
} else if (imgDisplay === ImageDisplay.FLOAT_BOTTOM) {
|
|
5582
|
+
styles.push("position: absolute", "z-index: -1");
|
|
5583
|
+
if (leftPx !== void 0) {
|
|
5584
|
+
styles.push(`left: ${leftPx}px`);
|
|
5585
|
+
}
|
|
5586
|
+
if (topPx !== void 0) {
|
|
5587
|
+
styles.push(`top: ${topPx}px`);
|
|
5588
|
+
}
|
|
5589
|
+
} else if (imgDisplay === ImageDisplay.BLOCK) {
|
|
5590
|
+
styles.push("display: block");
|
|
5591
|
+
} else if (imgDisplay === ImageDisplay.INLINE) {
|
|
5592
|
+
styles.push("display: block", "clear: both");
|
|
5593
|
+
}
|
|
5594
|
+
return styles.join("; ");
|
|
5595
|
+
}
|
|
5596
|
+
function applyImageWrapToDom(img, element) {
|
|
5597
|
+
img.setAttribute("style", buildImageWrapStyle(element));
|
|
5598
|
+
if (element.imgDisplay) {
|
|
5599
|
+
img.setAttribute("data-img-display", element.imgDisplay);
|
|
5600
|
+
}
|
|
5601
|
+
if (element.imgFloatPosition) {
|
|
5602
|
+
img.setAttribute("data-img-float-position", JSON.stringify(element.imgFloatPosition));
|
|
5603
|
+
}
|
|
5604
|
+
}
|
|
5605
|
+
function relocateFloatOverlayImages(root) {
|
|
5606
|
+
const imgs = Array.from(root.querySelectorAll('img[data-img-display="float-top"], img[data-img-display="float-bottom"], img[data-img-display="surround"]'));
|
|
5607
|
+
for (const img of imgs) {
|
|
5608
|
+
const parent = img.parentElement;
|
|
5609
|
+
if (parent && (parent.nodeName === "P" || /^H[1-6]$/.test(parent.nodeName))) {
|
|
5610
|
+
parent.style.position = "relative";
|
|
5611
|
+
continue;
|
|
5612
|
+
}
|
|
5613
|
+
let target = null;
|
|
5614
|
+
let next = img.nextElementSibling;
|
|
5615
|
+
while (next) {
|
|
5616
|
+
if (next.nodeName === "P" || /^H[1-6]$/.test(next.nodeName)) {
|
|
5617
|
+
target = next;
|
|
5618
|
+
break;
|
|
5619
|
+
}
|
|
5620
|
+
if (next.nodeName === "DIV") {
|
|
5621
|
+
const innerP = next.querySelector("p,h1,h2,h3,h4,h5,h6");
|
|
5622
|
+
if (innerP) {
|
|
5623
|
+
target = innerP;
|
|
5624
|
+
break;
|
|
5625
|
+
}
|
|
5626
|
+
}
|
|
5627
|
+
if (next.getAttribute("data-type") === ElementType.PAGE_BREAK) {
|
|
5628
|
+
break;
|
|
5629
|
+
}
|
|
5630
|
+
next = next.nextElementSibling;
|
|
5631
|
+
}
|
|
5632
|
+
if (!target) {
|
|
5633
|
+
let prev = img.previousElementSibling;
|
|
5634
|
+
while (prev) {
|
|
5635
|
+
if (prev.nodeName === "P" || /^H[1-6]$/.test(prev.nodeName)) {
|
|
5636
|
+
target = prev;
|
|
5637
|
+
break;
|
|
5638
|
+
}
|
|
5639
|
+
if (prev.nodeName === "DIV") {
|
|
5640
|
+
const paras = prev.querySelectorAll("p,h1,h2,h3,h4,h5,h6");
|
|
5641
|
+
if (paras.length) {
|
|
5642
|
+
target = paras[paras.length - 1];
|
|
5643
|
+
break;
|
|
5644
|
+
}
|
|
5645
|
+
}
|
|
5646
|
+
prev = prev.previousElementSibling;
|
|
5647
|
+
}
|
|
5648
|
+
}
|
|
5649
|
+
if (target) {
|
|
5650
|
+
const targetEl = target;
|
|
5651
|
+
targetEl.style.position = "relative";
|
|
5652
|
+
targetEl.append(img);
|
|
5653
|
+
} else if (parent) {
|
|
5654
|
+
const p = document.createElement("p");
|
|
5655
|
+
p.style.position = "relative";
|
|
5656
|
+
p.style.margin = "0";
|
|
5657
|
+
parent.insertBefore(p, img);
|
|
5658
|
+
p.append(img);
|
|
5659
|
+
}
|
|
5660
|
+
}
|
|
5661
|
+
mergeFloatOnlyParagraphs(root);
|
|
5662
|
+
}
|
|
5663
|
+
function mergeFloatOnlyParagraphs(root) {
|
|
5664
|
+
let i = 0;
|
|
5665
|
+
while (i < root.children.length) {
|
|
5666
|
+
const el = root.children[i];
|
|
5667
|
+
if (el.nodeName !== "P" || !isFloatOverlayOnlyParagraph(el)) {
|
|
5668
|
+
i++;
|
|
5669
|
+
continue;
|
|
5670
|
+
}
|
|
5671
|
+
const host = el;
|
|
5672
|
+
host.style.position = "relative";
|
|
5673
|
+
const j = i + 1;
|
|
5674
|
+
while (j < root.children.length) {
|
|
5675
|
+
const next = root.children[j];
|
|
5676
|
+
if (next.nodeName === "P" && isFloatOverlayOnlyParagraph(next)) {
|
|
5677
|
+
Array.from(next.querySelectorAll("img")).forEach((img) => host.append(img));
|
|
5678
|
+
next.remove();
|
|
5679
|
+
continue;
|
|
5680
|
+
}
|
|
5681
|
+
if (next.nodeName === "P") {
|
|
5682
|
+
next.style.position = "relative";
|
|
5683
|
+
Array.from(host.querySelectorAll("img")).forEach((img) => {
|
|
5684
|
+
next.insertBefore(img, next.firstChild);
|
|
5685
|
+
});
|
|
5686
|
+
host.remove();
|
|
5687
|
+
break;
|
|
5688
|
+
}
|
|
5689
|
+
break;
|
|
5690
|
+
}
|
|
5691
|
+
i++;
|
|
5692
|
+
}
|
|
5693
|
+
}
|
|
5694
|
+
function applyImageWrapFromDom(img, element) {
|
|
5695
|
+
const displayAttr = img.getAttribute("data-img-display");
|
|
5696
|
+
if (displayAttr && IMAGE_DISPLAY_VALUES.includes(displayAttr)) {
|
|
5697
|
+
element.imgDisplay = displayAttr;
|
|
5698
|
+
} else {
|
|
5699
|
+
const { float, position, zIndex, display, clear } = img.style;
|
|
5700
|
+
if (float === "left" || float === "right") {
|
|
5701
|
+
element.imgDisplay = ImageDisplay.SURROUND;
|
|
5702
|
+
} else if (position === "absolute") {
|
|
5703
|
+
const z = Number.parseInt(zIndex || "0", 10);
|
|
5704
|
+
element.imgDisplay = z < 0 ? ImageDisplay.FLOAT_BOTTOM : ImageDisplay.FLOAT_TOP;
|
|
5705
|
+
} else if (display === "block" && clear === "both") {
|
|
5706
|
+
element.imgDisplay = ImageDisplay.INLINE;
|
|
5707
|
+
} else if (display === "block") {
|
|
5708
|
+
element.imgDisplay = ImageDisplay.BLOCK;
|
|
5709
|
+
}
|
|
5710
|
+
}
|
|
5711
|
+
const floatPosAttr = img.getAttribute("data-img-float-position");
|
|
5712
|
+
if (floatPosAttr) {
|
|
5713
|
+
try {
|
|
5714
|
+
element.imgFloatPosition = JSON.parse(floatPosAttr);
|
|
5715
|
+
} catch {
|
|
5716
|
+
}
|
|
5717
|
+
} else if (element.imgDisplay === ImageDisplay.SURROUND || element.imgDisplay === ImageDisplay.FLOAT_TOP || element.imgDisplay === ImageDisplay.FLOAT_BOTTOM) {
|
|
5718
|
+
const left2 = Number.parseFloat(img.style.left);
|
|
5719
|
+
const top = Number.parseFloat(img.style.top);
|
|
5720
|
+
if (!Number.isNaN(left2) && !Number.isNaN(top)) {
|
|
5721
|
+
element.imgFloatPosition = { x: left2, y: top };
|
|
5722
|
+
}
|
|
5356
5723
|
}
|
|
5357
|
-
return elementListGroupList;
|
|
5358
5724
|
}
|
|
5359
5725
|
function createDomFromElementList(elementList, options) {
|
|
5360
5726
|
const editorOptions = mergeOption(options);
|
|
5361
5727
|
function buildDom(payload) {
|
|
5362
5728
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
5363
5729
|
const clipboardDom2 = document.createElement("div");
|
|
5730
|
+
clipboardDom2.style.position = "relative";
|
|
5731
|
+
let paragraphDom = null;
|
|
5732
|
+
const flushParagraph = () => {
|
|
5733
|
+
if (paragraphDom) {
|
|
5734
|
+
clipboardDom2.append(paragraphDom);
|
|
5735
|
+
paragraphDom = null;
|
|
5736
|
+
}
|
|
5737
|
+
};
|
|
5738
|
+
const ensureParagraph = (styleSource) => {
|
|
5739
|
+
if (!paragraphDom) {
|
|
5740
|
+
paragraphDom = document.createElement("p");
|
|
5741
|
+
applyParagraphStyleToDom(paragraphDom, styleSource);
|
|
5742
|
+
}
|
|
5743
|
+
};
|
|
5744
|
+
const appendInlineNode = (node, styleSource) => {
|
|
5745
|
+
ensureParagraph(styleSource);
|
|
5746
|
+
paragraphDom.append(node);
|
|
5747
|
+
};
|
|
5748
|
+
const appendTextRuns = (element, rawText) => {
|
|
5749
|
+
let text = rawText;
|
|
5750
|
+
if (!text)
|
|
5751
|
+
return;
|
|
5752
|
+
text = text.replace(new RegExp(`${ZERO}`, "g"), "\n");
|
|
5753
|
+
if (/^\n+$/.test(text)) {
|
|
5754
|
+
for (let i = 0; i < text.length; i++) {
|
|
5755
|
+
if (paragraphDom && paragraphDom.childNodes.length > 0) {
|
|
5756
|
+
if (isFloatOverlayOnlyParagraph(paragraphDom)) {
|
|
5757
|
+
continue;
|
|
5758
|
+
}
|
|
5759
|
+
flushParagraph();
|
|
5760
|
+
} else {
|
|
5761
|
+
ensureParagraph(element);
|
|
5762
|
+
flushParagraph();
|
|
5763
|
+
}
|
|
5764
|
+
}
|
|
5765
|
+
return;
|
|
5766
|
+
}
|
|
5767
|
+
const parts = text.split("\n");
|
|
5768
|
+
for (let i = 0; i < parts.length; i++) {
|
|
5769
|
+
if (i > 0) {
|
|
5770
|
+
flushParagraph();
|
|
5771
|
+
}
|
|
5772
|
+
const part = parts[i];
|
|
5773
|
+
if (!part) {
|
|
5774
|
+
if (i < parts.length - 1) {
|
|
5775
|
+
ensureParagraph(element);
|
|
5776
|
+
flushParagraph();
|
|
5777
|
+
}
|
|
5778
|
+
continue;
|
|
5779
|
+
}
|
|
5780
|
+
const dom = convertInlineElementToDom(element, editorOptions);
|
|
5781
|
+
dom.innerText = part;
|
|
5782
|
+
appendInlineNode(dom, element);
|
|
5783
|
+
}
|
|
5784
|
+
};
|
|
5364
5785
|
for (let e = 0; e < payload.length; e++) {
|
|
5365
5786
|
const element = payload[e];
|
|
5366
5787
|
if (element.type === ElementType.TABLE) {
|
|
5788
|
+
flushParagraph();
|
|
5367
5789
|
const tableDom = document.createElement("table");
|
|
5368
5790
|
tableDom.setAttribute("cellSpacing", "0");
|
|
5369
5791
|
tableDom.setAttribute("cellpadding", "0");
|
|
@@ -5426,13 +5848,16 @@ function createDomFromElementList(elementList, options) {
|
|
|
5426
5848
|
if (element.url) {
|
|
5427
5849
|
a.href = element.url;
|
|
5428
5850
|
}
|
|
5429
|
-
|
|
5851
|
+
appendInlineNode(a, element);
|
|
5430
5852
|
} else if (element.type === ElementType.TITLE) {
|
|
5853
|
+
flushParagraph();
|
|
5431
5854
|
const h = document.createElement(`h${titleOrderNumberMapping[element.level]}`);
|
|
5855
|
+
applyParagraphStyleToDom(h, element);
|
|
5432
5856
|
const childDom = buildDom(element.valueList);
|
|
5433
5857
|
h.innerHTML = childDom.innerHTML;
|
|
5434
5858
|
clipboardDom2.append(h);
|
|
5435
5859
|
} else if (element.type === ElementType.LIST) {
|
|
5860
|
+
flushParagraph();
|
|
5436
5861
|
const list = document.createElement(listTypeElementMapping[element.listType]);
|
|
5437
5862
|
if (element.listStyle) {
|
|
5438
5863
|
list.style.listStyleType = listStyleCSSMapping[element.listStyle];
|
|
@@ -5448,17 +5873,32 @@ function createDomFromElementList(elementList, options) {
|
|
|
5448
5873
|
clipboardDom2.append(list);
|
|
5449
5874
|
} else if (element.type === ElementType.IMAGE) {
|
|
5450
5875
|
const img = document.createElement("img");
|
|
5451
|
-
console.log(element);
|
|
5452
5876
|
if (element.value) {
|
|
5453
5877
|
img.src = element.value;
|
|
5454
5878
|
img.width = element.width;
|
|
5455
5879
|
img.height = element.height;
|
|
5456
5880
|
img.id = getUUID();
|
|
5457
|
-
|
|
5458
|
-
|
|
5881
|
+
if (element.formInput) {
|
|
5882
|
+
img.setAttribute("data-form-input", JSON.stringify(element.formInput));
|
|
5883
|
+
}
|
|
5884
|
+
applyImageWrapToDom(img, element);
|
|
5885
|
+
}
|
|
5886
|
+
if (element.imgDisplay === ImageDisplay.SURROUND || element.imgDisplay === ImageDisplay.FLOAT_TOP || element.imgDisplay === ImageDisplay.FLOAT_BOTTOM) {
|
|
5887
|
+
ensureParagraph(element);
|
|
5888
|
+
paragraphDom.style.position = "relative";
|
|
5889
|
+
paragraphDom.append(img);
|
|
5890
|
+
} else if (element.imgDisplay === ImageDisplay.BLOCK || element.imgDisplay === ImageDisplay.INLINE) {
|
|
5891
|
+
const prev = payload[e - 1];
|
|
5892
|
+
const prevIsSameKind = (prev == null ? void 0 : prev.type) === ElementType.IMAGE && (prev.imgDisplay === ImageDisplay.BLOCK || prev.imgDisplay === ImageDisplay.INLINE);
|
|
5893
|
+
if (!prevIsSameKind) {
|
|
5894
|
+
flushParagraph();
|
|
5895
|
+
}
|
|
5896
|
+
clipboardDom2.append(img);
|
|
5897
|
+
} else {
|
|
5898
|
+
appendInlineNode(img, element);
|
|
5459
5899
|
}
|
|
5460
|
-
clipboardDom2.append(img);
|
|
5461
5900
|
} else if (element.type === ElementType.BLOCK) {
|
|
5901
|
+
flushParagraph();
|
|
5462
5902
|
if (((_e = element.block) == null ? void 0 : _e.type) === BlockType.VIDEO) {
|
|
5463
5903
|
const src = (_f = element.block.videoBlock) == null ? void 0 : _f.src;
|
|
5464
5904
|
if (src) {
|
|
@@ -5489,6 +5929,7 @@ function createDomFromElementList(elementList, options) {
|
|
|
5489
5929
|
}
|
|
5490
5930
|
}
|
|
5491
5931
|
} else if (element.type === ElementType.SEPARATOR) {
|
|
5932
|
+
flushParagraph();
|
|
5492
5933
|
const hr = document.createElement("hr");
|
|
5493
5934
|
if ((_h = element.dashArray) == null ? void 0 : _h.length) {
|
|
5494
5935
|
hr.setAttribute("data-dash-array", element.dashArray.join(","));
|
|
@@ -5500,26 +5941,28 @@ function createDomFromElementList(elementList, options) {
|
|
|
5500
5941
|
if ((_i = element.checkbox) == null ? void 0 : _i.value) {
|
|
5501
5942
|
checkbox.setAttribute("checked", "true");
|
|
5502
5943
|
}
|
|
5503
|
-
|
|
5944
|
+
appendInlineNode(checkbox, element);
|
|
5504
5945
|
} else if (element.type === ElementType.RADIO) {
|
|
5505
5946
|
const radio = document.createElement("input");
|
|
5506
5947
|
radio.type = "radio";
|
|
5507
5948
|
if ((_j = element.radio) == null ? void 0 : _j.value) {
|
|
5508
5949
|
radio.setAttribute("checked", "true");
|
|
5509
5950
|
}
|
|
5510
|
-
|
|
5951
|
+
appendInlineNode(radio, element);
|
|
5511
5952
|
} else if (element.type === ElementType.TAB) {
|
|
5512
5953
|
const tab2 = document.createElement("span");
|
|
5513
5954
|
tab2.innerHTML = `${NON_BREAKING_SPACE}${NON_BREAKING_SPACE}`;
|
|
5514
|
-
|
|
5955
|
+
appendInlineNode(tab2, element);
|
|
5515
5956
|
} else if (element.type === ElementType.CONTROL) {
|
|
5516
5957
|
const controlElement = document.createElement("span");
|
|
5517
5958
|
const childDom = buildDom(((_k = element.control) == null ? void 0 : _k.value) || []);
|
|
5518
5959
|
controlElement.innerHTML = childDom.innerHTML;
|
|
5519
|
-
|
|
5960
|
+
appendInlineNode(controlElement, element);
|
|
5520
5961
|
} else if (element.type === ElementType.PAGE_BREAK) {
|
|
5962
|
+
flushParagraph();
|
|
5521
5963
|
const pageBreakElement = document.createElement("div");
|
|
5522
5964
|
pageBreakElement.style.breakAfter = "page";
|
|
5965
|
+
pageBreakElement.setAttribute("data-type", ElementType.PAGE_BREAK);
|
|
5523
5966
|
clipboardDom2.append(pageBreakElement);
|
|
5524
5967
|
} else if (!element.type || element.type === ElementType.LATEX || TEXTLIKE_ELEMENT_TYPE.includes(element.type)) {
|
|
5525
5968
|
let text = "";
|
|
@@ -5530,14 +5973,13 @@ function createDomFromElementList(elementList, options) {
|
|
|
5530
5973
|
}
|
|
5531
5974
|
if (!text)
|
|
5532
5975
|
continue;
|
|
5533
|
-
const dom = convertElementToDom(element, editorOptions);
|
|
5534
5976
|
if (((_m = payload[e - 1]) == null ? void 0 : _m.type) === ElementType.TITLE) {
|
|
5535
5977
|
text = text.replace(/^\n/, "");
|
|
5536
5978
|
}
|
|
5537
|
-
|
|
5538
|
-
clipboardDom2.append(dom);
|
|
5979
|
+
appendTextRuns(element, text);
|
|
5539
5980
|
}
|
|
5540
5981
|
}
|
|
5982
|
+
flushParagraph();
|
|
5541
5983
|
return clipboardDom2;
|
|
5542
5984
|
}
|
|
5543
5985
|
const clipboardDom = document.createElement("div");
|
|
@@ -5567,6 +6009,7 @@ function createDomFromElementList(elementList, options) {
|
|
|
5567
6009
|
});
|
|
5568
6010
|
}
|
|
5569
6011
|
}
|
|
6012
|
+
relocateFloatOverlayImages(clipboardDom);
|
|
5570
6013
|
return clipboardDom;
|
|
5571
6014
|
}
|
|
5572
6015
|
function convertTextNodeToElement(textNode) {
|
|
@@ -5639,6 +6082,13 @@ function getElementListByHTML(htmlText, options) {
|
|
|
5639
6082
|
elementList.push({
|
|
5640
6083
|
value: "\n"
|
|
5641
6084
|
});
|
|
6085
|
+
} else if (node.nodeName === "DIV" && node.getAttribute("data-ce-clear") === "both") {
|
|
6086
|
+
continue;
|
|
6087
|
+
} else if (node.nodeName === "DIV" && node.getAttribute("data-type") === ElementType.PAGE_BREAK) {
|
|
6088
|
+
elementList.push({
|
|
6089
|
+
type: ElementType.PAGE_BREAK,
|
|
6090
|
+
value: "\n"
|
|
6091
|
+
});
|
|
5642
6092
|
} else if (node.nodeName === "A") {
|
|
5643
6093
|
const aElement = node;
|
|
5644
6094
|
const value = aElement.innerText;
|
|
@@ -5701,7 +6151,9 @@ function getElementListByHTML(htmlText, options) {
|
|
|
5701
6151
|
});
|
|
5702
6152
|
} else if (node.nodeName === "IMG") {
|
|
5703
6153
|
const imgElement = node;
|
|
5704
|
-
const { src
|
|
6154
|
+
const { src } = imgElement;
|
|
6155
|
+
const width = imgElement.width || Number.parseFloat(imgElement.getAttribute("width") || "") || Number.parseFloat(imgElement.style.width) || 0;
|
|
6156
|
+
const height = imgElement.height || Number.parseFloat(imgElement.getAttribute("height") || "") || Number.parseFloat(imgElement.style.height) || 0;
|
|
5705
6157
|
if (src && width && height) {
|
|
5706
6158
|
const element = {
|
|
5707
6159
|
width,
|
|
@@ -5711,8 +6163,8 @@ function getElementListByHTML(htmlText, options) {
|
|
|
5711
6163
|
rowFlex: convertTextAlignToRowFlex(node.parentElement),
|
|
5712
6164
|
verticalAlign: "text-top"
|
|
5713
6165
|
};
|
|
6166
|
+
applyImageWrapFromDom(imgElement, element);
|
|
5714
6167
|
const formInputAttr = imgElement.getAttribute("data-form-input");
|
|
5715
|
-
console.log("data-form-input", formInputAttr);
|
|
5716
6168
|
if (formInputAttr) {
|
|
5717
6169
|
try {
|
|
5718
6170
|
element.formInput = JSON.parse(formInputAttr);
|
|
@@ -5975,11 +6427,17 @@ function getNonHideElementIndex(elementList, index2, position = LocationPosition
|
|
|
5975
6427
|
}
|
|
5976
6428
|
return i;
|
|
5977
6429
|
}
|
|
5978
|
-
function convertToXHTML(dom) {
|
|
6430
|
+
function convertToXHTML(dom, options) {
|
|
6431
|
+
var _a;
|
|
5979
6432
|
if (!dom)
|
|
5980
6433
|
return "";
|
|
5981
6434
|
const serializer = new XMLSerializer();
|
|
5982
|
-
|
|
6435
|
+
let xhtml = serializer.serializeToString(dom);
|
|
6436
|
+
xhtml = xhtml.replace(/\sxmlns="http:\/\/www\.w3\.org\/1999\/xhtml"/g, "");
|
|
6437
|
+
const keepRoot = (options == null ? void 0 : options.keepRoot) || ((_a = dom.classList) == null ? void 0 : _a.contains("ce-export-page"));
|
|
6438
|
+
if (keepRoot) {
|
|
6439
|
+
return xhtml;
|
|
6440
|
+
}
|
|
5983
6441
|
const match = xhtml.match(/<[^>]+>([\s\S]*)<\/[^>]+>$/i);
|
|
5984
6442
|
return match ? match[1] : xhtml;
|
|
5985
6443
|
}
|
|
@@ -15540,7 +15998,7 @@ function WorkerWrapper$1() {
|
|
|
15540
15998
|
objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);
|
|
15541
15999
|
}
|
|
15542
16000
|
}
|
|
15543
|
-
const encodedJs = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBSPShlPT4oZS5IQUxGPSJoYWxmIixlLk9ORV9USElSRD0ib25lLXRoaXJkIixlLlFVQVJURVI9InF1YXJ0ZXIiLGUpKShSfHx7fSksZz0oZT0+
|
|
16001
|
+
const encodedJs = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBSPShlPT4oZS5IQUxGPSJoYWxmIixlLk9ORV9USElSRD0ib25lLXRoaXJkIixlLlFVQVJURVI9InF1YXJ0ZXIiLGUpKShSfHx7fSksZz0oZT0+KGUuQVJBQklDPSJhcmFiaWMiLGUuQ0hJTkVTRT0iY2hpbmVzZSIsZSkpKGd8fHt9KSxtPShlPT4oZS5JTkxJTkU9ImlubGluZSIsZS5CTE9DSz0iYmxvY2siLGUuU1VSUk9VTkQ9InN1cnJvdW5kIixlLkZMT0FUX1RPUD0iZmxvYXQtdG9wIixlLkZMT0FUX0JPVFRPTT0iZmxvYXQtYm90dG9tIixlKSkobXx8e30pO2NvbnN0IHY9Ilx1MjAwQiI7Ui5IQUxGKyIiLDEvMixSLk9ORV9USElSRCsiIiwxLzMsUi5RVUFSVEVSKyIiLDEvNDtmdW5jdGlvbiBTKGUpe2lmKHR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmU9PSJmdW5jdGlvbiIpcmV0dXJuIHN0cnVjdHVyZWRDbG9uZShlKTtpZighZXx8dHlwZW9mIGUhPSJvYmplY3QiKXJldHVybiBlO2xldCBvPXt9O3JldHVybiBBcnJheS5pc0FycmF5KGUpP289ZS5tYXAoZD0+UyhkKSk6T2JqZWN0LmtleXMoZSkuZm9yRWFjaChkPT57b1tkXT1TKGVbZF0pfSksb31mdW5jdGlvbiBOKGUsbyl7Y29uc3QgZD17fTtmb3IoY29uc3QgZiBpbiBlKW8uaW5jbHVkZXMoZikmJihkW2ZdPWVbZl0pO3JldHVybiBkfWZ1bmN0aW9uIF8oZSxvKXtyZXR1cm4gZS5sZW5ndGghPT1vLmxlbmd0aD8hMTohZS5zb21lKGQ9PiFvLmluY2x1ZGVzKGQpKX12YXIgYT0oZT0+KGUuVEVYVD0idGV4dCIsZS5JTUFHRT0iaW1hZ2UiLGUuVEFCTEU9InRhYmxlIixlLkhZUEVSTElOSz0iaHlwZXJsaW5rIixlLlNVUEVSU0NSSVBUPSJzdXBlcnNjcmlwdCIsZS5TVUJTQ1JJUFQ9InN1YnNjcmlwdCIsZS5TRVBBUkFUT1I9InNlcGFyYXRvciIsZS5QQUdFX0JSRUFLPSJwYWdlQnJlYWsiLGUuQ09OVFJPTD0iY29udHJvbCIsZS5BUkVBPSJhcmVhIixlLkNIRUNLQk9YPSJjaGVja2JveCIsZS5SQURJTz0icmFkaW8iLGUuTEFURVg9ImxhdGV4IixlLlRBQj0idGFiIixlLkRBVEU9ImRhdGUiLGUuQkxPQ0s9ImJsb2NrIixlLlRJVExFPSJ0aXRsZSIsZS5MSVNUPSJsaXN0IixlLkxBQkVMPSJsYWJlbCIsZSkpKGF8fHt9KTtjb25zdCBCPVsicm93RmxleCIsInJvd01hcmdpbiIsInRleHRJbmRlbnQiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJtYXJnaW5Ub3AiLCJtaW5IZWlnaHQiLCJ3aGl0ZVNwYWNlIl0sVT1bInR5cGUiLCJmb250Iiwic2l6ZSIsImJvbGQiLCJjb2xvciIsIml0YWxpYyIsImhpZ2hsaWdodCIsInVuZGVybGluZSIsInN0cmlrZW91dCIsInJvd0ZsZXgiLCJyb3dNYXJnaW4iLCJ0ZXh0SW5kZW50IiwibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0IiwibWFyZ2luVG9wIiwibWluSGVpZ2h0Iiwid2hpdGVTcGFjZSIsImRhc2hBcnJheSIsInRyTGlzdCIsInRhYmxlVG9vbERpc2FibGVkIiwiYm9yZGVyVHlwZSIsImJvcmRlckNvbG9yIiwidHJhbnNsYXRlWCIsIndpZHRoIiwiaGVpZ2h0IiwidXJsIiwiY29sZ3JvdXAiLCJ2YWx1ZUxpc3QiLCJjb250cm9sIiwiY2hlY2tib3giLCJyYWRpbyIsImRhdGVGb3JtYXQiLCJibG9jayIsImxldmVsIiwidGl0bGUiLCJsaXN0VHlwZSIsImxpc3RTdHlsZSIsImxpc3RXcmFwIiwiZ3JvdXBJZHMiLCJjb25jZXB0SWQiLCJpbWdEaXNwbGF5IiwiaW1nRmxvYXRQb3NpdGlvbiIsImltZ1Rvb2xEaXNhYmxlZCIsImltZ1ByZXZpZXdEaXNhYmxlZCIsImltZ0Nyb3AiLCJpbWdDYXB0aW9uIiwidGV4dERlY29yYXRpb24iLCJleHRlbnNpb24iLCJleHRlcm5hbElkIiwiYXJlYUlkIiwiYXJlYSIsImhpZGUiLCJsYWJlbCIsImxhYmVsSWQiLCJsaW5lV2lkdGgiLCJmb3JtSW5wdXQiXSx3PVsiY29uY2VwdElkIiwiZXh0ZW5zaW9uIiwiZXh0ZXJuYWxJZCIsInZlcnRpY2FsQWxpZ24iLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXJUeXBlcyIsInNsYXNoVHlwZXMiLCJkaXNhYmxlZCIsImRlbGV0YWJsZSJdLEs9WyJmb250Iiwic2l6ZSIsImJvbGQiLCJoaWdobGlnaHQiLCJpdGFsaWMiLCJzdHJpa2VvdXQiXTthLlRFWFQsYS5IWVBFUkxJTkssYS5TVUJTQ1JJUFQsYS5TVVBFUlNDUklQVCxhLkNPTlRST0wsYS5EQVRFLGEuSU1BR0UsYS5MQVRFWCxhLkJMT0NLLGEuUEFHRV9CUkVBSyxhLlNFUEFSQVRPUixhLlRBQkxFLGEuVElUTEUsYS5MSVNUO3ZhciBiPShlPT4oZS5VTD0idWwiLGUuT0w9Im9sIixlKSkoYnx8e30pLEw9KGU9PihlLkRJU0M9ImRpc2MiLGUuQ0lSQ0xFPSJjaXJjbGUiLGUuU1FVQVJFPSJzcXVhcmUiLGUuQ0hFQ0tCT1g9ImNoZWNrYm94IixlKSkoTHx8e30pLE89KGU9PihlLkRJU0M9ImRpc2MiLGUuQ0lSQ0xFPSJjaXJjbGUiLGUuU1FVQVJFPSJzcXVhcmUiLGUuREVDSU1BTD0iZGVjaW1hbCIsZS5DSEVDS0JPWD0iY2hlY2tib3giLGUpKShPfHx7fSk7TC5ESVNDKyIiLEwuQ0lSQ0xFKyIiLEwuU1FVQVJFKyIiLEwuQ0hFQ0tCT1grIiIsYi5PTCsiIixiLlVMKyIiLE8uRElTQysiIixPLkNJUkNMRSsiIixPLlNRVUFSRSsiIixPLkRFQ0lNQUwrIiIsTy5DSEVDS0JPWCsiIjt2YXIgRT0oZT0+KGUuRklSU1Q9ImZpcnN0IixlLlNFQ09ORD0ic2Vjb25kIixlLlRISVJEPSJ0aGlyZCIsZS5GT1VSVEg9ImZvdXJ0aCIsZS5GSUZUSD0iZmlmdGgiLGUuU0lYVEg9InNpeHRoIixlKSkoRXx8e30pO0UuRklSU1QrIiIsRS5TRUNPTkQrIiIsRS5USElSRCsiIixFLkZPVVJUSCsiIixFLkZJRlRIKyIiLEUuU0lYVEgrIiIsRS5GSVJTVCsiIixFLlNFQ09ORCsiIixFLlRISVJEKyIiLEUuRk9VUlRIKyIiLEUuRklGVEgrIiIsRS5TSVhUSCsiIixFLkZJUlNULEUuU0VDT05ELEUuVEhJUkQsRS5GT1VSVEgsRS5GSUZUSCxFLlNJWFRIO3ZhciBBPShlPT4oZS5QUkVGSVg9InByZWZpeCIsZS5QT1NURklYPSJwb3N0Zml4IixlLlBSRV9URVhUPSJwcmVUZXh0IixlLlBPU1RfVEVYVD0icG9zdFRleHQiLGUuUExBQ0VIT0xERVI9InBsYWNlaG9sZGVyIixlLlZBTFVFPSJ2YWx1ZSIsZS5DSEVDS0JPWD0iY2hlY2tib3giLGUuUkFESU89InJhZGlvIixlKSkoQXx8e30pLHk9KGU9PihlLkxFRlQ9ImxlZnQiLGUuQ0VOVEVSPSJjZW50ZXIiLGUuUklHSFQ9InJpZ2h0IixlLkFMSUdOTUVOVD0iYWxpZ25tZW50IixlLkpVU1RJRlk9Imp1c3RpZnkiLGUpKSh5fHx7fSksaz0oZT0+KGUuQ09OVEFJTj0iY29udGFpbiIsZS5DT1ZFUj0iY292ZXIiLGUpKShrfHx7fSksRD0oZT0+KGUuUkVQRUFUPSJyZXBlYXQiLGUuTk9fUkVQRUFUPSJuby1yZXBlYXQiLGUuUkVQRUFUX1g9InJlcGVhdC14IixlLlJFUEVBVF9ZPSJyZXBlYXQteSIsZSkpKER8fHt9KTtrLkNPVkVSLEQuTk9fUkVQRUFUO3ZhciBQPShlPT4oZS5UT1A9InRvcCIsZS5NSURETEU9Im1pZGRsZSIsZS5CT1RUT009ImJvdHRvbSIsZSkpKFB8fHt9KTtQLkJPVFRPTSxSLkhBTEYsUi5IQUxGO2NvbnN0IE09e1BBR0VfTk86IntwYWdlTm99IixQQUdFX0NPVU5UOiJ7cGFnZUNvdW50fSJ9O3kuQ0VOVEVSLE0uUEFHRV9OTyxnLkFSQUJJQyxQLkJPVFRPTTt2YXIgeD0oZT0+KGUuVEVYVD0idGV4dCIsZS5JTUFHRT0iaW1hZ2UiLGUpKSh4fHx7fSk7eC5URVhULGcuQVJBQklDO3ZhciBYPShlPT4oZS5QQUdFPSJwYWdlIixlLkNPTlRJTlVJVFk9ImNvbnRpbnVpdHkiLGUpKShYfHx7fSk7WC5DT05USU5VSVRZO2Z1bmN0aW9uIHooZSxvKXtjb25zdCBkPU9iamVjdC5rZXlzKGUpLGY9T2JqZWN0LmtleXMobyk7aWYoZC5sZW5ndGghPT1mLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IFQ9MDtUPGQubGVuZ3RoO1QrKyl7Y29uc3QgbD1kW1RdO2lmKGwhPT0idmFsdWUiJiYhKGw9PT0iZ3JvdXBJZHMiJiZBcnJheS5pc0FycmF5KGVbbF0pJiZBcnJheS5pc0FycmF5KG9bbF0pJiZfKGVbbF0sb1tsXSkpJiZlW2xdIT09b1tsXSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBIKGUsbz17fSl7Y29uc3R7ZXh0cmFQaWNrQXR0cnM6ZH09byxmPVsuLi5VXTtkJiZmLnB1c2goLi4uZCk7Y29uc3QgVD17dmFsdWU6ZS52YWx1ZT09PXY/YApgOmUudmFsdWV9O3JldHVybiBmLmZvckVhY2gobD0+e2NvbnN0IHA9ZVtsXTtwIT09dm9pZCAwJiYoVFtsXT1wKX0pLFR9ZnVuY3Rpb24gSShlLG89e30pe2NvbnN0e2V4dHJhUGlja0F0dHJzOmQsaXNDbGFzc2lmeUFyZWE6Zj0hMSxpc0Nsb25lOlQ9ITB9PW8sbD1UP1MoZSk6ZSxwPVtdO2xldCBpPTA7Zm9yKDtpPGwubGVuZ3RoOyl7bGV0IHQ9bFtpXTtpZihpPT09MCYmdC52YWx1ZT09PXYmJiF0Lmxpc3RJZCYmKCF0LnR5cGV8fHQudHlwZT09PWEuVEVYVCkpe2krKztjb250aW51ZX1pZih0LmFyZWFJZCl7Y29uc3Qgcj10LmFyZWFJZCx1PXQuYXJlYSxjPVtdO2Zvcig7aTxsLmxlbmd0aDspe2NvbnN0IHM9bFtpXTtpZihyIT09cy5hcmVhSWQpe2ktLTticmVha31kZWxldGUgcy5hcmVhLGRlbGV0ZSBzLmFyZWFJZCxjLnB1c2gocyksaSsrfWNvbnN0IG49SShjLG8pO2lmKGYpe2NvbnN0IHM9e3R5cGU6YS5BUkVBLHZhbHVlOiIiLGFyZWFJZDpyLGFyZWE6dX07cy52YWx1ZUxpc3Q9bix0PXN9ZWxzZXtwLnNwbGljZShpLDAsLi4ubik7Y29udGludWV9fWVsc2UgaWYodC50aXRsZUlkJiZ0LmxldmVsKXtjb25zdCByPXQudGl0bGVJZDtpZihyKXtjb25zdCB1PXQubGV2ZWwsYz17dHlwZTphLlRJVExFLHRpdGxlOnQudGl0bGUsdGl0bGVJZDpyLHZhbHVlOiIiLGxldmVsOnV9LG49W107Zm9yKDtpPGwubGVuZ3RoOyl7Y29uc3Qgcz1sW2ldO2lmKHIhPT1zLnRpdGxlSWQpe2ktLTticmVha31kZWxldGUgcy5sZXZlbCxkZWxldGUgcy50aXRsZSxuLnB1c2gocyksaSsrfWMudmFsdWVMaXN0PUkobixvKSx0PWN9fWVsc2UgaWYodC5saXN0SWQmJnQubGlzdFR5cGUpe2NvbnN0IHI9dC5saXN0SWQ7aWYocil7Y29uc3QgdT10Lmxpc3RUeXBlLGM9dC5saXN0U3R5bGUsbj17dHlwZTphLkxJU1QsdmFsdWU6IiIsbGlzdElkOnIsbGlzdFR5cGU6dSxsaXN0U3R5bGU6Y30scz1bXTtmb3IoO2k8bC5sZW5ndGg7KXtjb25zdCBoPWxbaV07aWYociE9PWgubGlzdElkKXtpLS07YnJlYWt9ZGVsZXRlIGgubGlzdFR5cGUsZGVsZXRlIGgubGlzdFN0eWxlLHMucHVzaChoKSxpKyt9bi52YWx1ZUxpc3Q9SShzLG8pLHQ9bn19ZWxzZSBpZih0LnR5cGU9PT1hLlRBQkxFKXtpZih0LnBhZ2luZ0lkKXtsZXQgcj1pKzEsdT0wO2Zvcig7cjxsLmxlbmd0aDspe2NvbnN0IGM9bFtyXTtpZihjLnBhZ2luZ0lkPT09dC5wYWdpbmdJZCl0LmhlaWdodCs9Yy5oZWlnaHQsdC50ckxpc3QucHVzaCguLi5jLnRyTGlzdCkscisrLHUrKztlbHNlIGJyZWFrfWkrPXV9aWYodC50ckxpc3QpZm9yKGxldCByPTA7cjx0LnRyTGlzdC5sZW5ndGg7cisrKXtjb25zdCB1PXQudHJMaXN0W3JdO2RlbGV0ZSB1LmlkO2ZvcihsZXQgYz0wO2M8dS50ZExpc3QubGVuZ3RoO2MrKyl7Y29uc3Qgbj11LnRkTGlzdFtjXSxzPXtjb2xzcGFuOm4uY29sc3Bhbixyb3dzcGFuOm4ucm93c3Bhbix2YWx1ZTpJKG4udmFsdWUsey4uLm8saXNDbGFzc2lmeUFyZWE6ITF9KX07dy5mb3JFYWNoKGg9Pntjb25zdCBDPW5baF07QyE9PXZvaWQgMCYmKHNbaF09Qyl9KSx1LnRkTGlzdFtjXT1zfX19ZWxzZSBpZih0LnR5cGU9PT1hLkhZUEVSTElOSyl7Y29uc3Qgcj10Lmh5cGVybGlua0lkO2lmKHIpe2NvbnN0IHU9e3R5cGU6YS5IWVBFUkxJTkssdmFsdWU6IiIsdXJsOnQudXJsfSxjPVtdO2Zvcig7aTxsLmxlbmd0aDspe2NvbnN0IG49bFtpXTtpZihyIT09bi5oeXBlcmxpbmtJZCl7aS0tO2JyZWFrfWRlbGV0ZSBuLnR5cGUsZGVsZXRlIG4udXJsLGMucHVzaChuKSxpKyt9dS52YWx1ZUxpc3Q9SShjLG8pLHQ9dX19ZWxzZSBpZih0LnR5cGU9PT1hLkRBVEUpe2NvbnN0IHI9dC5kYXRlSWQ7aWYocil7Y29uc3QgdT17dHlwZTphLkRBVEUsdmFsdWU6IiIsZGF0ZUZvcm1hdDp0LmRhdGVGb3JtYXR9LGM9W107Zm9yKDtpPGwubGVuZ3RoOyl7Y29uc3Qgbj1sW2ldO2lmKHIhPT1uLmRhdGVJZCl7aS0tO2JyZWFrfWRlbGV0ZSBuLnR5cGUsZGVsZXRlIG4uZGF0ZUZvcm1hdCxjLnB1c2gobiksaSsrfXUudmFsdWVMaXN0PUkoYyxvKSx0PXV9fWVsc2UgaWYodC5jb250cm9sSWQpe2NvbnN0IHI9dC5jb250cm9sSWQ7aWYodC5jb250cm9sQ29tcG9uZW50PT09QS5QUkVGSVgpe2NvbnN0IHU9W107bGV0IGM9ITEsbj1pO2Zvcig7bjxsLmxlbmd0aDspe2NvbnN0IHM9bFtuXTtpZihyIT09cy5jb250cm9sSWQpYnJlYWs7cy5jb250cm9sQ29tcG9uZW50PT09QS5WQUxVRSYmKGRlbGV0ZSBzLmNvbnRyb2wsZGVsZXRlIHMuY29udHJvbElkLHUucHVzaChzKSkscy5jb250cm9sQ29tcG9uZW50PT09QS5QT1NURklYJiYoYz0hMCksbisrfWlmKGMpe2NvbnN0IHM9Tih0LEspLGg9ey4uLnQuY29udHJvbCwuLi5zfSxDPXsuLi5OKHQsQiksdHlwZTphLkNPTlRST0wsdmFsdWU6IiIsY29udHJvbDpoLGNvbnRyb2xJZDpyfTtDLmNvbnRyb2wudmFsdWU9SSh1LG8pLHQ9SChDLHtleHRyYVBpY2tBdHRyczpkfSksaSs9bi1pLTF9fWlmKHQuY29udHJvbENvbXBvbmVudCYmKGRlbGV0ZSB0LmNvbnRyb2wsZGVsZXRlIHQuY29udHJvbElkLHQuY29udHJvbENvbXBvbmVudCE9PUEuVkFMVUUmJnQuY29udHJvbENvbXBvbmVudCE9PUEuUFJFX1RFWFQmJnQuY29udHJvbENvbXBvbmVudCE9PUEuUE9TVF9URVhUKSl7aSsrO2NvbnRpbnVlfX1jb25zdCBGPUgodCx7ZXh0cmFQaWNrQXR0cnM6ZH0pO2lmKCF0LnR5cGV8fHQudHlwZT09PWEuVEVYVHx8dC50eXBlPT09YS5TVUJTQ1JJUFR8fHQudHlwZT09PWEuU1VQRVJTQ1JJUFQpZm9yKDtpPGwubGVuZ3RoOyl7Y29uc3Qgcj1sW2krMV07aWYoaSsrLHImJnooRixIKHIse2V4dHJhUGlja0F0dHJzOmR9KSkpe2NvbnN0IHU9ci52YWx1ZT09PXY/YApgOnIudmFsdWU7Ri52YWx1ZSs9dX1lbHNlIGJyZWFrfWVsc2UgaSsrO3AucHVzaChGKX1yZXR1cm4gcH1PYmplY3QudmFsdWVzKG0pLG9ubWVzc2FnZT1lPT57Y29uc3Qgbz1lLmRhdGEse29wdGlvbnM6ZCxkYXRhOmZ9PW8se2V4dHJhUGlja0F0dHJzOlQ9W119PWR8fHt9LGw9e2hlYWRlcjpJKGYuaGVhZGVyLHtleHRyYVBpY2tBdHRyczpULGlzQ2xvbmU6ITF9KSxtYWluOkkoZi5tYWluLHtleHRyYVBpY2tBdHRyczpULGlzQ2xhc3NpZnlBcmVhOiEwLGlzQ2xvbmU6ITF9KSxmb290ZXI6SShmLmZvb3Rlcix7ZXh0cmFQaWNrQXR0cnM6VCxpc0Nsb25lOiExfSl9O3Bvc3RNZXNzYWdlKGwpfX0pKCk7Cg==";
|
|
15544
16002
|
const blob = typeof window !== "undefined" && window.Blob && new Blob([atob(encodedJs)], { type: "text/javascript;charset=utf-8" });
|
|
15545
16003
|
function WorkerWrapper() {
|
|
15546
16004
|
const objURL = blob && (window.URL || window.webkitURL).createObjectURL(blob);
|
|
@@ -15805,9 +16263,7 @@ class Dialog {
|
|
|
15805
16263
|
const renderOptions = (filterText = "") => {
|
|
15806
16264
|
var _a2;
|
|
15807
16265
|
dropdown.innerHTML = "";
|
|
15808
|
-
const filteredOptions = ((_a2 = option.options) == null ? void 0 : _a2.filter(
|
|
15809
|
-
(opt) => !filterText || opt.label.toLowerCase().includes(filterText.toLowerCase())
|
|
15810
|
-
)) || [];
|
|
16266
|
+
const filteredOptions = ((_a2 = option.options) == null ? void 0 : _a2.filter((opt) => !filterText || opt.label.toLowerCase().includes(filterText.toLowerCase()))) || [];
|
|
15811
16267
|
const dropdownInfo2 = this.searchDropdowns.get(option.name);
|
|
15812
16268
|
const currentValue2 = (dropdownInfo2 == null ? void 0 : dropdownInfo2.selectedValue) || option.value || "";
|
|
15813
16269
|
if (filteredOptions.length === 0) {
|
|
@@ -21549,6 +22005,11 @@ class Draw {
|
|
|
21549
22005
|
let listId;
|
|
21550
22006
|
let listIndex = 0;
|
|
21551
22007
|
let controlRealWidth = 0;
|
|
22008
|
+
const getParagraphOffsetX = (el, isFirstLine) => {
|
|
22009
|
+
const marginLeft = el.marginLeft || 0;
|
|
22010
|
+
const textIndent = isFirstLine ? el.textIndent || 0 : 0;
|
|
22011
|
+
return (marginLeft + textIndent) * scale;
|
|
22012
|
+
};
|
|
21552
22013
|
for (let i = 0; i < elementList.length; i++) {
|
|
21553
22014
|
const curRow = rowList[rowList.length - 1];
|
|
21554
22015
|
const element = elementList[i];
|
|
@@ -21559,8 +22020,17 @@ class Draw {
|
|
|
21559
22020
|
boundingBoxAscent: 0,
|
|
21560
22021
|
boundingBoxDescent: 0
|
|
21561
22022
|
};
|
|
22023
|
+
if (curRow.offsetX === void 0 && !element.listId && (element.marginLeft || element.textIndent || element.marginRight || element.marginTop)) {
|
|
22024
|
+
const preElement2 = elementList[i - 1];
|
|
22025
|
+
const isFirstLine = i === 0 || (preElement2 == null ? void 0 : preElement2.value) === ZERO || (preElement2 == null ? void 0 : preElement2.type) === ElementType.PAGE_BREAK;
|
|
22026
|
+
curRow.offsetX = getParagraphOffsetX(element, isFirstLine);
|
|
22027
|
+
if (isFirstLine && element.marginTop) {
|
|
22028
|
+
curRow.offsetY = (curRow.offsetY || 0) + element.marginTop * scale;
|
|
22029
|
+
}
|
|
22030
|
+
}
|
|
21562
22031
|
const offsetX = curRow.offsetX || element.listId && listStyleMap.get(element.listId) || 0;
|
|
21563
|
-
const
|
|
22032
|
+
const marginRight = (element.marginRight || 0) * scale;
|
|
22033
|
+
const availableWidth = innerWidth - offsetX - marginRight;
|
|
21564
22034
|
const isStartElement = curRow.elementList.length === 1;
|
|
21565
22035
|
x += isStartElement ? offsetX : 0;
|
|
21566
22036
|
y += isStartElement ? curRow.offsetY || 0 : 0;
|
|
@@ -21803,7 +22273,7 @@ class Draw {
|
|
|
21803
22273
|
} else if (element.type === ElementType.PAGE_BREAK) {
|
|
21804
22274
|
element.width = availableWidth / scale;
|
|
21805
22275
|
metrics.width = availableWidth;
|
|
21806
|
-
metrics.height = defaultSize;
|
|
22276
|
+
metrics.height = this.options.pageBreak.visible ? defaultSize : 0;
|
|
21807
22277
|
} else if (element.type === ElementType.RADIO || element.controlComponent === ControlComponent.RADIO) {
|
|
21808
22278
|
const { width, height: height2, gap } = this.options.radio;
|
|
21809
22279
|
const elementWidth = width + gap * 2;
|
|
@@ -21957,8 +22427,13 @@ class Draw {
|
|
|
21957
22427
|
row.isList = true;
|
|
21958
22428
|
row.offsetX = listStyleMap.get(element.listId);
|
|
21959
22429
|
row.listIndex = listIndex;
|
|
22430
|
+
} else if (element.marginLeft || element.textIndent || element.marginRight) {
|
|
22431
|
+
row.offsetX = getParagraphOffsetX(element, isForceBreak);
|
|
21960
22432
|
}
|
|
21961
22433
|
row.offsetY = !isFromTable && ((_s = element.area) == null ? void 0 : _s.top) && element.areaId !== ((_t = elementList[i - 1]) == null ? void 0 : _t.areaId) ? element.area.top * scale : 0;
|
|
22434
|
+
if (isForceBreak && element.marginTop) {
|
|
22435
|
+
row.offsetY = (row.offsetY || 0) + element.marginTop * scale;
|
|
22436
|
+
}
|
|
21962
22437
|
rowList.push(row);
|
|
21963
22438
|
} else {
|
|
21964
22439
|
curRow.width += metrics.width;
|
|
@@ -21973,6 +22448,16 @@ class Draw {
|
|
|
21973
22448
|
}
|
|
21974
22449
|
if (isWrap || i === elementList.length - 1) {
|
|
21975
22450
|
curRow.isWidthNotEnough = isWidthNotEnough && !isForceBreak;
|
|
22451
|
+
let rowMinHeight = 0;
|
|
22452
|
+
for (let e = 0; e < curRow.elementList.length; e++) {
|
|
22453
|
+
const el = curRow.elementList[e];
|
|
22454
|
+
const mh = (el.minHeight || 0) * scale;
|
|
22455
|
+
if (mh > rowMinHeight)
|
|
22456
|
+
rowMinHeight = mh;
|
|
22457
|
+
}
|
|
22458
|
+
if (rowMinHeight > curRow.height) {
|
|
22459
|
+
curRow.height = rowMinHeight;
|
|
22460
|
+
}
|
|
21976
22461
|
if (!curRow.isSurround && ((preElement == null ? void 0 : preElement.rowFlex) === RowFlex.JUSTIFY || (preElement == null ? void 0 : preElement.rowFlex) === RowFlex.ALIGNMENT && curRow.isWidthNotEnough)) {
|
|
21977
22462
|
const rowElementList = ((_v = curRow.elementList[0]) == null ? void 0 : _v.value) === ZERO ? curRow.elementList.slice(1) : curRow.elementList;
|
|
21978
22463
|
const gap = (availableWidth - curRow.width) / (rowElementList.length - 1);
|
|
@@ -22153,7 +22638,7 @@ class Draw {
|
|
|
22153
22638
|
} else if (element.type === ElementType.SEPARATOR) {
|
|
22154
22639
|
this.separatorParticle.render(ctx, element, x, y);
|
|
22155
22640
|
} else if (element.type === ElementType.PAGE_BREAK) {
|
|
22156
|
-
if (this.mode !== EditorMode.CLEAN && !isPrintMode) {
|
|
22641
|
+
if (this.mode !== EditorMode.CLEAN && !isPrintMode && this.options.pageBreak.visible) {
|
|
22157
22642
|
this.pageBreakParticle.render(ctx, element, x, y);
|
|
22158
22643
|
}
|
|
22159
22644
|
} else if (element.type === ElementType.CHECKBOX || element.controlComponent === ControlComponent.CHECKBOX) {
|
|
@@ -22707,6 +23192,7 @@ class Command {
|
|
|
22707
23192
|
this.executeLocationCatalog = adapt.locationCatalog.bind(adapt);
|
|
22708
23193
|
this.executeWordTool = adapt.wordTool.bind(adapt);
|
|
22709
23194
|
this.executeSetHTML = adapt.setHTML.bind(adapt);
|
|
23195
|
+
this.executeSetHtmlDocx = adapt.setHtmlDocx.bind(adapt);
|
|
22710
23196
|
this.executeSetGroup = adapt.setGroup.bind(adapt);
|
|
22711
23197
|
this.executeDeleteGroup = adapt.deleteGroup.bind(adapt);
|
|
22712
23198
|
this.executeLocationGroup = adapt.locationGroup.bind(adapt);
|
|
@@ -22765,6 +23251,320 @@ function getParagraphNo(elementList, index2) {
|
|
|
22765
23251
|
}
|
|
22766
23252
|
return paragraphNo;
|
|
22767
23253
|
}
|
|
23254
|
+
function parsePx(value) {
|
|
23255
|
+
const n = Number.parseFloat(value);
|
|
23256
|
+
return Number.isFinite(n) ? n : 0;
|
|
23257
|
+
}
|
|
23258
|
+
function parseDocxPaperMeta(section) {
|
|
23259
|
+
const style = window.getComputedStyle(section);
|
|
23260
|
+
const width = Math.round(parsePx(style.width)) || Math.round(section.clientWidth);
|
|
23261
|
+
const height = Math.round(parsePx(style.minHeight || style.height)) || Math.round(section.clientHeight);
|
|
23262
|
+
const margins = [
|
|
23263
|
+
Math.round(parsePx(style.paddingTop)),
|
|
23264
|
+
Math.round(parsePx(style.paddingRight)),
|
|
23265
|
+
Math.round(parsePx(style.paddingBottom)),
|
|
23266
|
+
Math.round(parsePx(style.paddingLeft))
|
|
23267
|
+
];
|
|
23268
|
+
return {
|
|
23269
|
+
width: width || 794,
|
|
23270
|
+
height: height || 1123,
|
|
23271
|
+
margins
|
|
23272
|
+
};
|
|
23273
|
+
}
|
|
23274
|
+
function parseLineHeightAsRowMargin(lineHeight, fontSizePx) {
|
|
23275
|
+
const trimmed = lineHeight.trim();
|
|
23276
|
+
if (!trimmed || trimmed === "normal")
|
|
23277
|
+
return void 0;
|
|
23278
|
+
if (/^\d+(\.\d+)?$/.test(trimmed)) {
|
|
23279
|
+
const ratio = Number.parseFloat(trimmed);
|
|
23280
|
+
return Number.isFinite(ratio) && ratio > 0 ? ratio : void 0;
|
|
23281
|
+
}
|
|
23282
|
+
const px = parsePx(trimmed);
|
|
23283
|
+
if (px > 0 && fontSizePx > 0) {
|
|
23284
|
+
return px / fontSizePx;
|
|
23285
|
+
}
|
|
23286
|
+
return void 0;
|
|
23287
|
+
}
|
|
23288
|
+
function getParagraphStyle(p) {
|
|
23289
|
+
const style = window.getComputedStyle(p);
|
|
23290
|
+
const fontSize = parsePx(style.fontSize) || 14;
|
|
23291
|
+
const rowFlex = convertTextAlignToRowFlex(p);
|
|
23292
|
+
const rowMargin = parseLineHeightAsRowMargin(style.lineHeight, fontSize);
|
|
23293
|
+
const textIndent = parsePx(style.textIndent);
|
|
23294
|
+
const marginLeft = parsePx(style.marginInlineStart || style.marginLeft);
|
|
23295
|
+
const marginRight = parsePx(style.marginInlineEnd || style.marginRight);
|
|
23296
|
+
const marginTop = parsePx(style.marginTop);
|
|
23297
|
+
let minHeight = parsePx(style.minHeight);
|
|
23298
|
+
if (!minHeight && fontSize) {
|
|
23299
|
+
minHeight = fontSize;
|
|
23300
|
+
}
|
|
23301
|
+
let whiteSpace = style.whiteSpace;
|
|
23302
|
+
if (!whiteSpace || whiteSpace === "normal") {
|
|
23303
|
+
const span = p.querySelector("span");
|
|
23304
|
+
if (span) {
|
|
23305
|
+
const spanWhiteSpace = window.getComputedStyle(span).whiteSpace;
|
|
23306
|
+
if (spanWhiteSpace && spanWhiteSpace !== "normal") {
|
|
23307
|
+
whiteSpace = spanWhiteSpace;
|
|
23308
|
+
}
|
|
23309
|
+
}
|
|
23310
|
+
}
|
|
23311
|
+
if ((!whiteSpace || whiteSpace === "normal") && p.closest(".docx, .docx-wrapper")) {
|
|
23312
|
+
whiteSpace = "pre-wrap";
|
|
23313
|
+
}
|
|
23314
|
+
const result = {};
|
|
23315
|
+
if (rowFlex !== RowFlex.LEFT)
|
|
23316
|
+
result.rowFlex = rowFlex;
|
|
23317
|
+
if (rowMargin !== void 0)
|
|
23318
|
+
result.rowMargin = rowMargin;
|
|
23319
|
+
if (textIndent)
|
|
23320
|
+
result.textIndent = textIndent;
|
|
23321
|
+
if (marginLeft)
|
|
23322
|
+
result.marginLeft = marginLeft;
|
|
23323
|
+
if (marginRight)
|
|
23324
|
+
result.marginRight = marginRight;
|
|
23325
|
+
if (marginTop)
|
|
23326
|
+
result.marginTop = marginTop;
|
|
23327
|
+
if (minHeight)
|
|
23328
|
+
result.minHeight = minHeight;
|
|
23329
|
+
if (whiteSpace && whiteSpace !== "normal") {
|
|
23330
|
+
result.whiteSpace = whiteSpace;
|
|
23331
|
+
}
|
|
23332
|
+
return result;
|
|
23333
|
+
}
|
|
23334
|
+
function applyParagraphStyle(elements, paragraphStyle) {
|
|
23335
|
+
if (!elements.length)
|
|
23336
|
+
return;
|
|
23337
|
+
const keys = Object.keys(paragraphStyle);
|
|
23338
|
+
if (!keys.length)
|
|
23339
|
+
return;
|
|
23340
|
+
for (const el of elements) {
|
|
23341
|
+
Object.assign(el, paragraphStyle);
|
|
23342
|
+
}
|
|
23343
|
+
}
|
|
23344
|
+
function styleFromComputed(el) {
|
|
23345
|
+
var _a, _b;
|
|
23346
|
+
const style = window.getComputedStyle(el);
|
|
23347
|
+
const element = {
|
|
23348
|
+
color: style.color,
|
|
23349
|
+
bold: Number(style.fontWeight) > 500,
|
|
23350
|
+
italic: style.fontStyle.includes("italic"),
|
|
23351
|
+
size: Math.floor(parsePx(style.fontSize)) || void 0,
|
|
23352
|
+
font: (_b = (_a = style.fontFamily) == null ? void 0 : _a.split(",")[0]) == null ? void 0 : _b.replace(/['"]/g, "").trim()
|
|
23353
|
+
};
|
|
23354
|
+
if (style.backgroundColor && style.backgroundColor !== "rgba(0, 0, 0, 0)") {
|
|
23355
|
+
element.highlight = style.backgroundColor;
|
|
23356
|
+
}
|
|
23357
|
+
if (style.textDecorationLine.includes("underline")) {
|
|
23358
|
+
element.underline = true;
|
|
23359
|
+
}
|
|
23360
|
+
if (style.textDecorationLine.includes("line-through")) {
|
|
23361
|
+
element.strikeout = true;
|
|
23362
|
+
}
|
|
23363
|
+
const letterSpacing = parsePx(style.letterSpacing);
|
|
23364
|
+
if (letterSpacing)
|
|
23365
|
+
element.letterSpacing = letterSpacing;
|
|
23366
|
+
if (style.whiteSpace && style.whiteSpace !== "normal") {
|
|
23367
|
+
element.whiteSpace = style.whiteSpace;
|
|
23368
|
+
}
|
|
23369
|
+
const spanMinHeight = parsePx(style.minHeight);
|
|
23370
|
+
if (spanMinHeight)
|
|
23371
|
+
element.minHeight = spanMinHeight;
|
|
23372
|
+
return element;
|
|
23373
|
+
}
|
|
23374
|
+
function parseTextFromNode(node) {
|
|
23375
|
+
if (node.nodeType === 3) {
|
|
23376
|
+
const text = node.textContent || "";
|
|
23377
|
+
if (!text)
|
|
23378
|
+
return [];
|
|
23379
|
+
const parent = node.parentElement;
|
|
23380
|
+
const base = parent ? styleFromComputed(parent) : {};
|
|
23381
|
+
return splitText(text).map((ch) => ({
|
|
23382
|
+
value: ch,
|
|
23383
|
+
...base
|
|
23384
|
+
}));
|
|
23385
|
+
}
|
|
23386
|
+
if (node.nodeType !== 1)
|
|
23387
|
+
return [];
|
|
23388
|
+
const el = node;
|
|
23389
|
+
const name = el.nodeName;
|
|
23390
|
+
if (name === "BR") {
|
|
23391
|
+
return [{ value: WRAP }];
|
|
23392
|
+
}
|
|
23393
|
+
if (name === "IMG") {
|
|
23394
|
+
return parseImage(el);
|
|
23395
|
+
}
|
|
23396
|
+
if (name === "A") {
|
|
23397
|
+
const value = el.innerText;
|
|
23398
|
+
if (!value)
|
|
23399
|
+
return [];
|
|
23400
|
+
return [
|
|
23401
|
+
{
|
|
23402
|
+
type: ElementType.HYPERLINK,
|
|
23403
|
+
value: "",
|
|
23404
|
+
valueList: splitText(value).map((ch) => ({ value: ch })),
|
|
23405
|
+
url: el.href
|
|
23406
|
+
}
|
|
23407
|
+
];
|
|
23408
|
+
}
|
|
23409
|
+
const result = [];
|
|
23410
|
+
el.childNodes.forEach((child) => {
|
|
23411
|
+
result.push(...parseTextFromNode(child));
|
|
23412
|
+
});
|
|
23413
|
+
return result;
|
|
23414
|
+
}
|
|
23415
|
+
function parseImage(img) {
|
|
23416
|
+
const { src, width, height } = img;
|
|
23417
|
+
const w = width || parsePx(window.getComputedStyle(img).width);
|
|
23418
|
+
const h = height || parsePx(window.getComputedStyle(img).height);
|
|
23419
|
+
if (!src || !w || !h)
|
|
23420
|
+
return [];
|
|
23421
|
+
const element = {
|
|
23422
|
+
width: w,
|
|
23423
|
+
height: h,
|
|
23424
|
+
value: src,
|
|
23425
|
+
type: ElementType.IMAGE,
|
|
23426
|
+
rowFlex: convertTextAlignToRowFlex(img.parentElement || img),
|
|
23427
|
+
verticalAlign: "text-top"
|
|
23428
|
+
};
|
|
23429
|
+
applyImageWrapFromDom(img, element);
|
|
23430
|
+
const formInputAttr = img.getAttribute("data-form-input");
|
|
23431
|
+
if (formInputAttr) {
|
|
23432
|
+
try {
|
|
23433
|
+
element.formInput = JSON.parse(formInputAttr);
|
|
23434
|
+
} catch {
|
|
23435
|
+
}
|
|
23436
|
+
}
|
|
23437
|
+
return [element];
|
|
23438
|
+
}
|
|
23439
|
+
function parseParagraph(p) {
|
|
23440
|
+
const paragraphStyle = getParagraphStyle(p);
|
|
23441
|
+
const children = [];
|
|
23442
|
+
p.childNodes.forEach((child) => {
|
|
23443
|
+
children.push(...parseTextFromNode(child));
|
|
23444
|
+
});
|
|
23445
|
+
if (!children.length) {
|
|
23446
|
+
return [{ value: WRAP, ...paragraphStyle }];
|
|
23447
|
+
}
|
|
23448
|
+
applyParagraphStyle(children, paragraphStyle);
|
|
23449
|
+
children.push({ value: WRAP, ...paragraphStyle });
|
|
23450
|
+
return children;
|
|
23451
|
+
}
|
|
23452
|
+
function parseTable(table, innerWidth) {
|
|
23453
|
+
var _a;
|
|
23454
|
+
const element = {
|
|
23455
|
+
type: ElementType.TABLE,
|
|
23456
|
+
value: WRAP,
|
|
23457
|
+
colgroup: [],
|
|
23458
|
+
trList: []
|
|
23459
|
+
};
|
|
23460
|
+
const colElements = table.querySelectorAll("colgroup col");
|
|
23461
|
+
table.querySelectorAll("tr").forEach((trElement) => {
|
|
23462
|
+
const trHeight = parsePx(window.getComputedStyle(trElement).height) || 0;
|
|
23463
|
+
const tr = {
|
|
23464
|
+
height: trHeight,
|
|
23465
|
+
minHeight: trHeight,
|
|
23466
|
+
tdList: []
|
|
23467
|
+
};
|
|
23468
|
+
trElement.querySelectorAll("th,td").forEach((tdElement) => {
|
|
23469
|
+
const tableCell = tdElement;
|
|
23470
|
+
const valueList = parseBlockChildren(tableCell, innerWidth);
|
|
23471
|
+
const td = {
|
|
23472
|
+
colspan: tableCell.colSpan,
|
|
23473
|
+
rowspan: tableCell.rowSpan,
|
|
23474
|
+
value: valueList,
|
|
23475
|
+
verticalAlign: window.getComputedStyle(tdElement).verticalAlign,
|
|
23476
|
+
width: parsePx(window.getComputedStyle(tdElement).width)
|
|
23477
|
+
};
|
|
23478
|
+
if (tableCell.style.backgroundColor) {
|
|
23479
|
+
td.backgroundColor = tableCell.style.backgroundColor;
|
|
23480
|
+
}
|
|
23481
|
+
tr.tdList.push(td);
|
|
23482
|
+
});
|
|
23483
|
+
element.trList.push(tr);
|
|
23484
|
+
});
|
|
23485
|
+
if (!element.trList.length)
|
|
23486
|
+
return [];
|
|
23487
|
+
const tdCount = element.trList[0].tdList.reduce((pre, cur) => pre + cur.colspan, 0);
|
|
23488
|
+
const defaultColWidth = Math.ceil(innerWidth / Math.max(tdCount, 1));
|
|
23489
|
+
for (let i = 0; i < tdCount; i++) {
|
|
23490
|
+
const colWidth = (_a = colElements[i]) == null ? void 0 : _a.getAttribute("width");
|
|
23491
|
+
element.colgroup.push({
|
|
23492
|
+
width: colWidth ? parseFloat(colWidth) : defaultColWidth
|
|
23493
|
+
});
|
|
23494
|
+
}
|
|
23495
|
+
return [element];
|
|
23496
|
+
}
|
|
23497
|
+
function parseBlockChildren(root, innerWidth) {
|
|
23498
|
+
const result = [];
|
|
23499
|
+
root.childNodes.forEach((node) => {
|
|
23500
|
+
var _a;
|
|
23501
|
+
if (node.nodeType !== 1) {
|
|
23502
|
+
if (node.nodeType === 3 && ((_a = node.textContent) == null ? void 0 : _a.trim())) {
|
|
23503
|
+
result.push(...parseTextFromNode(node));
|
|
23504
|
+
result.push({ value: WRAP });
|
|
23505
|
+
}
|
|
23506
|
+
return;
|
|
23507
|
+
}
|
|
23508
|
+
const el = node;
|
|
23509
|
+
const name = el.nodeName;
|
|
23510
|
+
if (name === "P" || /^H[1-6]$/.test(name)) {
|
|
23511
|
+
result.push(...parseParagraph(el));
|
|
23512
|
+
} else if (name === "TABLE") {
|
|
23513
|
+
result.push(...parseTable(el, innerWidth));
|
|
23514
|
+
} else if (name === "IMG") {
|
|
23515
|
+
result.push(...parseImage(el));
|
|
23516
|
+
result.push({ value: WRAP });
|
|
23517
|
+
} else if (name === "BR") {
|
|
23518
|
+
result.push({ value: WRAP });
|
|
23519
|
+
} else if (name === "DIV" && el.getAttribute("data-type") === ElementType.PAGE_BREAK) {
|
|
23520
|
+
result.push({
|
|
23521
|
+
type: ElementType.PAGE_BREAK,
|
|
23522
|
+
value: WRAP
|
|
23523
|
+
});
|
|
23524
|
+
} else if (name === "DIV" && el.getAttribute("data-ce-clear") === "both") {
|
|
23525
|
+
return;
|
|
23526
|
+
} else if (name === "ARTICLE" || name === "DIV" || name === "SECTION") {
|
|
23527
|
+
result.push(...parseBlockChildren(el, innerWidth));
|
|
23528
|
+
} else {
|
|
23529
|
+
const nested = parseBlockChildren(el, innerWidth);
|
|
23530
|
+
if (nested.length) {
|
|
23531
|
+
result.push(...nested);
|
|
23532
|
+
} else {
|
|
23533
|
+
const inline = parseTextFromNode(el);
|
|
23534
|
+
if (inline.length) {
|
|
23535
|
+
result.push(...inline);
|
|
23536
|
+
result.push({ value: WRAP });
|
|
23537
|
+
}
|
|
23538
|
+
}
|
|
23539
|
+
}
|
|
23540
|
+
});
|
|
23541
|
+
return result;
|
|
23542
|
+
}
|
|
23543
|
+
function parseSectionContent(section, innerWidth) {
|
|
23544
|
+
const article = section.querySelector("article") || section;
|
|
23545
|
+
return parseBlockChildren(article, innerWidth);
|
|
23546
|
+
}
|
|
23547
|
+
function parseDocxDom(container) {
|
|
23548
|
+
const sections = Array.from(container.querySelectorAll("section.docx"));
|
|
23549
|
+
const exportPages = Array.from(container.querySelectorAll(".ce-export-page"));
|
|
23550
|
+
const targets = sections.length ? sections : exportPages.length ? exportPages : [container];
|
|
23551
|
+
const paper = parseDocxPaperMeta(targets[0]);
|
|
23552
|
+
const contentWidth = Math.max(paper.width - paper.margins[1] - paper.margins[3], 1);
|
|
23553
|
+
const main = [];
|
|
23554
|
+
targets.forEach((section, index2) => {
|
|
23555
|
+
const sectionElements = parseSectionContent(section, contentWidth);
|
|
23556
|
+
if (sectionElements.length) {
|
|
23557
|
+
main.push(...sectionElements);
|
|
23558
|
+
}
|
|
23559
|
+
if (index2 < targets.length - 1) {
|
|
23560
|
+
main.push({
|
|
23561
|
+
type: ElementType.PAGE_BREAK,
|
|
23562
|
+
value: WRAP
|
|
23563
|
+
});
|
|
23564
|
+
}
|
|
23565
|
+
});
|
|
23566
|
+
return { paper, main };
|
|
23567
|
+
}
|
|
22768
23568
|
function convertPxToPaperSize(width, height) {
|
|
22769
23569
|
if (width === 1125 && height === 1593) {
|
|
22770
23570
|
return {
|
|
@@ -24033,11 +24833,37 @@ class CommandAdapt {
|
|
|
24033
24833
|
const headerElementList = this.draw.getHeaderElementList();
|
|
24034
24834
|
const mainElementList = this.draw.getOriginalMainElementList();
|
|
24035
24835
|
const footerElementList = this.draw.getFooterElementList();
|
|
24036
|
-
|
|
24037
|
-
|
|
24038
|
-
|
|
24039
|
-
|
|
24836
|
+
const headerPositionList = this.draw.getHeader().getPositionList();
|
|
24837
|
+
const mainPositionList = this.position.getOriginalMainPositionList();
|
|
24838
|
+
const footerPositionList = this.draw.getFooter().getPositionList();
|
|
24839
|
+
const { scale } = options;
|
|
24840
|
+
attachHtmlFloatOffset(headerElementList, headerPositionList, scale);
|
|
24841
|
+
attachHtmlFloatOffset(mainElementList, mainPositionList, scale);
|
|
24842
|
+
attachHtmlFloatOffset(footerElementList, footerPositionList, scale);
|
|
24843
|
+
const wrapPaper = (dom) => {
|
|
24844
|
+
const { width, height, margins } = options;
|
|
24845
|
+
const wrapper = document.createElement("div");
|
|
24846
|
+
wrapper.className = "ce-export-page";
|
|
24847
|
+
wrapper.style.width = `${width}px`;
|
|
24848
|
+
wrapper.style.minHeight = `${height}px`;
|
|
24849
|
+
wrapper.style.padding = `${margins[0]}px ${margins[1]}px ${margins[2]}px ${margins[3]}px`;
|
|
24850
|
+
wrapper.style.boxSizing = "border-box";
|
|
24851
|
+
wrapper.style.position = "relative";
|
|
24852
|
+
wrapper.style.background = "#fff";
|
|
24853
|
+
while (dom.firstChild) {
|
|
24854
|
+
wrapper.append(dom.firstChild);
|
|
24855
|
+
}
|
|
24856
|
+
return convertToXHTML(wrapper, { keepRoot: true });
|
|
24040
24857
|
};
|
|
24858
|
+
try {
|
|
24859
|
+
return {
|
|
24860
|
+
header: wrapPaper(createDomFromElementList(headerElementList, options)),
|
|
24861
|
+
main: wrapPaper(createDomFromElementList(mainElementList, options)),
|
|
24862
|
+
footer: wrapPaper(createDomFromElementList(footerElementList, options))
|
|
24863
|
+
};
|
|
24864
|
+
} finally {
|
|
24865
|
+
clearHtmlFloatOffset();
|
|
24866
|
+
}
|
|
24041
24867
|
}
|
|
24042
24868
|
getText() {
|
|
24043
24869
|
const headerElementList = this.draw.getHeaderElementList();
|
|
@@ -24652,6 +25478,15 @@ class CommandAdapt {
|
|
|
24652
25478
|
footer: getElementList(footer)
|
|
24653
25479
|
});
|
|
24654
25480
|
}
|
|
25481
|
+
setHtmlDocx(payload) {
|
|
25482
|
+
const { container, margins } = payload;
|
|
25483
|
+
if (!container)
|
|
25484
|
+
return;
|
|
25485
|
+
const { paper, main } = parseDocxDom(container);
|
|
25486
|
+
this.options.margins = margins != null ? margins : paper.margins;
|
|
25487
|
+
this.draw.setPaperSize(paper.width, paper.height);
|
|
25488
|
+
this.setValue({ main });
|
|
25489
|
+
}
|
|
24655
25490
|
setGroup() {
|
|
24656
25491
|
const isReadonly = this.draw.isReadonly();
|
|
24657
25492
|
if (isReadonly)
|
|
@@ -26239,5 +27074,5 @@ class Editor {
|
|
|
26239
27074
|
Reflect.set(window, "editor", this);
|
|
26240
27075
|
}
|
|
26241
27076
|
}
|
|
26242
|
-
export { AreaMode, BackgroundRepeat, BackgroundSize, BlockType, Command, ControlComponent, ControlIndentation, ControlState, ControlType, EDITOR_CLIPBOARD, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, FlexDirection, INTERNAL_CONTEXT_MENU_KEY, INTERNAL_SHORTCUT_KEY, ImageDisplay, KeyMap, LETTER_CLASS, LineNumberType, ListStyle, ListType, LocationPosition, MaxHeightRatio, NumberType, PageMode, PaperDirection, RenderMode, RowFlex, TableBorder, TdBorder, TdSlash, TextDecorationStyle, TitleLevel, VerticalAlign, WatermarkType, WordBreak, createDomFromElementList, Editor as default, formCheckboxPropertiesConfigDialog, formImagePropertiesConfigDialog, formInputPropertiesConfigDialog, formRadioPropertiesConfigDialog, formRiskCopyConfigDialog, formSealConfigDialog, formSignatureConfigDialog, getElementListByHTML, getTextFromElementList, splitText };
|
|
27077
|
+
export { AreaMode, BackgroundRepeat, BackgroundSize, BlockType, Command, ControlComponent, ControlIndentation, ControlState, ControlType, Dialog, EDITOR_CLIPBOARD, EDITOR_COMPONENT, Editor, EditorComponent, EditorMode, EditorZone, ElementType, FlexDirection, INTERNAL_CONTEXT_MENU_KEY, INTERNAL_SHORTCUT_KEY, ImageDisplay, KeyMap, LETTER_CLASS, LineNumberType, ListStyle, ListType, LocationPosition, MaxHeightRatio, NumberType, PageMode, PaperDirection, RenderMode, RowFlex, TableBorder, TdBorder, TdSlash, TextDecorationStyle, TitleLevel, VerticalAlign, WatermarkType, WordBreak, createDomFromElementList, Editor as default, formCheckboxPropertiesConfigDialog, formImagePropertiesConfigDialog, formInputPropertiesConfigDialog, formRadioPropertiesConfigDialog, formRiskCopyConfigDialog, formSealConfigDialog, formSignatureConfigDialog, getElementListByHTML, getTextFromElementList, splitText };
|
|
26243
27078
|
//# sourceMappingURL=canvas-editor.es.js.map
|