ht-emr 0.7.65 → 0.7.66
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.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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;display:flex;flex-direction:column;overflow:hidden}.ce-select-control-search{display:block;width:calc(100% - 16px);height:28px;margin:8px;padding:0 8px;border:1px solid #dcdfe6;border-radius:3px;outline:none;box-sizing:border-box;color:#606266;font-size:13px;line-height:28px}.ce-select-control-search:focus{border-color:var(--COLOR-HOVER, #5175f4)}.ce-select-control-popup ul{list-style:none;padding:3px 0;margin:0;min-height:0;overflow-y:auto;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,.ce-select-control-popup ul li.keyboard-active{background-color:#eef2fd}.ce-select-control-popup ul li.active{color:var(--COLOR-HOVER, #5175f4);font-weight:700}.ce-select-control-popup ul li.ce-select-control-empty{color:#909399;cursor:default;text-align:center}.ce-select-control-popup ul li.ce-select-control-empty:hover{background-color:transparent}.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:#fff;border-radius:4px;padding:10px;-webkit-user-select:none;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;-webkit-user-select:none;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;inset: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,%3csvg%20width='32'%20height='32'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M23.97%207l1.415%201.414-7.779%207.778%207.779%207.779-1.414%201.414-7.779-7.779-7.778%207.779L7%2023.97l7.778-7.779L7%208.414%208.414%207l7.778%207.778L23.971%207z'%20fill='%233D4757'%20fill-rule='evenodd'/%3e%3c/svg%3e") 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,%3csvg%20width='32'%20height='32'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%2014v-4h2v4h4v2h-4v4h-2v-4h-4v-2h4zm8.749%2010.163A11.952%2011.952%200%200115%2027C8.373%2027%203%2021.627%203%2015S8.373%203%2015%203s12%205.373%2012%2012c0%202.954-1.067%205.658-2.837%207.749l4.908%204.908-1.414%201.414-4.908-4.908zM15%2025c5.523%200%2010-4.477%2010-10S20.523%205%2015%205%205%209.477%205%2015s4.477%2010%2010%2010z'%20fill='%233D4757'/%3e%3c/svg%3e")}.ce-image-previewer .ce-image-menu i.zoom-out{background-image:url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M22.749%2024.163A11.952%2011.952%200%200115%2027C8.373%2027%203%2021.627%203%2015S8.373%203%2015%203s12%205.373%2012%2012c0%202.954-1.067%205.658-2.837%207.749l4.908%204.908-1.414%201.414-4.908-4.908zM15%2025c5.523%200%2010-4.477%2010-10S20.523%205%2015%205%205%209.477%205%2015s4.477%2010%2010%2010zm-5-11h10v2H10v-2z'%20fill='%233D4757'/%3e%3c/svg%3e")}.ce-image-previewer .ce-image-menu i.rotate{background-image:url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='%233D4757'%20fill-rule='evenodd'%3e%3cpath%20d='M16%204c6.627%200%2012%205.373%2012%2012a11.97%2011.97%200%2001-4%208.944V23h-.86A9.968%209.968%200%200026%2016c0-5.523-4.477-10-10-10S6%2010.477%206%2016c0%205.185%203.947%209.449%209%209.95v2.009C8.84%2027.451%204%2022.291%204%2016%204%209.373%209.373%204%2016%204z'%20fill-rule='nonzero'/%3e%3cpath%20d='M19.879%2027.328l1.767-6.717%204.95%204.95z'/%3e%3c/g%3e%3c/svg%3e")}.ce-image-previewer .ce-image-menu i.original-size{background-image:url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M4%204h24v24H4V4zm2%202v20h20V6H6zm4%205h2v10h-2V11zm5%202h2v2h-2v-2zm0%204h2v2h-2v-2zm5-6h2v10h-2V11z'%20fill='%233D4757'/%3e%3c/svg%3e")}.ce-image-previewer .ce-image-menu i.image-download{background-image:url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M4.5%2015v3.5h15V15H21v5H3v-5h1.5zm8.232-11.226v9.196l4.05-4.05%201.06%201.06-5.834%205.834-5.833-5.833%201.06-1.06%203.998%203.996V3.774h1.5z'%20fill='%233D4757'/%3e%3c/svg%3e")}.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,%3csvg%20width='20'%20height='20'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.5%204.063L6.875%2010l5.625%205.938'%20stroke='%233D4757'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e")}.ce-image-previewer .ce-image-menu i.image-next{background-image:url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.5%204.063L13.125%2010%207.5%2015.938'%20stroke='%233D4757'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e")}.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,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20d='M0%200h16v16H0z'/%3e%3cg%20fill='%23767C85'%3e%3cpath%20d='M7%2012.243l-.707-.707%204.243-4.243.707.707z'/%3e%3cpath%20d='M6.293%204.464L7%203.757%2011.243%208l-.707.707z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e")}.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:#1937580a}.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,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='%233D4757'%20fill-rule='evenodd'%3e%3cpath%20d='M12%204h-1V2H5v2H4V2a1%201%200%20011-1h6a1%201%200%20011%201v2zm0%205v4a1%201%200%2001-1%201H5a1%201%200%2001-1-1V9h1v4h6V9h1z'/%3e%3cpath%20d='M12%2012v-1h2V5H2v6h2v1H2a1%201%200%2001-1-1V5a1%201%200%20011-1h12a1%201%200%20011%201v6a1%201%200%2001-1%201h-2z'/%3e%3cpath%20d='M3%208h10v1H3zm8-2h2v1h-2z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-image{background-image:url("data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20x='0'%20y='0'%20viewBox='0%200%2016%2016'%20xml:space='preserve'%3e%3cstyle%3e.st0{fill:%233d4757}%3c/style%3e%3cg%20id='_x30_0-公共_x2F_02工具栏_x2F_插入图片-16px-'%3e%3cg%20id='Group-19'%20transform='translate(1%201)'%3e%3cpath%20id='Combined-Shape'%20class='st0'%20d='M1%200h12c.6%200%201%20.4%201%201v11c0%20.6-.4%201-1%201H1c-.6%200-1-.4-1-1V1c0-.6.4-1%201-1zm0%201v11h12V1H1z'/%3e%3ccircle%20id='椭圆形'%20class='st0'%20cx='10'%20cy='4'%20r='1'/%3e%3cpath%20id='Path'%20class='st0'%20d='M8.5%2011.2l-4-4.1L1%2010.7V9.2c1.7-1.6%202.7-2.5%203-2.8.4-.5.7-.4%201%200L8.5%2010%2011%207.3c.4-.5.6-.5%201-.1l2%202.8v1.5l-2.5-3.4-3%203.1z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-image-change{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cg%20transform='translate(2%204)'%20fill='%233D4757'%3e%3ccircle%20fill-rule='nonzero'%20cx='3'%20cy='1'%20r='1'/%3e%3cpath%20d='M7.473%208.223L3.47%204.107%200%207.667v-1.5C1.715%204.6%202.707%203.664%202.975%203.358c.402-.457.651-.39%201.042%200L7.473%207%209.96%204.349c.414-.462.62-.462%201.011-.071L13%207.06v1.5l-2.51-3.41-3.017%203.072z'/%3e%3c/g%3e%3cpath%20d='M6%201.5H1.5v12h13v-4V13a.5.5%200%2001-.5.5H2a.5.5%200%2001-.5-.5V2a.5.5%200%2001.5-.5h4zm8.5%208V6l-.5.5h1l-.5-.5v3.5zM6%201.5h4L9.5%201v1l.5-.5H6z'%20stroke='%233D4757'/%3e%3cpath%20d='M13.085%201.316l-3.814%204a1%201%200%20001.458%201.368l3.815-4a1%201%200%2010-1.459-1.368z'%20fill='%233D4757'%20fill-rule='nonzero'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-insert-row-col{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20stroke='%233D4757'%20d='M8.5%205.5h6v4h-6z'/%3e%3cpath%20fill='%233D4757'%20d='M4%207v1h2V7zm-3%20.5L4%205v5zM1%201h12v1H1zm0%2012h12v1H1z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-insert-top-row{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20fill='%233D4757'%20d='M8%205H7v3h1zm-.5-3L10%205H5z'/%3e%3crect%20stroke='%233D4757'%20x='1.5'%20y='10.5'%20width='12'%20height='3'%20rx='1'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-insert-bottom-row{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20fill='%233D4757'%20d='M7%2011h1V8H7zm.5%203L5%2011h5z'/%3e%3crect%20stroke='%233D4757'%20x='1.5'%20y='2.5'%20width='12'%20height='3'%20rx='1'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-insert-left-col{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20fill='%233D4757'%20d='M11%207v1h3V7zm-3%20.5L11%205v5z'/%3e%3crect%20stroke='%233D4757'%20transform='rotate(90%204%207.5)'%20x='-2'%20y='6'%20width='12'%20height='3'%20rx='1'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-insert-right-col{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20fill='%233D4757'%20d='M5%208V7H2v1zm3-.5L5%2010V5z'/%3e%3crect%20stroke='%233D4757'%20transform='rotate(90%2012%207.5)'%20x='6'%20y='6'%20width='12'%20height='3'%20rx='1'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-delete-row-col{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20stroke='%23929AA8'%20d='M8.5%206.5h6v2h-6z'/%3e%3cpath%20fill='%233D4757'%20d='M2%2012h11v1H2zM2%202h11v1H2zm.63%203L7%209.35l-.635.65L2%205.63z'/%3e%3cpath%20fill='%233D4757'%20d='M2%209.363L6.355%205%207%205.707%202.695%2010z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-delete-row{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20stroke='%23929AA8'%20d='M8.5%205.5h6v4h-6z'/%3e%3cpath%20fill='%233D4757'%20d='M1%2013h12v1H1zM1%201h12v1H1zm0%204h1v1H1zm1%201h1v1H2zm1%201h1v1H3zm1-1h1v1H4zm1-1h1v1H5zM4%208h1v1H4zM2%208h1v1H2zm3%201h1v1H5zM1%209h1v1H1z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-delete-col{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20stroke='%23929AA8'%20d='M5.5%207.5v-6h4v6z'/%3e%3cpath%20fill='%233D4757'%20d='M13%2015V3h1v12zM1%2015V3h1v12zm4%200v-1h1v1zm1-1v-1h1v1zm1-1v-1h1v1zm-1-1v-1h1v1zm-1-1v-1h1v1zm3%201v-1h1v1zm0%202v-1h1v1zm1-3v-1h1v1zm0%204v-1h1v1z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-delete-table{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='%233D4757'%20fill-rule='evenodd'%3e%3cpath%20d='M14%2013h-1v-3H2v3H1v-3a1%201%200%20011-1h11a1%201%200%20011%201v3z'%20fill-rule='nonzero'/%3e%3cpath%20d='M5.625%202L10%206.375%209.375%207%205%202.625z'/%3e%3cpath%20d='M5%206.375L9.375%202l.625.625L5.625%207z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-merge-cell{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='%233D4757'%20fill-rule='evenodd'%3e%3cpath%20d='M6%201v1H2v11h4v1H2a1%201%200%2001-1-1V2a1%201%200%20011-1h4zm3%200h4a1%201%200%20011%201v11a1%201%200%2001-1%201H9v-1h4V2H9V1z'/%3e%3cpath%20fill-rule='nonzero'%20d='M6%201h1v4H6zm2%200h1v4H8z'/%3e%3cpath%20d='M8%207.5L10%206v3zm-1%200L5%206v3z'/%3e%3cpath%20d='M9%207h3v1H9zM3%207h3v1H3z'/%3e%3cpath%20fill-rule='nonzero'%20d='M8%2010h1v4H8zm-2%200h1v4H6z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-merge-cancel-cell{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='%233D4757'%20fill-rule='evenodd'%3e%3cpath%20d='M6%201v1H2v11h4v1H2a1%201%200%2001-1-1V2a1%201%200%20011-1h4zm3%200h4a1%201%200%20011%201v11a1%201%200%2001-1%201H9v-1h4V2H9V1z'/%3e%3cpath%20fill-rule='nonzero'%20d='M6%201h1v4H6zm2%200h1v4H8z'/%3e%3cpath%20d='M3%207.5L5%206v3zm9%200L10%206v3z'/%3e%3cpath%20d='M4%207h3v1H4zm4%200h3v1H8z'/%3e%3cpath%20fill-rule='nonzero'%20d='M8%2010h1v4H8zm-2%200h1v4H6z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-vertical-align{background-image:url("data:image/svg+xml,%3csvg%20height='16'%20viewBox='0%200%2016%2016'%20width='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2%2013h12v1H2zm0-3h8v1H2zm0-3h12v1H2zm0-6h12v1H2zm0%203h8v1H2z'%20fill='%233d4757'%20fill-rule='evenodd'/%3e%3c/svg%3e")}.ce-contextmenu-vertical-align-top{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8%208H7v6h1zm-.5-3L10%208H5zM2%203h11v1H2z'%20fill='%233D4757'%20fill-rule='evenodd'/%3e%3c/svg%3e")}.ce-contextmenu-vertical-align-middle{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8%2012H7v3h1zm-.5-3l2.5%203H5zM7%203h1V0H7zm.5%203L5%203h5zM2%207h11v1H2z'%20fill='%233D4757'%20fill-rule='evenodd'/%3e%3c/svg%3e")}.ce-contextmenu-vertical-align-bottom{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7%209h1V3H7zm.5%203L5%209h5zM2%2013h11v1H2z'%20fill='%233D4757'%20fill-rule='evenodd'/%3e%3c/svg%3e")}.ce-contextmenu-border-all{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%233D4757'/%3e%3cpath%20fill='%233D4757'%20d='M3%208h11v1H3z'/%3e%3cpath%20fill='%233D4757'%20d='M9%203v11H8V3z'/%3e%3c/svg%3e")}.ce-contextmenu-border-empty{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13%203h-1V2h1a1%201%200%20011%201v1h-1V3zm-3-1v1H8.5v2h-1V3H6V2h4zM4%202v1H3v1H2V3a1%201%200%20011-1h1zM2%206h1v1.5h2v1H3V10H2V6zm0%206h1v1h1v1H3a1%201%200%2001-1-1v-1zm4%202v-1h1.5v-2h1v2H10v1H6zm6%200v-1h1v-1h1v1a1%201%200%2001-1%201h-1zm2-4h-1V8.5h-2v-1h2V6h1v4zM8.5%207.5v-1h-1v1h-1v1h1v1h1v-1h1v-1h-1z'%20fill='%23AAACB0'/%3e%3c/svg%3e")}.ce-contextmenu-border-dash{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13%203h-1V2h1a1%201%200%20011%201v1h-1V3zm-3-1v1H8.5v2h-1V3H6V2h4zM4%202v1H3v1H2V3a1%201%200%20011-1h1zM2%206h1v1.5h2v1H3V10H2V6zm0%206h1v1h1v1H3a1%201%200%2001-1-1v-1zm4%202v-1h1.5v-2h1v2H10v1H6zm6%200v-1h1v-1h1v1a1%201%200%2001-1%201h-1zm2-4h-1V8.5h-2v-1h2V6h1v4zM8.5%207.5v-1h-1v1h-1v1h1v1h1v-1h1v-1h-1z'%20fill='%23000000'/%3e%3c/svg%3e")}.ce-contextmenu-border-external{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%233D4757'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9%205V3H8v2h1zm0%209v-2H8v2h1zM5%208H3v1h2V8zm9%200h-2v1h2V8zM9%207v1h1v1H9v1H8V9H7V8h1V7h1z'%20fill='%23AAACB0'/%3e%3c/svg%3e")}.ce-contextmenu-border-internal{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9%205V3H8v2h1zm0%209v-2H8v2h1zM5%208H3v1h2V8zm9%200h-2v1h2V8zM9%207v1h1v1H9v1H8V9H7V8h1V7h1z'%20fill='%233D4757'/%3e%3c/svg%3e")}.ce-contextmenu-border-td{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20stroke='%233D4757'%20d='M8.5%202.5%20v6%20h-6'/%3e%3c/svg%3e")}.ce-contextmenu-border-td-top{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20stroke='%233D4757'%20stroke-width='2'%20d='M2.5%203%20h12'/%3e%3c/svg%3e")}.ce-contextmenu-border-td-left{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20stroke='%233D4757'%20stroke-width='2'%20d='M3%203%20v11'/%3e%3c/svg%3e")}.ce-contextmenu-border-td-bottom{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20stroke='%233D4757'%20stroke-width='2'%20d='M2.5%2014%20h12'/%3e%3c/svg%3e")}.ce-contextmenu-border-td-right{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20stroke='%233D4757'%20stroke-width='2'%20d='M14%203%20v11'/%3e%3c/svg%3e")}.ce-contextmenu-border-td-forward{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'%20/%3e%3cpath%20stroke='%233D4757'%20d='M14%203%20l-11%2011'%20/%3e%3c/svg%3e")}.ce-contextmenu-border-td-back{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'%20/%3e%3cpath%20stroke='%233D4757'%20d='M3%203%20l11%2011'%20/%3e%3c/svg%3e")}.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:#dae7fc;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;-webkit-user-select: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{min-width:60px!important;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;-webkit-user-select:none;user-select:none;caret-color:transparent;background-color:transparent;white-space:pre}.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}.ce-button-input-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;justify-content:center;align-items:center;z-index:2000}.ce-button-input-modal__content{background:#fff;border-radius:8px;padding:20px;min-width:320px;max-width:480px;box-shadow:0 4px 20px #00000026}.ce-button-input-modal__title{font-size:14px;font-weight:500;color:#333;margin-bottom:12px}.ce-button-input-modal__textarea{width:100%;min-height:100px;padding:10px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:13px;line-height:1.5;resize:vertical;outline:none;box-sizing:border-box;font-family:inherit}.ce-button-input-modal__textarea:focus{border-color:#5175f4}.ce-button-input-modal__textarea::placeholder{color:#c0c4cc}.ce-button-input-modal__buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.ce-button-input-modal__cancel,.ce-button-input-modal__confirm{padding:8px 16px;font-size:13px;border-radius:4px;cursor:pointer;border:1px solid #dcdfe6;background:#fff;color:#606266;transition:all .2s}.ce-button-input-modal__cancel:hover{color:#5175f4;border-color:#5175f4}.ce-button-input-modal__confirm{background:#5175f4;border-color:#5175f4;color:#fff}.ce-button-input-modal__confirm:hover{background:#409eff;border-color:#409eff}.ce-button-edit-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;justify-content:center;align-items:center;z-index:1000}.ce-button-edit-modal__content{background:#fff;border-radius:8px;padding:20px;min-width:320px;max-width:480px;box-shadow:0 4px 20px #00000026}.ce-button-edit-modal__title{font-size:14px;font-weight:500;color:#333;margin-bottom:16px}.ce-button-edit-modal__form{display:flex;flex-direction:column;gap:12px}.ce-button-edit-modal__field{display:flex;align-items:center;gap:8px}.ce-button-edit-modal__field label{min-width:80px;font-size:13px;color:#606266}.ce-button-edit-modal__field input{flex:1;padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:13px;outline:none;box-sizing:border-box}.ce-button-edit-modal__field input:focus{border-color:#5175f4}.ce-button-edit-modal__field input::placeholder{color:#c0c4cc}.ce-button-edit-modal__buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.ce-button-edit-modal__cancel,.ce-button-edit-modal__confirm{padding:8px 16px;font-size:13px;border-radius:4px;cursor:pointer;border:1px solid #dcdfe6;background:#fff;color:#606266;transition:all .2s}.ce-button-edit-modal__cancel:hover{color:#5175f4;border-color:#5175f4}.ce-button-edit-modal__confirm{background:#5175f4;border-color:#5175f4;color:#fff}.ce-button-edit-modal__confirm:hover{background:#409eff;border-color:#409eff}.ce-number-input-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;justify-content:center;align-items:center;z-index:2000}.ce-number-input-modal__content{background:#fff;border-radius:8px;padding:20px;min-width:300px;max-width:400px;box-shadow:0 4px 20px #00000026}.ce-number-input-modal__title{font-size:14px;font-weight:500;color:#333;margin-bottom:12px}.ce-number-input-modal__hint{font-size:12px;color:#909399;margin-bottom:12px}.ce-number-input-modal__input{width:100%;padding:10px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:13px;outline:none;box-sizing:border-box}.ce-number-input-modal__input:focus{border-color:#5175f4}.ce-number-input-modal__input::placeholder{color:#c0c4cc}.ce-number-input-modal__error{font-size:12px;color:#f56c6c;margin-top:8px}.ce-number-input-modal__buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.ce-number-input-modal__cancel,.ce-number-input-modal__confirm{padding:8px 16px;font-size:13px;border-radius:4px;cursor:pointer;border:1px solid #dcdfe6;background:#fff;color:#606266;transition:all .2s}.ce-number-input-modal__cancel:hover{color:#5175f4;border-color:#5175f4}.ce-number-input-modal__confirm{background:#5175f4;border-color:#5175f4;color:#fff}.ce-number-input-modal__confirm:hover{background:#409eff;border-color:#409eff}.tooth-position-edit-modal,.tooth-position-create-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000}.tooth-position-modal__container{position:relative;top:auto;left:auto;transform:none;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:400px;max-width:90vw;max-height:calc(100vh - 48px);display:flex;flex-direction:column;pointer-events:auto}.tooth-position-modal__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e8e8e8}.tooth-position-modal__header span{font-size:16px;font-weight:500;color:#333}.tooth-position-modal__close{font-size:20px;cursor:pointer;color:#999;line-height:1}.tooth-position-modal__close:hover{color:#333}.tooth-position-modal__content{padding:20px;max-height:60vh;overflow-y:auto}.tooth-section{margin-bottom:20px}.tooth-section:last-child{margin-bottom:0}.tooth-section-title{font-size:14px;font-weight:500;color:#333;margin-bottom:12px;padding-left:8px;border-left:3px solid #1890ff}.tooth-row{display:flex;align-items:center;margin-bottom:8px}.tooth-row:last-child{margin-bottom:0}.tooth-row-label{width:30px;font-size:13px;color:#666}.tooth-buttons{display:flex;gap:8px;flex-wrap:wrap}.letter-buttons{margin-left:30px}.tooth-checkbox{display:flex;align-items:center;cursor:pointer}.tooth-checkbox input{display:none}.tooth-checkbox span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #d9d9d9;border-radius:4px;background:#f5f5f5;font-size:14px;color:#333;transition:all .2s}.tooth-checkbox input:checked+span{background:#1890ff;border-color:#1890ff;color:#fff}.tooth-checkbox:hover span{border-color:#1890ff}.tooth-position-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid #e8e8e8}.tooth-position-modal__footer .btn-cancel,.tooth-position-modal__footer .btn-confirm{padding:8px 20px;font-size:14px;border-radius:4px;cursor:pointer;border:1px solid #dcdfe6;background:#fff;color:#606266;transition:all .2s}.tooth-position-modal__footer .btn-cancel:hover{color:#1890ff;border-color:#1890ff}.tooth-position-modal__footer .btn-confirm{background:#1890ff;border-color:#1890ff;color:#fff}.tooth-position-modal__footer .btn-confirm:hover{background:#40a9ff;border-color:#40a9ff}.tooth-grid-container{display:flex;flex-direction:column;align-items:center;padding:15px 20px;background:#fafafa;border-radius:8px;margin-bottom:15px;position:relative}.tooth-quick-buttons{display:flex;gap:6px;margin-bottom:16px}.tooth-quick-buttons-left{display:flex;flex-direction:column;gap:6px;flex:1}.tooth-quick-buttons-row{display:flex;gap:6px}.tooth-quick-btn{padding:6px 12px;font-size:12px;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;background:#fff;color:#333;transition:all .2s;white-space:nowrap}.tooth-quick-btn:hover{border-color:#1890ff;color:#1890ff}.tooth-quick-btn.selected{background:#0ff;border-color:#0ff;color:#fff}.tooth-quick-btn--clear{background:#ff6b6b;border-color:#ff6b6b;color:#fff}.tooth-quick-btn--clear:hover{background:#ff5252;border-color:#ff5252;color:#fff}.tooth-grid-container:before{content:"";position:absolute;left:50%;top:20px;bottom:20px;width:2px;background:#000;transform:translate(-50%);z-index:1}.tooth-grid-container:after{content:"";position:absolute;left:20px;right:20px;top:50%;height:2px;background:#000;transform:translateY(-50%);z-index:1}.tooth-grid-letter-row,.tooth-grid-number-row{display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.tooth-grid-half{display:flex;align-items:center;justify-content:center;gap:4px}.tooth-grid-half.left{justify-content:flex-end;padding-right:15px}.tooth-grid-half.right{justify-content:flex-start;padding-left:15px}.tooth-grid-divider-v,.tooth-grid-divider-h{display:none}.tooth-grid-number-item{width:34px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:#333;cursor:pointer;background:#fff;transition:all .2s;box-sizing:border-box;border:1px solid #d9d9d9;border-radius:12px}.upper-number-row .tooth-grid-number-item{border-top:none;border-radius:0 0 12px 12px}.lower-number-row .tooth-grid-number-item{border-bottom:none;border-radius:12px 12px 0 0}.tooth-grid-number-item[data-value="1"],.tooth-grid-number-item[data-value="2"],.tooth-grid-number-item[data-value="3"]{border-radius:50px}.upper-number-row .tooth-grid-number-item[data-value="1"],.upper-number-row .tooth-grid-number-item[data-value="2"],.upper-number-row .tooth-grid-number-item[data-value="3"]{border-top:none!important;border-radius:0 0 50px 50px!important}.lower-number-row .tooth-grid-number-item[data-value="1"],.lower-number-row .tooth-grid-number-item[data-value="2"],.lower-number-row .tooth-grid-number-item[data-value="3"]{border-bottom:none!important;border-radius:50px 50px 0 0!important}.tooth-grid-number-item:hover{border-color:#1890ff;color:#1890ff}.tooth-grid-number-item.selected{background:#1890ff;border-color:#1890ff;color:#fff}.tooth-grid-letter-item{width:34px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:#333;cursor:pointer;background:#fff;border:1px solid #d9d9d9;transition:all .2s;box-sizing:border-box;border-radius:12px}.upper-letter-row .tooth-grid-letter-item{border-top:none;border-radius:0 0 12px 12px}.lower-letter-row .tooth-grid-letter-item{border-bottom:none;border-radius:12px 12px 0 0}.tooth-grid-letter-item[data-value=A],.tooth-grid-letter-item[data-value=B],.tooth-grid-letter-item[data-value=C]{border-radius:50px}.upper-letter-row .tooth-grid-letter-item[data-value=A],.upper-letter-row .tooth-grid-letter-item[data-value=B],.upper-letter-row .tooth-grid-letter-item[data-value=C]{border-top:none!important;border-radius:0 0 50px 50px!important}.lower-letter-row .tooth-grid-letter-item[data-value=A],.lower-letter-row .tooth-grid-letter-item[data-value=B],.lower-letter-row .tooth-grid-letter-item[data-value=C]{border-bottom:none!important;border-radius:50px 50px 0 0!important}.tooth-grid-letter-item:hover{border-color:#1890ff;color:#1890ff}.tooth-grid-letter-item.selected{background:#1890ff;border-color:#1890ff;color:#fff}.tooth-grid-letter-row.hidden,.tooth-grid-number-row.hidden{display:none}.tooth-grid-letter-row{margin-bottom:8px}.tooth-grid-number-row.upper-number-row{margin-bottom:15px}.tooth-grid-number-row.lower-number-row{margin-top:15px}.tooth-grid-letter-row.lower-letter-row{margin-top:8px}.tooth-preview-section{padding-top:10px;border-top:1px solid #e8e8e8}.tooth-preview-title{font-size:14px;font-weight:500;color:#333;margin-bottom:12px}.tooth-preview-wrapper{display:flex;gap:15px}.tooth-preview-container{display:flex;justify-content:center;align-items:center;padding:10px;background:#fafafa;border-radius:8px;flex:1;min-height:60px}.tooth-preview-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0;width:100%;min-height:70px;position:relative}.tooth-preview-grid:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#000;transform:translate(-50%)}.tooth-preview-grid:after{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#000;transform:translateY(-50%)}.tooth-preview-quadrant{display:flex;align-items:center;padding:5px 10px;font-size:12px;flex-wrap:wrap;gap:4px;justify-content:center}.tooth-preview-upper-left{justify-content:flex-end}.tooth-preview-upper-right{justify-content:flex-start}.tooth-preview-lower-left{justify-content:flex-end}.tooth-preview-lower-right{justify-content:flex-start}.tooth-preview-tooth{position:relative;display:inline;margin:0 4px}.tooth-preview-tooth-value{font-size:12px}.tooth-preview-tooth-value--deciduous{font-size:10px}.tooth-preview-tooth-bracket{font-size:12px}.tooth-preview-supernumerary{font-size:9px;vertical-align:super;margin:0 1px}.tooth-preview-surface{font-size:9px;vertical-align:super;margin-left:1px}.tooth-extra-panel{width:100px;display:flex;flex-direction:column;gap:10px}.tooth-surface-panel{background:#fafafa;border-radius:8px;padding:10px 20px}.tooth-surface-title{font-size:12px;font-weight:500;color:#333;margin-bottom:8px;text-align:center}.tooth-surface-grid{display:flex;flex-direction:column;gap:4px;align-items:center}.tooth-surface-row{display:flex;gap:4px;justify-content:center}.tooth-surface-item{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:#333;cursor:pointer;background:#fff;border:1px dashed #d9d9d9;border-radius:5px;transition:all .2s;box-sizing:border-box}.tooth-surface-item--indent{margin-left:17px}.tooth-surface-item:hover{border-color:#1890ff;color:#1890ff}.tooth-surface-item.selected{background:#1890ff;border-color:#1890ff;border-style:solid;color:#fff}.tooth-supernumerary-panel{background:#fafafa;border-radius:8px;padding:10px 20px}.tooth-supernumerary-title{font-size:12px;font-weight:500;color:#333;margin-bottom:4px;text-align:center}.tooth-supernumerary-hint{font-size:10px;color:#999;font-weight:400}.tooth-supernumerary-grid{display:flex;gap:8px;justify-content:center;margin-top:8px}.tooth-supernumerary-item{width:30px;height:35px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:#333;cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-bottom:none;border-radius:50px;transition:all .2s;box-sizing:border-box}.tooth-supernumerary-item:hover{border-color:#1890ff;color:#1890ff}.tooth-supernumerary-item.selected{background:#1890ff;border-color:#1890ff;color:#fff}.ce-button-input-modal,.ce-button-edit-modal,.ce-number-input-modal,.tooth-position-edit-modal,.tooth-position-create-modal{inset:0;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;overflow:auto;background:transparent;pointer-events:none}.ce-button-input-modal__content,.ce-button-edit-modal__content,.ce-number-input-modal__content,.tooth-position-modal__container{pointer-events:auto}.ce-button-input-modal__content,.ce-button-edit-modal__content,.ce-number-input-modal__content{max-height:calc(100vh - 48px);overflow:auto}.tooth-position-modal__mask{display:none}.tooth-position-modal__container{position:relative;top:auto;left:auto;transform:none;display:flex;flex-direction:column;max-height:calc(100vh - 48px)}.ant-modal-mask{display:none!important}.ant-modal-wrap{position:fixed!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;box-sizing:border-box!important;overflow:auto!important;pointer-events:none!important}.ant-modal{top:auto!important;margin:0!important;padding-bottom:0!important;max-width:calc(100vw - 48px)!important;max-height:calc(100vh - 48px)!important;pointer-events:auto!important}.ant-modal-content{max-height:calc(100vh - 48px)!important;overflow:auto!important}.dialog-mask{display:none}.dialog-container{position:fixed;inset:0;overflow:auto;z-index:999;margin:0;padding:24px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;pointer-events:none}.dialog{position:relative;padding:0 30px 30px;background:#fff;box-shadow:0 2px 12px #38383833;border:1px solid #e2e6ed;border-radius:2px;max-height:calc(100vh - 48px);overflow:auto;pointer-events:auto}.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,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.9%208.192l4.242%204.243-.707.707L8.192%208.9%203.95%2013.142l-.707-.707%204.242-4.243L3.243%203.95l.707-.707%204.242%204.242%204.243-4.242.707.707L8.9%208.192z'%20fill='%236A6A6A'%20fill-rule='evenodd'/%3e%3c/svg%3e")}.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 textarea,.dialog-option__item select{width:276px;height:30px;border-radius:2px;border:1px solid #d3d3d3;min-height:30px;padding:5px;box-sizing:border-box;outline:none;appearance:none;-webkit-user-select: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:#fff;line-height:22px;padding:0 16px;white-space:nowrap;cursor:pointer}.dialog-menu button:hover{background:#1937580a}.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}.dialog-radio-group{display:flex;flex-direction:column;gap:8px}.dialog-radio-group--horizontal{flex-direction:row;gap:16px}.dialog-radio-item{display:flex;align-items:center;cursor:pointer;font-size:14px;color:#3d4757}.dialog-radio-item input[type=radio]{width:16px;height:16px;margin:0 6px 0 0;cursor:pointer;appearance:auto}.dialog-radio-item span{margin:0}`)),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
|
-
const Ys = "0.7.
|
|
2
|
+
const Ys = "0.7.66";
|
|
3
3
|
var Jn;
|
|
4
4
|
(function(o) {
|
|
5
5
|
o.HALF = "half", o.ONE_THIRD = "one-third", o.QUARTER = "quarter";
|
|
@@ -18967,9 +18967,11 @@ class Af {
|
|
|
18967
18967
|
// 判断选区是否在控件内 文本域 文本控件校验是否选区内
|
|
18968
18968
|
getIsRangeWithinControl() {
|
|
18969
18969
|
const { range: { startIndex: t, endIndex: e }, elementList: n } = this.range.getRangeElement();
|
|
18970
|
-
if (
|
|
18970
|
+
if (!Number.isInteger(t) || !Number.isInteger(e) || t < 0 || e < 0 || t >= n.length || e >= n.length)
|
|
18971
18971
|
return !1;
|
|
18972
18972
|
const i = n[t], r = n[e];
|
|
18973
|
+
if (!i || !r)
|
|
18974
|
+
return !1;
|
|
18973
18975
|
if (i?.controlId && i.controlId === r.controlId && r.controlComponent !== R.POSTFIX && r.controlComponent !== R.POSTTEXTFIX && r.controlComponent !== R.POSTTEXTFIX_TEXT && r.controlComponent !== R.POST_TEXT || (r?.control?.type === N.TEXT || this.draw.getMode() === _.EDIT && r?.control?.type === N.TEXTFIELD) && r.controlId && !r.originControlId && (r.controlComponent === R.POSTFIX || r.controlComponent === R.POSTTEXTFIX || r.controlComponent === R.POSTTEXTFIX_TEXT || r.controlComponent === R.POST_TEXT) && n[e - 1]?.originControlId === r.controlId)
|
|
18974
18976
|
return !0;
|
|
18975
18977
|
if (r?.originControlId && (r.controlComponent === R.POSTFIX || r.controlComponent === R.POSTTEXTFIX)) {
|
|
@@ -1,5 +1,5 @@
|
|
|
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;display:flex;flex-direction:column;overflow:hidden}.ce-select-control-search{display:block;width:calc(100% - 16px);height:28px;margin:8px;padding:0 8px;border:1px solid #dcdfe6;border-radius:3px;outline:none;box-sizing:border-box;color:#606266;font-size:13px;line-height:28px}.ce-select-control-search:focus{border-color:var(--COLOR-HOVER, #5175f4)}.ce-select-control-popup ul{list-style:none;padding:3px 0;margin:0;min-height:0;overflow-y:auto;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,.ce-select-control-popup ul li.keyboard-active{background-color:#eef2fd}.ce-select-control-popup ul li.active{color:var(--COLOR-HOVER, #5175f4);font-weight:700}.ce-select-control-popup ul li.ce-select-control-empty{color:#909399;cursor:default;text-align:center}.ce-select-control-popup ul li.ce-select-control-empty:hover{background-color:transparent}.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:#fff;border-radius:4px;padding:10px;-webkit-user-select:none;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;-webkit-user-select:none;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;inset: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,%3csvg%20width='32'%20height='32'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M23.97%207l1.415%201.414-7.779%207.778%207.779%207.779-1.414%201.414-7.779-7.779-7.778%207.779L7%2023.97l7.778-7.779L7%208.414%208.414%207l7.778%207.778L23.971%207z'%20fill='%233D4757'%20fill-rule='evenodd'/%3e%3c/svg%3e") 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,%3csvg%20width='32'%20height='32'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%2014v-4h2v4h4v2h-4v4h-2v-4h-4v-2h4zm8.749%2010.163A11.952%2011.952%200%200115%2027C8.373%2027%203%2021.627%203%2015S8.373%203%2015%203s12%205.373%2012%2012c0%202.954-1.067%205.658-2.837%207.749l4.908%204.908-1.414%201.414-4.908-4.908zM15%2025c5.523%200%2010-4.477%2010-10S20.523%205%2015%205%205%209.477%205%2015s4.477%2010%2010%2010z'%20fill='%233D4757'/%3e%3c/svg%3e")}.ce-image-previewer .ce-image-menu i.zoom-out{background-image:url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M22.749%2024.163A11.952%2011.952%200%200115%2027C8.373%2027%203%2021.627%203%2015S8.373%203%2015%203s12%205.373%2012%2012c0%202.954-1.067%205.658-2.837%207.749l4.908%204.908-1.414%201.414-4.908-4.908zM15%2025c5.523%200%2010-4.477%2010-10S20.523%205%2015%205%205%209.477%205%2015s4.477%2010%2010%2010zm-5-11h10v2H10v-2z'%20fill='%233D4757'/%3e%3c/svg%3e")}.ce-image-previewer .ce-image-menu i.rotate{background-image:url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='%233D4757'%20fill-rule='evenodd'%3e%3cpath%20d='M16%204c6.627%200%2012%205.373%2012%2012a11.97%2011.97%200%2001-4%208.944V23h-.86A9.968%209.968%200%200026%2016c0-5.523-4.477-10-10-10S6%2010.477%206%2016c0%205.185%203.947%209.449%209%209.95v2.009C8.84%2027.451%204%2022.291%204%2016%204%209.373%209.373%204%2016%204z'%20fill-rule='nonzero'/%3e%3cpath%20d='M19.879%2027.328l1.767-6.717%204.95%204.95z'/%3e%3c/g%3e%3c/svg%3e")}.ce-image-previewer .ce-image-menu i.original-size{background-image:url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M4%204h24v24H4V4zm2%202v20h20V6H6zm4%205h2v10h-2V11zm5%202h2v2h-2v-2zm0%204h2v2h-2v-2zm5-6h2v10h-2V11z'%20fill='%233D4757'/%3e%3c/svg%3e")}.ce-image-previewer .ce-image-menu i.image-download{background-image:url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M4.5%2015v3.5h15V15H21v5H3v-5h1.5zm8.232-11.226v9.196l4.05-4.05%201.06%201.06-5.834%205.834-5.833-5.833%201.06-1.06%203.998%203.996V3.774h1.5z'%20fill='%233D4757'/%3e%3c/svg%3e")}.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,%3csvg%20width='20'%20height='20'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.5%204.063L6.875%2010l5.625%205.938'%20stroke='%233D4757'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e")}.ce-image-previewer .ce-image-menu i.image-next{background-image:url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.5%204.063L13.125%2010%207.5%2015.938'%20stroke='%233D4757'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e")}.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,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20d='M0%200h16v16H0z'/%3e%3cg%20fill='%23767C85'%3e%3cpath%20d='M7%2012.243l-.707-.707%204.243-4.243.707.707z'/%3e%3cpath%20d='M6.293%204.464L7%203.757%2011.243%208l-.707.707z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e")}.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:#1937580a}.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,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='%233D4757'%20fill-rule='evenodd'%3e%3cpath%20d='M12%204h-1V2H5v2H4V2a1%201%200%20011-1h6a1%201%200%20011%201v2zm0%205v4a1%201%200%2001-1%201H5a1%201%200%2001-1-1V9h1v4h6V9h1z'/%3e%3cpath%20d='M12%2012v-1h2V5H2v6h2v1H2a1%201%200%2001-1-1V5a1%201%200%20011-1h12a1%201%200%20011%201v6a1%201%200%2001-1%201h-2z'/%3e%3cpath%20d='M3%208h10v1H3zm8-2h2v1h-2z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-image{background-image:url("data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20x='0'%20y='0'%20viewBox='0%200%2016%2016'%20xml:space='preserve'%3e%3cstyle%3e.st0{fill:%233d4757}%3c/style%3e%3cg%20id='_x30_0-公共_x2F_02工具栏_x2F_插入图片-16px-'%3e%3cg%20id='Group-19'%20transform='translate(1%201)'%3e%3cpath%20id='Combined-Shape'%20class='st0'%20d='M1%200h12c.6%200%201%20.4%201%201v11c0%20.6-.4%201-1%201H1c-.6%200-1-.4-1-1V1c0-.6.4-1%201-1zm0%201v11h12V1H1z'/%3e%3ccircle%20id='椭圆形'%20class='st0'%20cx='10'%20cy='4'%20r='1'/%3e%3cpath%20id='Path'%20class='st0'%20d='M8.5%2011.2l-4-4.1L1%2010.7V9.2c1.7-1.6%202.7-2.5%203-2.8.4-.5.7-.4%201%200L8.5%2010%2011%207.3c.4-.5.6-.5%201-.1l2%202.8v1.5l-2.5-3.4-3%203.1z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-image-change{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cg%20transform='translate(2%204)'%20fill='%233D4757'%3e%3ccircle%20fill-rule='nonzero'%20cx='3'%20cy='1'%20r='1'/%3e%3cpath%20d='M7.473%208.223L3.47%204.107%200%207.667v-1.5C1.715%204.6%202.707%203.664%202.975%203.358c.402-.457.651-.39%201.042%200L7.473%207%209.96%204.349c.414-.462.62-.462%201.011-.071L13%207.06v1.5l-2.51-3.41-3.017%203.072z'/%3e%3c/g%3e%3cpath%20d='M6%201.5H1.5v12h13v-4V13a.5.5%200%2001-.5.5H2a.5.5%200%2001-.5-.5V2a.5.5%200%2001.5-.5h4zm8.5%208V6l-.5.5h1l-.5-.5v3.5zM6%201.5h4L9.5%201v1l.5-.5H6z'%20stroke='%233D4757'/%3e%3cpath%20d='M13.085%201.316l-3.814%204a1%201%200%20001.458%201.368l3.815-4a1%201%200%2010-1.459-1.368z'%20fill='%233D4757'%20fill-rule='nonzero'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-insert-row-col{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20stroke='%233D4757'%20d='M8.5%205.5h6v4h-6z'/%3e%3cpath%20fill='%233D4757'%20d='M4%207v1h2V7zm-3%20.5L4%205v5zM1%201h12v1H1zm0%2012h12v1H1z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-insert-top-row{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20fill='%233D4757'%20d='M8%205H7v3h1zm-.5-3L10%205H5z'/%3e%3crect%20stroke='%233D4757'%20x='1.5'%20y='10.5'%20width='12'%20height='3'%20rx='1'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-insert-bottom-row{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20fill='%233D4757'%20d='M7%2011h1V8H7zm.5%203L5%2011h5z'/%3e%3crect%20stroke='%233D4757'%20x='1.5'%20y='2.5'%20width='12'%20height='3'%20rx='1'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-insert-left-col{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20fill='%233D4757'%20d='M11%207v1h3V7zm-3%20.5L11%205v5z'/%3e%3crect%20stroke='%233D4757'%20transform='rotate(90%204%207.5)'%20x='-2'%20y='6'%20width='12'%20height='3'%20rx='1'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-insert-right-col{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20fill='%233D4757'%20d='M5%208V7H2v1zm3-.5L5%2010V5z'/%3e%3crect%20stroke='%233D4757'%20transform='rotate(90%2012%207.5)'%20x='6'%20y='6'%20width='12'%20height='3'%20rx='1'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-delete-row-col{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20stroke='%23929AA8'%20d='M8.5%206.5h6v2h-6z'/%3e%3cpath%20fill='%233D4757'%20d='M2%2012h11v1H2zM2%202h11v1H2zm.63%203L7%209.35l-.635.65L2%205.63z'/%3e%3cpath%20fill='%233D4757'%20d='M2%209.363L6.355%205%207%205.707%202.695%2010z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-delete-row{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20stroke='%23929AA8'%20d='M8.5%205.5h6v4h-6z'/%3e%3cpath%20fill='%233D4757'%20d='M1%2013h12v1H1zM1%201h12v1H1zm0%204h1v1H1zm1%201h1v1H2zm1%201h1v1H3zm1-1h1v1H4zm1-1h1v1H5zM4%208h1v1H4zM2%208h1v1H2zm3%201h1v1H5zM1%209h1v1H1z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-delete-col{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20stroke='%23929AA8'%20d='M5.5%207.5v-6h4v6z'/%3e%3cpath%20fill='%233D4757'%20d='M13%2015V3h1v12zM1%2015V3h1v12zm4%200v-1h1v1zm1-1v-1h1v1zm1-1v-1h1v1zm-1-1v-1h1v1zm-1-1v-1h1v1zm3%201v-1h1v1zm0%202v-1h1v1zm1-3v-1h1v1zm0%204v-1h1v1z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-delete-table{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='%233D4757'%20fill-rule='evenodd'%3e%3cpath%20d='M14%2013h-1v-3H2v3H1v-3a1%201%200%20011-1h11a1%201%200%20011%201v3z'%20fill-rule='nonzero'/%3e%3cpath%20d='M5.625%202L10%206.375%209.375%207%205%202.625z'/%3e%3cpath%20d='M5%206.375L9.375%202l.625.625L5.625%207z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-merge-cell{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='%233D4757'%20fill-rule='evenodd'%3e%3cpath%20d='M6%201v1H2v11h4v1H2a1%201%200%2001-1-1V2a1%201%200%20011-1h4zm3%200h4a1%201%200%20011%201v11a1%201%200%2001-1%201H9v-1h4V2H9V1z'/%3e%3cpath%20fill-rule='nonzero'%20d='M6%201h1v4H6zm2%200h1v4H8z'/%3e%3cpath%20d='M8%207.5L10%206v3zm-1%200L5%206v3z'/%3e%3cpath%20d='M9%207h3v1H9zM3%207h3v1H3z'/%3e%3cpath%20fill-rule='nonzero'%20d='M8%2010h1v4H8zm-2%200h1v4H6z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-merge-cancel-cell{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='%233D4757'%20fill-rule='evenodd'%3e%3cpath%20d='M6%201v1H2v11h4v1H2a1%201%200%2001-1-1V2a1%201%200%20011-1h4zm3%200h4a1%201%200%20011%201v11a1%201%200%2001-1%201H9v-1h4V2H9V1z'/%3e%3cpath%20fill-rule='nonzero'%20d='M6%201h1v4H6zm2%200h1v4H8z'/%3e%3cpath%20d='M3%207.5L5%206v3zm9%200L10%206v3z'/%3e%3cpath%20d='M4%207h3v1H4zm4%200h3v1H8z'/%3e%3cpath%20fill-rule='nonzero'%20d='M8%2010h1v4H8zm-2%200h1v4H6z'/%3e%3c/g%3e%3c/svg%3e")}.ce-contextmenu-vertical-align{background-image:url("data:image/svg+xml,%3csvg%20height='16'%20viewBox='0%200%2016%2016'%20width='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2%2013h12v1H2zm0-3h8v1H2zm0-3h12v1H2zm0-6h12v1H2zm0%203h8v1H2z'%20fill='%233d4757'%20fill-rule='evenodd'/%3e%3c/svg%3e")}.ce-contextmenu-vertical-align-top{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8%208H7v6h1zm-.5-3L10%208H5zM2%203h11v1H2z'%20fill='%233D4757'%20fill-rule='evenodd'/%3e%3c/svg%3e")}.ce-contextmenu-vertical-align-middle{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8%2012H7v3h1zm-.5-3l2.5%203H5zM7%203h1V0H7zm.5%203L5%203h5zM2%207h11v1H2z'%20fill='%233D4757'%20fill-rule='evenodd'/%3e%3c/svg%3e")}.ce-contextmenu-vertical-align-bottom{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7%209h1V3H7zm.5%203L5%209h5zM2%2013h11v1H2z'%20fill='%233D4757'%20fill-rule='evenodd'/%3e%3c/svg%3e")}.ce-contextmenu-border-all{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%233D4757'/%3e%3cpath%20fill='%233D4757'%20d='M3%208h11v1H3z'/%3e%3cpath%20fill='%233D4757'%20d='M9%203v11H8V3z'/%3e%3c/svg%3e")}.ce-contextmenu-border-empty{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13%203h-1V2h1a1%201%200%20011%201v1h-1V3zm-3-1v1H8.5v2h-1V3H6V2h4zM4%202v1H3v1H2V3a1%201%200%20011-1h1zM2%206h1v1.5h2v1H3V10H2V6zm0%206h1v1h1v1H3a1%201%200%2001-1-1v-1zm4%202v-1h1.5v-2h1v2H10v1H6zm6%200v-1h1v-1h1v1a1%201%200%2001-1%201h-1zm2-4h-1V8.5h-2v-1h2V6h1v4zM8.5%207.5v-1h-1v1h-1v1h1v1h1v-1h1v-1h-1z'%20fill='%23AAACB0'/%3e%3c/svg%3e")}.ce-contextmenu-border-dash{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13%203h-1V2h1a1%201%200%20011%201v1h-1V3zm-3-1v1H8.5v2h-1V3H6V2h4zM4%202v1H3v1H2V3a1%201%200%20011-1h1zM2%206h1v1.5h2v1H3V10H2V6zm0%206h1v1h1v1H3a1%201%200%2001-1-1v-1zm4%202v-1h1.5v-2h1v2H10v1H6zm6%200v-1h1v-1h1v1a1%201%200%2001-1%201h-1zm2-4h-1V8.5h-2v-1h2V6h1v4zM8.5%207.5v-1h-1v1h-1v1h1v1h1v-1h1v-1h-1z'%20fill='%23000000'/%3e%3c/svg%3e")}.ce-contextmenu-border-external{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%233D4757'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9%205V3H8v2h1zm0%209v-2H8v2h1zM5%208H3v1h2V8zm9%200h-2v1h2V8zM9%207v1h1v1H9v1H8V9H7V8h1V7h1z'%20fill='%23AAACB0'/%3e%3c/svg%3e")}.ce-contextmenu-border-internal{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9%205V3H8v2h1zm0%209v-2H8v2h1zM5%208H3v1h2V8zm9%200h-2v1h2V8zM9%207v1h1v1H9v1H8V9H7V8h1V7h1z'%20fill='%233D4757'/%3e%3c/svg%3e")}.ce-contextmenu-border-td{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20stroke='%233D4757'%20d='M8.5%202.5%20v6%20h-6'/%3e%3c/svg%3e")}.ce-contextmenu-border-td-top{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20stroke='%233D4757'%20stroke-width='2'%20d='M2.5%203%20h12'/%3e%3c/svg%3e")}.ce-contextmenu-border-td-left{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20stroke='%233D4757'%20stroke-width='2'%20d='M3%203%20v11'/%3e%3c/svg%3e")}.ce-contextmenu-border-td-bottom{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20stroke='%233D4757'%20stroke-width='2'%20d='M2.5%2014%20h12'/%3e%3c/svg%3e")}.ce-contextmenu-border-td-right{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'/%3e%3cpath%20stroke='%233D4757'%20stroke-width='2'%20d='M14%203%20v11'/%3e%3c/svg%3e")}.ce-contextmenu-border-td-forward{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'%20/%3e%3cpath%20stroke='%233D4757'%20d='M14%203%20l-11%2011'%20/%3e%3c/svg%3e")}.ce-contextmenu-border-td-back{background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.5%203a.5.5%200%2001.5-.5h11a.5.5%200%2001.5.5v11a.5.5%200%2001-.5.5H3a.5.5%200%2001-.5-.5V3z'%20stroke='%23AAACB0'%20/%3e%3cpath%20stroke='%233D4757'%20d='M3%203%20l11%2011'%20/%3e%3c/svg%3e")}.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:#dae7fc;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;-webkit-user-select: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{min-width:60px!important;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;-webkit-user-select:none;user-select:none;caret-color:transparent;background-color:transparent;white-space:pre}.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}.ce-button-input-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;justify-content:center;align-items:center;z-index:2000}.ce-button-input-modal__content{background:#fff;border-radius:8px;padding:20px;min-width:320px;max-width:480px;box-shadow:0 4px 20px #00000026}.ce-button-input-modal__title{font-size:14px;font-weight:500;color:#333;margin-bottom:12px}.ce-button-input-modal__textarea{width:100%;min-height:100px;padding:10px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:13px;line-height:1.5;resize:vertical;outline:none;box-sizing:border-box;font-family:inherit}.ce-button-input-modal__textarea:focus{border-color:#5175f4}.ce-button-input-modal__textarea::placeholder{color:#c0c4cc}.ce-button-input-modal__buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.ce-button-input-modal__cancel,.ce-button-input-modal__confirm{padding:8px 16px;font-size:13px;border-radius:4px;cursor:pointer;border:1px solid #dcdfe6;background:#fff;color:#606266;transition:all .2s}.ce-button-input-modal__cancel:hover{color:#5175f4;border-color:#5175f4}.ce-button-input-modal__confirm{background:#5175f4;border-color:#5175f4;color:#fff}.ce-button-input-modal__confirm:hover{background:#409eff;border-color:#409eff}.ce-button-edit-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;justify-content:center;align-items:center;z-index:1000}.ce-button-edit-modal__content{background:#fff;border-radius:8px;padding:20px;min-width:320px;max-width:480px;box-shadow:0 4px 20px #00000026}.ce-button-edit-modal__title{font-size:14px;font-weight:500;color:#333;margin-bottom:16px}.ce-button-edit-modal__form{display:flex;flex-direction:column;gap:12px}.ce-button-edit-modal__field{display:flex;align-items:center;gap:8px}.ce-button-edit-modal__field label{min-width:80px;font-size:13px;color:#606266}.ce-button-edit-modal__field input{flex:1;padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:13px;outline:none;box-sizing:border-box}.ce-button-edit-modal__field input:focus{border-color:#5175f4}.ce-button-edit-modal__field input::placeholder{color:#c0c4cc}.ce-button-edit-modal__buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.ce-button-edit-modal__cancel,.ce-button-edit-modal__confirm{padding:8px 16px;font-size:13px;border-radius:4px;cursor:pointer;border:1px solid #dcdfe6;background:#fff;color:#606266;transition:all .2s}.ce-button-edit-modal__cancel:hover{color:#5175f4;border-color:#5175f4}.ce-button-edit-modal__confirm{background:#5175f4;border-color:#5175f4;color:#fff}.ce-button-edit-modal__confirm:hover{background:#409eff;border-color:#409eff}.ce-number-input-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;justify-content:center;align-items:center;z-index:2000}.ce-number-input-modal__content{background:#fff;border-radius:8px;padding:20px;min-width:300px;max-width:400px;box-shadow:0 4px 20px #00000026}.ce-number-input-modal__title{font-size:14px;font-weight:500;color:#333;margin-bottom:12px}.ce-number-input-modal__hint{font-size:12px;color:#909399;margin-bottom:12px}.ce-number-input-modal__input{width:100%;padding:10px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:13px;outline:none;box-sizing:border-box}.ce-number-input-modal__input:focus{border-color:#5175f4}.ce-number-input-modal__input::placeholder{color:#c0c4cc}.ce-number-input-modal__error{font-size:12px;color:#f56c6c;margin-top:8px}.ce-number-input-modal__buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.ce-number-input-modal__cancel,.ce-number-input-modal__confirm{padding:8px 16px;font-size:13px;border-radius:4px;cursor:pointer;border:1px solid #dcdfe6;background:#fff;color:#606266;transition:all .2s}.ce-number-input-modal__cancel:hover{color:#5175f4;border-color:#5175f4}.ce-number-input-modal__confirm{background:#5175f4;border-color:#5175f4;color:#fff}.ce-number-input-modal__confirm:hover{background:#409eff;border-color:#409eff}.tooth-position-edit-modal,.tooth-position-create-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000}.tooth-position-modal__container{position:relative;top:auto;left:auto;transform:none;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:400px;max-width:90vw;max-height:calc(100vh - 48px);display:flex;flex-direction:column;pointer-events:auto}.tooth-position-modal__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e8e8e8}.tooth-position-modal__header span{font-size:16px;font-weight:500;color:#333}.tooth-position-modal__close{font-size:20px;cursor:pointer;color:#999;line-height:1}.tooth-position-modal__close:hover{color:#333}.tooth-position-modal__content{padding:20px;max-height:60vh;overflow-y:auto}.tooth-section{margin-bottom:20px}.tooth-section:last-child{margin-bottom:0}.tooth-section-title{font-size:14px;font-weight:500;color:#333;margin-bottom:12px;padding-left:8px;border-left:3px solid #1890ff}.tooth-row{display:flex;align-items:center;margin-bottom:8px}.tooth-row:last-child{margin-bottom:0}.tooth-row-label{width:30px;font-size:13px;color:#666}.tooth-buttons{display:flex;gap:8px;flex-wrap:wrap}.letter-buttons{margin-left:30px}.tooth-checkbox{display:flex;align-items:center;cursor:pointer}.tooth-checkbox input{display:none}.tooth-checkbox span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #d9d9d9;border-radius:4px;background:#f5f5f5;font-size:14px;color:#333;transition:all .2s}.tooth-checkbox input:checked+span{background:#1890ff;border-color:#1890ff;color:#fff}.tooth-checkbox:hover span{border-color:#1890ff}.tooth-position-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid #e8e8e8}.tooth-position-modal__footer .btn-cancel,.tooth-position-modal__footer .btn-confirm{padding:8px 20px;font-size:14px;border-radius:4px;cursor:pointer;border:1px solid #dcdfe6;background:#fff;color:#606266;transition:all .2s}.tooth-position-modal__footer .btn-cancel:hover{color:#1890ff;border-color:#1890ff}.tooth-position-modal__footer .btn-confirm{background:#1890ff;border-color:#1890ff;color:#fff}.tooth-position-modal__footer .btn-confirm:hover{background:#40a9ff;border-color:#40a9ff}.tooth-grid-container{display:flex;flex-direction:column;align-items:center;padding:15px 20px;background:#fafafa;border-radius:8px;margin-bottom:15px;position:relative}.tooth-quick-buttons{display:flex;gap:6px;margin-bottom:16px}.tooth-quick-buttons-left{display:flex;flex-direction:column;gap:6px;flex:1}.tooth-quick-buttons-row{display:flex;gap:6px}.tooth-quick-btn{padding:6px 12px;font-size:12px;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;background:#fff;color:#333;transition:all .2s;white-space:nowrap}.tooth-quick-btn:hover{border-color:#1890ff;color:#1890ff}.tooth-quick-btn.selected{background:#0ff;border-color:#0ff;color:#fff}.tooth-quick-btn--clear{background:#ff6b6b;border-color:#ff6b6b;color:#fff}.tooth-quick-btn--clear:hover{background:#ff5252;border-color:#ff5252;color:#fff}.tooth-grid-container:before{content:"";position:absolute;left:50%;top:20px;bottom:20px;width:2px;background:#000;transform:translate(-50%);z-index:1}.tooth-grid-container:after{content:"";position:absolute;left:20px;right:20px;top:50%;height:2px;background:#000;transform:translateY(-50%);z-index:1}.tooth-grid-letter-row,.tooth-grid-number-row{display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.tooth-grid-half{display:flex;align-items:center;justify-content:center;gap:4px}.tooth-grid-half.left{justify-content:flex-end;padding-right:15px}.tooth-grid-half.right{justify-content:flex-start;padding-left:15px}.tooth-grid-divider-v,.tooth-grid-divider-h{display:none}.tooth-grid-number-item{width:34px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:#333;cursor:pointer;background:#fff;transition:all .2s;box-sizing:border-box;border:1px solid #d9d9d9;border-radius:12px}.upper-number-row .tooth-grid-number-item{border-top:none;border-radius:0 0 12px 12px}.lower-number-row .tooth-grid-number-item{border-bottom:none;border-radius:12px 12px 0 0}.tooth-grid-number-item[data-value="1"],.tooth-grid-number-item[data-value="2"],.tooth-grid-number-item[data-value="3"]{border-radius:50px}.upper-number-row .tooth-grid-number-item[data-value="1"],.upper-number-row .tooth-grid-number-item[data-value="2"],.upper-number-row .tooth-grid-number-item[data-value="3"]{border-top:none!important;border-radius:0 0 50px 50px!important}.lower-number-row .tooth-grid-number-item[data-value="1"],.lower-number-row .tooth-grid-number-item[data-value="2"],.lower-number-row .tooth-grid-number-item[data-value="3"]{border-bottom:none!important;border-radius:50px 50px 0 0!important}.tooth-grid-number-item:hover{border-color:#1890ff;color:#1890ff}.tooth-grid-number-item.selected{background:#1890ff;border-color:#1890ff;color:#fff}.tooth-grid-letter-item{width:34px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:#333;cursor:pointer;background:#fff;border:1px solid #d9d9d9;transition:all .2s;box-sizing:border-box;border-radius:12px}.upper-letter-row .tooth-grid-letter-item{border-top:none;border-radius:0 0 12px 12px}.lower-letter-row .tooth-grid-letter-item{border-bottom:none;border-radius:12px 12px 0 0}.tooth-grid-letter-item[data-value=A],.tooth-grid-letter-item[data-value=B],.tooth-grid-letter-item[data-value=C]{border-radius:50px}.upper-letter-row .tooth-grid-letter-item[data-value=A],.upper-letter-row .tooth-grid-letter-item[data-value=B],.upper-letter-row .tooth-grid-letter-item[data-value=C]{border-top:none!important;border-radius:0 0 50px 50px!important}.lower-letter-row .tooth-grid-letter-item[data-value=A],.lower-letter-row .tooth-grid-letter-item[data-value=B],.lower-letter-row .tooth-grid-letter-item[data-value=C]{border-bottom:none!important;border-radius:50px 50px 0 0!important}.tooth-grid-letter-item:hover{border-color:#1890ff;color:#1890ff}.tooth-grid-letter-item.selected{background:#1890ff;border-color:#1890ff;color:#fff}.tooth-grid-letter-row.hidden,.tooth-grid-number-row.hidden{display:none}.tooth-grid-letter-row{margin-bottom:8px}.tooth-grid-number-row.upper-number-row{margin-bottom:15px}.tooth-grid-number-row.lower-number-row{margin-top:15px}.tooth-grid-letter-row.lower-letter-row{margin-top:8px}.tooth-preview-section{padding-top:10px;border-top:1px solid #e8e8e8}.tooth-preview-title{font-size:14px;font-weight:500;color:#333;margin-bottom:12px}.tooth-preview-wrapper{display:flex;gap:15px}.tooth-preview-container{display:flex;justify-content:center;align-items:center;padding:10px;background:#fafafa;border-radius:8px;flex:1;min-height:60px}.tooth-preview-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0;width:100%;min-height:70px;position:relative}.tooth-preview-grid:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#000;transform:translate(-50%)}.tooth-preview-grid:after{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#000;transform:translateY(-50%)}.tooth-preview-quadrant{display:flex;align-items:center;padding:5px 10px;font-size:12px;flex-wrap:wrap;gap:4px;justify-content:center}.tooth-preview-upper-left{justify-content:flex-end}.tooth-preview-upper-right{justify-content:flex-start}.tooth-preview-lower-left{justify-content:flex-end}.tooth-preview-lower-right{justify-content:flex-start}.tooth-preview-tooth{position:relative;display:inline;margin:0 4px}.tooth-preview-tooth-value{font-size:12px}.tooth-preview-tooth-value--deciduous{font-size:10px}.tooth-preview-tooth-bracket{font-size:12px}.tooth-preview-supernumerary{font-size:9px;vertical-align:super;margin:0 1px}.tooth-preview-surface{font-size:9px;vertical-align:super;margin-left:1px}.tooth-extra-panel{width:100px;display:flex;flex-direction:column;gap:10px}.tooth-surface-panel{background:#fafafa;border-radius:8px;padding:10px 20px}.tooth-surface-title{font-size:12px;font-weight:500;color:#333;margin-bottom:8px;text-align:center}.tooth-surface-grid{display:flex;flex-direction:column;gap:4px;align-items:center}.tooth-surface-row{display:flex;gap:4px;justify-content:center}.tooth-surface-item{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:#333;cursor:pointer;background:#fff;border:1px dashed #d9d9d9;border-radius:5px;transition:all .2s;box-sizing:border-box}.tooth-surface-item--indent{margin-left:17px}.tooth-surface-item:hover{border-color:#1890ff;color:#1890ff}.tooth-surface-item.selected{background:#1890ff;border-color:#1890ff;border-style:solid;color:#fff}.tooth-supernumerary-panel{background:#fafafa;border-radius:8px;padding:10px 20px}.tooth-supernumerary-title{font-size:12px;font-weight:500;color:#333;margin-bottom:4px;text-align:center}.tooth-supernumerary-hint{font-size:10px;color:#999;font-weight:400}.tooth-supernumerary-grid{display:flex;gap:8px;justify-content:center;margin-top:8px}.tooth-supernumerary-item{width:30px;height:35px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:#333;cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-bottom:none;border-radius:50px;transition:all .2s;box-sizing:border-box}.tooth-supernumerary-item:hover{border-color:#1890ff;color:#1890ff}.tooth-supernumerary-item.selected{background:#1890ff;border-color:#1890ff;color:#fff}.ce-button-input-modal,.ce-button-edit-modal,.ce-number-input-modal,.tooth-position-edit-modal,.tooth-position-create-modal{inset:0;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;overflow:auto;background:transparent;pointer-events:none}.ce-button-input-modal__content,.ce-button-edit-modal__content,.ce-number-input-modal__content,.tooth-position-modal__container{pointer-events:auto}.ce-button-input-modal__content,.ce-button-edit-modal__content,.ce-number-input-modal__content{max-height:calc(100vh - 48px);overflow:auto}.tooth-position-modal__mask{display:none}.tooth-position-modal__container{position:relative;top:auto;left:auto;transform:none;display:flex;flex-direction:column;max-height:calc(100vh - 48px)}.ant-modal-mask{display:none!important}.ant-modal-wrap{position:fixed!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;box-sizing:border-box!important;overflow:auto!important;pointer-events:none!important}.ant-modal{top:auto!important;margin:0!important;padding-bottom:0!important;max-width:calc(100vw - 48px)!important;max-height:calc(100vh - 48px)!important;pointer-events:auto!important}.ant-modal-content{max-height:calc(100vh - 48px)!important;overflow:auto!important}.dialog-mask{display:none}.dialog-container{position:fixed;inset:0;overflow:auto;z-index:999;margin:0;padding:24px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;pointer-events:none}.dialog{position:relative;padding:0 30px 30px;background:#fff;box-shadow:0 2px 12px #38383833;border:1px solid #e2e6ed;border-radius:2px;max-height:calc(100vh - 48px);overflow:auto;pointer-events:auto}.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,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.9%208.192l4.242%204.243-.707.707L8.192%208.9%203.95%2013.142l-.707-.707%204.242-4.243L3.243%203.95l.707-.707%204.242%204.242%204.243-4.242.707.707L8.9%208.192z'%20fill='%236A6A6A'%20fill-rule='evenodd'/%3e%3c/svg%3e")}.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 textarea,.dialog-option__item select{width:276px;height:30px;border-radius:2px;border:1px solid #d3d3d3;min-height:30px;padding:5px;box-sizing:border-box;outline:none;appearance:none;-webkit-user-select: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:#fff;line-height:22px;padding:0 16px;white-space:nowrap;cursor:pointer}.dialog-menu button:hover{background:#1937580a}.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}.dialog-radio-group{display:flex;flex-direction:column;gap:8px}.dialog-radio-group--horizontal{flex-direction:row;gap:16px}.dialog-radio-item{display:flex;align-items:center;cursor:pointer;font-size:14px;color:#3d4757}.dialog-radio-item input[type=radio]{width:16px;height:16px;margin:0 6px 0 0;cursor:pointer;appearance:auto}.dialog-radio-item span{margin:0}`)),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
|
-
(function(s,Cn){typeof exports=="object"&&typeof module<"u"?Cn(exports):typeof define=="function"&&define.amd?define(["exports"],Cn):(s=typeof globalThis<"u"?globalThis:s||self,Cn(s["canvas-editor"]={}))})(this,(function(s){"use strict";const Cn="0.7.
|
|
2
|
+
(function(s,Cn){typeof exports=="object"&&typeof module<"u"?Cn(exports):typeof define=="function"&&define.amd?define(["exports"],Cn):(s=typeof globalThis<"u"?globalThis:s||self,Cn(s["canvas-editor"]={}))})(this,(function(s){"use strict";const Cn="0.7.66";s.MaxHeightRatio=void 0,(function(o){o.HALF="half",o.ONE_THIRD="one-third",o.QUARTER="quarter"})(s.MaxHeightRatio||(s.MaxHeightRatio={})),s.NumberType=void 0,(function(o){o.ARABIC="arabic",o.CHINESE="chinese"})(s.NumberType||(s.NumberType={})),s.ImageDisplay=void 0,(function(o){o.INLINE="inline",o.BLOCK="block",o.SURROUND="surround",o.FLOAT_TOP="float-top",o.FLOAT_BOTTOM="float-bottom"})(s.ImageDisplay||(s.ImageDisplay={})),s.LocationPosition=void 0,(function(o){o.BEFORE="before",o.AFTER="after",o.OUTER_BEFORE="outer-before",o.OUTER_AFTER="outer-after"})(s.LocationPosition||(s.LocationPosition={})),s.FlexDirection=void 0,(function(o){o.ROW="row",o.COLUMN="column"})(s.FlexDirection||(s.FlexDirection={}));const B="",Zs=`
|
|
3
3
|
`,Ti=" ",Qs=" ",da=["·","、",":",":",",",",",".","。",";",";","?","?","!","!"],Hs={[s.MaxHeightRatio.HALF]:1/2,[s.MaxHeightRatio.ONE_THIRD]:1/3,[s.MaxHeightRatio.QUARTER]:1/4},fi={ENGLISH:"A-Za-z",NUMBER:"0-9.$¥",SPANISH:"A-Za-zÁÉÍÓÚáéíóúÑñÜü",FRENCH:"A-Za-zÀÂÇàâçÉéÈèÊêËëÎîÏïÔôÙùÛûŸÿ",GERMAN:"A-Za-zÄäÖöÜüß",RUSSIAN:"А-Яа-яЁё",PORTUGUESE:"A-Za-zÁÉÍÓÚáéíóúÃÕãõÇç",ITALIAN:"A-Za-zÀàÈèÉéÌìÍíÎîÓóÒòÙù",DUTCH:"A-Za-zÀàÁáÂâÄäÈèÉéÊêËëÌìÍíÎîÏïÓóÒòÔôÖöÙùÛûÜü",SWEDISH:"A-Za-zÅåÄäÖö",GREEK:"ΑαΒβΓγΔδΕεΖζΗηΘθΙιΚκΛλΜμΝνΞξΟοΠπΡρΣσςΤτΥυΦφΧχΨψΩω"},ua="中";s.RowFlex=void 0,(function(o){o.LEFT="left",o.CENTER="center",o.RIGHT="right",o.ALIGNMENT="alignment",o.JUSTIFY="justify"})(s.RowFlex||(s.RowFlex={}));const mi=/[0-9.]/,ha=/[\uD800-\uDBFF][\uDC00-\uDFFF]/,Ra=/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g,ga=new RegExp(`${Ra.source}|${ha.source}`,"g"),Ta=/[、,。?!;:……「」“”‘’*()【】〔〕〖〗〘〙〚〛《》———﹝﹞–—\\/·.,!?;:`~<>()[\]{}'"|]/,Ci=new RegExp(`^[${B}
|
|
4
4
|
]`),fa=/\s/;function ma(o,t){let e;return function(...n){e&&window.clearTimeout(e),e=window.setTimeout(()=>{o.apply(this,n)},t)}}function Ca(o,t){let e=0,n;return function(...i){const l=Date.now();l-e>=t?(window.clearTimeout(n),o.apply(this,i),e=l):(window.clearTimeout(n),n=window.setTimeout(()=>{o.apply(this,i),e=l},t))}}function pi(o,t){if(!o||typeof o!="object")return o;let e={};return Array.isArray(o)?e=o.map(n=>pi(n,t)):Object.keys(o).forEach(n=>{t.includes(n)||(e[n]=pi(o[n],t))}),e}function lt(o){if(typeof structuredClone=="function")return structuredClone(o);if(!o||typeof o!="object")return o;let t={};return Array.isArray(o)?t=o.map(e=>lt(e)):Object.keys(o).forEach(e=>{t[e]=lt(o[e])}),t}function Ii(o){return o&&o.nodeType===1&&o.tagName.toLowerCase()==="body"}function Ks(o,t,e){if(o&&!Ii(o))for(o=o;o;){if(!t||t(o)||Ii(o))return t&&!t(o)&&Ii(o)?null:o;o=o.parentNode}return null}function gt(){function o(){return((1+Math.random())*65536|0).toString(16).substring(1)}return o()+o()+"-"+o()+"-"+o()+"-"+o()+"-"+o()+o()+o()}function bt(o){const t=[];if(Intl.Segmenter){const n=new Intl.Segmenter().segment(o);for(const{segment:i}of n)t.push(i)}else{const e=new Map;for(const i of o.matchAll(ga))e.set(i.index,i[0]);let n=0;for(;n<o.length;){const i=e.get(n);i?(t.push(i),n+=i.length):(t.push(o[n]),n++)}}return t}function As(o,t){const e=document.createElement("a");e.href=o,e.download=t,e.click()}function pa(o,t){Ia(3,o,t)}function Ia(o,t,e){let n=0,i=0,l=null,r=null;const a=function(c){const d=new Date().getTime(),u=l!==null&&r!==null&&Math.abs(c.clientX-l)<=5&&Math.abs(c.clientY-r)<=5;n=d-i<300&&u?n+1:0,i=d,l=c.clientX,r=c.clientY,n>=o-1&&(e(c),n=0)};t.addEventListener("click",a)}function So(o){return Object.prototype.toString.call(o)==="[object Object]"}function Ei(o){return Array.isArray(o)}function Li(o){return Object.prototype.toString.call(o)==="[object Number]"}function Ea(o){return Object.prototype.toString.call(o)==="[object String]"}function _s(o,t){if(So(o)&&So(t)){const e=t;for(const[n,i]of Object.entries(o))e[n]?e[n]=_s(i,e[n]):e[n]=i}else Ei(o)&&Ei(t)&&t.push(...o);return t}function Pi(o){if(typeof queueMicrotask=="function"){queueMicrotask(()=>{o()});return}if(typeof Promise<"u"){Promise.resolve().then(()=>{o()});return}setTimeout(()=>{o()},0)}function La(o){const t=["零","一","二","三","四","五","六","七","八","九"],e=["","十","百","千","万","十","百","千","亿","十","百","千","万","十","百","千","亿"];if(!o||isNaN(o))return"零";const n=o.toString().split("");let i="";for(let l=0;l<n.length;l++){const r=n.length-1-l;i=`${e[l]}${i}`,i=`${t[Number(n[r])]}${i}`}return i=i.replace(/零(千|百|十)/g,"零").replace(/十零/g,"十"),i=i.replace(/零+/g,"零"),i=i.replace(/零亿/g,"亿").replace(/零万/g,"万"),i=i.replace(/亿万/g,"亿"),i=i.replace(/零+$/,""),i=i.replace(/^一十/g,"十"),i}function dn(o,t,e){for(let n=0;n<o.length;n++){const i=o[n],l=t[i];l!==void 0?e[i]=l:delete e[i]}}function Bs(o,t){if(!(!t.length||!o.length))for(let e=o.length-1;e>=0;e--)t.includes(o[e])&&o.splice(e,1)}function Jt(o,t){const e={};for(const n in o)t.includes(n)&&(e[n]=o[n]);return e}function Ee(o,t){const e={};for(const n in o)t.includes(n)||(e[n]=o[n]);return e}function Pa(o){const e=new TextEncoder().encode(o),n=Array.from(e,l=>String.fromCharCode(l));return window.btoa(n.join(""))}function Ma(o){let t=o.parentElement;for(;t;){const n=window.getComputedStyle(t).getPropertyValue("overflow-y");if(t.scrollHeight>t.clientHeight&&(n==="auto"||n==="scroll"))return t;t=t.parentElement}return document.documentElement}function xs(o,t){return o.length!==t.length?!1:!o.some(e=>!t.includes(e))}function Oa(o,t){if(!So(o)||!So(t))return!1;const e=Object.keys(o),n=Object.keys(t);return e.length!==n.length?!1:!e.some(i=>t[i]!==o[i])}function Sa(o,t){const e=o.x,n=o.x+o.width,i=o.y,l=o.y+o.height,r=t.x,a=t.x+t.width,c=t.y,d=t.y+t.height;return!(e>a||n<r||i>d||l<c)}function ks(o){return o==null}function Do(o){return o.replace(/\r\n|\r/g,`
|
|
5
5
|
`)}function Gs(o,t,e=0){const n=Math.max(0,Math.floor(e));if(n>=o.length)return typeof t=="string"&&t===""?{index:o.length,length:0}:{index:-1,length:0};if(typeof t=="string"){if(t==="")return{index:n,length:0};const c=o.indexOf(t,n);return c===-1?{index:-1,length:0}:{index:c,length:t.length}}const i=t.flags,l=i.includes("g")?i:i+"g",r=new RegExp(t.source,l);r.lastIndex=n;const a=r.exec(o);return a?{index:a.index,length:a[0].length}:{index:-1,length:0}}function Mi(o,t){if(!t){o.scrollTop=0;return}const e=[];let n=t.offsetParent;for(;n&&o!==n&&o.contains(n);)e.push(n),n=n.offsetParent;const i=t.offsetTop+e.reduce((c,d)=>c+d.offsetTop,0),l=i+t.offsetHeight,r=o.scrollTop,a=r+o.clientHeight;i<r?o.scrollTop=i:l>a&&(o.scrollTop=l-o.clientHeight)}function le(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}function Da(o,t){return o.performance.enabled&&t>=o.performance.threshold}function Oi(o,t,e,n=[],i){if(!Da(o,e))return;const l={duration:Number(e.toFixed(2)),breakdown:n.map(r=>({label:r.label,duration:Number(r.duration.toFixed(2))})),...i};console.log(`[canvas-editor perf] ${t}`,l)}const Js=12,Fa={width:1,color:"#000000",dragWidth:2,dragColor:"#0000FF",dragFloatImageDisabled:!1},ve="editor-component",st="ce",so=`${st}-clipboard`,Fo={print:{imagePreviewerDisabled:!1,backgroundDisabled:!1},compare:{imagePreviewerDisabled:!1,backgroundDisabled:!1},readonly:{imagePreviewerDisabled:!1},form:{controlDeletableDisabled:!1,inputTraceEnabled:!0,deleteTraceEnabled:!0}};var qt;(function(o){o.UP="top",o.DOWN="down",o.LEFT="left",o.RIGHT="right"})(qt||(qt={}));const pn=typeof navigator<"u"&&/Mac OS X/.test(navigator.userAgent),Xa=typeof navigator<"u"&&/iPad|iPhone/.test(navigator.userAgent),ya=/Mobile|Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),Na=typeof navigator<"u"&&/Firefox/.test(navigator.userAgent);s.ElementType=void 0,(function(o){o.TEXT="text",o.TEXTFIELD="TextField",o.BUTTON="button",o.IMAGE="image",o.TABLE="table",o.HYPERLINK="hyperlink",o.SUPERSCRIPT="superscript",o.SUBSCRIPT="subscript",o.SEPARATOR="separator",o.PAGE_BREAK="pageBreak",o.CONTROL="control",o.AREA="area",o.CHECKBOX="checkbox",o.RADIO="radio",o.LATEX="latex",o.TAB="tab",o.DATE="date",o.BLOCK="block",o.TITLE="title",o.LIST="list",o.SPLIT_TAG="splitTag",o.LABEL="label",o.MENSTRUAL_HISTORY="menstrualHistory",o.FETAL_HEART_POSITION="fetalHeartPosition",o.TOOTH_POSITION="toothPosition",o.SPECIAL_SYMBOLS="specialSymbols",o.MACRO="macro",o.CUSTOM_MACRO="customMacro",o.REUSABLE_ITEM="reusableItem",o.SUB_TEMPLATE="subTemplate"})(s.ElementType||(s.ElementType={}));const Ne=["bold","color","highlight","font","size","italic","underline","strikeout","textDecoration","deletePerson","newElEditPerson","deleteTime","newElEditTime"],de=["rowFlex","vertical","rowMargin"],ba=["type","font","size","bold","color","italic","highlight","underline","strikeout","rowFlex","vertical","url","areaId","hyperlinkId","dateId","dateFormat","groupIds","templateId","subTemplateContent","subTemplateRelation","subTemplateConditions","rowMargin","textDecoration","deletePerson","newElEditPerson","deleteTime","newElEditTime"],Va=["type","font","size","bold","color","italic","highlight","underline","strikeout","rowFlex","vertical","rowMargin","dashArray","trList","tdPadding","tableEditable","tableToolDisabled","borderType","borderColor","borderWidth","borderExternalWidth","translateX","width","height","url","colgroup","valueList","control","checkbox","radio","dateFormat","block","level","title","listType","listStyle","listWrap","groupIds","conceptId","imgDisplay","imgFloatPosition","imgToolDisabled","imgPreviewDisabled","imgCrop","imgCaption","textDecoration","extension","externalId","areaId","area","hide","label","labelId","lineWidth","deletePerson","newElEditPerson","deleteTime","newElEditTime","dictCode","macroConfig","menstrualData","menstrualHistoryId","fetalHeartData","fetalHeartPositionId","toothPositionData","toothPositionId","reusableItemConfig","templateId","subTemplateContent","subTemplateRelation","subTemplateConditions","subTemplateExpanded"],Wa=["conceptId","extension","externalId","verticalAlign","backgroundColor","borderTypes","slashTypes","disabled","deletable"],In=["tdId","trId","tableId"],Si=["level","titleId","title"],Un=["listId","listType","listStyle"],Di=["control","controlId","controlComponent"],he=["font","size","bold","highlight","italic","strikeout","deletePerson","newElEditPerson","deleteTime","color","newElEditTime"],un=["areaId","area"],Fi=[...In,...Si,...Un,...un],Le=[s.ElementType.TEXT,s.ElementType.HYPERLINK,s.ElementType.SUBSCRIPT,s.ElementType.SUPERSCRIPT,s.ElementType.CONTROL,s.ElementType.DATE],Ua=[s.ElementType.IMAGE,s.ElementType.LATEX],Ya=[s.ElementType.BLOCK,s.ElementType.PAGE_BREAK,s.ElementType.SEPARATOR,s.ElementType.TABLE],wa=["HR","TABLE","UL","OL"],va=[s.ElementType.TITLE,s.ElementType.LIST];class Yn{static sandbox=["allow-scripts","allow-same-origin"];static allow=["fullscreen"];element;constructor(t){this.element=t}_defineIframeProperties(t){Object.defineProperties(t,{parent:{get:()=>null},__POWERED_BY_CANVAS_EDITOR__:{get:()=>!0}})}render(t){const{iframeBlock:e}=this.element.block||{},n=document.createElement("iframe");n.setAttribute("data-id",this.element.id),n.sandbox.add(...e?.sandbox||Yn.sandbox),n.setAttribute("allow",[e?.allow||Yn.allow].join(" ")),n.style.border="none",n.style.width="100%",n.style.height="100%",e?.src?n.src=e.src:e?.srcdoc&&(n.srcdoc=e.srcdoc),t.append(n),this._defineIframeProperties(n.contentWindow)}}class $s{draw;options;imageCache;container;floatImageContainer;floatImage;constructor(t){this.draw=t,this.options=t.getOptions(),this.container=t.getContainer(),this.imageCache=new Map,this.floatImageContainer=null,this.floatImage=null}getOriginalMainImageList(){const t=[],e=n=>{for(const i of n)if(i.type===s.ElementType.TABLE){const l=i.trList;for(let r=0;r<l.length;r++){const a=l[r];for(let c=0;c<a.tdList.length;c++){const d=a.tdList[c];e(d.value)}}}else i.type===s.ElementType.IMAGE&&t.push(i)};return e(this.draw.getOriginalMainElementList()),t}_countImagesBeforeTarget(t,e){let n=0;for(const i of t){if(i===e)break;if(i.type===s.ElementType.TABLE){const l=i.trList;for(const r of l)for(const a of r.tdList)n+=this._countImagesBeforeTarget(a.value,e)}else i.type===s.ElementType.IMAGE&&n++}return n}createFloatImage(t){const{scale:e}=this.options;let n=this.floatImageContainer,i=this.floatImage;n||(n=document.createElement("div"),n.classList.add(`${st}-float-image`),this.container.append(n),this.floatImageContainer=n),i||(i=document.createElement("img"),n.append(i),this.floatImage=i),n.style.display="none",i.style.width=`${t.width*e}px`,i.style.height=`${t.height*e}px`;const l=this.draw.getHeight(),r=this.draw.getPageGap(),a=this.draw.getPageNo()*(l+r),c=t.imgFloatPosition;n.style.left=`${c.x*e}px`,n.style.top=`${a+c.y*e}px`,i.src=t.value}dragFloatImage(t,e){if(!this.floatImageContainer)return;this.floatImageContainer.style.display="block";const n=parseFloat(this.floatImageContainer.style.left)+t,i=parseFloat(this.floatImageContainer.style.top)+e;this.floatImageContainer.style.left=`${n}px`,this.floatImageContainer.style.top=`${i}px`}destroyFloatImage(){this.floatImageContainer&&(this.floatImageContainer.style.display="none")}addImageObserver(t){this.draw.getImageObserver().add(t)}getFallbackImage(t,e){const i=(t-Math.ceil(t/8)*8)/2,l=(e-Math.ceil(e/8)*8)/2,r=`<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${e}" viewBox="0 0 ${t} ${e}">
|
|
@@ -209,7 +209,7 @@ ${R} `}textToElements(t){const e=[],n=t.split(`
|
|
|
209
209
|
<button class="btn-confirm">确认</button>
|
|
210
210
|
</div>
|
|
211
211
|
</div>
|
|
212
|
-
`,document.body.appendChild(this.inputModal);const e=this.inputModal.querySelector(".menstrual-history-modal__mask"),n=this.inputModal.querySelector(".menstrual-history-modal__container"),i=this.inputModal.querySelector(".menstrual-history-modal__close"),l=this.inputModal.querySelector(".btn-cancel"),r=this.inputModal.querySelector(".btn-confirm"),a=this.inputModal.querySelector("#mh-edit-notMenopause"),c=this.inputModal.querySelector("#mh-edit-isMenopauseForm"),d=this.inputModal.querySelectorAll('input[name="mh-edit-isMenopause"]'),u=()=>{this.closeModal()};n.addEventListener("click",R=>{R.stopPropagation()}),e.addEventListener("click",u),i.addEventListener("click",u),l.addEventListener("click",u),d.forEach(R=>{R.addEventListener("change",()=>{const h=R.value==="true";a.style.display=h?"none":"block",c.style.display=h?"block":"none"})}),r.addEventListener("click",R=>{R.preventDefault(),R.stopPropagation();const h=this.inputModal;if(!h)return;const T=h.querySelector('input[name="mh-edit-isMenopause"]:checked')?.value==="true";let g;T?g={isMenopause:!0,periodMin:h.querySelector("#mh-edit-periodMin2")?.value||"_",periodMax:h.querySelector("#mh-edit-periodMax2")?.value||"_",menarcheAge:h.querySelector("#mh-edit-menarcheAge2")?.value||"_",menopauseAge:h.querySelector("#mh-edit-menopauseAge")?.value||"_",cycleMin:h.querySelector("#mh-edit-cycleMin2")?.value||"_",cycleMax:h.querySelector("#mh-edit-cycleMax2")?.value||"_"}:g={isMenopause:!1,periodMin:h.querySelector("#mh-edit-periodMin")?.value||"_",periodMax:h.querySelector("#mh-edit-periodMax")?.value||"_",menarcheAge:h.querySelector("#mh-edit-menarcheAge1")?.value||"_",lastPeriod:h.querySelector("#mh-edit-lastPeriod")?.value||"____-__-__",cycleMin:h.querySelector("#mh-edit-cycleMin")?.value||"_",cycleMax:h.querySelector("#mh-edit-cycleMax")?.value||"_"};const f=this.control.getElementList(),m=this.element.controlId;for(let E=0;E<f.length;E++){const O=f[E];O.controlId===m&&O.control&&(O.control.menstrualData=g)}const p=this.generateDisplayText(g),I=this.textToElements(p);this.closeModal();const C=this.setValue(I);C!==-1&&(this.control.repaintControl({curIndex:C}),this.control.emitControlContentChange({}))})}closeModal(){this.inputModal&&(this.inputModal.remove(),this.inputModal=null),this.isPopup=!1}destroy(){this.closeModal()}}class aT{controlBorder;textFieldUnderline;draw;range;listener;eventBus;controlSearch;controlQuality;options;controlOptions;activeControl;activeControlValue;preElement;isPopupAwakeDisabled;constructor(t){this.controlBorder=new nu(t),this.textFieldUnderline=new cT(t),this.draw=t,this.range=t.getRange(),this.listener=t.getListener(),this.eventBus=t.getEventBus(),this.controlSearch=new jd(this),this.controlQuality=new eu(t),this.options=t.getOptions(),this.controlOptions=this.options.control,this.activeControl=null,this.activeControlValue=[],this.preElement=null,this.isPopupAwakeDisabled=!1}setPopupAwakeDisabled(t){this.isPopupAwakeDisabled=t}setHighlightList(t){this.controlSearch.setHighlightList(t)}computeHighlightList(){this.controlSearch.getHighlightList().length&&this.controlSearch.computeHighlightList()}renderHighlightList(t,e){this.controlSearch.getHighlightMatchResult().length&&this.controlSearch.renderHighlightList(t,e)}setQualityMarks(t){this.controlQuality.setMarks(t)}getQualityMarks(){return this.controlQuality.getMarks()}renderQualityMarks(t,e,n,i,l,r,a){this.controlQuality.render(t,e,n,i,l,r,a)}getDraw(){return this.draw}filterAssistElement(t){const e=this.options.mode===s.EditorMode.PRINT||this.options.mode===s.EditorMode.COMPARE;return t.filter((n,i)=>{if(n.type===s.ElementType.TABLE){const l=n.trList;for(let r=0;r<l.length;r++){const a=l[r];for(let c=0;c<a.tdList.length;c++){const d=a.tdList[c];d.value=this.filterAssistElement(d.value)}}}if(!n.controlId)return!0;if(n.control?.type===s.ControlType.MENSTRUAL_HISTORY&&e&&(n.controlComponent===s.ControlComponent.PREFIX||n.controlComponent===s.ControlComponent.POSTFIX)||n.control?.type===s.ControlType.SELECT&&e&&(n.controlComponent===s.ControlComponent.PREFIX||n.controlComponent===s.ControlComponent.POSTFIX)||n.control?.type===s.ControlType.NUMBER&&e&&(n.controlComponent===s.ControlComponent.PREFIX||n.controlComponent===s.ControlComponent.POSTFIX)||n.control?.type===s.ControlType.TEXT&&e&&n.strikeout&&n.deletePerson)return!1;if(n.control?.minWidth){if(n.controlComponent===s.ControlComponent.PREFIX||n.controlComponent===s.ControlComponent.POSTFIX)return n.value="",!0}else{const l=this.options.mode===s.EditorMode.FORM;if(n.control?.preText&&n.controlComponent===s.ControlComponent.PRE_TEXT){if(l)return!0;let r=!1,a=i+1;for(;a<t.length;){const c=t[a];if(n.controlId!==c.controlId)break;if(c.controlComponent===s.ControlComponent.VALUE){r=!0;break}a++}return r}if(n.control?.postText&&n.controlComponent===s.ControlComponent.POST_TEXT){if(l)return!0;let r=!1,a=i-1;for(;a<t.length;){const c=t[a];if(n.controlId!==c.controlId)break;if(c.controlComponent===s.ControlComponent.VALUE){r=!0;break}a--}return r}}if(n.control?.preTextFix&&n.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT){let l=!1,r=i+1;for(;r<t.length;){const a=t[r];if(n.controlId!==a.controlId)break;if(a.controlComponent===s.ControlComponent.VALUE){l=!0;break}r++}return l}if(n.control?.postTextFix&&n.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT){let l=!1,r=i-1;for(;r<t.length;){const a=t[r];if(n.controlId!==a.controlId)break;if(a.controlComponent===s.ControlComponent.VALUE){l=!0;break}r--}return l}return n.controlComponent!==s.ControlComponent.PREFIX&&n.controlComponent!==s.ControlComponent.POSTFIX&&n.controlComponent!==s.ControlComponent.PLACEHOLDER&&n.controlComponent!==s.ControlComponent.PRETEXTFIX&&n.controlComponent!==s.ControlComponent.POSTTEXTFIX&&n.controlComponent!==s.ControlComponent.TEXTFIXLABEL})}getIsRangeCanCaptureEvent(){if(!this.activeControl)return!1;const{startIndex:t,endIndex:e}=this.getRange();if(!~t&&!~e)return!1;const n=this.getElementList(),i=n[t];if(i.controlComponent===s.ControlComponent.PLACEHOLDER)return!1;if(t===e&&t>0){const r=n[t-1],a=r?.controlComponent===s.ControlComponent.POSTFIX||r?.controlComponent===s.ControlComponent.POSTTEXTFIX,c=r?.controlComponent===s.ControlComponent.PLACEHOLDER,d=!!r?.controlId,u=!!r?.originControlId;let R=!1;if(u){const p=r.originControlId;for(let I=t;I<n.length;I++){const C=n[I];if(C.controlId===p&&!C.originControlId){R=!0;break}if(C.controlId&&C.controlId!==p&&C.originControlId!==p)break}}const T=this.draw.getPosition().getPositionList(),g=T[t],f=T[t-1],m=g&&f&&g.rowIndex===f.rowIndex;if((a||c)&&d&&m&&!R)return!1}if(t===e&&(i.controlComponent===s.ControlComponent.POSTFIX||i.controlComponent===s.ControlComponent.POSTTEXTFIX))return!0;const l=n[e];return!!(i.controlId&&i.controlId===l.controlId&&l.controlComponent!==s.ControlComponent.POSTFIX&&l.controlComponent!==s.ControlComponent.POSTTEXTFIX)}getIsRangeInPostfix(){if(!this.activeControl)return!1;const{startIndex:t,endIndex:e}=this.getRange();if(t!==e)return!1;const i=this.getElementList()[t];return i.controlComponent===s.ControlComponent.POSTFIX||i.controlComponent===s.ControlComponent.POSTTEXTFIX}getIsRangeWithinControl(){const{range:{startIndex:t,endIndex:e},elementList:n}=this.range.getRangeElement();if(!~t&&!~e)return!1;const i=n[t],l=n[e];if(i?.controlId&&i.controlId===l.controlId&&l.controlComponent!==s.ControlComponent.POSTFIX&&l.controlComponent!==s.ControlComponent.POSTTEXTFIX&&l.controlComponent!==s.ControlComponent.POSTTEXTFIX_TEXT&&l.controlComponent!==s.ControlComponent.POST_TEXT||(l?.control?.type===s.ControlType.TEXT||this.draw.getMode()===s.EditorMode.EDIT&&l?.control?.type===s.ControlType.TEXTFIELD)&&l.controlId&&!l.originControlId&&(l.controlComponent===s.ControlComponent.POSTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT||l.controlComponent===s.ControlComponent.POST_TEXT)&&n[e-1]?.originControlId===l.controlId)return!0;if(l?.originControlId&&(l.controlComponent===s.ControlComponent.POSTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX)){const r=l.originControlId;for(let a=e+1;a<n.length;a++){const c=n[a];if(c.controlId===r)return!0;if(c.controlId&&c.controlId!==r&&c.originControlId!==r)break}}if(!l?.originControlId&&l?.controlId&&(l.controlComponent===s.ControlComponent.POSTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX)){const r=n[e+1];if(r?.controlId&&r.controlId!==l.controlId&&(r.controlComponent===s.ControlComponent.PREFIX||r.controlComponent===s.ControlComponent.PRETEXTFIX)&&r.originControlId||r?.controlId&&r.controlId!==l.controlId&&(r.controlComponent===s.ControlComponent.POSTFIX||r.controlComponent===s.ControlComponent.POSTTEXTFIX)&&r.originControlId)return!0;for(let a=e;a>=0;a--){const c=n[a];if(c.controlId===l.controlId&&(c.controlComponent===s.ControlComponent.PREFIX||c.controlComponent===s.ControlComponent.PRETEXTFIX)){for(let d=a-1;d>=0;d--){const u=n[d];if(u.controlId&&u.controlId!==l.controlId&&(u.controlComponent===s.ControlComponent.PRETEXTFIX||u.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT||u.controlComponent===s.ControlComponent.PREFIX||u.controlComponent===s.ControlComponent.PRE_TEXT))return!0;if(u.controlId&&u.controlId!==l.controlId&&(u.controlComponent===s.ControlComponent.POSTFIX||u.controlComponent===s.ControlComponent.POSTTEXTFIX))break}break}}}if(l?.originControlId){const r=l.originControlId;for(let a=e+1;a<n.length;a++){const c=n[a];if(c.controlId===r)return!0;if(c.controlId&&c.controlId!==r&&c.originControlId!==r)break}}if(!i?.controlId&&this.activeControl){const a=this.activeControl.getElement()?.controlId;if(a)for(let c=t;c>=0;c--){const d=n[c];if(d.controlId===a&&!d.originControlId){if(d.controlComponent===s.ControlComponent.PRETEXTFIX||d.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT||d.controlComponent===s.ControlComponent.PREFIX||d.controlComponent===s.ControlComponent.PRE_TEXT)for(let u=e;u<n.length;u++){const R=n[u];if(R.controlId===a&&!R.originControlId){if(R.controlComponent===s.ControlComponent.POSTTEXTFIX||R.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT||R.controlComponent===s.ControlComponent.POSTFIX||R.controlComponent===s.ControlComponent.POST_TEXT)return!0;break}}break}}}return!1}getIsElementListContainFullControl(t){if(!t.some(i=>i.controlId))return!1;let e=0,n=0;for(let i=0;i<t.length;i++){const l=t[i];l.controlComponent===s.ControlComponent.PREFIX||l.controlComponent===s.ControlComponent.PRETEXTFIX?e++:(l.controlComponent===s.ControlComponent.POSTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX)&&n++}return!e||!n?!1:e===n}getIsDisabledControl(t={}){if(this.draw.isDesignMode()||!this.activeControl)return!1;const{startIndex:e,endIndex:n}=t.range||this.range.getRange();if(e===n&&~e&&~n){const l=(t.elementList||this.getElementList())[e];if(l.controlComponent===s.ControlComponent.POSTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX)return!1}return!!this.activeControl.getElement()?.control?.disabled}getIsDisabledPasteControl(t={}){if(this.draw.isDesignMode()||!this.activeControl)return!1;const{startIndex:e,endIndex:n}=t.range||this.range.getRange();return e===n&&~e&&~n&&(t.elementList||this.getElementList())[e].controlComponent===s.ControlComponent.POSTFIX?!1:!!this.activeControl.getElement()?.control?.pasteDisabled}getIsExistValueByElementListIndex(t,e){const n=t[e];if(!n.controlId)return!1;if(n.control?.type===s.ControlType.CHECKBOX||n.control?.type===s.ControlType.RADIO)return!!n.control?.code;if(n.controlComponent===s.ControlComponent.VALUE)return!0;if(n.controlComponent===s.ControlComponent.PLACEHOLDER)return!1;if(n.controlComponent===s.ControlComponent.PREFIX||n.controlComponent===s.ControlComponent.PRE_TEXT){let i=e+1;for(;i<t.length;){const l=t[i];if(l.controlId!==n.controlId)return!1;if(l.controlComponent===s.ControlComponent.VALUE)return!0;if(l.controlComponent===s.ControlComponent.PLACEHOLDER)return!1;i++}}if(n.controlComponent===s.ControlComponent.PRETEXTFIX||n.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT){let i=e+1;for(;i<t.length;){const l=t[i];if(l.controlId!==n.controlId)return!1;if(l.controlComponent===s.ControlComponent.VALUE)return!0;if(l.controlComponent===s.ControlComponent.PLACEHOLDER||l.controlComponent===s.ControlComponent.TEXTFIXLABEL)return!1;i++}}if(n.controlComponent===s.ControlComponent.POSTFIX||n.controlComponent===s.ControlComponent.POSTTEXTFIX){let i=e-1;for(;i>=0;){const l=t[i];if(l.controlId!==n.controlId)return!1;if(l.controlComponent===s.ControlComponent.VALUE)return!0;if(l.controlComponent===s.ControlComponent.PLACEHOLDER)return!1;i--}}return!1}getControlHighlight(t,e){return this.controlSearch.getControlHighlight(t,e)}getIsInlineControlBackground(t,e){return this.controlSearch.getIsInlineControlBackground(t,e)}getContainer(){return this.draw.getContainer()}getElementList(){return this.draw.getElementList()}getPosition(){const t=this.draw.getPosition().getPositionList(),{endIndex:e}=this.range.getRange();return t[e]||null}getPreY(){const t=this.draw.getHeight(),e=this.draw.getPageGap();return(this.getPosition()?.pageNo??this.draw.getPageNo())*(t+e)}getRange(){return this.range.getRange()}getValueRange(t={}){const e=t.elementList||this.getElementList(),{startIndex:n}=t.range||this.getRange(),i=e[n];if(!lo(i))return null;let l=n;for(;l>0;){const a=e[l];if(!Gt(a,i)||a.controlComponent===s.ControlComponent.PREFIX||a.controlComponent===s.ControlComponent.PRE_TEXT||a.controlComponent===s.ControlComponent.PRETEXTFIX||a.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)break;l--}let r=n+1;for(;r<e.length;){const a=e[r];if(!Gt(a,i)||a.controlComponent===s.ControlComponent.POSTFIX||a.controlComponent===s.ControlComponent.POST_TEXT||a.controlComponent===s.ControlComponent.POSTTEXTFIX||a.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT)break;r++}return l===r?null:{startIndex:l,endIndex:r-1}}shrinkBoundary(t={}){this.range.shrinkBoundary(t)}getActiveControl(){return this.activeControl}getActiveTextControlLimit(){if(!this.activeControl)return null;const t=this.activeControl.getElement(),e=t?.controlId,n=t?.originControlId||null,i=t?.subTemplateInstanceId||t?.subTemplateParentId||null;if(!e||t.control?.type!==s.ControlType.TEXT&&t.control?.type!==s.ControlType.NUMBER)return null;const l=this.getElementList(),r=n||null;let a=-1,c=-1,d=-1,u=-1;for(let T=0;T<l.length;T++){const g=l[T];g.controlId!==e||(g.subTemplateInstanceId||g.subTemplateParentId||null)!==i||(n?g.originControlId!==n:g.originControlId)||(a===-1&&(a=T),c=T,(g.controlComponent===s.ControlComponent.PREFIX||g.controlComponent===s.ControlComponent.PRE_TEXT||g.controlComponent===s.ControlComponent.PRETEXTFIX||g.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)&&(d=T),u===-1&&(g.controlComponent===s.ControlComponent.POSTFIX||g.controlComponent===s.ControlComponent.POST_TEXT||g.controlComponent===s.ControlComponent.POSTTEXTFIX||g.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT)&&(u=T))}if(a===-1)return null;const R=d!==-1?d:a,h=u!==-1?u-1:c;return e?{controlId:e,originControlId:n,subTemplateInstanceId:i,parentControlId:r,startIndex:R,endIndex:h<R?R:h}:null}getActiveNestedTextLimit(){const t=this.getActiveTextControlLimit();return!t?.parentControlId||!this.getElementList().some(n=>n.controlId===t.parentControlId&&!n.originControlId&&n.control?.type===s.ControlType.TEXTFIELD)?null:{controlId:t.controlId,parentControlId:t.parentControlId,startIndex:t.startIndex,endIndex:t.endIndex}}getControlElementList(t={}){const e=t.elementList||this.getElementList(),{startIndex:n}=t.range||this.getRange(),i=e[n];if(!lo(i))return[];const l=[];let r=n;for(;r>0;){const c=e[r];if(!Gt(c,i))break;l.unshift(c),r--}let a=n+1;for(;a<e.length;){const c=e[a];if(!Gt(c,i))break;l.push(c),a++}return l}updateActiveControlValue(){this.activeControl&&(this.activeControlValue=this.getControlElementList())}emitControlChange(t){if(!this.activeControl)return;const e=this.eventBus.isSubscribe("controlChange");if(!this.listener.controlChange&&!e)return;let n;const i=this.activeControlValue,l=this.activeControl.getElement();i?.length?n=i[0].control:(n=hn(lt(l)).control,n.value=[]);const r={state:t,control:n,controlId:l.controlId};this.listener.controlChange?.(r),e&&this.eventBus.emit("controlChange",r)}initControl(){if(this.draw.isContentReadonly())return;const t=this.getElementList(),e=this.getRange(),n=t[e.startIndex],i=t[e.startIndex+1],l=this.draw.getMode()===s.EditorMode.FORM&&(n.controlComponent===s.ControlComponent.POSTFIX||n.controlComponent===s.ControlComponent.POST_TEXT||n.controlComponent===s.ControlComponent.POSTTEXTFIX||n.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT);let r=null;if(l&&n.originControlId&&i?.controlId===n.originControlId&&!Gt(n,i))r=i;else if(l&&n.subTemplateParentId&&i&&i.subTemplateParentId!==n.subTemplateParentId)for(let g=e.startIndex-1;g>=0;g--){const f=t[g];if(f.type===s.ElementType.SUB_TEMPLATE&&f.id===n.subTemplateParentId){f.controlId===i.controlId&&(f.originControlId||null)===(i.originControlId||null)&&(r=i);break}}let a=null;if(r)for(let g=e.startIndex+1;g>=0;g--){const f=t[g];if(Gt(r,f)&&f.control?.type===s.ControlType.TEXT){a=f;break}}if(this.activeControl&&a&&this.destroyControl(),this.activeControl){if(this.activeControl instanceof co||this.activeControl instanceof Lo||this.activeControl instanceof Nn){const g=this.activeControl.getElement();Gt(n,g)?n.controlComponent===s.ControlComponent.POSTFIX?this.activeControl.destroy():this.isPopupAwakeDisabled||this.activeControl.awake():this.destroyControl()}if(this.activeControl){const g=this.activeControl.getElement(),f=n.controlId,m=n.originControlId||null,p=g.controlId,I=g.originControlId||null;if(f&&Gt(n,g)){this.updateActiveControlValue(),this.preElement=n;return}if(n.originControlId&&n.originControlId===p&&m===I){const C=this.activeControl.getElement();if(!((C?.control?.type===s.ControlType.TEXTFIELD||C?.control?.type===s.ControlType.TEXT)&&n.controlId!==p)){this.updateActiveControlValue(),this.preElement=n;return}}if(n.originControlId&&n.controlId&&n.controlId,!n.originControlId&&n.controlId&&n.controlId!==p&&(this.activeControl.getElement()?.originControlId,n.controlId),n.controlId&&n.originControlId&&Gt(n,g)){this.updateActiveControlValue(),this.preElement=n;return}if(!f){const C=this.getElementList(),E=this.getRange(),{startIndex:O}=E;let P=null;for(let S=O;S>=0;S--){const X=C[S];if(X.controlComponent===s.ControlComponent.PRETEXTFIX||X.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT||X.controlComponent===s.ControlComponent.PREFIX||X.controlComponent===s.ControlComponent.PRE_TEXT){P=X.controlId||null;break}if(X.controlId&&X.controlId!==p||X.controlComponent===s.ControlComponent.POSTTEXTFIX||X.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT||X.controlComponent===s.ControlComponent.POSTFIX||X.controlComponent===s.ControlComponent.POST_TEXT)break}if(P===p){this.updateActiveControlValue(),this.preElement=n;return}}}}if(this.destroyControl(),this.draw.isReadonly())return;let d=a?.control||n.control,u=a||n;if(!a&&n.originControlId&&!d){let g;for(let I=this.range.getRange().startIndex;I>=0;I--){const C=t[I];if(Gt(C,n)&&C.control&&(g=C.control,u=C,C.controlComponent===s.ControlComponent.PREFIX||C.controlComponent===s.ControlComponent.PRETEXTFIX||C.controlComponent===s.ControlComponent.PRE_TEXT||C.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)||C.controlId&&!Gt(C,n)&&C.controlId!==n.originControlId&&C.originControlId!==n.originControlId)break}const f=n.originControlId;let m,p;for(let I=this.range.getRange().startIndex;I>=0;I--){const C=t[I];if(C.controlId===f&&C.control){m=C.control,p=C;break}if(C.controlId===f&&(C.controlComponent===s.ControlComponent.PRETEXTFIX||C.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT||C.controlComponent===s.ControlComponent.PREFIX||C.controlComponent===s.ControlComponent.PRE_TEXT)){C.control&&(m=C.control,p=C);break}}this.draw.getMode()===s.EditorMode.FORM&&m?.type===s.ControlType.TEXTFIELD&&g&&g.type!==s.ControlType.TEXTFIELD||this.draw.getMode()===s.EditorMode.FORM&&m?.type===s.ControlType.TEXT&&g?d=g:m?(d=m,p&&(u=p)):g&&(d=g)}else if(!d&&n.controlId){const g=this.getElementList();for(let f=this.range.getRange().startIndex;f>=0;f--){const m=g[f];if(!Gt(m,n))break;if(m.control){d=m.control,u=m;break}if(m.controlComponent===s.ControlComponent.PRETEXTFIX||m.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT||m.controlComponent===s.ControlComponent.PREFIX||m.controlComponent===s.ControlComponent.PRE_TEXT)break}}if(!d)return;if(d?.type===s.ControlType.TEXTFIELD&&this.draw.getMode()!==s.EditorMode.EDIT&&this.draw.getMode()!==s.EditorMode.FORM)if(n.originControlId){const g=n.controlId;for(let f=this.range.getRange().startIndex;f>=0;f--){const m=t[f];if(m.controlId===g&&Gt(m,n)&&m.control&&m.control.type!==s.ControlType.TEXTFIELD){d=m.control,u=m;break}if(m.controlComponent===s.ControlComponent.PREFIX||m.controlComponent===s.ControlComponent.PRETEXTFIX)break}if(d?.type===s.ControlType.TEXTFIELD)return}else return;const R=this.draw.getPosition().getPositionContext(),h=this.range.getRange().startIndex,T=!!(R.isDirectHit&&R.index===h&&t[R.index]?.controlId===u.controlId);if(d?.type===s.ControlType.TEXTFIELD)this.activeControl=new bl(u,this);else if(d.type===s.ControlType.TEXT)this.activeControl=new Vs(u,this);else if(d.type===s.ControlType.SELECT){const g=new co(u,this);this.activeControl=g,!this.isPopupAwakeDisabled&&(T||this.draw.getMode()===s.EditorMode.FORM)&&g.awake()}else if(d.type===s.ControlType.CHECKBOX)this.activeControl=new vo(u,this);else if(d.type===s.ControlType.RADIO)this.activeControl=new Ai(u,this);else if(d.type===s.ControlType.DATE){const g=new Lo(u,this);this.activeControl=g,!this.isPopupAwakeDisabled&&(T||this.draw.getMode()===s.EditorMode.FORM)&&g.awake()}else if(d.type===s.ControlType.NUMBER)this.activeControl=new ui(u,this);else if(d.type===s.ControlType.BUTTON){const g=new Nn(u,this);if(this.activeControl=g,!this.isPopupAwakeDisabled&&T&&(g.awake(),this.draw.getMode()!==s.EditorMode.FORM||u.control?.editable===!1))return}else if(d.type===s.ControlType.MENSTRUAL_HISTORY){const g=new Vl(u,this);this.activeControl=g,this.isPopupAwakeDisabled||g.awake()}this.updateActiveControlValue(),this.preElement=u,u.controlComponent!==s.ControlComponent.POSTFIX&&u.controlComponent!==s.ControlComponent.POSTTEXTFIX&&this.emitControlChange(s.ControlState.ACTIVE)}destroyControl(t={}){if(!this.activeControl)return;const{isEmitEvent:e=!0}=t;(this.activeControl instanceof co||this.activeControl instanceof Lo||this.activeControl instanceof ui||this.activeControl instanceof Vl)&&this.activeControl.destroy(),e&&this.preElement?.controlComponent!==s.ControlComponent.POSTFIX&&this.preElement?.controlComponent!==s.ControlComponent.POSTTEXTFIX&&this.emitControlChange(s.ControlState.INACTIVE),this.preElement=null,this.activeControl=null,this.activeControlValue=[]}repaintControl(t={}){const{curIndex:e,isCompute:n=!0,isSubmitHistory:i=!0,isSetCursor:l=!0}=t;e===void 0?(this.range.clearRange(),this.draw.requestRender({isCompute:n,isSubmitHistory:i,isSetCursor:!1})):(this.range.setRange(e,e),this.draw.requestRender({curIndex:e,layoutStartIndex:e,isCompute:n,isSetCursor:l,isSubmitHistory:i}))}emitControlContentChange(t){const e=this.eventBus.isSubscribe("controlContentChange");if(!e&&!this.listener.controlContentChange)return;const n=t?.controlElement||this.activeControl?.getElement();if(!n)return;const i=t?.context?.elementList||this.getElementList(),{startIndex:l}=t?.context?.range||this.getRange();if(!i[l]?.controlId)return;const r=t?.controlValue||this.getControlElementList(t?.context);let a;if(r?.length?a=Yt(r)[0].control:(a=n.control,a.value=[]),!a)return;const c={control:a,controlId:n.controlId};this.listener.controlContentChange?.(c),e&&this.eventBus.emit("controlContentChange",c)}reAwakeControl(){if(!this.activeControl)return;const t=this.getElementList(),e=this.getRange(),n=t[e.startIndex];this.activeControl.setElement(n),(this.activeControl instanceof Lo||this.activeControl instanceof co)&&this.activeControl.getIsPopup()&&(this.activeControl.destroy(),this.activeControl.awake())}selectValue(){const t=this.getElementList(),{startIndex:e}=this.getRange(),n=t[e];if(!n?.controlId||n.controlComponent!==s.ControlComponent.VALUE&&t[e+1]?.controlComponent===s.ControlComponent.VALUE)return!1;let i=e;for(;i>0&&t[i].controlComponent===s.ControlComponent.VALUE;)i--;let l=e+1;for(;l<t.length;){if(t[l].controlComponent!==s.ControlComponent.VALUE){l--;break}l++}if(i!==l){const r=this.range.getRange();return this.range.replaceRange({...r,startIndex:i,endIndex:l}),this.draw.render({isCompute:!1,isSetCursor:!1,isSubmitHistory:!1}),!0}return!1}moveCursor(t){const{index:e,trIndex:n,tdIndex:i,tdValueIndex:l}=t;let r=this.draw.getOriginalElementList(),a;const c=t.isTable?l:e;if(t.isTable?(r=r[e].trList[n].tdList[i].value,a=r[l]):a=r[e],a.control?.hide||a.area?.hide){const d=Bn(r,c);return{newIndex:d,newElement:r[d]}}if(a.controlComponent===s.ControlComponent.VALUE)return{newIndex:c,newElement:a};if(a.controlComponent===s.ControlComponent.POSTFIX){let d=c+1;for(;d<r.length;){const u=r[d];if(!Gt(u,a))return{newIndex:d-1,newElement:r[d-1]};if(d===r.length-1)return{newIndex:d,newElement:r[d]};d++}}else if(a.controlComponent===s.ControlComponent.PREFIX||a.controlComponent===s.ControlComponent.PRE_TEXT){let d=c+1;for(;d<r.length;){const u=r[d];if(!Gt(u,a)||u.controlComponent!==s.ControlComponent.PREFIX&&u.controlComponent!==s.ControlComponent.PRE_TEXT)return{newIndex:d-1,newElement:r[d-1]};d++}}else if(a.controlComponent===s.ControlComponent.PLACEHOLDER){let d=c-1;for(;d>0;){const u=r[d];if(!Gt(u,a)||u.controlComponent===s.ControlComponent.VALUE||u.controlComponent===s.ControlComponent.PREFIX||u.controlComponent===s.ControlComponent.PRE_TEXT||u.controlComponent===s.ControlComponent.PRETEXTFIX||u.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)return{newIndex:d,newElement:r[d]};d--}}else if(a.controlComponent===s.ControlComponent.POST_TEXT||a.controlComponent===s.ControlComponent.TEXTFIXLABEL||a.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT){let d=c-1;for(;d>0;){const u=r[d];if(!Gt(u,a)||u.controlComponent===s.ControlComponent.VALUE||u.controlComponent===s.ControlComponent.PREFIX||u.controlComponent===s.ControlComponent.PRE_TEXT||u.controlComponent===s.ControlComponent.PRETEXTFIX||u.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)return{newIndex:d,newElement:r[d]};d--}}else if(a.controlComponent===s.ControlComponent.POSTTEXTFIX){let d=c+1;for(;d<r.length;){const u=r[d];if(!Gt(u,a))return{newIndex:d-1,newElement:r[d-1]};if(d===r.length-1)return{newIndex:d,newElement:r[d]};d++}}else if(a.controlComponent===s.ControlComponent.PRETEXTFIX||a.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT){let d=c+1;for(;d<r.length;){const u=r[d];if(!Gt(u,a)||u.controlComponent!==s.ControlComponent.PRETEXTFIX&&u.controlComponent!==s.ControlComponent.PRETEXTFIX_TEXT)return{newIndex:d-1,newElement:r[d-1]};d++}}return{newIndex:c,newElement:a}}removeControl(t,e={}){const n=e.elementList||this.getElementList(),i=n[t];if(!this.draw.isDesignMode()&&!i?.control?.hide&&!i?.area?.hide){const{deletable:C=!0}=i.control;if(!C)return null;const E=this.draw.getMode();if(E===s.EditorMode.FORM&&this.options.modeRule[E].controlDeletableDisabled)return null}let l=-1,r=-1;const a=!!i.originControlId,c=i.controlId,d=i.originControlId,u=i.control?.type===s.ControlType.BUTTON&&!i.control?.buttonText?`${c}_text`:"";let R=t;for(;R>=0;){const C=n[R];let E=!1;if(a?E=C.controlId===c&&C.originControlId===d:E=C.controlId===c&&!C.originControlId,!E){l=R;break}R--}let h=t;for(;h<n.length;){const C=n[h];let E=!1;if(a?E=C.controlId===c&&C.originControlId===d:E=C.controlId===c&&!C.originControlId,!E){r=h-1;break}h++}if(h===n.length&&(r=h-1),!~l&&!~r)return t;l=~l?l:0;const T=n[l+1],g=T.control,f=g?.type&&[s.ControlType.TEXT,s.ControlType.TEXTFIELD,s.ControlType.DATE,s.ControlType.NUMBER,s.ControlType.SELECT,s.ControlType.BUTTON].includes(g.type);let m=n[0]?.type===s.ElementType.SPLIT_TAG;if(!e.removeNext&&f&&!a&&T.controlComponent!==s.ControlComponent.PREFIX&&T.type!==s.ElementType.SPLIT_TAG)if(e.removePrev)e.removePrev();else{const C=this.draw.getTd();C&&this.createRemoveControlHandler(C,i.controlId,!0)}if(!e.removeNext&&f&&!a&&T.controlComponent!==s.ControlComponent.PRETEXTFIX&&T.type!==s.ElementType.SPLIT_TAG)if(e.removePrev)e.removePrev();else{const C=this.draw.getTd();C&&this.createRemoveControlHandler(C,i.controlId,!0)}if(!e.removePrev&&f&&!a&&n[r].controlComponent!==s.ControlComponent.POSTFIX)if(e.removeNext)e.removeNext();else{const C=this.draw.getTd();m=!!C?.linkTdNextId,C&&this.createRemoveControlHandler(C,i.controlId,!1)}if(!e.removePrev&&f&&!a&&n[r].controlComponent!==s.ControlComponent.POSTTEXTFIX)if(e.removeNext)e.removeNext();else{const C=this.draw.getTd();m=!!C?.linkTdNextId,C&&this.createRemoveControlHandler(C,i.controlId,!1)}this.draw.spliceElementList(n,l+1,r-l);let p=0;if(u)for(let C=n.length-1;C>=0;C--)n[C].controlId===u&&(C<=l&&p++,n.splice(C,1));const I=l-p;return!e.elementList&&m&&l===0?this.draw.fixPosition(!0)??I:I}createRemoveControlHandler(t,e,n){if(n){const i=this.draw.getTdById(t.linkTdPrevId);i&&i.value.splice(-1)[0]?.controlId===e&&this.removeControl(i.value.length-1,{elementList:i.value,removePrev:()=>{this.createRemoveControlHandler(i,e,n)}})}else{const i=this.draw.getTdById(t.linkTdNextId);i&&i.value[1]?.controlId===e&&this.removeControl(1,{elementList:i.value,removeNext:()=>{this.createRemoveControlHandler(i,e,n)}})}}removePlaceholder(t,e={}){const n=e.elementList||this.getElementList(),i=n[t],l=n[t+1];if(i.controlComponent===s.ControlComponent.PLACEHOLDER||i.controlComponent===s.ControlComponent.TEXTFIXLABEL||l?.controlComponent===s.ControlComponent.PLACEHOLDER||l?.controlComponent===s.ControlComponent.TEXTFIXLABEL){let r=!1,a=t;for(;a<n.length;){const c=n[a];if(c.controlId!==i.controlId)break;c.controlComponent===s.ControlComponent.PLACEHOLDER||c.controlComponent===s.ControlComponent.TEXTFIXLABEL?(r||(r=!0,this.draw.getHistoryManager().popUndo(),this.draw.submitHistory(t)),n.splice(a,1)):a++}}}addPlaceholder(t,e={}){const n=e.elementList||this.getElementList(),i=n[t],l=i.control,r=l.placeholder;if(!r)return;l.placeholder=r;let a=t;for(;a>=0;){const f=n[a];if(f.controlId!==i.controlId){a++;break}if(f.controlComponent===s.ControlComponent.PREFIX||f.controlComponent===s.ControlComponent.PRE_TEXT||f.controlComponent===s.ControlComponent.PRETEXTFIX||f.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)break;a--}a<0&&(a=0);const c=a+1;if(c<n.length){const f=n[c];if(f.controlId===i.controlId&&(f.controlComponent===s.ControlComponent.PLACEHOLDER||f.controlComponent===s.ControlComponent.VALUE&&!me(f)))return}let d=!1,u=a+1;for(;u<n.length;){const f=n[u];if(f.controlId===i.controlId){if(f.controlComponent===s.ControlComponent.POSTFIX||f.controlComponent===s.ControlComponent.POST_TEXT||f.controlComponent===s.ControlComponent.POSTTEXTFIX||f.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT)break}else if(f.controlId!==i.controlId&&(f.controlComponent===s.ControlComponent.VALUE||f.controlComponent===s.ControlComponent.PREFIX||f.controlComponent===s.ControlComponent.PRE_TEXT)){d=!0;break}u++}if(d)return;const R=bt(r),h=Jt(i,he),T=Jt(i,["originControlId","subTemplateParentId","subTemplateInstanceId"]),g=a+1;for(let f=0;f<R.length;f++){const m=R[f],p={...h,...T,value:m===`
|
|
212
|
+
`,document.body.appendChild(this.inputModal);const e=this.inputModal.querySelector(".menstrual-history-modal__mask"),n=this.inputModal.querySelector(".menstrual-history-modal__container"),i=this.inputModal.querySelector(".menstrual-history-modal__close"),l=this.inputModal.querySelector(".btn-cancel"),r=this.inputModal.querySelector(".btn-confirm"),a=this.inputModal.querySelector("#mh-edit-notMenopause"),c=this.inputModal.querySelector("#mh-edit-isMenopauseForm"),d=this.inputModal.querySelectorAll('input[name="mh-edit-isMenopause"]'),u=()=>{this.closeModal()};n.addEventListener("click",R=>{R.stopPropagation()}),e.addEventListener("click",u),i.addEventListener("click",u),l.addEventListener("click",u),d.forEach(R=>{R.addEventListener("change",()=>{const h=R.value==="true";a.style.display=h?"none":"block",c.style.display=h?"block":"none"})}),r.addEventListener("click",R=>{R.preventDefault(),R.stopPropagation();const h=this.inputModal;if(!h)return;const T=h.querySelector('input[name="mh-edit-isMenopause"]:checked')?.value==="true";let g;T?g={isMenopause:!0,periodMin:h.querySelector("#mh-edit-periodMin2")?.value||"_",periodMax:h.querySelector("#mh-edit-periodMax2")?.value||"_",menarcheAge:h.querySelector("#mh-edit-menarcheAge2")?.value||"_",menopauseAge:h.querySelector("#mh-edit-menopauseAge")?.value||"_",cycleMin:h.querySelector("#mh-edit-cycleMin2")?.value||"_",cycleMax:h.querySelector("#mh-edit-cycleMax2")?.value||"_"}:g={isMenopause:!1,periodMin:h.querySelector("#mh-edit-periodMin")?.value||"_",periodMax:h.querySelector("#mh-edit-periodMax")?.value||"_",menarcheAge:h.querySelector("#mh-edit-menarcheAge1")?.value||"_",lastPeriod:h.querySelector("#mh-edit-lastPeriod")?.value||"____-__-__",cycleMin:h.querySelector("#mh-edit-cycleMin")?.value||"_",cycleMax:h.querySelector("#mh-edit-cycleMax")?.value||"_"};const f=this.control.getElementList(),m=this.element.controlId;for(let E=0;E<f.length;E++){const O=f[E];O.controlId===m&&O.control&&(O.control.menstrualData=g)}const p=this.generateDisplayText(g),I=this.textToElements(p);this.closeModal();const C=this.setValue(I);C!==-1&&(this.control.repaintControl({curIndex:C}),this.control.emitControlContentChange({}))})}closeModal(){this.inputModal&&(this.inputModal.remove(),this.inputModal=null),this.isPopup=!1}destroy(){this.closeModal()}}class aT{controlBorder;textFieldUnderline;draw;range;listener;eventBus;controlSearch;controlQuality;options;controlOptions;activeControl;activeControlValue;preElement;isPopupAwakeDisabled;constructor(t){this.controlBorder=new nu(t),this.textFieldUnderline=new cT(t),this.draw=t,this.range=t.getRange(),this.listener=t.getListener(),this.eventBus=t.getEventBus(),this.controlSearch=new jd(this),this.controlQuality=new eu(t),this.options=t.getOptions(),this.controlOptions=this.options.control,this.activeControl=null,this.activeControlValue=[],this.preElement=null,this.isPopupAwakeDisabled=!1}setPopupAwakeDisabled(t){this.isPopupAwakeDisabled=t}setHighlightList(t){this.controlSearch.setHighlightList(t)}computeHighlightList(){this.controlSearch.getHighlightList().length&&this.controlSearch.computeHighlightList()}renderHighlightList(t,e){this.controlSearch.getHighlightMatchResult().length&&this.controlSearch.renderHighlightList(t,e)}setQualityMarks(t){this.controlQuality.setMarks(t)}getQualityMarks(){return this.controlQuality.getMarks()}renderQualityMarks(t,e,n,i,l,r,a){this.controlQuality.render(t,e,n,i,l,r,a)}getDraw(){return this.draw}filterAssistElement(t){const e=this.options.mode===s.EditorMode.PRINT||this.options.mode===s.EditorMode.COMPARE;return t.filter((n,i)=>{if(n.type===s.ElementType.TABLE){const l=n.trList;for(let r=0;r<l.length;r++){const a=l[r];for(let c=0;c<a.tdList.length;c++){const d=a.tdList[c];d.value=this.filterAssistElement(d.value)}}}if(!n.controlId)return!0;if(n.control?.type===s.ControlType.MENSTRUAL_HISTORY&&e&&(n.controlComponent===s.ControlComponent.PREFIX||n.controlComponent===s.ControlComponent.POSTFIX)||n.control?.type===s.ControlType.SELECT&&e&&(n.controlComponent===s.ControlComponent.PREFIX||n.controlComponent===s.ControlComponent.POSTFIX)||n.control?.type===s.ControlType.NUMBER&&e&&(n.controlComponent===s.ControlComponent.PREFIX||n.controlComponent===s.ControlComponent.POSTFIX)||n.control?.type===s.ControlType.TEXT&&e&&n.strikeout&&n.deletePerson)return!1;if(n.control?.minWidth){if(n.controlComponent===s.ControlComponent.PREFIX||n.controlComponent===s.ControlComponent.POSTFIX)return n.value="",!0}else{const l=this.options.mode===s.EditorMode.FORM;if(n.control?.preText&&n.controlComponent===s.ControlComponent.PRE_TEXT){if(l)return!0;let r=!1,a=i+1;for(;a<t.length;){const c=t[a];if(n.controlId!==c.controlId)break;if(c.controlComponent===s.ControlComponent.VALUE){r=!0;break}a++}return r}if(n.control?.postText&&n.controlComponent===s.ControlComponent.POST_TEXT){if(l)return!0;let r=!1,a=i-1;for(;a<t.length;){const c=t[a];if(n.controlId!==c.controlId)break;if(c.controlComponent===s.ControlComponent.VALUE){r=!0;break}a--}return r}}if(n.control?.preTextFix&&n.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT){let l=!1,r=i+1;for(;r<t.length;){const a=t[r];if(n.controlId!==a.controlId)break;if(a.controlComponent===s.ControlComponent.VALUE){l=!0;break}r++}return l}if(n.control?.postTextFix&&n.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT){let l=!1,r=i-1;for(;r<t.length;){const a=t[r];if(n.controlId!==a.controlId)break;if(a.controlComponent===s.ControlComponent.VALUE){l=!0;break}r--}return l}return n.controlComponent!==s.ControlComponent.PREFIX&&n.controlComponent!==s.ControlComponent.POSTFIX&&n.controlComponent!==s.ControlComponent.PLACEHOLDER&&n.controlComponent!==s.ControlComponent.PRETEXTFIX&&n.controlComponent!==s.ControlComponent.POSTTEXTFIX&&n.controlComponent!==s.ControlComponent.TEXTFIXLABEL})}getIsRangeCanCaptureEvent(){if(!this.activeControl)return!1;const{startIndex:t,endIndex:e}=this.getRange();if(!~t&&!~e)return!1;const n=this.getElementList(),i=n[t];if(i.controlComponent===s.ControlComponent.PLACEHOLDER)return!1;if(t===e&&t>0){const r=n[t-1],a=r?.controlComponent===s.ControlComponent.POSTFIX||r?.controlComponent===s.ControlComponent.POSTTEXTFIX,c=r?.controlComponent===s.ControlComponent.PLACEHOLDER,d=!!r?.controlId,u=!!r?.originControlId;let R=!1;if(u){const p=r.originControlId;for(let I=t;I<n.length;I++){const C=n[I];if(C.controlId===p&&!C.originControlId){R=!0;break}if(C.controlId&&C.controlId!==p&&C.originControlId!==p)break}}const T=this.draw.getPosition().getPositionList(),g=T[t],f=T[t-1],m=g&&f&&g.rowIndex===f.rowIndex;if((a||c)&&d&&m&&!R)return!1}if(t===e&&(i.controlComponent===s.ControlComponent.POSTFIX||i.controlComponent===s.ControlComponent.POSTTEXTFIX))return!0;const l=n[e];return!!(i.controlId&&i.controlId===l.controlId&&l.controlComponent!==s.ControlComponent.POSTFIX&&l.controlComponent!==s.ControlComponent.POSTTEXTFIX)}getIsRangeInPostfix(){if(!this.activeControl)return!1;const{startIndex:t,endIndex:e}=this.getRange();if(t!==e)return!1;const i=this.getElementList()[t];return i.controlComponent===s.ControlComponent.POSTFIX||i.controlComponent===s.ControlComponent.POSTTEXTFIX}getIsRangeWithinControl(){const{range:{startIndex:t,endIndex:e},elementList:n}=this.range.getRangeElement();if(!Number.isInteger(t)||!Number.isInteger(e)||t<0||e<0||t>=n.length||e>=n.length)return!1;const i=n[t],l=n[e];if(!i||!l)return!1;if(i?.controlId&&i.controlId===l.controlId&&l.controlComponent!==s.ControlComponent.POSTFIX&&l.controlComponent!==s.ControlComponent.POSTTEXTFIX&&l.controlComponent!==s.ControlComponent.POSTTEXTFIX_TEXT&&l.controlComponent!==s.ControlComponent.POST_TEXT||(l?.control?.type===s.ControlType.TEXT||this.draw.getMode()===s.EditorMode.EDIT&&l?.control?.type===s.ControlType.TEXTFIELD)&&l.controlId&&!l.originControlId&&(l.controlComponent===s.ControlComponent.POSTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT||l.controlComponent===s.ControlComponent.POST_TEXT)&&n[e-1]?.originControlId===l.controlId)return!0;if(l?.originControlId&&(l.controlComponent===s.ControlComponent.POSTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX)){const r=l.originControlId;for(let a=e+1;a<n.length;a++){const c=n[a];if(c.controlId===r)return!0;if(c.controlId&&c.controlId!==r&&c.originControlId!==r)break}}if(!l?.originControlId&&l?.controlId&&(l.controlComponent===s.ControlComponent.POSTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX)){const r=n[e+1];if(r?.controlId&&r.controlId!==l.controlId&&(r.controlComponent===s.ControlComponent.PREFIX||r.controlComponent===s.ControlComponent.PRETEXTFIX)&&r.originControlId||r?.controlId&&r.controlId!==l.controlId&&(r.controlComponent===s.ControlComponent.POSTFIX||r.controlComponent===s.ControlComponent.POSTTEXTFIX)&&r.originControlId)return!0;for(let a=e;a>=0;a--){const c=n[a];if(c.controlId===l.controlId&&(c.controlComponent===s.ControlComponent.PREFIX||c.controlComponent===s.ControlComponent.PRETEXTFIX)){for(let d=a-1;d>=0;d--){const u=n[d];if(u.controlId&&u.controlId!==l.controlId&&(u.controlComponent===s.ControlComponent.PRETEXTFIX||u.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT||u.controlComponent===s.ControlComponent.PREFIX||u.controlComponent===s.ControlComponent.PRE_TEXT))return!0;if(u.controlId&&u.controlId!==l.controlId&&(u.controlComponent===s.ControlComponent.POSTFIX||u.controlComponent===s.ControlComponent.POSTTEXTFIX))break}break}}}if(l?.originControlId){const r=l.originControlId;for(let a=e+1;a<n.length;a++){const c=n[a];if(c.controlId===r)return!0;if(c.controlId&&c.controlId!==r&&c.originControlId!==r)break}}if(!i?.controlId&&this.activeControl){const a=this.activeControl.getElement()?.controlId;if(a)for(let c=t;c>=0;c--){const d=n[c];if(d.controlId===a&&!d.originControlId){if(d.controlComponent===s.ControlComponent.PRETEXTFIX||d.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT||d.controlComponent===s.ControlComponent.PREFIX||d.controlComponent===s.ControlComponent.PRE_TEXT)for(let u=e;u<n.length;u++){const R=n[u];if(R.controlId===a&&!R.originControlId){if(R.controlComponent===s.ControlComponent.POSTTEXTFIX||R.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT||R.controlComponent===s.ControlComponent.POSTFIX||R.controlComponent===s.ControlComponent.POST_TEXT)return!0;break}}break}}}return!1}getIsElementListContainFullControl(t){if(!t.some(i=>i.controlId))return!1;let e=0,n=0;for(let i=0;i<t.length;i++){const l=t[i];l.controlComponent===s.ControlComponent.PREFIX||l.controlComponent===s.ControlComponent.PRETEXTFIX?e++:(l.controlComponent===s.ControlComponent.POSTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX)&&n++}return!e||!n?!1:e===n}getIsDisabledControl(t={}){if(this.draw.isDesignMode()||!this.activeControl)return!1;const{startIndex:e,endIndex:n}=t.range||this.range.getRange();if(e===n&&~e&&~n){const l=(t.elementList||this.getElementList())[e];if(l.controlComponent===s.ControlComponent.POSTFIX||l.controlComponent===s.ControlComponent.POSTTEXTFIX)return!1}return!!this.activeControl.getElement()?.control?.disabled}getIsDisabledPasteControl(t={}){if(this.draw.isDesignMode()||!this.activeControl)return!1;const{startIndex:e,endIndex:n}=t.range||this.range.getRange();return e===n&&~e&&~n&&(t.elementList||this.getElementList())[e].controlComponent===s.ControlComponent.POSTFIX?!1:!!this.activeControl.getElement()?.control?.pasteDisabled}getIsExistValueByElementListIndex(t,e){const n=t[e];if(!n.controlId)return!1;if(n.control?.type===s.ControlType.CHECKBOX||n.control?.type===s.ControlType.RADIO)return!!n.control?.code;if(n.controlComponent===s.ControlComponent.VALUE)return!0;if(n.controlComponent===s.ControlComponent.PLACEHOLDER)return!1;if(n.controlComponent===s.ControlComponent.PREFIX||n.controlComponent===s.ControlComponent.PRE_TEXT){let i=e+1;for(;i<t.length;){const l=t[i];if(l.controlId!==n.controlId)return!1;if(l.controlComponent===s.ControlComponent.VALUE)return!0;if(l.controlComponent===s.ControlComponent.PLACEHOLDER)return!1;i++}}if(n.controlComponent===s.ControlComponent.PRETEXTFIX||n.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT){let i=e+1;for(;i<t.length;){const l=t[i];if(l.controlId!==n.controlId)return!1;if(l.controlComponent===s.ControlComponent.VALUE)return!0;if(l.controlComponent===s.ControlComponent.PLACEHOLDER||l.controlComponent===s.ControlComponent.TEXTFIXLABEL)return!1;i++}}if(n.controlComponent===s.ControlComponent.POSTFIX||n.controlComponent===s.ControlComponent.POSTTEXTFIX){let i=e-1;for(;i>=0;){const l=t[i];if(l.controlId!==n.controlId)return!1;if(l.controlComponent===s.ControlComponent.VALUE)return!0;if(l.controlComponent===s.ControlComponent.PLACEHOLDER)return!1;i--}}return!1}getControlHighlight(t,e){return this.controlSearch.getControlHighlight(t,e)}getIsInlineControlBackground(t,e){return this.controlSearch.getIsInlineControlBackground(t,e)}getContainer(){return this.draw.getContainer()}getElementList(){return this.draw.getElementList()}getPosition(){const t=this.draw.getPosition().getPositionList(),{endIndex:e}=this.range.getRange();return t[e]||null}getPreY(){const t=this.draw.getHeight(),e=this.draw.getPageGap();return(this.getPosition()?.pageNo??this.draw.getPageNo())*(t+e)}getRange(){return this.range.getRange()}getValueRange(t={}){const e=t.elementList||this.getElementList(),{startIndex:n}=t.range||this.getRange(),i=e[n];if(!lo(i))return null;let l=n;for(;l>0;){const a=e[l];if(!Gt(a,i)||a.controlComponent===s.ControlComponent.PREFIX||a.controlComponent===s.ControlComponent.PRE_TEXT||a.controlComponent===s.ControlComponent.PRETEXTFIX||a.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)break;l--}let r=n+1;for(;r<e.length;){const a=e[r];if(!Gt(a,i)||a.controlComponent===s.ControlComponent.POSTFIX||a.controlComponent===s.ControlComponent.POST_TEXT||a.controlComponent===s.ControlComponent.POSTTEXTFIX||a.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT)break;r++}return l===r?null:{startIndex:l,endIndex:r-1}}shrinkBoundary(t={}){this.range.shrinkBoundary(t)}getActiveControl(){return this.activeControl}getActiveTextControlLimit(){if(!this.activeControl)return null;const t=this.activeControl.getElement(),e=t?.controlId,n=t?.originControlId||null,i=t?.subTemplateInstanceId||t?.subTemplateParentId||null;if(!e||t.control?.type!==s.ControlType.TEXT&&t.control?.type!==s.ControlType.NUMBER)return null;const l=this.getElementList(),r=n||null;let a=-1,c=-1,d=-1,u=-1;for(let T=0;T<l.length;T++){const g=l[T];g.controlId!==e||(g.subTemplateInstanceId||g.subTemplateParentId||null)!==i||(n?g.originControlId!==n:g.originControlId)||(a===-1&&(a=T),c=T,(g.controlComponent===s.ControlComponent.PREFIX||g.controlComponent===s.ControlComponent.PRE_TEXT||g.controlComponent===s.ControlComponent.PRETEXTFIX||g.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)&&(d=T),u===-1&&(g.controlComponent===s.ControlComponent.POSTFIX||g.controlComponent===s.ControlComponent.POST_TEXT||g.controlComponent===s.ControlComponent.POSTTEXTFIX||g.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT)&&(u=T))}if(a===-1)return null;const R=d!==-1?d:a,h=u!==-1?u-1:c;return e?{controlId:e,originControlId:n,subTemplateInstanceId:i,parentControlId:r,startIndex:R,endIndex:h<R?R:h}:null}getActiveNestedTextLimit(){const t=this.getActiveTextControlLimit();return!t?.parentControlId||!this.getElementList().some(n=>n.controlId===t.parentControlId&&!n.originControlId&&n.control?.type===s.ControlType.TEXTFIELD)?null:{controlId:t.controlId,parentControlId:t.parentControlId,startIndex:t.startIndex,endIndex:t.endIndex}}getControlElementList(t={}){const e=t.elementList||this.getElementList(),{startIndex:n}=t.range||this.getRange(),i=e[n];if(!lo(i))return[];const l=[];let r=n;for(;r>0;){const c=e[r];if(!Gt(c,i))break;l.unshift(c),r--}let a=n+1;for(;a<e.length;){const c=e[a];if(!Gt(c,i))break;l.push(c),a++}return l}updateActiveControlValue(){this.activeControl&&(this.activeControlValue=this.getControlElementList())}emitControlChange(t){if(!this.activeControl)return;const e=this.eventBus.isSubscribe("controlChange");if(!this.listener.controlChange&&!e)return;let n;const i=this.activeControlValue,l=this.activeControl.getElement();i?.length?n=i[0].control:(n=hn(lt(l)).control,n.value=[]);const r={state:t,control:n,controlId:l.controlId};this.listener.controlChange?.(r),e&&this.eventBus.emit("controlChange",r)}initControl(){if(this.draw.isContentReadonly())return;const t=this.getElementList(),e=this.getRange(),n=t[e.startIndex],i=t[e.startIndex+1],l=this.draw.getMode()===s.EditorMode.FORM&&(n.controlComponent===s.ControlComponent.POSTFIX||n.controlComponent===s.ControlComponent.POST_TEXT||n.controlComponent===s.ControlComponent.POSTTEXTFIX||n.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT);let r=null;if(l&&n.originControlId&&i?.controlId===n.originControlId&&!Gt(n,i))r=i;else if(l&&n.subTemplateParentId&&i&&i.subTemplateParentId!==n.subTemplateParentId)for(let g=e.startIndex-1;g>=0;g--){const f=t[g];if(f.type===s.ElementType.SUB_TEMPLATE&&f.id===n.subTemplateParentId){f.controlId===i.controlId&&(f.originControlId||null)===(i.originControlId||null)&&(r=i);break}}let a=null;if(r)for(let g=e.startIndex+1;g>=0;g--){const f=t[g];if(Gt(r,f)&&f.control?.type===s.ControlType.TEXT){a=f;break}}if(this.activeControl&&a&&this.destroyControl(),this.activeControl){if(this.activeControl instanceof co||this.activeControl instanceof Lo||this.activeControl instanceof Nn){const g=this.activeControl.getElement();Gt(n,g)?n.controlComponent===s.ControlComponent.POSTFIX?this.activeControl.destroy():this.isPopupAwakeDisabled||this.activeControl.awake():this.destroyControl()}if(this.activeControl){const g=this.activeControl.getElement(),f=n.controlId,m=n.originControlId||null,p=g.controlId,I=g.originControlId||null;if(f&&Gt(n,g)){this.updateActiveControlValue(),this.preElement=n;return}if(n.originControlId&&n.originControlId===p&&m===I){const C=this.activeControl.getElement();if(!((C?.control?.type===s.ControlType.TEXTFIELD||C?.control?.type===s.ControlType.TEXT)&&n.controlId!==p)){this.updateActiveControlValue(),this.preElement=n;return}}if(n.originControlId&&n.controlId&&n.controlId,!n.originControlId&&n.controlId&&n.controlId!==p&&(this.activeControl.getElement()?.originControlId,n.controlId),n.controlId&&n.originControlId&&Gt(n,g)){this.updateActiveControlValue(),this.preElement=n;return}if(!f){const C=this.getElementList(),E=this.getRange(),{startIndex:O}=E;let P=null;for(let S=O;S>=0;S--){const X=C[S];if(X.controlComponent===s.ControlComponent.PRETEXTFIX||X.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT||X.controlComponent===s.ControlComponent.PREFIX||X.controlComponent===s.ControlComponent.PRE_TEXT){P=X.controlId||null;break}if(X.controlId&&X.controlId!==p||X.controlComponent===s.ControlComponent.POSTTEXTFIX||X.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT||X.controlComponent===s.ControlComponent.POSTFIX||X.controlComponent===s.ControlComponent.POST_TEXT)break}if(P===p){this.updateActiveControlValue(),this.preElement=n;return}}}}if(this.destroyControl(),this.draw.isReadonly())return;let d=a?.control||n.control,u=a||n;if(!a&&n.originControlId&&!d){let g;for(let I=this.range.getRange().startIndex;I>=0;I--){const C=t[I];if(Gt(C,n)&&C.control&&(g=C.control,u=C,C.controlComponent===s.ControlComponent.PREFIX||C.controlComponent===s.ControlComponent.PRETEXTFIX||C.controlComponent===s.ControlComponent.PRE_TEXT||C.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)||C.controlId&&!Gt(C,n)&&C.controlId!==n.originControlId&&C.originControlId!==n.originControlId)break}const f=n.originControlId;let m,p;for(let I=this.range.getRange().startIndex;I>=0;I--){const C=t[I];if(C.controlId===f&&C.control){m=C.control,p=C;break}if(C.controlId===f&&(C.controlComponent===s.ControlComponent.PRETEXTFIX||C.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT||C.controlComponent===s.ControlComponent.PREFIX||C.controlComponent===s.ControlComponent.PRE_TEXT)){C.control&&(m=C.control,p=C);break}}this.draw.getMode()===s.EditorMode.FORM&&m?.type===s.ControlType.TEXTFIELD&&g&&g.type!==s.ControlType.TEXTFIELD||this.draw.getMode()===s.EditorMode.FORM&&m?.type===s.ControlType.TEXT&&g?d=g:m?(d=m,p&&(u=p)):g&&(d=g)}else if(!d&&n.controlId){const g=this.getElementList();for(let f=this.range.getRange().startIndex;f>=0;f--){const m=g[f];if(!Gt(m,n))break;if(m.control){d=m.control,u=m;break}if(m.controlComponent===s.ControlComponent.PRETEXTFIX||m.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT||m.controlComponent===s.ControlComponent.PREFIX||m.controlComponent===s.ControlComponent.PRE_TEXT)break}}if(!d)return;if(d?.type===s.ControlType.TEXTFIELD&&this.draw.getMode()!==s.EditorMode.EDIT&&this.draw.getMode()!==s.EditorMode.FORM)if(n.originControlId){const g=n.controlId;for(let f=this.range.getRange().startIndex;f>=0;f--){const m=t[f];if(m.controlId===g&&Gt(m,n)&&m.control&&m.control.type!==s.ControlType.TEXTFIELD){d=m.control,u=m;break}if(m.controlComponent===s.ControlComponent.PREFIX||m.controlComponent===s.ControlComponent.PRETEXTFIX)break}if(d?.type===s.ControlType.TEXTFIELD)return}else return;const R=this.draw.getPosition().getPositionContext(),h=this.range.getRange().startIndex,T=!!(R.isDirectHit&&R.index===h&&t[R.index]?.controlId===u.controlId);if(d?.type===s.ControlType.TEXTFIELD)this.activeControl=new bl(u,this);else if(d.type===s.ControlType.TEXT)this.activeControl=new Vs(u,this);else if(d.type===s.ControlType.SELECT){const g=new co(u,this);this.activeControl=g,!this.isPopupAwakeDisabled&&(T||this.draw.getMode()===s.EditorMode.FORM)&&g.awake()}else if(d.type===s.ControlType.CHECKBOX)this.activeControl=new vo(u,this);else if(d.type===s.ControlType.RADIO)this.activeControl=new Ai(u,this);else if(d.type===s.ControlType.DATE){const g=new Lo(u,this);this.activeControl=g,!this.isPopupAwakeDisabled&&(T||this.draw.getMode()===s.EditorMode.FORM)&&g.awake()}else if(d.type===s.ControlType.NUMBER)this.activeControl=new ui(u,this);else if(d.type===s.ControlType.BUTTON){const g=new Nn(u,this);if(this.activeControl=g,!this.isPopupAwakeDisabled&&T&&(g.awake(),this.draw.getMode()!==s.EditorMode.FORM||u.control?.editable===!1))return}else if(d.type===s.ControlType.MENSTRUAL_HISTORY){const g=new Vl(u,this);this.activeControl=g,this.isPopupAwakeDisabled||g.awake()}this.updateActiveControlValue(),this.preElement=u,u.controlComponent!==s.ControlComponent.POSTFIX&&u.controlComponent!==s.ControlComponent.POSTTEXTFIX&&this.emitControlChange(s.ControlState.ACTIVE)}destroyControl(t={}){if(!this.activeControl)return;const{isEmitEvent:e=!0}=t;(this.activeControl instanceof co||this.activeControl instanceof Lo||this.activeControl instanceof ui||this.activeControl instanceof Vl)&&this.activeControl.destroy(),e&&this.preElement?.controlComponent!==s.ControlComponent.POSTFIX&&this.preElement?.controlComponent!==s.ControlComponent.POSTTEXTFIX&&this.emitControlChange(s.ControlState.INACTIVE),this.preElement=null,this.activeControl=null,this.activeControlValue=[]}repaintControl(t={}){const{curIndex:e,isCompute:n=!0,isSubmitHistory:i=!0,isSetCursor:l=!0}=t;e===void 0?(this.range.clearRange(),this.draw.requestRender({isCompute:n,isSubmitHistory:i,isSetCursor:!1})):(this.range.setRange(e,e),this.draw.requestRender({curIndex:e,layoutStartIndex:e,isCompute:n,isSetCursor:l,isSubmitHistory:i}))}emitControlContentChange(t){const e=this.eventBus.isSubscribe("controlContentChange");if(!e&&!this.listener.controlContentChange)return;const n=t?.controlElement||this.activeControl?.getElement();if(!n)return;const i=t?.context?.elementList||this.getElementList(),{startIndex:l}=t?.context?.range||this.getRange();if(!i[l]?.controlId)return;const r=t?.controlValue||this.getControlElementList(t?.context);let a;if(r?.length?a=Yt(r)[0].control:(a=n.control,a.value=[]),!a)return;const c={control:a,controlId:n.controlId};this.listener.controlContentChange?.(c),e&&this.eventBus.emit("controlContentChange",c)}reAwakeControl(){if(!this.activeControl)return;const t=this.getElementList(),e=this.getRange(),n=t[e.startIndex];this.activeControl.setElement(n),(this.activeControl instanceof Lo||this.activeControl instanceof co)&&this.activeControl.getIsPopup()&&(this.activeControl.destroy(),this.activeControl.awake())}selectValue(){const t=this.getElementList(),{startIndex:e}=this.getRange(),n=t[e];if(!n?.controlId||n.controlComponent!==s.ControlComponent.VALUE&&t[e+1]?.controlComponent===s.ControlComponent.VALUE)return!1;let i=e;for(;i>0&&t[i].controlComponent===s.ControlComponent.VALUE;)i--;let l=e+1;for(;l<t.length;){if(t[l].controlComponent!==s.ControlComponent.VALUE){l--;break}l++}if(i!==l){const r=this.range.getRange();return this.range.replaceRange({...r,startIndex:i,endIndex:l}),this.draw.render({isCompute:!1,isSetCursor:!1,isSubmitHistory:!1}),!0}return!1}moveCursor(t){const{index:e,trIndex:n,tdIndex:i,tdValueIndex:l}=t;let r=this.draw.getOriginalElementList(),a;const c=t.isTable?l:e;if(t.isTable?(r=r[e].trList[n].tdList[i].value,a=r[l]):a=r[e],a.control?.hide||a.area?.hide){const d=Bn(r,c);return{newIndex:d,newElement:r[d]}}if(a.controlComponent===s.ControlComponent.VALUE)return{newIndex:c,newElement:a};if(a.controlComponent===s.ControlComponent.POSTFIX){let d=c+1;for(;d<r.length;){const u=r[d];if(!Gt(u,a))return{newIndex:d-1,newElement:r[d-1]};if(d===r.length-1)return{newIndex:d,newElement:r[d]};d++}}else if(a.controlComponent===s.ControlComponent.PREFIX||a.controlComponent===s.ControlComponent.PRE_TEXT){let d=c+1;for(;d<r.length;){const u=r[d];if(!Gt(u,a)||u.controlComponent!==s.ControlComponent.PREFIX&&u.controlComponent!==s.ControlComponent.PRE_TEXT)return{newIndex:d-1,newElement:r[d-1]};d++}}else if(a.controlComponent===s.ControlComponent.PLACEHOLDER){let d=c-1;for(;d>0;){const u=r[d];if(!Gt(u,a)||u.controlComponent===s.ControlComponent.VALUE||u.controlComponent===s.ControlComponent.PREFIX||u.controlComponent===s.ControlComponent.PRE_TEXT||u.controlComponent===s.ControlComponent.PRETEXTFIX||u.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)return{newIndex:d,newElement:r[d]};d--}}else if(a.controlComponent===s.ControlComponent.POST_TEXT||a.controlComponent===s.ControlComponent.TEXTFIXLABEL||a.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT){let d=c-1;for(;d>0;){const u=r[d];if(!Gt(u,a)||u.controlComponent===s.ControlComponent.VALUE||u.controlComponent===s.ControlComponent.PREFIX||u.controlComponent===s.ControlComponent.PRE_TEXT||u.controlComponent===s.ControlComponent.PRETEXTFIX||u.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)return{newIndex:d,newElement:r[d]};d--}}else if(a.controlComponent===s.ControlComponent.POSTTEXTFIX){let d=c+1;for(;d<r.length;){const u=r[d];if(!Gt(u,a))return{newIndex:d-1,newElement:r[d-1]};if(d===r.length-1)return{newIndex:d,newElement:r[d]};d++}}else if(a.controlComponent===s.ControlComponent.PRETEXTFIX||a.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT){let d=c+1;for(;d<r.length;){const u=r[d];if(!Gt(u,a)||u.controlComponent!==s.ControlComponent.PRETEXTFIX&&u.controlComponent!==s.ControlComponent.PRETEXTFIX_TEXT)return{newIndex:d-1,newElement:r[d-1]};d++}}return{newIndex:c,newElement:a}}removeControl(t,e={}){const n=e.elementList||this.getElementList(),i=n[t];if(!this.draw.isDesignMode()&&!i?.control?.hide&&!i?.area?.hide){const{deletable:C=!0}=i.control;if(!C)return null;const E=this.draw.getMode();if(E===s.EditorMode.FORM&&this.options.modeRule[E].controlDeletableDisabled)return null}let l=-1,r=-1;const a=!!i.originControlId,c=i.controlId,d=i.originControlId,u=i.control?.type===s.ControlType.BUTTON&&!i.control?.buttonText?`${c}_text`:"";let R=t;for(;R>=0;){const C=n[R];let E=!1;if(a?E=C.controlId===c&&C.originControlId===d:E=C.controlId===c&&!C.originControlId,!E){l=R;break}R--}let h=t;for(;h<n.length;){const C=n[h];let E=!1;if(a?E=C.controlId===c&&C.originControlId===d:E=C.controlId===c&&!C.originControlId,!E){r=h-1;break}h++}if(h===n.length&&(r=h-1),!~l&&!~r)return t;l=~l?l:0;const T=n[l+1],g=T.control,f=g?.type&&[s.ControlType.TEXT,s.ControlType.TEXTFIELD,s.ControlType.DATE,s.ControlType.NUMBER,s.ControlType.SELECT,s.ControlType.BUTTON].includes(g.type);let m=n[0]?.type===s.ElementType.SPLIT_TAG;if(!e.removeNext&&f&&!a&&T.controlComponent!==s.ControlComponent.PREFIX&&T.type!==s.ElementType.SPLIT_TAG)if(e.removePrev)e.removePrev();else{const C=this.draw.getTd();C&&this.createRemoveControlHandler(C,i.controlId,!0)}if(!e.removeNext&&f&&!a&&T.controlComponent!==s.ControlComponent.PRETEXTFIX&&T.type!==s.ElementType.SPLIT_TAG)if(e.removePrev)e.removePrev();else{const C=this.draw.getTd();C&&this.createRemoveControlHandler(C,i.controlId,!0)}if(!e.removePrev&&f&&!a&&n[r].controlComponent!==s.ControlComponent.POSTFIX)if(e.removeNext)e.removeNext();else{const C=this.draw.getTd();m=!!C?.linkTdNextId,C&&this.createRemoveControlHandler(C,i.controlId,!1)}if(!e.removePrev&&f&&!a&&n[r].controlComponent!==s.ControlComponent.POSTTEXTFIX)if(e.removeNext)e.removeNext();else{const C=this.draw.getTd();m=!!C?.linkTdNextId,C&&this.createRemoveControlHandler(C,i.controlId,!1)}this.draw.spliceElementList(n,l+1,r-l);let p=0;if(u)for(let C=n.length-1;C>=0;C--)n[C].controlId===u&&(C<=l&&p++,n.splice(C,1));const I=l-p;return!e.elementList&&m&&l===0?this.draw.fixPosition(!0)??I:I}createRemoveControlHandler(t,e,n){if(n){const i=this.draw.getTdById(t.linkTdPrevId);i&&i.value.splice(-1)[0]?.controlId===e&&this.removeControl(i.value.length-1,{elementList:i.value,removePrev:()=>{this.createRemoveControlHandler(i,e,n)}})}else{const i=this.draw.getTdById(t.linkTdNextId);i&&i.value[1]?.controlId===e&&this.removeControl(1,{elementList:i.value,removeNext:()=>{this.createRemoveControlHandler(i,e,n)}})}}removePlaceholder(t,e={}){const n=e.elementList||this.getElementList(),i=n[t],l=n[t+1];if(i.controlComponent===s.ControlComponent.PLACEHOLDER||i.controlComponent===s.ControlComponent.TEXTFIXLABEL||l?.controlComponent===s.ControlComponent.PLACEHOLDER||l?.controlComponent===s.ControlComponent.TEXTFIXLABEL){let r=!1,a=t;for(;a<n.length;){const c=n[a];if(c.controlId!==i.controlId)break;c.controlComponent===s.ControlComponent.PLACEHOLDER||c.controlComponent===s.ControlComponent.TEXTFIXLABEL?(r||(r=!0,this.draw.getHistoryManager().popUndo(),this.draw.submitHistory(t)),n.splice(a,1)):a++}}}addPlaceholder(t,e={}){const n=e.elementList||this.getElementList(),i=n[t],l=i.control,r=l.placeholder;if(!r)return;l.placeholder=r;let a=t;for(;a>=0;){const f=n[a];if(f.controlId!==i.controlId){a++;break}if(f.controlComponent===s.ControlComponent.PREFIX||f.controlComponent===s.ControlComponent.PRE_TEXT||f.controlComponent===s.ControlComponent.PRETEXTFIX||f.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)break;a--}a<0&&(a=0);const c=a+1;if(c<n.length){const f=n[c];if(f.controlId===i.controlId&&(f.controlComponent===s.ControlComponent.PLACEHOLDER||f.controlComponent===s.ControlComponent.VALUE&&!me(f)))return}let d=!1,u=a+1;for(;u<n.length;){const f=n[u];if(f.controlId===i.controlId){if(f.controlComponent===s.ControlComponent.POSTFIX||f.controlComponent===s.ControlComponent.POST_TEXT||f.controlComponent===s.ControlComponent.POSTTEXTFIX||f.controlComponent===s.ControlComponent.POSTTEXTFIX_TEXT)break}else if(f.controlId!==i.controlId&&(f.controlComponent===s.ControlComponent.VALUE||f.controlComponent===s.ControlComponent.PREFIX||f.controlComponent===s.ControlComponent.PRE_TEXT)){d=!0;break}u++}if(d)return;const R=bt(r),h=Jt(i,he),T=Jt(i,["originControlId","subTemplateParentId","subTemplateInstanceId"]),g=a+1;for(let f=0;f<R.length;f++){const m=R[f],p={...h,...T,value:m===`
|
|
213
213
|
`?B:m,controlId:i.controlId,type:s.ElementType.CONTROL,control:i.control,controlComponent:s.ControlComponent.PLACEHOLDER,color:this.controlOptions.placeholderColor};ae(n,[p],a,{editorOptions:this.options}),this.draw.spliceElementList(n,g+f,0,[p])}}setValue(t){if(!this.activeControl)throw new Error("active control is null");return this.activeControl.setValue(t)}setControlProperties(t,e={}){const n=e.elementList||this.getElementList(),{startIndex:i}=e.range||this.getRange(),l=n[i];let r=i;for(;r>0;){const c=n[r];if(c.controlId!==l.controlId)break;c.control={...c.control,...t},r--}let a=i+1;for(;a<n.length;){const c=n[a];if(c.controlId!==l.controlId)break;c.control={...c.control,...t},a++}}keydown(t){if(!this.activeControl)throw new Error("active control is null");return this.activeControl.keydown(t)}cut(){if(!this.activeControl)throw new Error("active control is null");return this.activeControl.cut()}getValueById(t){const{id:e,groupId:n,conceptId:i,areaId:l}=t,r=[];if(!e&&!i&&!n)return r;const a=new Set,c=(u,R)=>{let h=0;for(;h<u.length;){const T=u[h];if(h++,T.type===s.ElementType.TABLE){const E=T.trList;for(let O=0;O<E.length;O++){const P=E[O];for(let S=0;S<P.tdList.length;S++){const X=P.tdList[S],U=X.originalId??X.id;a.has(U)||(a.add(U),X.linkTdNextId?c(this.draw.getSplitTdValues(U),R):c(X.value,R))}}}if(!T.control||n&&T.control.groupId!==n||e&&T.controlId!==e||i&&T.control.conceptId!==i||l&&T.areaId!==l)continue;const{type:g,code:f,valueSets:m}=T.control;let p=h,I="";const C=[];for(;p<u.length;){const E=u[p];if(E.controlId!==T.controlId)break;(g===s.ControlType.TEXT||g===s.ControlType.TEXTFIELD||g===s.ControlType.DATE||g===s.ControlType.NUMBER)&&E.controlComponent===s.ControlComponent.VALUE&&(I+=E.value,C.push(Ee(E,Di))),p++}if(g===s.ControlType.TEXT||g===s.ControlType.TEXTFIELD||g===s.ControlType.DATE||g===s.ControlType.NUMBER)r.push({...T.control,zone:R,value:I||null,innerText:I||null,elementList:Yt(C)});else if(g===s.ControlType.SELECT||g===s.ControlType.CHECKBOX||g===s.ControlType.RADIO){const E=f?.split(",").map(O=>m?.find(P=>P.code===O)?.value).filter(Boolean).join("");r.push({...T.control,zone:R,value:f||null,innerText:E||null})}h=p}},d=[{zone:s.EditorZone.HEADER,elementList:this.draw.getHeaderElementList()},{zone:s.EditorZone.MAIN,elementList:this.draw.getOriginalMainElementList()},{zone:s.EditorZone.FOOTER,elementList:this.draw.getFooterElementList()}];for(const{zone:u,elementList:R}of d)c(R,u);return r}setValueListById(t){if(!t.length)return;let e=!1,n=!1;const i=(r,a)=>{let c=0;for(;c<r.length;){const d=r[c];if(c++,d.type===s.ElementType.TABLE){const C=d.trList;for(let E=0;E<C.length;E++){const O=C[E];for(let P=0;P<O.tdList.length;P++){const S=O.tdList[P];i(S.value,S.id)}}}if(!d.control||d.type===s.ElementType.SPLIT_TAG)continue;const u=t.find(C=>(!C.groupId||C.groupId===d.control?.groupId)&&(C.id&&d.controlId===C.id||C.conceptId&&d.control.conceptId===C.conceptId||C.areaId&&d.areaId===C.areaId));if(!u)continue;const{value:R,isSubmitHistory:h=!0}=u;e=!0,h&&(n=!0);const{type:T}=d.control,{range:g,fullRange:f}=this.mergeControl({elementList:r,range:{startIndex:c,endIndex:c},tdId:a}),m={range:f??g,elementList:r,tdId:a},p={isIgnoreDisabledRule:!0,isIgnoreDeletedRule:!0};if(T===s.ControlType.TEXTFIELD){const C=Array.isArray(R)?R:R?[{value:R}]:[];C.length&&ee(C,{isHandleFirstElement:!1,editorOptions:this.options});const E=new bl(d,this);this.activeControl=E,C.length?E.setValue(C,m,p):E.clearValue(m,p)}else if(T===s.ControlType.TEXT){const C=Array.isArray(R)?R:R?[{value:R}]:[];C.length&&ee(C,{isHandleFirstElement:!1,editorOptions:this.options});const E=new Vs(d,this);this.activeControl=E,C.length?E.setValue(C,m,p):E.clearValue(m,p)}else if(T===s.ControlType.SELECT){if(Array.isArray(R))continue;const C=new co(d,this);this.activeControl=C,R?C.setSelect(R,m,p):C.clearSelect(m,p)}else if(T===s.ControlType.CHECKBOX){if(Array.isArray(R))continue;const C=new vo(d,this);this.activeControl=C;const E=R?R.split(","):[];C.setSelect(E,m,p)}else if(T===s.ControlType.RADIO){if(Array.isArray(R))continue;const C=new Ai(d,this);this.activeControl=C;const E=R?[R]:[];C.setSelect(E,m,p)}else if(T===s.ControlType.DATE){const C=new Lo(d,this);this.activeControl=C,Ei(R)?(R.length&&ee(R,{isHandleFirstElement:!1,editorOptions:this.options}),C.setValue(R,m,p)):Ea(R)?C.setSelect(R,m,p):C.clearSelect(m,p)}else if(T===s.ControlType.NUMBER){const C=Array.isArray(R)?R:R?[{value:R}]:[];C.length&&ee(C,{isHandleFirstElement:!1,editorOptions:this.options});const E=new ui(d,this);this.activeControl=E,C.length?E.setValue(C,m,p):E.clearValue(m,p)}else if(T===s.ControlType.BUTTON){const C=Array.isArray(R)?R:R?[{value:R}]:[];C.length&&ee(C,{isHandleFirstElement:!1,editorOptions:this.options});const E=new Nn(d,this);this.activeControl=E,C.length?E.setValue(C,m,p):E.clearSelect(m,p)}this.emitControlContentChange({context:m}),this.activeControl=null;let I=c;for(;I<r.length&&r[I].controlId===d.controlId;)I++;c=I}};this.destroyControl({isEmitEvent:!1});const l=[this.draw.getHeaderElementList(),this.draw.getOriginalMainElementList(),this.draw.getFooterElementList()];for(const r of l)i(r);e&&(n||this.draw.getHistoryManager().recovery(),this.draw.render({isSubmitHistory:n,isSetCursor:!1}))}setExtensionListById(t){if(!t.length)return;const e=i=>{let l=0;for(;l<i.length;){const r=i[l];if(l++,r.type===s.ElementType.TABLE){const u=r.trList;for(let R=0;R<u.length;R++){const h=u[R];for(let T=0;T<h.tdList.length;T++){const g=h.tdList[T];e(g.value)}}}if(!r.control)continue;const a=t.find(u=>u.id&&r.controlId===u.id||u.conceptId&&r.control.conceptId===u.conceptId||u.areaId&&r.areaId===u.areaId);if(!a)continue;const{extension:c}=a;this.setControlProperties({extension:c},{elementList:i,range:{startIndex:l,endIndex:l}});let d=l;for(;d<i.length&&i[d].controlId===r.controlId;)d++;l=d}},n=[this.draw.getHeaderElementList(),this.draw.getOriginalMainElementList(),this.draw.getFooterElementList()];for(const i of n)e(i)}setPropertiesListById(t){if(!t.length)return;let e=!1,n=!1;const i=r=>{let a=0;for(;a<r.length;){const c=r[a];if(a++,c.type===s.ElementType.TABLE){const T=c.trList;for(let g=0;g<T.length;g++){const f=T[g];for(let m=0;m<f.tdList.length;m++){const p=f.tdList[m];i(p.value)}}}if(!c.control)continue;const d=t.find(T=>T.id&&c.controlId===T.id||T.conceptId&&c.control.conceptId===T.conceptId||T.areaId&&c.areaId===T.areaId);if(!d)continue;const{properties:u,isSubmitHistory:R=!0}=d;if(e=!0,R&&(n=!0),this.setControlProperties({...c.control,...u,value:c.control.value},{elementList:r,range:{startIndex:a-1,endIndex:a-1}}),he.forEach(T=>{const g=u[T];g&&Reflect.set(c,T,g)}),c.control?.type===s.ControlType.NUMBER&&u.numberExclusiveOptions){const T={...c.control.numberExclusiveOptions,...u.numberExclusiveOptions},g=T?.minValue,f=T?.maxValue,m=new ui(c,this),p=m.getValue({elementList:r,range:{startIndex:a-1,endIndex:a-1}});if(p.length>0){const I=p.map(E=>E.value).join(""),C=Number(I);!Number.isNaN(C)&&Number.isFinite(C)&&(g!=null&&C<g||f!=null&&C>f)&&m.clearValue({elementList:r,range:{startIndex:a-1,endIndex:a-1}},{isAddPlaceholder:!0})}}let h=a;for(;h<r.length&&r[h].controlId===c.controlId;)h++;a=h}},l={header:this.draw.getHeaderElementList(),main:this.draw.getOriginalMainElementList(),footer:this.draw.getFooterElementList()};for(const r in l){const a=l[r];i(a)}if(e){for(const r in l){const a=r,c=Yt(l[a],{isClassifyArea:!0,extraPickAttrs:["id","controlId"]});l[a]=c,ee(c,{editorOptions:this.options,isForceCompensation:!0})}this.draw.setEditorData(l),n||this.draw.getHistoryManager().recovery(),this.draw.render({isSubmitHistory:n,isSetCursor:!1})}}getList(){const t=[];function e(i){for(let l=0;l<i.length;l++){const r=i[l];if(r.type===s.ElementType.TABLE){const a=r.trList;for(let c=0;c<a.length;c++){const d=a[c];for(let u=0;u<d.tdList.length;u++){const h=d.tdList[u].value;e(h)}}}if(r.controlId){const a=Ee(r,[...Si,...Un]);t.push(a)}}}const n=[this.draw.getHeader().getElementList(),this.draw.getOriginalMainElementList(),this.draw.getFooter().getElementList()];for(const i of n)e(i);return Yt(t,{extraPickAttrs:["controlId"]})}recordBorderInfo(t,e,n,i){this.controlBorder.recordBorderInfo(t,e,n,i)}drawBorder(t){this.controlBorder.render(t)}startTextFieldUnderline(t,e,n){this.textFieldUnderline.startTextFieldValue(t,e,n)}recordTextFieldUnderlineWidth(t){this.textFieldUnderline.recordValueWidth(t)}drawTextFieldUnderline(t){this.textFieldUnderline.endTextFieldValue(t)}_getControlIdentity(t){return lo(t)}_isSameControlIdentity(t,e){return!!(e&&t.controlId===e.controlId&&(t.originControlId||null)===e.originControlId&&(t.subTemplateInstanceId||t.subTemplateParentId||null)===e.subTemplateInstanceId)}_isNestedParentControlElement(t,e){return!!(e?.originControlId&&t.controlId===e.originControlId&&!t.originControlId)}_isNestedTextContainerElement(t,e){if(!e.controlId||e.originControlId)return!1;let n=!1,i=!1;for(let l=0;l<t.length;l++){const r=t[l];if(r.controlId===e.controlId&&!r.originControlId?(r.control?.type===s.ControlType.TEXT||r.control?.type===s.ControlType.TEXTFIELD)&&(n=!0):r.originControlId===e.controlId&&(i=!0),n&&i)return!0}return!1}_getCurrentControlIdentity(t){const e=this.getElementList()[t],n=this._getControlIdentity(this.activeControl?.getElement()),i=this._getControlIdentity(e);return i&&(!n||this._isSameControlIdentity(e,n)||i.originControlId===n.controlId)?i:n}_getControlNavigationIndex(t,e,n){const i=this._getControlIdentity(t[e]);if(!i)return e;let l=e;for(;l>0&&this._isSameControlIdentity(t[l-1],i);)l--;let r=e;for(;r+1<t.length&&this._isSameControlIdentity(t[r+1],i);)r++;if(n===qt.DOWN){let a=-1;for(let c=l;c<=r;c++){const d=t[c];if(d.controlComponent===s.ControlComponent.CHECKBOX||d.controlComponent===s.ControlComponent.RADIO||d.controlComponent===s.ControlComponent.VALUE)return c;a===-1&&(d.controlComponent===s.ControlComponent.PREFIX||d.controlComponent===s.ControlComponent.PRE_TEXT||d.controlComponent===s.ControlComponent.PRETEXTFIX||d.controlComponent===s.ControlComponent.PRETEXTFIX_TEXT)&&(a=c)}return~a?a:l}for(let a=r;a>=l;a--)if(t[a].controlComponent===s.ControlComponent.VALUE)return a;return l}_isTrailingNestedControlBoundary(t,e,n){const i=t[e];return!n||!i?.originControlId||i.originControlId!==n.controlId||i.controlComponent!==s.ControlComponent.POSTFIX&&i.controlComponent!==s.ControlComponent.POST_TEXT&&i.controlComponent!==s.ControlComponent.POSTTEXTFIX&&i.controlComponent!==s.ControlComponent.POSTTEXTFIX_TEXT?!1:this._isSameControlIdentity(t[e-1],this._getControlIdentity(i))||this._isSameControlIdentity(t[e-1],n)}getPreControlContext(){const e=this.draw.getPosition().getPositionContext();if(!e)return null;const{startIndex:n}=this.range.getRange(),i=this.getElementList(),l=this.activeControl?.getElement()||i[n],r=this._getCurrentControlIdentity(n),a=(d,u)=>{for(let R=u;R>0;R--){const h=d[R];if(h.type===s.ElementType.TABLE){const T=h.trList||[];for(let g=T.length-1;g>=0;g--){const f=T[g],m=f.tdList;for(let p=m.length-1;p>=0;p--){const I=m[p],C=a(I.value,I.value.length-1);if(C)return{positionContext:{isTable:!0,index:R,trIndex:g,tdIndex:p,tdId:I.id,trId:f.id,tableId:h.id},nextIndex:C.nextIndex}}}}if(!(!h.controlId||this._isSameControlIdentity(h,r)||this._isTrailingNestedControlBoundary(d,R,r)||this._isNestedParentControlElement(h,r)||this._isNestedTextContainerElement(d,h)))return{positionContext:{isTable:!1},nextIndex:this._getControlNavigationIndex(d,R,qt.UP)}}return null},c=a(i,n);if(c)return{positionContext:e.isTable?e:c.positionContext,nextIndex:c.nextIndex};if(l.tableId){const d=this.draw.getOriginalElementList(),{index:u,trIndex:R,tdIndex:h}=e,T=d[u].trList;for(let f=R;f>=0;f--){const m=T[f],p=m.tdList;for(let I=p.length-1;I>=0;I--){if(R===f&&I>=h)continue;const C=p[I],E=a(C.value,C.value.length-1);if(E)return{positionContext:{isTable:!0,index:e.index,trIndex:f,tdIndex:I,tdId:C.id,trId:m.id,tableId:l.tableId},nextIndex:E.nextIndex}}}const g=a(d,u-1);if(g)return{positionContext:{isTable:!1},nextIndex:g.nextIndex}}return null}getNextControlContext(){const e=this.draw.getPosition().getPositionContext();if(!e)return null;const{endIndex:n}=this.range.getRange(),i=this.getElementList(),l=this.activeControl?.getElement()||i[n],r=this._getCurrentControlIdentity(n),a=(d,u)=>{for(let R=u;R<d.length;R++){const h=d[R];if(h.type===s.ElementType.TABLE){const T=h.trList||[];for(let g=0;g<T.length;g++){const f=T[g],m=f.tdList;for(let p=0;p<m.length;p++){const I=m[p],C=a(I.value,0);if(C)return{positionContext:{isTable:!0,index:R,trIndex:g,tdIndex:p,tdId:I.id,trId:f.id,tableId:h.id},nextIndex:C.nextIndex}}}}if(!(!h.controlId||this._isSameControlIdentity(h,r)||this._isTrailingNestedControlBoundary(d,R,r)||this._isNestedParentControlElement(h,r)||this._isNestedTextContainerElement(d,h)))return{positionContext:{isTable:!1},nextIndex:this._getControlNavigationIndex(d,R,qt.DOWN)}}return null},c=a(i,n);if(c)return{positionContext:e.isTable?e:c.positionContext,nextIndex:c.nextIndex};if(l.tableId){const d=this.draw.getOriginalElementList(),{index:u,trIndex:R,tdIndex:h}=e,T=d[u].trList;for(let f=R;f<T.length;f++){const m=T[f],p=m.tdList;for(let I=0;I<p.length;I++){if(R===f&&I<=h)continue;const C=p[I],E=a(C.value,0);if(E)return{positionContext:{isTable:!0,index:e.index,trIndex:f,tdIndex:I,tdId:C.id,trId:m.id,tableId:l.tableId},nextIndex:E.nextIndex}}}const g=a(d,u+1);if(g)return{positionContext:{isTable:!1},nextIndex:g.nextIndex}}return null}initNextControl(t={}){const{direction:e=qt.DOWN}=t;let n=null;if(e===qt.UP?n=this.getPreControlContext():n=this.getNextControlContext(),!n)return;const{nextIndex:i,positionContext:l}=n,r=this.draw.getPosition();r.setPositionContext(l),this.draw.getRange().replaceRange({startIndex:i,endIndex:i}),this.draw.render({curIndex:i,isCompute:!1,isSetCursor:!0,isSubmitHistory:!1});const a=r.getPositionList();this.draw.getCursor().moveCursorToVisible({cursorPosition:a[i],direction:e})}setMinWidthControlInfo(t){const{row:e,rowElement:n,controlRealWidth:i,availableWidth:l}=t;if(!n.control?.minWidth)return;const{scale:r}=this.options,a=n.control.minWidth*r;let c=null;if(n.control?.minWidth&&(n.control?.rowFlex===s.RowFlex.CENTER||n.control?.rowFlex===s.RowFlex.RIGHT)){let u=n.metrics.width,R=e.elementList.length-1;for(;R>=0;){const h=e.elementList[R];if(u+=h.metrics.width,e.elementList[R-1]?.controlComponent===s.ControlComponent.PREFIX){c=h;break}R--}c&&u<a&&(n.control.rowFlex===s.RowFlex.CENTER?c.left=(a-u)/2:n.control.rowFlex===s.RowFlex.RIGHT&&(c.left=a-u-n.metrics.width))}const d=a-i;if(d>0){const u=c?.left||0,R=l-e.width-n.metrics.width,h=Math.min(R,d);n.left=h-u,e.width+=h-u}}mergeControl(t={}){const e=t.elementList||this.getElementList(),n=t.range||this.getRange(),{startIndex:i}=n,l=t.tdId??this.draw.getPosition().getPositionContext().tdId,r=l?this.draw.getTdById(l):void 0,a=e[i];if(!a?.controlId)return{range:n,elementList:[],tdId:l};const c={startIndex:i,endIndex:i},d=[];let u=!1,R=i,h=r,T=e;for(;R>=0;){const p=T[R];if(p.controlId!==a.controlId)break;if(p.type!==s.ElementType.SPLIT_TAG&&(d.unshift(p),u&&(T.splice(R,1),e[0].type===s.ElementType.SPLIT_TAG?e.splice(0,1):(n.startIndex++,n.endIndex++),e.unshift(p)),c.startIndex=R),R===0&&p.controlComponent!==s.ControlComponent.PREFIX&&h?.linkTdPrevId&&(h=this.draw.getTdById(h.linkTdPrevId),h)){T=h.value,R=h.value.length-1,u=!0;continue}if(R===0&&p.controlComponent!==s.ControlComponent.PRETEXTFIX&&h?.linkTdPrevId&&(h=this.draw.getTdById(h.linkTdPrevId),h)){T=h.value,R=h.value.length-1,u=!0;continue}R--}u=!1;let g=i+1,f=r,m=e;for(;g<m.length;){const p=m[g];if(p.controlId!==a.controlId)break;if(p.type!==s.ElementType.SPLIT_TAG&&(d.push(p),u&&(m.splice(g,1),e.push(p),g--)),g===m.length-1&&p.controlComponent!==s.ControlComponent.POSTFIX&&f?.linkTdNextId&&(f=this.draw.getTdById(f.linkTdNextId),f)){m=f.value,g=0,u=!0;continue}if(g===m.length-1&&p.controlComponent!==s.ControlComponent.POSTTEXTFIX&&f?.linkTdNextId&&(f=this.draw.getTdById(f.linkTdNextId),f)){m=f.value,g=0,u=!0;continue}g++}return c.endIndex=c.startIndex+d.length,{range:n,elementList:e,tdId:l,fullRange:{startIndex:c.startIndex,endIndex:c.endIndex-2}}}}class cT{options;currentTextFieldId=null;valueStartX=0;valueWidth=0;valueY=0;constructor(t){this.options=t.getOptions()}startTextFieldValue(t,e,n){this.currentTextFieldId=t,this.valueStartX=e,this.valueY=n,this.valueWidth=0}recordValueWidth(t){this.valueWidth+=t}endTextFieldValue(t){if(!this.currentTextFieldId||this.valueWidth<=0){this.reset();return}const{scale:e}=this.options;t.save(),t.strokeStyle=this.options.defaultColor,t.lineWidth=e,t.beginPath();const n=this.valueY-.5*e;t.moveTo(this.valueStartX,n),t.lineTo(this.valueStartX+this.valueWidth,n),t.stroke(),t.restore(),this.reset()}reset(){this.currentTextFieldId=null,this.valueStartX=0,this.valueWidth=0,this.valueY=0}}function Po(o,t){const e=n=>{for(let i=0;i<n.length;i++){const l=n[i];if(t(l),l.valueList?.length&&e(l.valueList),l.control?.value?.length&&e(l.control.value),l.type===s.ElementType.TABLE&&l.trList?.length)for(let r=0;r<l.trList.length;r++){const a=l.trList[r];for(let c=0;c<a.tdList.length;c++)e(a.tdList[c].value)}}};e(o)}function Ws(o,t){const e=t.id||gt(),n=t.subTemplateInstanceId||gt();let i=!1;t.id!==e&&(t.id=e,i=!0),t.subTemplateInstanceId!==n&&(t.subTemplateInstanceId=n,i=!0);const l=r=>{for(let a=0;a<r.length;a++){const c=r[a];if(c.subTemplateParentId&&c.subTemplateParentId!==e)continue;c.subTemplateParentId!==e&&(c.subTemplateParentId=e,i=!0);const d=c.type===s.ElementType.SUB_TEMPLATE?c.subTemplateInstanceId||gt():n;if(c.subTemplateInstanceId!==d&&(c.subTemplateInstanceId=d,i=!0),c.valueList?.length&&l(c.valueList),c.type===s.ElementType.TABLE&&c.trList?.length)for(let u=0;u<c.trList.length;u++){const R=c.trList[u];for(let h=0;h<R.tdList.length;h++)l(R.tdList[h].value)}}};return l(o),i}function Wl(o){const t=e=>{for(let n=0;n<e.length;n++){const i=e[n];if(delete i.subTemplateParentId,delete i.subTemplateInstanceId,i.subTemplateContent?.length&&t(i.subTemplateContent),i.valueList?.length&&t(i.valueList),i.control?.value?.length&&t(i.control.value),i.type===s.ElementType.TABLE&&i.trList?.length)for(let l=0;l<i.trList.length;l++){const r=i.trList[l];for(let a=0;a<r.tdList.length;a++)t(r.tdList[a].value)}}};t(o)}function dT(o){const t=o.control;return t?t.type===s.ControlType.TEXT||t.type===s.ControlType.TEXTFIELD||t.type===s.ControlType.DATE||t.type===s.ControlType.NUMBER?Pn(t.value||[])||null:(t.type===s.ControlType.SELECT||t.type===s.ControlType.CHECKBOX||t.type===s.ControlType.RADIO)&&t.code?.split(",").map(e=>t.valueSets?.find(n=>n.code===e)?.value).filter(Boolean).join("")||null:null}function uT(o){const t=new Map,e=new Set,n=new Set,i=(l,r,a)=>{if(!l||r==null)return;const c=t.get(l)||[];c.push({label:l,source:a,value:r}),t.set(l,c)};return Po(o,l=>{l.control&&l.controlId&&!e.has(l.controlId)&&(e.add(l.controlId),i(l.control.label,dT(l),"control"));const r=l.id;if(r&&!n.has(r)&&(l.type===s.ElementType.MACRO||l.type===s.ElementType.CUSTOM_MACRO||l.type===s.ElementType.REUSABLE_ITEM)){n.add(r);let a;l.type===s.ElementType.MACRO?a=l.value:l.type===s.ElementType.CUSTOM_MACRO?a=l.macroConfig?.value:l.type===s.ElementType.REUSABLE_ITEM&&(a=l.reusableItemConfig?.value),i(l.label,a,"macro")}}),t}function Us(o){const t=o.replace(/,/g,"").match(/[-+]?(?:\d+(?:\.\d+)?|\.\d+)/);if(!t)return null;const e=Number(t[0]);return Number.isFinite(e)?e:null}function hT(o,t){const{rangeMin:e,rangeMax:n,source:i="all"}=o;if(e==null||n==null)return!1;const l=Us(e),r=Us(n);return l==null||r==null||l>r?!1:t.some(a=>{if(i!=="all"&&a.source!==i)return!1;const c=Us(a.value);return c!=null&&c>=l&&c<=r})}function Ul(o,t){const{label:e,value:n,regex:i,source:l="all"}=o;if(!e)return!1;const r=t.get(e);if(!r?.length)return!1;if(o.matchMode==="range")return hT(o,r);const a=n??i;if(a==null||a==="")return!1;if(n!=null)return r.some(d=>l!=="all"&&d.source!==l?!1:d.value.trim()===n.trim());let c;try{c=new RegExp(a)}catch(d){return console.warn("子模板匹配正则无效:",a,d),!1}return r.some(d=>l!=="all"&&d.source!==l?!1:c.test(d.value))}function RT(o,t,e="and"){return o?.length?e==="or"?o.some(n=>Ul(n,t)):o.every(n=>Ul(n,t)):!0}class gT{draw;options;constructor(t){this.draw=t,this.options=t.getOptions()}setSelect(t){const{checkbox:e}=t;e?e.value=!e.value:t.checkbox={value:!0},this.draw.requestRender({isCompute:!1,isSetCursor:!1})}render(t){const{ctx:e,x:n,index:i,row:l}=t;let{y:r}=t;const{checkbox:{gap:a,lineWidth:c,fillStyle:d,strokeStyle:u,verticalAlign:R},scale:h}=this.options,T=l.elementList[i],{metrics:g,checkbox:f}=T,m=T.controlComponent?0:a;if(R===s.VerticalAlign.TOP||R===s.VerticalAlign.MIDDLE){let O=i+1,P=null;for(;O<l.elementList.length&&(P=l.elementList[O],!(P.value!==B&&P.value!==Ti));)O++;if(P){const{metrics:{boundingBoxAscent:S,boundingBoxDescent:X}}=P,U=S+X;U>g.height&&(R===s.VerticalAlign.TOP?r-=S-g.height:R===s.VerticalAlign.MIDDLE&&(r-=(U-g.height)/2))}}const p=Math.round(n+m*h),I=Math.round(r-g.height+c),C=g.width-(m+a)*h,E=g.height;e.save(),e.beginPath(),e.translate(.5,.5),f?.value?(e.lineWidth=c,e.strokeStyle=d,e.rect(p,I,C,E),e.stroke(),e.beginPath(),e.fillStyle=d,e.fillRect(p,I,C,E),e.beginPath(),e.strokeStyle=u,e.lineWidth=c*2*h,e.moveTo(p+2*h,I+E/2),e.lineTo(p+C/2,I+E-3*h),e.lineTo(p+C-2*h,I+3*h),e.stroke()):(e.lineWidth=c,e.rect(p,I,C,E),e.stroke()),e.closePath(),e.restore()}}class TT{draw;options;constructor(t){this.draw=t,this.options=t.getOptions()}setSelect(t){const{radio:e}=t;e?e.value=!e.value:t.radio={value:!0},this.draw.requestRender({isCompute:!1,isSetCursor:!1})}render(t){const{ctx:e,x:n,index:i,row:l}=t;let{y:r}=t;const{radio:{gap:a,lineWidth:c,fillStyle:d,strokeStyle:u,verticalAlign:R},scale:h}=this.options,T=l.elementList[i],{metrics:g,radio:f}=T,m=T.controlComponent?0:a;if(R===s.VerticalAlign.TOP||R===s.VerticalAlign.MIDDLE){let O=i+1,P=null;for(;O<l.elementList.length&&(P=l.elementList[O],!(P.value!==B&&P.value!==Ti));)O++;if(P){const{metrics:{boundingBoxAscent:S,boundingBoxDescent:X}}=P,U=S+X;U>g.height&&(R===s.VerticalAlign.TOP?r-=S-g.height:R===s.VerticalAlign.MIDDLE&&(r-=(U-g.height)/2))}}const p=Math.round(n+m*h),I=Math.round(r-g.height+c),C=g.width-(m+a)*h,E=g.height;e.save(),e.beginPath(),e.translate(.5,.5),e.strokeStyle=f?.value?d:u,e.lineWidth=c,e.arc(p+C/2,I+E/2,C/2,0,Math.PI*2),e.stroke(),f?.value&&(e.beginPath(),e.fillStyle=d,e.arc(p+C/2,I+E/2,C/3,0,Math.PI*2),e.fill()),e.closePath(),e.restore()}}const hi={fontSize:11,smallFontSize:9,lineHeight:12,dividerWidth:40,gap:4,totalHeight:36};class fT{draw;options;inputModal=null;isPopup=!1;measureContext=null;sizeCache=new WeakMap;constructor(t){this.draw=t,this.options=t.getOptions()}computeSize(t){const e=hi,n=this.options.scale,i=t.menstrualData,l=[n,i?.isMenopause?1:0,i?.periodMin||"",i?.periodMax||"",i?.menarcheAge||"",i?.lastPeriod||"",i?.menopauseAge||"",i?.cycleMin||"",i?.cycleMax||""].join("|"),r=this.sizeCache.get(t);if(r?.key===l)return r.size;const a=e.fontSize*n,c=e.smallFontSize*n,d=e.gap*n,u=e.dividerWidth*n;this.measureContext||(this.measureContext=document.createElement("canvas").getContext("2d"));const R=this.measureContext;R.font=`${a}px "Microsoft YaHei", sans-serif`;let h=u;R.font=`${c}px "Microsoft YaHei", sans-serif`;let T=0;if(i){const m=this.getValue(i.menarcheAge);R.font=`${a}px "Microsoft YaHei", sans-serif`,m&&(h+=R.measureText(`${m}岁`).width+d);let p="";if(i.isMenopause){const P=this.getValue(i.menopauseAge);P&&(p=`${P}岁`)}else{const P=this.getValue(i.lastPeriod);P&&(p=P)}p&&(h+=R.measureText(p).width+d),R.font=`${c}px "Microsoft YaHei", sans-serif`;const I=this.getValue(i.periodMin),C=this.getValue(i.periodMax);if(I||C){const P=`${I||""}~${C||""}`;T=Math.max(T,R.measureText(P).width)}const E=this.getValue(i.cycleMin),O=this.getValue(i.cycleMax);if(E||O){const P=`${E||""}~${O||""}`;T=Math.max(T,R.measureText(P).width)}}else R.font=`${a}px "Microsoft YaHei", sans-serif`,T=R.measureText("~").width;const f={width:Math.max(h,T),height:e.totalHeight*n};return this.sizeCache.set(t,{key:l,size:f}),f}getValue(t){return!t||t===""||t==="_"||t==="____-__-__"?"":t}render(t){const{ctx:e,x:n,y:i,element:l}=t,r=l.menstrualData,a=this.options.scale;e.save(),e.font=`${hi.fontSize*a}px "Microsoft YaHei", sans-serif`,e.fillStyle=this.options.defaultColor,e.textBaseline="bottom",r?this.renderWithData(e,n,i,r,a):this.renderEmpty(e,n,i,a),e.restore()}renderEmpty(t,e,n,i){const l=hi,r=l.fontSize*i,a=l.lineHeight*i,c=l.dividerWidth*i,d=n-a*1.5,u=e+c/2;t.font=`${r}px "Microsoft YaHei", sans-serif`;const R=t.measureText("~").width,h=u-R/2;t.fillText("~",h,d+a);const T=d+a*2;this.drawDivider(t,e,T-r/2,c,i),t.fillText("~",h,T+a)}renderWithData(t,e,n,i,l){const r=hi,a=r.fontSize*l,c=r.smallFontSize*l,d=r.lineHeight*l,u=r.gap*l,R=r.dividerWidth*l,h=n-d*2,T=h+d*2;t.font=`${a}px "Microsoft YaHei", sans-serif`;const g=this.getValue(i.menarcheAge);let f=e;if(g){const y=`${g}岁`;t.fillText(y,e,T),f=e+t.measureText(y).width+u}const m=f+R/2,p=h+d;t.font=`${c}px "Microsoft YaHei", sans-serif`;const I=this.getValue(i.periodMin),C=this.getValue(i.periodMax);let E="";I||C?E=`${I||""}~${C||""}`:(t.font=`${a}px "Microsoft YaHei", sans-serif`,E="~");const O=t.measureText(E).width,P=m-O/2;t.fillText(E,P,p),this.drawDivider(t,f,T-a/2,R,l),t.font=`${a}px "Microsoft YaHei", sans-serif`;let S="";if(i.isMenopause){const y=this.getValue(i.menopauseAge);y&&(S=`${y}岁`)}else{const y=this.getValue(i.lastPeriod);y&&(S=y)}S&&t.fillText(S,f+R+u,T);const X=T+d;t.font=`${c}px "Microsoft YaHei", sans-serif`;const U=this.getValue(i.cycleMin),b=this.getValue(i.cycleMax);let M="";U||b?M=`${U||""}~${b||""}`:(t.font=`${a}px "Microsoft YaHei", sans-serif`,M="~");const V=t.measureText(M).width,N=m-V/2;t.fillText(M,N,X)}drawDivider(t,e,n,i,l){t.save(),t.beginPath(),t.strokeStyle=this.options.defaultColor,t.lineWidth=.5*l,t.moveTo(e,n),t.lineTo(e+i,n),t.stroke(),t.restore()}clearMenstrualHistoryEditor(){this.inputModal&&(this.inputModal.remove(),this.inputModal=null),this.isPopup=!1}renderMenstrualHistoryEditor(t,e){if(this.options.mode===s.EditorMode.PRINT||this.options.mode===s.EditorMode.COMPARE)return;(this.isPopup||this.inputModal)&&this.clearMenstrualHistoryEditor(),this.isPopup=!0;const n=t.menstrualData;this.inputModal=document.createElement("div"),this.inputModal.className="menstrual-history-edit-modal",this.inputModal.setAttribute("editor-component","menstrual-history-edit-modal"),this.inputModal.innerHTML=`
|
|
214
214
|
<div class="menstrual-history-modal__mask"></div>
|
|
215
215
|
<div class="menstrual-history-modal__container">
|