xiaodao-spreader 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
- (function(ct,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(ct=typeof globalThis<"u"?globalThis:ct||self,t(ct.XiaoDaoSpreader={},ct.Vue))})(this,function(ct,t){"use strict";const El={"zh-CN":{insert:"插入",delete:"删除",rename:"重命名",moveLeft:"左移",moveRight:"右移",cut:"剪切",copy:"复制",paste:"粘贴",addSheet:"新建工作表",moveSheetLeft:"左移",moveSheetRight:"右移",scrollUp:"向上滚动",scrollDown:"向下滚动",scrollLeft:"向左滚动",scrollRight:"向右滚动",calculate:"计算",sum:"求和",undo:"撤销",redo:"重做",paintFormat:"格式刷",clearFormat:"清除格式",fontFamily:"字体",fontSize:"字号",fontSizeIncrease:"增大字号",fontSizeDecrease:"减小字号",bold:"加粗",italic:"斜体",underline:"下划线",strikethrough:"删除线",fontColor:"文字颜色",fillColor:"填充颜色",borders:"边框",hAlign:"水平对齐",vAlign:"垂直对齐",alignLeft:"左端对齐",alignCenter:"居中对齐",alignRight:"右端对齐",alignTop:"顶端对齐",alignMiddle:"垂直居中",alignBottom:"底端对齐",wrap:"自动换行",mergeCells:"合并单元格",mergeCenter:"合并后居中",mergeAcross:"跨越合并",unmergeCells:"取消合并单元格",borderBottom:"下框线",borderTop:"上框线",borderLeft:"左框线",borderRight:"右框线",borderNone:"无框线",borderAll:"所有框线",borderOuter:"外框线",borderThickOuter:"粗外框线",fontDefault:"默认",rowHeight:"行高",colWidth:"列宽",autoRowHeight:"自动行高",defaultColWidth:"默认列宽",ok:"确定",cancel:"取消",dimNumberError:"请输入数字",dimRangeError:"请输入 {min}~{max} 之间的数值",colorAutomatic:"自动",colorNoFill:"无填充",colorWhite:"白色",colorBlack:"黑色",colorLightGray:"浅灰",colorLightBlue:"浅蓝",colorLightOrange:"浅橙",colorLightYellow:"浅黄",colorLightGreen:"浅绿",colorPaleBlue:"淡蓝",colorPaleOrange:"淡橙",colorPaleYellow:"淡黄",colorPaleGreen:"淡绿",colorSilver:"银色",colorSkyBlue:"天蓝",colorCoral:"珊瑚",colorGold:"金色",colorMint:"薄荷",colorGray:"灰色",colorMediumBlue:"中蓝",colorOrange:"橙色",colorAmber:"琥珀",colorMediumGreen:"中绿",colorDarkGray:"深灰",colorRoyalBlue:"宝蓝",colorRed:"红色",colorDarkGold:"深金",colorDarkGreen:"深绿",colorCharcoal:"炭灰",colorDeepBlue:"深蓝",colorDarkRed:"深红",colorOlive:"橄榄",colorForest:"森林",colorSlate:"石板灰",colorNavy:"藏青",colorCrimson:"绯红",colorDarkOlive:"深橄榄",colorDeepForest:"深林",colorDarkSlate:"深石板灰",colorMidnight:"午夜蓝",colorMaroon:"栗色",colorCoffee:"咖啡色",colorEvergreen:"常青",colorDarkNavy:"深藏青",colorDarkMaroon:"深栗",colorDarkCoffee:"深咖",colorInkGreen:"墨绿"},"en-US":{insert:"Insert",delete:"Delete",rename:"Rename",moveLeft:"Move Left",moveRight:"Move Right",cut:"Cut",copy:"Copy",paste:"Paste",addSheet:"Add new sheet",moveSheetLeft:"Move Left",moveSheetRight:"Move Right",scrollUp:"Scroll up",scrollDown:"Scroll down",scrollLeft:"Scroll left",scrollRight:"Scroll right",calculate:"Calculate",sum:"Sum",undo:"Undo",redo:"Redo",paintFormat:"Paint Format",clearFormat:"Clear Format",fontFamily:"Font Family",fontSize:"Font Size",fontSizeIncrease:"Increase Font Size",fontSizeDecrease:"Decrease Font Size",bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",fontColor:"Font Color",fillColor:"Fill Color",borders:"Borders",hAlign:"Horizontal Align",vAlign:"Vertical Align",alignLeft:"Align Left",alignCenter:"Align Center",alignRight:"Align Right",alignTop:"Align Top",alignMiddle:"Align Middle",alignBottom:"Align Bottom",wrap:"Wrap Text",mergeCells:"Merge Cells",mergeCenter:"Merge & Center",mergeAcross:"Merge Across",unmergeCells:"Unmerge Cells",borderBottom:"Bottom Border",borderTop:"Top Border",borderLeft:"Left Border",borderRight:"Right Border",borderNone:"No Border",borderAll:"All Borders",borderOuter:"Outside Borders",borderThickOuter:"Thick Box Border",fontDefault:"Default",rowHeight:"Row Height",colWidth:"Column Width",autoRowHeight:"Auto Row Height",defaultColWidth:"Default Column Width",ok:"OK",cancel:"Cancel",dimNumberError:"Please enter a number",dimRangeError:"Please enter a value between {min} and {max}",colorAutomatic:"Automatic",colorNoFill:"No Fill",colorWhite:"White",colorBlack:"Black",colorLightGray:"Light Gray",colorLightBlue:"Light Blue",colorLightOrange:"Light Orange",colorLightYellow:"Light Yellow",colorLightGreen:"Light Green",colorPaleBlue:"Pale Blue",colorPaleOrange:"Pale Orange",colorPaleYellow:"Pale Yellow",colorPaleGreen:"Pale Green",colorSilver:"Silver",colorSkyBlue:"Sky Blue",colorCoral:"Coral",colorGold:"Gold",colorMint:"Mint",colorGray:"Gray",colorMediumBlue:"Medium Blue",colorOrange:"Orange",colorAmber:"Amber",colorMediumGreen:"Medium Green",colorDarkGray:"Dark Gray",colorRoyalBlue:"Royal Blue",colorRed:"Red",colorDarkGold:"Dark Gold",colorDarkGreen:"Dark Green",colorCharcoal:"Charcoal",colorDeepBlue:"Deep Blue",colorDarkRed:"Dark Red",colorOlive:"Olive",colorForest:"Forest",colorSlate:"Slate",colorNavy:"Navy",colorCrimson:"Crimson",colorDarkOlive:"Dark Olive",colorDeepForest:"Deep Forest",colorDarkSlate:"Dark Slate",colorMidnight:"Midnight",colorMaroon:"Maroon",colorCoffee:"Coffee",colorEvergreen:"Evergreen",colorDarkNavy:"Dark Navy",colorDarkMaroon:"Dark Maroon",colorDarkCoffee:"Dark Coffee",colorInkGreen:"Ink Green"}};function $(e,v){var p;return((p=El[e])==null?void 0:p[v])??v}const $t='-apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif',at=10,Bl=[{label:"",value:""},{label:"微软雅黑",value:'"Microsoft YaHei", "微软雅黑", sans-serif'},{label:"宋体",value:'"SimSun", "宋体", serif'},{label:"黑体",value:'"SimHei", "黑体", sans-serif'},{label:"楷体",value:'"KaiTi", "楷体", serif'},{label:"Arial",value:"Arial, sans-serif"},{label:"Arial Black",value:'"Arial Black", sans-serif'},{label:"Times New Roman",value:'"Times New Roman", serif'},{label:"Courier New",value:'"Courier New", monospace'},{label:"Verdana",value:"Verdana, sans-serif"},{label:"Georgia",value:"Georgia, serif"},{label:"Impact",value:"Impact, sans-serif"},{label:"Tahoma",value:"Tahoma, sans-serif"},{label:"Trebuchet MS",value:'"Trebuchet MS", sans-serif'},{label:"Comic Sans MS",value:'"Comic Sans MS", cursive'}],Rl=[{label:"9",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12},{label:"13",value:13},{label:"14",value:14},{label:"16",value:16},{label:"18",value:18},{label:"20",value:20},{label:"24",value:24},{label:"28",value:28},{label:"32",value:32},{label:"36",value:36},{label:"48",value:48},{label:"72",value:72}],xl='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="3" y1="6" x2="19" y2="6"/><line x1="3" y1="12" x2="15" y2="12"/><line x1="3" y1="18" x2="17" y2="18"/></svg>',Sl='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="3" y1="6" x2="21" y2="6"/><line x1="6" y1="12" x2="18" y2="12"/><line x1="4" y1="18" x2="20" y2="18"/></svg>',Ml='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="5" y1="6" x2="21" y2="6"/><line x1="9" y1="12" x2="21" y2="12"/><line x1="7" y1="18" x2="21" y2="18"/></svg>',Tl='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="6" y1="7" x2="6" y2="20"/><line x1="12" y1="7" x2="12" y2="16"/><line x1="18" y1="7" x2="18" y2="20"/><line x1="4" y1="3" x2="20" y2="3"/></svg>',Dl='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="6" y1="4" x2="6" y2="20"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="18" y1="4" x2="18" y2="20"/></svg>',Hl='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="6" y1="4" x2="6" y2="17"/><line x1="12" y1="8" x2="12" y2="17"/><line x1="18" y1="4" x2="18" y2="17"/><line x1="4" y1="21" x2="20" y2="21"/></svg>',Al=[{value:"left",labelKey:"alignLeft",icon:xl},{value:"center",labelKey:"alignCenter",icon:Sl},{value:"right",labelKey:"alignRight",icon:Ml}],Fl=[{value:"top",labelKey:"alignTop",icon:Tl},{value:"middle",labelKey:"alignMiddle",icon:Dl},{value:"bottom",labelKey:"alignBottom",icon:Hl}],sl=[{key:"mergeCenter",labelKey:"mergeCenter",icon:'<svg viewBox="0 0 1024 1024" fill="currentColor"><path d="M709.952 465.92l88-76.032C801.92 385.984 806.656 384 812.032 384s10.048 1.984 14.08 5.952C830.08 393.92 832 398.656 832 403.968L832 448l32 0C881.664 448 896 462.336 896 480S881.664 512 864 512L832 512l0 44.032c0 5.376-1.92 10.112-5.952 14.08C822.08 574.08 817.344 576 812.032 576s-10.048-1.92-14.08-5.952L709.952 494.08C705.984 490.112 704 485.376 704 480S705.984 469.952 709.952 465.92zM378.048 465.92 290.048 389.952C286.08 385.984 281.344 384 275.968 384s-10.048 1.984-14.08 5.952C257.92 393.92 256 398.656 256 403.968L256 448 224 448C206.336 448 192 462.336 192 480S206.336 512 224 512L256 512l0 44.032c0 5.376 1.92 10.112 5.952 14.08C265.92 574.08 270.656 576 275.968 576s10.048-1.92 14.08-5.952L378.048 494.08C382.016 490.112 384 485.376 384 480S382.016 469.952 378.048 465.92zM448 128 128 128l0 704 320 0 0-128 64 0 0 128c0 35.392-28.608 64-64 64L128 896c-35.392 0-64-28.608-64-64L64 128c0-35.392 28.608-64 64-64l320 0 0 0c35.392 0 64 28.608 64 64l0 128L448 256 448 128M640 128l320 0 0 704-320 0 0-128L576 704l0 128c0 35.392 28.608 64 64 64l320 0c35.392 0 64-28.608 64-64L1024 128c0-35.392-28.608-64-64-64l-320 0 0 0C604.608 64 576 92.608 576 128l0 128 64 0L640 128M722.304 642.304c0 8.512-3.52 16.32-10.496 23.36s-15.424 10.624-25.344 10.624c-5.76 0-10.688-1.088-14.72-3.136-4.096-2.048-7.616-4.928-10.432-8.512s-5.824-9.088-9.024-16.512-5.952-13.952-8.32-19.648l-17.28-46.016L479.36 582.464 462.08 629.568c-6.72 18.304-12.48 30.656-17.344 37.12s-12.544 9.6-23.424 9.6c-9.28 0-17.408-3.456-24.512-10.24s-10.624-14.592-10.624-23.232c0-4.992 0.896-10.176 2.496-15.488S393.024 614.592 396.8 605.056l92.672-238.016C492.096 360.256 495.296 352 499.008 342.464s7.68-17.536 11.904-23.872 9.664-11.456 16.576-15.36c6.784-3.968 15.232-5.888 25.344-5.888 10.176 0 18.752 1.92 25.472 5.888 6.848 3.968 12.352 8.96 16.64 15.104 4.096 6.208 7.744 12.8 10.624 19.904s6.528 16.576 11.008 28.352l94.656 236.48C718.592 621.056 722.304 634.112 722.304 642.304zM606.912 526.784 552.32 375.552 498.624 526.784 606.912 526.784z"/></svg>'},{key:"mergeAcross",labelKey:"mergeAcross",icon:'<svg viewBox="0 0 1024 1024" fill="currentColor"><path d="M832 64c70.4 0 128 57.6 128 128v640c0 70.4-57.6 128-128 128H192c-70.4 0-128-57.6-128-128V192c0-70.4 57.6-128 128-128h640zM448 768H128v64c0 38.4 25.6 64 64 64h256v-128z m448 0H512v128h320c38.4 0 64-25.6 64-64v-64z m0-448H128v384h768V320zM633.6 390.4l96 96c6.4 6.4 6.4 12.8 6.4 19.2 0 6.4-6.4 12.8-6.4 19.2L633.6 633.6c-12.8 12.8-32 12.8-44.8 0-12.8-12.8-12.8-32-6.4-44.8l44.8-44.8H288c-19.2 0-32-12.8-32-32s12.8-32 32-32h339.2l-44.8-44.8c-6.4-12.8-6.4-32 0-44.8 12.8-12.8 38.4-12.8 51.2 0zM448 128H192c-38.4 0-64 25.6-64 64v64h320V128z m384 0H512v128h384V192c0-38.4-25.6-64-64-64z"/></svg>'},{key:"mergeCells",labelKey:"mergeCells",icon:'<svg viewBox="0 0 1024 1024" fill="currentColor"><path d="M512 480c0 5.376-1.984 10.112-5.952 14.08L354.048 634.048C350.08 638.08 345.344 640 339.968 640s-10.048-1.92-14.08-5.952C321.92 630.144 320 625.344 320 620.032L320 512 224 512C206.336 512 192 497.664 192 480S206.336 448 224 448L320 448 320 339.968c0-5.376 1.92-10.048 5.952-14.08C329.92 321.984 334.656 320 339.968 320s10.048 1.984 14.08 5.952L506.048 465.92C510.016 469.952 512 474.624 512 480zM576 480c0 5.376 1.984 10.112 5.952 14.08l152 140.032C737.92 638.08 742.656 640 748.032 640s10.048-1.92 14.08-5.952C766.08 630.144 768 625.344 768 620.032L768 512l96 0C881.664 512 896 497.664 896 480S881.664 448 864 448L768 448 768 339.968c0-5.376-1.92-10.048-5.952-14.08C758.08 321.984 753.344 320 748.032 320s-10.048 1.984-14.08 5.952L581.952 465.92C577.984 469.952 576 474.624 576 480zM448 128l0 128 64 0L512 128c0-35.392-28.672-64-64-64l0 0L128 64C92.672 64 64 92.608 64 128l0 704c0 35.392 28.672 64 64 64l320 0c35.328 0 64-28.608 64-64l0-128L448 704l0 128L128 832 128 128 448 128M640 128l320 0 0 704-320 0 0-128L576 704l0 128c0 35.392 28.608 64 64 64l320 0c35.392 0 64-28.608 64-64L1024 128c0-35.392-28.608-64-64-64l-320 0 0 0C604.608 64 576 92.608 576 128l0 128 64 0L640 128"/></svg>'},{key:"unmergeCells",labelKey:"unmergeCells",icon:'<svg viewBox="0 0 1024 1024" fill="currentColor"><path d="M197.952 465.92l152-140.032C353.92 321.984 358.656 320 364.032 320s10.048 1.984 14.08 5.952C382.08 329.92 384 334.656 384 339.968L384 448l96 0C497.664 448 512 462.336 512 480S497.664 512 480 512L384 512l0 108.032c0 5.376-1.92 10.112-5.952 14.08C374.08 638.08 369.344 640 364.032 640S353.92 638.08 349.952 634.048L197.952 494.08C193.984 490.112 192 485.376 192 480S193.984 469.952 197.952 465.92zM890.048 465.92l-152-140.032C734.08 321.984 729.344 320 723.968 320s-10.048 1.984-14.08 5.952C705.92 329.92 704 334.656 704 339.968L704 448 608 448C590.336 448 576 462.336 576 480S590.336 512 608 512L704 512l0 108.032c0 5.376 1.92 10.112 5.952 14.08C713.92 638.08 718.656 640 723.968 640s10.048-1.92 14.08-5.952l152-140.032C894.016 490.112 896 485.376 896 480S894.016 469.952 890.048 465.92zM448 128l0 128 64 0L512 128c0-35.392-28.608-64-64-64l0 0L128 64C92.608 64 64 92.608 64 128l0 704c0 35.392 28.608 64 64 64l320 0c35.392 0 64-28.608 64-64l0-128L448 704l0 128L128 832 128 128 448 128M640 128l320 0 0 704-320 0 0-128L576 704l0 128c0 35.392 28.608 64 64 64l320 0c35.392 0 64-28.608 64-64L1024 128c0-35.392-28.608-64-64-64l-320 0 0 0C604.608 64 576 92.608 576 128l0 128 64 0L640 128"/></svg>'}],Nl={bg:"#f4f4f4",gridBg:"#ffffff",headerBg:"#e8e8e8",headerBorder:"#c8c8c8",headerText:"#444",headerSep:"#b0b0b0",cornerBg:"#e0e0e0",gridLine:"#e0e0e0",selectionBg:"rgba(0, 120, 215, 0.12)",activeCellBorder:"#0078d7",cellText:"#1a1a1a",scrollTrack:"rgba(0,0,0,0.08)",scrollThumb:"rgba(0,0,0,0.25)",formulaBarBg:"#f0f0f0",formulaBarBorder:"#c8c8c8",formulaBarLabelText:"#333",formulaBarLabelBg:"#fff",formulaBarLabelBorder:"#c0c0c0",formulaBarInputBg:"#fff",formulaBarInputBorder:"#c0c0c0",formulaBarInputText:"#1a1a1a",formulaBarInputFocusBorder:"#0078d7",formulaBarInputFocusShadow:"rgba(0, 120, 215, 0.3)",wrapperBg:"#e8e8e8",cellEditorBorder:"#0078d7",cellEditorText:"#1a1a1a",cellEditorBg:"#fff",cellEditorShadow:"#0078d7",tabBarBg:"#e8e8e8",tabBarBorder:"#c0c0c0",tabActiveBg:"#ffffff",tabActiveText:"#1a1a1a",tabActiveBorder:"#0078d7",tabInactiveBg:"#dfdfdf",tabInactiveText:"#666",tabInactiveBorder:"transparent",tabHoverBg:"#e0e0e0",tabAddBtnColor:"#555",tabAddBtnHoverBg:"#d0d0d0",tabScrollBtnColor:"#888",tabScrollBtnHoverBg:"#d0d0d0",scrollbarThumb:"rgba(0,0,0,0.25)",scrollbarThumbHover:"rgba(0,0,0,0.4)",scrollBtnBg:"#e8e8e8",scrollBtnColor:"#666",scrollBtnHoverBg:"#d0d0d0",scrollBtnActiveBg:"#c0c0c0",scrollTrackBg:"rgba(0,0,0,0.06)",toolbarBg:"#f7f7f7",toolbarBorder:"#d8d8d8",toolbarBtnColor:"#444",toolbarBtnHoverBg:"#e6e6e6",toolbarBtnDisabledColor:"#b0b0b0",toolbarBtnActiveColor:"#0078d7"},Il={bg:"#1e1e1e",gridBg:"#252526",headerBg:"#252525",headerBorder:"#3e3e3e",headerText:"#999",headerSep:"#3e3e3e",cornerBg:"#2a2a2a",gridLine:"#3e3e3e",selectionBg:"rgba(0, 120, 215, 0.25)",activeCellBorder:"#0078d7",cellText:"#d4d4d4",scrollTrack:"rgba(255,255,255,0.06)",scrollThumb:"rgba(255,255,255,0.2)",formulaBarBg:"#2d2d2d",formulaBarBorder:"#3e3e3e",formulaBarLabelText:"#ccc",formulaBarLabelBg:"#3c3c3c",formulaBarLabelBorder:"#555",formulaBarInputBg:"#3c3c3c",formulaBarInputBorder:"#555",formulaBarInputText:"#d4d4d4",formulaBarInputFocusBorder:"#0078d7",formulaBarInputFocusShadow:"rgba(0, 120, 215, 0.4)",wrapperBg:"#1e1e1e",cellEditorBorder:"#0078d7",cellEditorText:"#d4d4d4",cellEditorBg:"#3c3c3c",cellEditorShadow:"#0078d7",tabBarBg:"#2a2a2a",tabBarBorder:"#3e3e3e",tabActiveBg:"#1e1e1e",tabActiveText:"#e0e0e0",tabActiveBorder:"#0078d7",tabInactiveBg:"#333333",tabInactiveText:"#888",tabInactiveBorder:"transparent",tabHoverBg:"#3a3a3a",tabAddBtnColor:"#999",tabAddBtnHoverBg:"#3a3a3a",tabScrollBtnColor:"#777",tabScrollBtnHoverBg:"#3a3a3a",scrollbarThumb:"rgba(255,255,255,0.2)",scrollbarThumbHover:"rgba(255,255,255,0.35)",scrollBtnBg:"#2d2d2d",scrollBtnColor:"#999",scrollBtnHoverBg:"#3d3d3d",scrollBtnActiveBg:"#4d4d4d",scrollTrackBg:"rgba(255,255,255,0.05)",toolbarBg:"#2a2a2a",toolbarBorder:"#3e3e3e",toolbarBtnColor:"#ccc",toolbarBtnHoverBg:"#3a3a3a",toolbarBtnDisabledColor:"#666",toolbarBtnActiveColor:"#4ea1ff"},Ll=["title"],Ol=["innerHTML"],Vl={key:1,class:"sp-dropdown__value"},Wl=["disabled"],zl=["onClick"],$l=["innerHTML"],_l={class:"sp-dropdown__item-label"},Gl=["disabled"],Kl=t.defineComponent({__name:"dropdown",props:{modelValue:{},options:{},width:{default:"auto"},menuWidth:{default:void 0},visibleCount:{default:8},title:{default:""},modelOpen:{type:Boolean,default:void 0},hideTrigger:{type:Boolean,default:!1},align:{default:"left"},triggerEl:{default:null}},emits:["update:modelValue","change","update:modelOpen"],setup(e,{emit:v}){const p=e,n=v,u=t.ref(!1),k=t.ref(0),i=t.ref(null),I=t.ref(null),g=t.ref(null),ee=t.ref({top:0,up:!1}),Y=t.ref(0),y=t.ref(!1),ne=t.computed(()=>p.options.find(ce=>String(ce.value)===String(p.modelValue))),A=t.computed(()=>p.menuWidth),m=t.computed(()=>Math.min(p.visibleCount,p.options.length)),ge=t.computed(()=>p.options.slice(k.value,k.value+m.value)),me=t.computed(()=>k.value>0),we=t.computed(()=>k.value+m.value<p.options.length),G=t.computed(()=>p.options.length>m.value);function U(ce){k.value=Math.max(0,Math.min(p.options.length-m.value,k.value+ce))}function pe(){u.value=!0,p.modelOpen!==void 0&&n("update:modelOpen",!0);const ce=p.triggerEl??i.value;if(!ce)return;const r=ce.getBoundingClientRect(),f=m.value*22+(G.value?2*15:0)+8,o=window.innerHeight-r.bottom-4<f&&r.top-4>f;p.align==="right"?ee.value={right:window.innerWidth-r.right,top:o?r.top-f-4:r.bottom+4,up:o}:ee.value={left:r.left,top:o?r.top-f-4:r.bottom+4,up:o};const a=p.options.findIndex(O=>String(O.value)===String(p.modelValue));k.value=a>=0?Math.max(0,Math.min(a-Math.floor(m.value/2),p.options.length-m.value)):0}function T(){u.value=!1,p.modelOpen!==void 0&&n("update:modelOpen",!1)}function P(){u.value?T():pe()}function be(ce){n("update:modelValue",ce.value),n("change",ce.value),T()}function ye(ce){var f,w;if(!u.value)return;const r=ce.target;(f=i.value)!=null&&f.contains(r)||(w=g.value)!=null&&w.contains(r)||T()}function te(ce){u.value&&(ce.preventDefault(),U(ce.deltaY>0?1:-1))}t.watch(u,ce=>{t.nextTick(()=>{var r,f;ce?(r=I.value)==null||r.addEventListener("wheel",te,{passive:!1}):(f=I.value)==null||f.removeEventListener("wheel",te)})}),t.watch(()=>p.modelOpen,ce=>{ce!==void 0&&ce!==u.value&&(ce?pe():T())});function s(ce){u.value&&(Y.value=ce.touches[0].clientY,y.value=!0)}function C(ce){if(!u.value||!y.value)return;const r=ce.touches[0].clientY-Y.value;Math.abs(r)>5&&(U(r<0?1:-1),Y.value=ce.touches[0].clientY)}function He(){y.value=!1}function Se(ce){ce.key==="Escape"&&T()}return t.onMounted(()=>{document.addEventListener("mousedown",ye),window.addEventListener("resize",T),window.addEventListener("scroll",T,!0)}),t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",ye),window.removeEventListener("resize",T),window.removeEventListener("scroll",T,!0)}),(ce,r)=>{var f,w;return t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:i,class:"sp-dropdown",style:t.normalizeStyle(typeof e.width=="number"?{width:e.width+"px"}:{width:e.width})},[e.hideTrigger?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["sp-dropdown__trigger",{"sp-dropdown__trigger--open":u.value}]),title:e.title,onClick:P},[(f=ne.value)!=null&&f.icon?(t.openBlock(),t.createElementBlock("span",{key:0,class:"sp-dropdown__icon",innerHTML:ne.value.icon},null,8,Ol)):(t.openBlock(),t.createElementBlock("span",Vl,t.toDisplayString(((w=ne.value)==null?void 0:w.label)??""),1)),r[2]||(r[2]=t.createElementVNode("svg",{class:"sp-dropdown__caret",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053333 361.386667a32 32 0 0 1 45.226667 0L512 648.106667l286.72-286.72a32 32 0 1 1 45.226667 45.226666l-309.333334 309.333334a32 32 0 0 1-45.226666 0L180.053333 406.613333a32 32 0 0 1 0-45.226666z"})],-1))],10,Ll)),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[u.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:g,class:t.normalizeClass(["sp-dropdown__menu",{"sp-dropdown__menu--up":ee.value.up}]),style:t.normalizeStyle({left:ee.value.left!==void 0?ee.value.left+"px":void 0,right:ee.value.right!==void 0?ee.value.right+"px":void 0,top:ee.value.top+"px",minWidth:A.value!==void 0?typeof A.value=="number"?A.value+"px":A.value:void 0}),onKeydown:Se},[G.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["sp-dropdown__nav",{"sp-dropdown__nav--disabled":!me.value}]),disabled:!me.value,onClick:r[0]||(r[0]=o=>U(-1))},[...r[3]||(r[3]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053333 662.613333a32 32 0 0 0 45.226667 0L512 375.893333l286.72 286.72a32 32 0 1 0 45.226667-45.226666l-309.333334-309.333334a32 32 0 0 0-45.226666 0l-309.333334 309.333334a32 32 0 0 0 0 45.226666z"})],-1)])],10,Wl)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"listRef",ref:I,class:"sp-dropdown__list",onTouchstart:s,onTouchmove:C,onTouchend:He},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(ge.value,o=>(t.openBlock(),t.createElementBlock("button",{key:String(o.value),type:"button",class:t.normalizeClass(["sp-dropdown__item",{"sp-dropdown__item--active":String(o.value)===String(e.modelValue)}]),onClick:a=>be(o)},[o.icon?(t.openBlock(),t.createElementBlock("span",{key:0,class:"sp-dropdown__item-icon",innerHTML:o.icon},null,8,$l)):t.createCommentVNode("",!0),t.createElementVNode("span",_l,t.toDisplayString(o.label),1)],10,zl))),128))],544),G.value?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:t.normalizeClass(["sp-dropdown__nav",{"sp-dropdown__nav--disabled":!we.value}]),disabled:!we.value,onClick:r[1]||(r[1]=o=>U(1))},[...r[4]||(r[4]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053333 361.386667a32 32 0 0 1 45.226667 0L512 648.106667l286.72-286.72a32 32 0 1 1 45.226667 45.226666l-309.333334 309.333334a32 32 0 0 1-45.226666 0L180.053333 406.613333a32 32 0 0 1 0-45.226666z"})],-1)])],10,Gl)):t.createCommentVNode("",!0)],38)):t.createCommentVNode("",!0)]),_:1})]))],4)}}}),ft=(e,v)=>{const p=e.__vccOpts||e;for(const[n,u]of v)p[n]=u;return p},_t=ft(Kl,[["__scopeId","data-v-8dc09f5d"]]),Ul=["title","onClick"],dl=ft(t.defineComponent({__name:"colorPicker",props:{modelOpen:{type:Boolean,default:void 0},colorKey:{default:"text"},currentColor:{default:""},locale:{default:"zh-CN"},triggerEl:{default:null}},emits:["update:modelValue","change","update:modelOpen"],setup(e,{expose:v,emit:p}){const n=e,u=p,k=[[{key:"colorAutomatic",value:""},{key:"colorLightBlue",value:"#DEEBF7"},{key:"colorLightOrange",value:"#FCE4D6"},{key:"colorLightYellow",value:"#FFE79A"},{key:"colorLightGreen",value:"#E2EFDA"}],[{key:"colorLightGray",value:"#F2F2F2"},{key:"colorPaleBlue",value:"#BDD7EE"},{key:"colorPaleOrange",value:"#F8CBAD"},{key:"colorPaleYellow",value:"#FFD966"},{key:"colorPaleGreen",value:"#C6EFCE"}],[{key:"colorSilver",value:"#D9D9D9"},{key:"colorSkyBlue",value:"#9BC2E6"},{key:"colorCoral",value:"#F4B183"},{key:"colorGold",value:"#FFC000"},{key:"colorMint",value:"#A9D18E"}],[{key:"colorGray",value:"#BFBFBF"},{key:"colorMediumBlue",value:"#6FA8DC"},{key:"colorOrange",value:"#ED7D31"},{key:"colorAmber",value:"#F1C232"},{key:"colorMediumGreen",value:"#70AD47"}],[{key:"colorDarkGray",value:"#A5A5A5"},{key:"colorRoyalBlue",value:"#4A86E8"},{key:"colorRed",value:"#E06666"},{key:"colorDarkGold",value:"#BF8F00"},{key:"colorDarkGreen",value:"#548235"}],[{key:"colorCharcoal",value:"#808080"},{key:"colorDeepBlue",value:"#2E75B6"},{key:"colorDarkRed",value:"#CC4125"},{key:"colorOlive",value:"#806000"},{key:"colorForest",value:"#375623"}],[{key:"colorSlate",value:"#595959"},{key:"colorNavy",value:"#1F4E79"},{key:"colorCrimson",value:"#993300"},{key:"colorDarkOlive",value:"#5C4500"},{key:"colorDeepForest",value:"#2D6A4F"}],[{key:"colorDarkSlate",value:"#404040"},{key:"colorMidnight",value:"#17375E"},{key:"colorMaroon",value:"#5A1E00"},{key:"colorCoffee",value:"#3D3000"},{key:"colorEvergreen",value:"#1B4332"}],[{key:"colorBlack",value:"#000000"},{key:"colorDarkNavy",value:"#0C2340"},{key:"colorDarkMaroon",value:"#2E0A00"},{key:"colorDarkCoffee",value:"#1F1800"},{key:"colorInkGreen",value:"#081C15"}]],i=[[{key:"colorNoFill",value:""},{key:"colorLightBlue",value:"#DEEBF7"},{key:"colorLightOrange",value:"#FCE4D6"},{key:"colorLightYellow",value:"#FFE79A"},{key:"colorLightGreen",value:"#E2EFDA"}],[{key:"colorWhite",value:"#FFFFFF"},{key:"colorPaleBlue",value:"#BDD7EE"},{key:"colorPaleOrange",value:"#F8CBAD"},{key:"colorPaleYellow",value:"#FFD966"},{key:"colorPaleGreen",value:"#C6EFCE"}],[{key:"colorLightGray",value:"#F2F2F2"},{key:"colorSkyBlue",value:"#9BC2E6"},{key:"colorCoral",value:"#F4B183"},{key:"colorGold",value:"#FFC000"},{key:"colorMint",value:"#A9D18E"}],[{key:"colorSilver",value:"#D9D9D9"},{key:"colorMediumBlue",value:"#6FA8DC"},{key:"colorOrange",value:"#ED7D31"},{key:"colorAmber",value:"#F1C232"},{key:"colorMediumGreen",value:"#70AD47"}],[{key:"colorGray",value:"#BFBFBF"},{key:"colorRoyalBlue",value:"#4A86E8"},{key:"colorRed",value:"#E06666"},{key:"colorDarkGold",value:"#BF8F00"},{key:"colorDarkGreen",value:"#548235"}],[{key:"colorDarkGray",value:"#A5A5A5"},{key:"colorDeepBlue",value:"#2E75B6"},{key:"colorDarkRed",value:"#CC4125"},{key:"colorOlive",value:"#806000"},{key:"colorForest",value:"#375623"}],[{key:"colorCharcoal",value:"#808080"},{key:"colorNavy",value:"#1F4E79"},{key:"colorCrimson",value:"#993300"},{key:"colorDarkOlive",value:"#5C4500"},{key:"colorDeepForest",value:"#2D6A4F"}],[{key:"colorSlate",value:"#595959"},{key:"colorMidnight",value:"#17375E"},{key:"colorMaroon",value:"#5A1E00"},{key:"colorCoffee",value:"#3D3000"},{key:"colorEvergreen",value:"#1B4332"}],[{key:"colorDarkSlate",value:"#404040"},{key:"colorDarkNavy",value:"#0C2340"},{key:"colorDarkMaroon",value:"#2E0A00"},{key:"colorDarkCoffee",value:"#1F1800"},{key:"colorInkGreen",value:"#081C15"}]],I=t.computed(()=>n.colorKey==="fill"?i:k);function g(G){return $(n.locale,G)}function ee(G){const U=n.currentColor;return!U&&!G?!0:U?U.toLowerCase()===G.toLowerCase():!1}const Y=t.ref(!1),y=t.ref(null),ne=t.ref(null),A=t.ref({top:0});t.watch(()=>n.modelOpen,G=>{G!==void 0&&G!==Y.value&&(G?ge():me())});function m(G){const U=y.value,pe=ne.value,T=G.target;U&&U.contains(T)||pe&&pe.contains(T)||me()}function ge(){Y.value=!0,n.modelOpen!==void 0&&u("update:modelOpen",!0),t.nextTick(()=>{const G=n.triggerEl??y.value;if(G){const U=G.getBoundingClientRect(),pe=150,T=120;let P=window.innerWidth-U.right,be=U.bottom+4,ye;U.left-T<4&&(P=void 0,ye=Math.max(4,U.left)),be+pe>window.innerHeight-4&&(be=U.top-pe-4),be<4&&(be=4),A.value=P!==void 0?{right:P,top:be}:{left:ye,top:be}}document.addEventListener("mousedown",m)})}function me(){Y.value=!1,n.modelOpen!==void 0&&u("update:modelOpen",!1),document.removeEventListener("mousedown",m)}function we(G){u("update:modelValue",G),u("change",G),me()}return t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",m)}),v({open:Y,openMenu:ge,close:me}),(G,U)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:y,class:"color-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[Y.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:ne,class:"color-picker__menu",style:t.normalizeStyle({left:A.value.left!==void 0?A.value.left+"px":void 0,right:A.value.right!==void 0?A.value.right+"px":void 0,top:A.value.top+"px"}),onMousedown:U[0]||(U[0]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(I.value,(pe,T)=>(t.openBlock(),t.createElementBlock("div",{key:T,class:"color-picker__row"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(pe,P=>(t.openBlock(),t.createElementBlock("button",{key:P.value,class:t.normalizeClass(["color-picker__swatch",{"color-picker__swatch--selected":ee(P.value)}]),title:g(P.key),style:t.normalizeStyle({background:P.value||"transparent",border:P.value?"1px solid rgba(0,0,0,0.15)":"1px dashed #999"}),onClick:be=>we(P.value)},null,14,Ul))),128))]))),128))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-f00d0dae"]]),Pl=["title","onClick"],Yl={viewBox:"0 0 30 30",class:"border-picker__icon"},Xl=["x1","y1","x2","y2","stroke-width","stroke-dasharray","stroke-linecap"],jl={class:"border-picker__label"},Zl=ft(t.defineComponent({__name:"borderPicker",props:{modelOpen:{type:Boolean,default:void 0},locale:{default:"zh-CN"},currentBorder:{default:"none"},triggerEl:{default:null}},emits:["update:modelOpen","change"],setup(e,{expose:v,emit:p}){const n=e,u=p,k=[{key:"bottom",i18nKey:"borderBottom"},{key:"top",i18nKey:"borderTop"},{key:"left",i18nKey:"borderLeft"},{key:"right",i18nKey:"borderRight"},{key:"none",i18nKey:"borderNone"},{key:"all",i18nKey:"borderAll"},{key:"outer",i18nKey:"borderOuter"},{key:"thickOuter",i18nKey:"borderThickOuter"}],i=[{name:"top",x1:4,y1:4,x2:26,y2:4},{name:"bottom",x1:4,y1:26,x2:26,y2:26},{name:"left",x1:4,y1:4,x2:4,y2:26},{name:"right",x1:26,y1:4,x2:26,y2:26},{name:"vMid",x1:15,y1:4,x2:15,y2:26},{name:"hMid",x1:4,y1:15,x2:26,y2:15}],I={bottom:["bottom"],top:["top"],left:["left"],right:["right"],none:[],all:["top","bottom","left","right","vMid","hMid"],outer:["top","bottom","left","right"],thickOuter:["top","bottom","left","right"]},g={bottom:[],top:[],left:[],right:[],none:[],all:[],outer:[],thickOuter:["top","bottom","left","right"]};function ee(G,U){return g[G].includes(U)?"thick":I[G].includes(U)?"solid":"dashed"}const Y=t.ref(!1),y=t.ref(null),ne=t.ref(null),A=t.ref({top:0});t.watch(()=>n.modelOpen,G=>{G!==void 0&&G!==Y.value&&(G?ge():me())});function m(G){const U=y.value,pe=ne.value,T=G.target;U&&U.contains(T)||pe&&pe.contains(T)||me()}function ge(){Y.value=!0,n.modelOpen!==void 0&&u("update:modelOpen",!0),t.nextTick(()=>{const G=n.triggerEl??y.value;if(G){const U=G.getBoundingClientRect(),pe=200,T=160;let P=window.innerWidth-U.right,be=U.bottom+4,ye;U.left-T<4&&(P=void 0,ye=Math.max(4,U.left)),be+pe>window.innerHeight-4&&(be=U.top-pe-4),be<4&&(be=4),A.value=P!==void 0?{right:P,top:be}:{left:ye,top:be}}document.addEventListener("mousedown",m)})}function me(){Y.value=!1,n.modelOpen!==void 0&&u("update:modelOpen",!1),document.removeEventListener("mousedown",m)}function we(G){u("change",G),me()}return t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",m)}),v({open:Y,openMenu:ge,close:me}),(G,U)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:y,class:"border-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[Y.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:ne,class:"border-picker__menu",style:t.normalizeStyle({left:A.value.left!==void 0?A.value.left+"px":void 0,right:A.value.right!==void 0?A.value.right+"px":void 0,top:A.value.top+"px"}),onMousedown:U[0]||(U[0]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(k,pe=>t.createElementVNode("button",{key:pe.key,class:"border-picker__item",title:t.unref($)(e.locale,pe.i18nKey),onClick:T=>we(pe.key)},[(t.openBlock(),t.createElementBlock("svg",Yl,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,T=>t.createElementVNode("line",{key:T.name,x1:T.x1,y1:T.y1,x2:T.x2,y2:T.y2,stroke:"currentColor","stroke-width":ee(pe.key,T.name)==="thick"?3:1.5,"stroke-dasharray":ee(pe.key,T.name)==="dashed"?"0 4":"none","stroke-linecap":ee(pe.key,T.name)==="dashed"?"round":"square"},null,8,Xl)),64))])),t.createElementVNode("span",jl,t.toDisplayString(t.unref($)(e.locale,pe.i18nKey)),1)],8,Pl)),64))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-3721e5e4"]]),ql=["title","onClick"],Jl=["innerHTML"],Ql={class:"merge-picker__label"},eo=ft(t.defineComponent({__name:"mergePicker",props:{modelOpen:{type:Boolean,default:void 0},locale:{default:"zh-CN"},triggerEl:{default:null}},emits:["update:modelOpen","change"],setup(e,{expose:v,emit:p}){const n=e,u=p,k=t.ref(!1),i=t.ref(null),I=t.ref(null),g=t.ref({top:0});t.watch(()=>n.modelOpen,A=>{A!==void 0&&A!==k.value&&(A?Y():y())});function ee(A){const m=i.value,ge=I.value,me=A.target;m&&m.contains(me)||ge&&ge.contains(me)||y()}function Y(){k.value=!0,n.modelOpen!==void 0&&u("update:modelOpen",!0),t.nextTick(()=>{const A=n.triggerEl??i.value;if(A){const m=A.getBoundingClientRect(),ge=sl.length*30+12,me=160;let we=window.innerWidth-m.right,G=m.bottom+4,U;m.left-me<4&&(we=void 0,U=Math.max(4,m.left)),G+ge>window.innerHeight-4&&(G=m.top-ge-4),G<4&&(G=4),g.value=we!==void 0?{right:we,top:G}:{left:U,top:G}}document.addEventListener("mousedown",ee)})}function y(){k.value=!1,n.modelOpen!==void 0&&u("update:modelOpen",!1),document.removeEventListener("mousedown",ee)}function ne(A){u("change",A),y()}return t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",ee)}),v({open:k,openMenu:Y,close:y}),(A,m)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:i,class:"merge-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[k.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:I,class:"merge-picker__menu",style:t.normalizeStyle({left:g.value.left!==void 0?g.value.left+"px":void 0,right:g.value.right!==void 0?g.value.right+"px":void 0,top:g.value.top+"px"}),onMousedown:m[0]||(m[0]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(sl),ge=>(t.openBlock(),t.createElementBlock("button",{key:ge.key,class:"merge-picker__item",title:t.unref($)(e.locale,ge.labelKey),onClick:me=>ne(ge.key)},[t.createElementVNode("span",{class:"merge-picker__icon",innerHTML:ge.icon},null,8,Jl),t.createElementVNode("span",Ql,t.toDisplayString(t.unref($)(e.locale,ge.labelKey)),1)],8,ql))),128))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-24e4dbe5"]]),to={class:"tb-item","data-key":"undo"},lo=["title","disabled"],oo={class:"tb-item","data-key":"redo"},no=["title","disabled"],ro={class:"tb-item","data-key":"paint"},ao=["title","disabled"],io={class:"tb-item","data-key":"clear"},co=["title","disabled"],so={class:"tb-item","data-key":"font"},uo={class:"tb-item","data-key":"fontSize"},fo={class:"toolbar-font-size"},mo=["value","title"],po=["title"],go=["title","disabled"],ho=["title","disabled"],vo={class:"tb-item","data-key":"bold"},Co=["title","disabled"],bo={class:"tb-item","data-key":"italic"},yo=["title","disabled"],wo={class:"tb-item","data-key":"underline"},ko=["title","disabled"],Eo={class:"tb-item","data-key":"strike"},Bo=["title","disabled"],Ro={class:"tb-item","data-key":"textColor"},xo={class:"toolbar-split"},So=["title","disabled"],Mo={viewBox:"0 0 1024 1024",fill:"currentColor"},To=["fill"],Do=["title","disabled"],Ho={class:"tb-item","data-key":"fillColor"},Ao={class:"toolbar-split"},Fo=["title","disabled"],No={viewBox:"0 0 1024 1024",fill:"currentColor"},Io=["fill"],Lo=["title","disabled"],Oo={class:"tb-item","data-key":"border"},Vo={class:"toolbar-split"},Wo=["title","disabled"],zo={viewBox:"0 0 30 30",fill:"none",stroke:"currentColor"},$o=["x1","y1","x2","y2","stroke-width","stroke-dasharray","stroke-linecap"],_o=["title","disabled"],Go={class:"tb-item","data-key":"hAlign"},Ko={class:"tb-item","data-key":"vAlign"},Uo={class:"tb-item","data-key":"wrap"},Po=["title"],Yo={class:"tb-item","data-key":"merge"},Xo={class:"toolbar-split"},jo=["title","disabled"],Zo=["title","disabled"],Jt=2,qo=6,Jo=34,Qo=ft(t.defineComponent({__name:"toolbar",props:{locale:{},canUndo:{type:Boolean},canRedo:{type:Boolean},paintFmtActive:{type:Boolean},hasSelection:{type:Boolean},fontFamilyOptions:{},fontSizeOptions:{},selFontFamily:{},selFontSize:{},fontSizeInput:{},fontSizeMenuOpen:{type:Boolean},selFontWeight:{type:Boolean},selFontStyle:{type:Boolean},selUnderline:{type:Boolean},selStrikethrough:{type:Boolean},selTextColor:{},textColorMenuOpen:{type:Boolean},selFillColor:{},fillColorMenuOpen:{type:Boolean},cachedTextColor:{},cachedFillColor:{},borderMenuOpen:{type:Boolean},cachedBorder:{},selHAlign:{},selVAlign:{},selWrap:{type:Boolean},hAlignOptions:{},vAlignOptions:{},mergeMenuOpen:{type:Boolean},themeVars:{}},emits:["undo","redo","paint-format","clear-format","font-size-blur","font-size-toggle","font-size-step-up","font-size-step-down","bold-toggle","italic-toggle","underline-toggle","strikethrough-toggle","apply-text-color","apply-fill-color","apply-border","wrap-toggle","apply-merge","font-family-change","font-size-change","h-align-change","v-align-change","font-size-input","text-color-change","fill-color-change","font-size-keydown","update:font-size-menu-open","update:text-color-menu-open","update:fill-color-menu-open","update:border-menu-open","update:merge-menu-open","border-change","merge-change"],setup(e,{emit:v}){const p=[{name:"top",x1:4,y1:4,x2:26,y2:4},{name:"bottom",x1:4,y1:26,x2:26,y2:26},{name:"left",x1:4,y1:4,x2:4,y2:26},{name:"right",x1:26,y1:4,x2:26,y2:26},{name:"vMid",x1:15,y1:4,x2:15,y2:26},{name:"hMid",x1:4,y1:15,x2:26,y2:15}],n={bottom:["bottom"],top:["top"],left:["left"],right:["right"],none:[],all:["top","bottom","left","right","vMid","hMid"],outer:["top","bottom","left","right"],thickOuter:["top","bottom","left","right"]},u={bottom:[],top:[],left:[],right:[],none:[],all:[],outer:[],thickOuter:["top","bottom","left","right"]};function k(w,o){return u[w].includes(o)?"thick":n[w].includes(o)?"solid":"dashed"}const i=["undo","redo","paint","clear","sep1","font","fontSize","sep2","bold","italic","underline","strike","sep3","textColor","fillColor","border","sep4","hAlign","vAlign","wrap","merge"],I=t.ref(null),g=t.ref(null),ee=t.ref(null),Y=t.ref(null),y=t.ref(null),ne=t.ref(null),A=t.ref(null),m=t.ref(null),ge=t.ref(new Set),me=t.ref(!1),we=t.ref(!1),G=t.ref(0),U=new Map,pe=t.computed(()=>ge.value.size>0);function T(w){return ge.value.has(w)}function P(){if(!I.value)return;I.value.querySelectorAll(".tb-item").forEach(o=>{const a=o.dataset.key;a&&U.set(a,o.offsetWidth)})}function be(w,o){if(w.size!==o.size)return!1;for(const a of w)if(!o.has(a))return!1;return!0}function ye(){if(!I.value)return;const w=I.value.clientWidth-qo*2;if(w<=0)return;U.size===0&&P();let o=0;for(const O of i)o+=(U.get(O)??0)+Jt;const a=new Set;if(o>w){const O=w-Jo-Jt;let H=0;for(let V=0;V<i.length;V++){const ae=i[V],ve=(U.get(ae)??0)+Jt;if(H+ve>O){for(let xe=V;xe<i.length;xe++)a.add(i[xe]);break}H+=ve}}be(a,ge.value)||(ge.value=a,G.value++,a.size===0&&(me.value=!1))}let te=null;const s=t.ref(0),C=t.computed(()=>{const w=ee.value,o={position:"fixed",top:"0px",right:"0px"};if(!w)return{...r.themeVars,...o};s.value;const a=w.getBoundingClientRect();return{...r.themeVars,position:"fixed",top:`${a.bottom+4}px`,right:`${window.innerWidth-a.right}px`}});function He(){me.value&&(s.value++,t.nextTick(()=>ye()))}function Se(w){var a,O;if(!me.value)return;const o=w.target;(a=g.value)!=null&&a.contains(o)||(O=ee.value)!=null&&O.contains(o)||(we.value=!0,me.value=!1,t.nextTick(()=>{we.value=!1}))}function ce(){me.value=!me.value}t.onMounted(()=>{t.nextTick(()=>{P(),ye()}),I.value&&(te=new ResizeObserver(()=>{me.value||ye()}),te.observe(I.value)),document.addEventListener("mousedown",Se,!0),window.addEventListener("resize",He)}),t.onBeforeUnmount(()=>{te==null||te.disconnect(),document.removeEventListener("mousedown",Se,!0),window.removeEventListener("resize",He)});const r=e,f=v;return(w,o)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{ref_key:"rootEl",ref:I,class:"toolbar"},[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("undo"),to:g.value??void 0},[t.createElementVNode("div",to,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.canUndo}]),title:t.unref($)(e.locale,"undo"),disabled:!e.canUndo,onClick:o[0]||(o[0]=a=>f("undo"))},[...o[39]||(o[39]=[t.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M596.16 284.064H258.56l101.376-101.44a31.968 31.968 0 1 0-45.248-45.216L178.56 273.504c-11.904 11.872-18.496 27.84-18.56 44.8a63.04 63.04 0 0 0 18.56 45.28l136.128 136.16a31.904 31.904 0 0 0 45.248 0 31.968 31.968 0 0 0 0-45.248l-106.752-106.496H596.16c114.88 0 208.32 93.312 208.32 208s-93.44 208-208.32 208h-223.36a32 32 0 0 0 0 64h223.36c150.144 0 272.32-122.016 272.32-272 0-149.984-122.176-272-272.32-272"})],-1)])],10,lo)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("redo"),to:g.value??void 0},[t.createElementVNode("div",oo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.canRedo}]),title:t.unref($)(e.locale,"redo"),disabled:!e.canRedo,onClick:o[1]||(o[1]=a=>f("redo"))},[...o[40]||(o[40]=[t.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{transform:"translate(1024, 0) scale(-1, 1)",d:"M596.16 284.064H258.56l101.376-101.44a31.968 31.968 0 1 0-45.248-45.216L178.56 273.504c-11.904 11.872-18.496 27.84-18.56 44.8a63.04 63.04 0 0 0 18.56 45.28l136.128 136.16a31.904 31.904 0 0 0 45.248 0 31.968 31.968 0 0 0 0-45.248l-106.752-106.496H596.16c114.88 0 208.32 93.312 208.32 208s-93.44 208-208.32 208h-223.36a32 32 0 0 0 0 64h223.36c150.144 0 272.32-122.016 272.32-272 0-149.984-122.176-272-272.32-272"})],-1)])],10,no)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("paint"),to:g.value??void 0},[t.createElementVNode("div",ro,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.paintFmtActive}]),title:t.unref($)(e.locale,"paintFormat"),disabled:!e.hasSelection,onClick:o[2]||(o[2]=a=>f("paint-format"))},[...o[41]||(o[41]=[t.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M722.285714 438.857143a36.571429 36.571429 0 0 1-36.571428 36.571428h-512a36.571429 36.571429 0 0 1-36.571429-36.571428V164.571429a36.571429 36.571429 0 0 1 36.571429-36.571429h512a36.571429 36.571429 0 0 1 36.571428 36.571429V256h128a36.571429 36.571429 0 0 1 36.571429 36.571429v294.4a36.571429 36.571429 0 0 1-31.890286 36.278857L448 675.766857V859.428571a36.571429 36.571429 0 0 1-32.292571 36.315429l-4.278858 0.256a36.571429 36.571429 0 0 1-36.571428-36.571429v-215.771428a36.571429 36.571429 0 0 1 31.890286-36.278857l406.966857-52.553143V329.142857h-91.428572v109.714286z m-73.142857-237.714286h-438.857143V402.285714h438.857143V201.142857z"})],-1)])],10,ao)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("clear"),to:g.value??void 0},[t.createElementVNode("div",io,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.hasSelection}]),title:t.unref($)(e.locale,"clearFormat"),disabled:!e.hasSelection,onClick:o[3]||(o[3]=a=>f("clear-format"))},[...o[42]||(o[42]=[t.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M672.748 105.674c-3.666-3.799-8.778-5.949-14.125-5.949-5.341 0-10.459 2.15-14.119 5.949L10.418 754.633c-7.789 8.163-7.789 20.798 0 28.967l123.353 126.213c7.782 7.979 23.113 14.461 34.111 14.461h395.042c12.774-0.742 24.882-5.854 34.162-14.461l416.525-426.362c7.751-8.163 7.751-20.76 0-28.916l-340.92-348.861h0.057zM557.85 832.801c-9.273 8.582-21.343 13.707-34.111 14.461H217.888c-12.781-0.742-24.882-5.867-34.162-14.461l-58.074-59.482c-7.782-8.163-7.782-20.804 0-28.967l232.333-237.87c3.666-3.799 8.778-5.949 14.125-5.949s10.453 2.15 14.119 5.949l231.102 236.551c7.744 8.157 7.744 20.753 0 28.916l-59.539 60.909 0.058-0.057z m0 0"})],-1)])],10,co)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("sep1"),to:g.value??void 0},[o[43]||(o[43]=t.createElementVNode("div",{class:"tb-item","data-key":"sep1"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("font"),to:g.value??void 0},[t.createElementVNode("div",so,[t.createVNode(_t,{class:"toolbar-font","model-value":e.selFontFamily,options:e.fontFamilyOptions,width:T("font")?"100%":110,"menu-width":T("font")?120:void 0,"visible-count":8,title:t.unref($)(e.locale,"fontFamily"),align:"right",onChange:o[4]||(o[4]=a=>f("font-family-change",a))},null,8,["model-value","options","width","menu-width","title"])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("fontSize"),to:g.value??void 0},[t.createElementVNode("div",uo,[t.createElementVNode("div",fo,[t.createElementVNode("input",{class:"toolbar-font-size__input",type:"number",min:"5",max:"72",step:"1",value:e.fontSizeInput,title:t.unref($)(e.locale,"fontSize"),onInput:o[5]||(o[5]=a=>f("font-size-input",a.target.value)),onBlur:o[6]||(o[6]=a=>f("font-size-blur")),onKeydown:o[7]||(o[7]=a=>f("font-size-keydown",a))},null,40,mo),t.createVNode(_t,{class:"toolbar-font-size__dropdown","model-value":e.selFontSize,options:e.fontSizeOptions,width:T("fontSize")?"100%":56,"menu-width":T("fontSize")?120:56,"visible-count":9,title:t.unref($)(e.locale,"fontSize"),"hide-trigger":!0,"model-open":e.fontSizeMenuOpen,align:"right","trigger-el":m.value,"onUpdate:modelOpen":o[8]||(o[8]=a=>f("update:font-size-menu-open",a)),onChange:o[9]||(o[9]=a=>f("font-size-change",a))},null,8,["model-value","options","width","menu-width","title","model-open","trigger-el"]),t.createElementVNode("button",{ref_key:"fontSizeArrowRef",ref:m,class:"toolbar-font-size__btn",type:"button",title:t.unref($)(e.locale,"fontSize"),onMousedown:o[10]||(o[10]=t.withModifiers(()=>{},["prevent"])),onClick:o[11]||(o[11]=a=>f("font-size-toggle"))},[...o[44]||(o[44]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053333 361.386667a32 32 0 0 1 45.226667 0L512 648.106667l286.72-286.72a32 32 0 1 1 45.226667 45.226666l-309.333334 309.333334a32 32 0 0 1-45.226666 0L180.053333 406.613333a32 32 0 0 1 0-45.226666z"})],-1)])],40,po),t.createElementVNode("button",{class:"toolbar-btn toolbar-btn--step",type:"button",title:t.unref($)(e.locale,"fontSizeDecrease"),disabled:!e.hasSelection,onMousedown:o[12]||(o[12]=t.withModifiers(()=>{},["prevent"])),onClick:o[13]||(o[13]=a=>f("font-size-step-down"))},[...o[45]||(o[45]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M481.28 125.95a29.506 29.506 0 0 0-27.45-18.7h-63.34c-12.13 0-23.02 7.42-27.45 18.7L67.94 876.46c-7.61 19.35 6.66 40.29 27.45 40.29h35.47c12.26 0 23.24-7.58 27.58-19.04l80.89-213.35h364.54l81.94 213.46a29.51 29.51 0 0 0 27.54 18.93h35.56c20.8 0 35.06-20.94 27.45-40.29L481.28 125.95zM273.47 594.06l145.38-384.38h2.2l147.58 384.38H273.47zM928.64 195.74h-177c-16.29 0-29.5 13.21-29.5 29.5s13.21 29.5 29.5 29.5h177c16.29 0 29.5-13.21 29.5-29.5s-13.21-29.5-29.5-29.5z"})],-1)])],40,go),t.createElementVNode("button",{class:"toolbar-btn toolbar-btn--step",type:"button",title:t.unref($)(e.locale,"fontSizeIncrease"),disabled:!e.hasSelection,onMousedown:o[14]||(o[14]=t.withModifiers(()=>{},["prevent"])),onClick:o[15]||(o[15]=a=>f("font-size-step-up"))},[...o[46]||(o[46]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M481.28 125.95a29.506 29.506 0 0 0-27.45-18.7h-63.34c-12.13 0-23.02 7.42-27.45 18.7L67.94 876.46c-7.61 19.35 6.66 40.29 27.45 40.29h35.47c12.26 0 23.24-7.58 27.58-19.04l80.89-213.35h364.54l81.94 213.46a29.51 29.51 0 0 0 27.54 18.93h35.56c20.8 0 35.06-20.94 27.45-40.29L481.28 125.95zM273.47 594.06l145.38-384.38h2.2l147.58 384.38H273.47zM928.64 195.74h-59v-59c0-16.29-13.21-29.5-29.5-29.5s-29.5 13.21-29.5 29.5v59h-59c-16.29 0-29.5 13.21-29.5 29.5s13.21 29.5 29.5 29.5h59v59c0 16.29 13.21 29.5 29.5 29.5s29.5-13.21 29.5-29.5v-59h59c16.29 0 29.5-13.21 29.5-29.5s-13.21-29.5-29.5-29.5z"})],-1)])],40,ho)])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("sep2"),to:g.value??void 0},[o[47]||(o[47]=t.createElementVNode("div",{class:"tb-item","data-key":"sep2"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("bold"),to:g.value??void 0},[t.createElementVNode("div",vo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selFontWeight}]),title:t.unref($)(e.locale,"bold"),disabled:!e.hasSelection,onClick:o[16]||(o[16]=a=>f("bold-toggle"))},[...o[48]||(o[48]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[t.createElementVNode("path",{d:"M733.610667 467.712A267.562667 267.562667 0 0 0 548.010667 10.581333H183.466667a53.333333 53.333333 0 0 0 0 106.666667h43.221333a10.666667 10.666667 0 0 1 10.666667 10.666667V896a10.666667 10.666667 0 0 1-10.666667 10.666667H183.466667a53.333333 53.333333 0 1 0 0 106.666666h425.088a287.658667 287.658667 0 0 0 125.013333-545.536z m-185.6-350.464a160.512 160.512 0 0 1 0 320.981333H354.688a10.666667 10.666667 0 0 1-10.666667-10.666666V128a10.666667 10.666667 0 0 1 10.666667-10.666667z m60.586666 789.333333H354.688a10.666667 10.666667 0 0 1-10.666667-10.666666v-340.352a10.666667 10.666667 0 0 1 10.666667-10.666667H608.597333a180.864 180.864 0 0 1 0 361.685333z"})])],-1)])],10,Co)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("italic"),to:g.value??void 0},[t.createElementVNode("div",bo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selFontStyle}]),title:t.unref($)(e.locale,"italic"),disabled:!e.hasSelection,onClick:o[17]||(o[17]=a=>f("italic-toggle"))},[...o[49]||(o[49]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[t.createElementVNode("path",{d:"M960 10.581333h-325.845333a53.333333 53.333333 0 0 0 0 106.666667h46.336a10.666667 10.666667 0 0 1 9.002666 16.384L203.946667 896.725333a21.333333 21.333333 0 0 1-18.005334 9.856H64a53.333333 53.333333 0 0 0 0 106.666667h325.845333a53.333333 53.333333 0 0 0 0-106.666667H343.509333a10.666667 10.666667 0 0 1-9.002666-16.384L820.053333 127.146667a21.333333 21.333333 0 0 1 18.005334-9.898667H960a53.333333 53.333333 0 0 0 0-106.666667z"})])],-1)])],10,yo)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("underline"),to:g.value??void 0},[t.createElementVNode("div",wo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selUnderline}]),title:t.unref($)(e.locale,"underline"),disabled:!e.hasSelection,onClick:o[18]||(o[18]=a=>f("underline-toggle"))},[...o[50]||(o[50]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[t.createElementVNode("path",{d:"M960 906.581333h-896a53.333333 53.333333 0 0 0 0 106.666667h896a53.333333 53.333333 0 0 0 0-106.666667zM84.394667 117.248h58.154666a10.666667 10.666667 0 0 1 10.666667 10.666667v363.648a358.784 358.784 0 0 0 717.568 0V128a10.666667 10.666667 0 0 1 10.666667-10.666667h58.154666a53.333333 53.333333 0 0 0 0-106.666666H695.466667a53.333333 53.333333 0 0 0 0 106.666666h58.154666a10.666667 10.666667 0 0 1 10.666667 10.666667v363.648a252.117333 252.117333 0 0 1-504.234667 0V128a10.666667 10.666667 0 0 1 10.666667-10.666667H328.533333a53.333333 53.333333 0 1 0 0-106.666666H84.394667a53.333333 53.333333 0 0 0 0 106.666666z"})])],-1)])],10,ko)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("strike"),to:g.value??void 0},[t.createElementVNode("div",Eo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selStrikethrough}]),title:t.unref($)(e.locale,"strikethrough"),disabled:!e.hasSelection,onClick:o[19]||(o[19]=a=>f("strikethrough-toggle"))},[...o[51]||(o[51]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[t.createElementVNode("path",{d:"M1013.333333 552.618667A53.333333 53.333333 0 0 0 960 499.2h-381.269333a20.992 20.992 0 0 1-12.032-3.84c-30.805333-21.888-63.232-41.856-94.634667-61.098667-119.466667-73.173333-192-123.733333-192-207.488 0-95.36 94.165333-109.610667 150.314667-109.610666a193.706667 193.706667 0 0 1 131.456 32.597333 113.578667 113.578667 0 0 1 19.072 84.906667v12.8a53.333333 53.333333 0 1 0 106.666666 0v-11.434667a208.512 208.512 0 0 0-49.706666-161.152C595.157333 31.616 527.317333 10.581333 430.549333 10.581333c-156.074667 0-256.981333 84.864-256.981333 216.277334 0 118.314667 80.725333 192.512 170.666667 252.885333a10.666667 10.666667 0 0 1-5.930667 19.541333H64a53.333333 53.333333 0 0 0 0 106.666667h468.352a10.709333 10.709333 0 0 1 6.784 2.474667 185.130667 185.130667 0 0 1 82.432 147.882666c0 139.434667-146.176 150.272-191.018667 150.272-77.397333 0-133.930667-17.28-163.584-50.048a144.810667 144.810667 0 0 1-27.733333-115.2 53.333333 53.333333 0 0 0-106.154667-10.496A245.76 245.76 0 0 0 187.733333 928.128c51.2 56.490667 132.864 85.333333 242.688 85.333333 178.090667 0 297.685333-103.253333 297.685334-256.938666a258.517333 258.517333 0 0 0-36.224-134.272 10.666667 10.666667 0 0 1 9.216-16.085334H960a53.333333 53.333333 0 0 0 53.333333-53.546666z"})])],-1)])],10,Bo)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("sep3"),to:g.value??void 0},[o[52]||(o[52]=t.createElementVNode("div",{class:"tb-item","data-key":"sep3"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("textColor"),to:g.value??void 0},[t.createElementVNode("div",Ro,[t.createElementVNode("div",xo,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref($)(e.locale,"fontColor"),disabled:!e.hasSelection,onClick:o[20]||(o[20]=a=>f("apply-text-color"))},[(t.openBlock(),t.createElementBlock("svg",Mo,[o[53]||(o[53]=t.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[t.createElementVNode("path",{d:"M663.120842 529.946947H364.759579l-84.07579 212.884211a53.894737 53.894737 0 0 1-50.122105 34.169263h-14.551579a34.869895 34.869895 0 0 1-32.498526-47.696842L443.715368 70.063158a53.894737 53.894737 0 0 1 50.122106-34.115369h41.768421a53.894737 53.894737 0 0 1 50.176 34.277053l257.670737 659.078737a34.977684 34.977684 0 0 1-32.552421 47.696842h-14.389895a53.894737 53.894737 0 0 1-50.229895-34.277053l-83.159579-212.776421z m-35.139368-89.788631l-113.340632-289.953684-114.472421 289.953684h227.813053z"})],-1)),t.createElementVNode("path",{d:"M62.895 844.369m53.895 0l790.474 0q53.895 0 53.895 53.895l0 26.947q0 53.895-53.895 53.895l-790.474 0q-53.895 0-53.895-53.895l0-26.947q0-53.895 53.895-53.895z",fill:e.cachedTextColor||"#000000"},null,8,To)]))],8,So),t.createElementVNode("button",{ref_key:"textColorArrowRef",ref:Y,class:"toolbar-btn toolbar-split__arrow",title:t.unref($)(e.locale,"fontColor"),disabled:!e.hasSelection,onClick:o[21]||(o[21]=a=>f("update:text-color-menu-open",!e.textColorMenuOpen))},[...o[54]||(o[54]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053 361.387a32 32 0 0 1 45.227 0L512 648.107l286.72-286.72a32 32 0 1 1 45.227 45.227l-309.334 309.333a32 32 0 0 1-45.226 0L180.053 406.613a32 32 0 0 1 0-45.226z"})],-1)])],8,Do),t.createVNode(dl,{"model-open":e.textColorMenuOpen,"color-key":"text","current-color":e.selTextColor,locale:e.locale,"trigger-el":Y.value,"onUpdate:modelOpen":o[22]||(o[22]=a=>f("update:text-color-menu-open",a)),onChange:o[23]||(o[23]=a=>f("text-color-change",a))},null,8,["model-open","current-color","locale","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("fillColor"),to:g.value??void 0},[t.createElementVNode("div",Ho,[t.createElementVNode("div",Ao,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref($)(e.locale,"fillColor"),disabled:!e.hasSelection,onClick:o[24]||(o[24]=a=>f("apply-fill-color"))},[(t.openBlock(),t.createElementBlock("svg",No,[o[55]||(o[55]=t.createElementVNode("path",{d:"M447.018667 37.952l352.298666 352.298667c6.613333 6.613333 6.613333 17.344 0 23.957333L446.101333 767.424a16.938667 16.938667 0 0 1-23.957333 0L121.429333 466.688a16.938667 16.938667 0 0 1 0-23.957333L428.608 135.552 388.992 96a8.469333 8.469333 0 0 1 0-11.989333l46.058667-46.037334a8.469333 8.469333 0 0 1 11.968 0z m346.325333 517.461333l57.514667 60.074667c31.744 33.194667 31.744 86.997333 0 120.192a78.869333 78.869333 0 0 1-115.008 0c-31.765333-33.194667-31.765333-86.997333 0-120.192l57.493333-60.074667zM486.101333 193.066667l-261.12 261.12 20.458667 20.458666 380.16-1.728 70.186667-70.186666-209.706667-209.664z"},null,-1)),t.createElementVNode("path",{d:"M85.333333 853.333333m8.896 0l835.541334 0q8.896 0 8.896 8.896l0 110.208q0 8.896-8.896 8.896l-835.541334 0q-8.896 0-8.896-8.896l0-110.208q0-8.896 8.896-8.896Z",fill:e.cachedFillColor||"currentColor"},null,8,Io)]))],8,Fo),t.createElementVNode("button",{ref_key:"fillColorArrowRef",ref:y,class:"toolbar-btn toolbar-split__arrow",title:t.unref($)(e.locale,"fillColor"),disabled:!e.hasSelection,onClick:o[25]||(o[25]=a=>f("update:fill-color-menu-open",!e.fillColorMenuOpen))},[...o[56]||(o[56]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053 361.387a32 32 0 0 1 45.227 0L512 648.107l286.72-286.72a32 32 0 1 1 45.227 45.227l-309.334 309.333a32 32 0 0 1-45.226 0L180.053 406.613a32 32 0 0 1 0-45.226z"})],-1)])],8,Lo),t.createVNode(dl,{"model-open":e.fillColorMenuOpen,"color-key":"fill","current-color":e.selFillColor,locale:e.locale,"trigger-el":y.value,"onUpdate:modelOpen":o[26]||(o[26]=a=>f("update:fill-color-menu-open",a)),onChange:o[27]||(o[27]=a=>f("fill-color-change",a))},null,8,["model-open","current-color","locale","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("border"),to:g.value??void 0},[t.createElementVNode("div",Oo,[t.createElementVNode("div",Vo,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref($)(e.locale,"borders"),disabled:!e.hasSelection,onClick:o[28]||(o[28]=a=>f("apply-border"))},[(t.openBlock(),t.createElementBlock("svg",zo,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(p,a=>t.createElementVNode("line",{key:a.name,x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2,"stroke-width":k(e.cachedBorder,a.name)==="thick"?3:1.5,"stroke-dasharray":k(e.cachedBorder,a.name)==="dashed"?"0 4":"none","stroke-linecap":k(e.cachedBorder,a.name)==="dashed"?"round":"square"},null,8,$o)),64))]))],8,Wo),t.createElementVNode("button",{ref_key:"borderArrowRef",ref:ne,class:"toolbar-btn toolbar-split__arrow",title:t.unref($)(e.locale,"borders"),disabled:!e.hasSelection,onClick:o[29]||(o[29]=a=>f("update:border-menu-open",!e.borderMenuOpen))},[...o[57]||(o[57]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053 361.387a32 32 0 0 1 45.227 0L512 648.107l286.72-286.72a32 32 0 1 1 45.227 45.227l-309.334 309.333a32 32 0 0 1-45.226 0L180.053 406.613a32 32 0 0 1 0-45.226z"})],-1)])],8,_o),t.createVNode(Zl,{"model-open":e.borderMenuOpen,locale:e.locale,"current-border":e.cachedBorder,"trigger-el":ne.value,"onUpdate:modelOpen":o[30]||(o[30]=a=>f("update:border-menu-open",a)),onChange:o[31]||(o[31]=a=>f("border-change",a))},null,8,["model-open","locale","current-border","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("sep4"),to:g.value??void 0},[o[58]||(o[58]=t.createElementVNode("div",{class:"tb-item","data-key":"sep4"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("hAlign"),to:g.value??void 0},[t.createElementVNode("div",Go,[t.createVNode(_t,{class:"toolbar-align","model-value":e.selHAlign,options:e.hAlignOptions,width:T("hAlign")?"100%":44,"menu-width":T("hAlign")?120:void 0,"visible-count":3,align:"right",title:t.unref($)(e.locale,"hAlign"),onChange:o[32]||(o[32]=a=>f("h-align-change",a))},null,8,["model-value","options","width","menu-width","title"])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("vAlign"),to:g.value??void 0},[t.createElementVNode("div",Ko,[t.createVNode(_t,{class:"toolbar-align","model-value":e.selVAlign,options:e.vAlignOptions,width:T("vAlign")?"100%":44,"menu-width":T("vAlign")?120:void 0,"visible-count":3,align:"right",title:t.unref($)(e.locale,"vAlign"),onChange:o[33]||(o[33]=a=>f("v-align-change",a))},null,8,["model-value","options","width","menu-width","title"])]),t.createElementVNode("div",Uo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selWrap}]),type:"button",title:t.unref($)(e.locale,"wrap"),onClick:o[34]||(o[34]=a=>f("wrap-toggle"))},[...o[59]||(o[59]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M896 179.2a38.4 38.4 0 0 0-76.8 0v665.6a38.4 38.4 0 0 0 76.8 0v-665.6zM204.8 281.6A38.4 38.4 0 0 0 204.8 358.4h179.2a38.4 38.4 0 0 0 0-76.8H204.8zM550.4 281.6a38.4 38.4 0 0 0 0 76.8h51.2c35.328 0 64 28.672 64 64v179.2c0 35.328-28.672 64-64 64H246.272l36.864-36.864a38.4 38.4 0 1 0-54.272-54.272l-102.4 102.4a38.4 38.4 0 0 0 0 54.272l102.4 102.4a38.4 38.4 0 0 0 54.272-54.272l-36.864-36.864h355.328a140.8 140.8 0 0 0 140.8-140.8v-179.2a140.8 140.8 0 0 0-140.8-140.8h-51.2z"})],-1)])],10,Po)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!T("merge"),to:g.value??void 0},[t.createElementVNode("div",Yo,[t.createElementVNode("div",Xo,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref($)(e.locale,"mergeCenter"),disabled:!e.hasSelection,onClick:o[35]||(o[35]=a=>f("apply-merge"))},[...o[60]||(o[60]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M709.952 465.92l88-76.032C801.92 385.984 806.656 384 812.032 384s10.048 1.984 14.08 5.952C830.08 393.92 832 398.656 832 403.968L832 448l32 0C881.664 448 896 462.336 896 480S881.664 512 864 512L832 512l0 44.032c0 5.376-1.92 10.112-5.952 14.08C822.08 574.08 817.344 576 812.032 576s-10.048-1.92-14.08-5.952L709.952 494.08C705.984 490.112 704 485.376 704 480S705.984 469.952 709.952 465.92zM378.048 465.92 290.048 389.952C286.08 385.984 281.344 384 275.968 384s-10.048 1.984-14.08 5.952C257.92 393.92 256 398.656 256 403.968L256 448 224 448C206.336 448 192 462.336 192 480S206.336 512 224 512L256 512l0 44.032c0 5.376 1.92 10.112 5.952 14.08C265.92 574.08 270.656 576 275.968 576s10.048-1.92 14.08-5.952L378.048 494.08C382.016 490.112 384 485.376 384 480S382.016 469.952 378.048 465.92zM448 128 128 128l0 704 320 0 0-128 64 0 0 128c0 35.392-28.608 64-64 64L128 896c-35.392 0-64-28.608-64-64L64 128c0-35.392 28.608-64 64-64l320 0 0 0c35.392 0 64 28.608 64 64l0 128L448 256 448 128M640 128l320 0 0 704-320 0 0-128L576 704l0 128c0 35.392 28.608 64 64 64l320 0c35.392 0 64-28.608 64-64L1024 128c0-35.392-28.608-64-64-64l-320 0 0 0C604.608 64 576 92.608 576 128l0 128 64 0L640 128M722.304 642.304c0 8.512-3.52 16.32-10.496 23.36s-15.424 10.624-25.344 10.624c-5.76 0-10.688-1.088-14.72-3.136-4.096-2.048-7.616-4.928-10.432-8.512s-5.824-9.088-9.024-16.512-5.952-13.952-8.32-19.648l-17.28-46.016L479.36 582.464 462.08 629.568c-6.72 18.304-12.48 30.656-17.344 37.12s-12.544 9.6-23.424 9.6c-9.28 0-17.408-3.456-24.512-10.24s-10.624-14.592-10.624-23.232c0-4.992 0.896-10.176 2.496-15.488S393.024 614.592 396.8 605.056l92.672-238.016C492.096 360.256 495.296 352 499.008 342.464s7.68-17.536 11.904-23.872 9.664-11.456 16.576-15.36c6.784-3.968 15.232-5.888 25.344-5.888 10.176 0 18.752 1.92 25.472 5.888 6.848 3.968 12.352 8.96 16.64 15.104 4.096 6.208 7.744 12.8 10.624 19.904s6.528 16.576 11.008 28.352l94.656 236.48C718.592 621.056 722.304 634.112 722.304 642.304zM606.912 526.784 552.32 375.552 498.624 526.784 606.912 526.784z"})],-1)])],8,jo),t.createElementVNode("button",{ref_key:"mergeArrowRef",ref:A,class:"toolbar-btn toolbar-split__arrow",title:t.unref($)(e.locale,"mergeCells"),disabled:!e.hasSelection,onClick:o[36]||(o[36]=a=>f("update:merge-menu-open",!e.mergeMenuOpen))},[...o[61]||(o[61]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053 361.387a32 32 0 0 1 45.227 0L512 648.107l286.72-286.72a32 32 0 1 1 45.227 45.227l-309.334 309.333a32 32 0 0 1-45.226 0L180.053 406.613a32 32 0 0 1 0-45.226z"})],-1)])],8,Zo),t.createVNode(eo,{"model-open":e.mergeMenuOpen,locale:e.locale,"trigger-el":A.value,"onUpdate:modelOpen":o[37]||(o[37]=a=>f("update:merge-menu-open",a)),onChange:o[38]||(o[38]=a=>f("merge-change",a))},null,8,["model-open","locale","trigger-el"])])])],8,["disabled","to"])),pe.value?(t.openBlock(),t.createElementBlock("button",{key:0,ref_key:"moreBtnEl",ref:ee,class:t.normalizeClass(["toolbar-more",{"toolbar-more--active":me.value}]),type:"button",onClick:ce},[...o[62]||(o[62]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("circle",{cx:"512",cy:"160",r:"96"}),t.createElementVNode("circle",{cx:"512",cy:"512",r:"96"}),t.createElementVNode("circle",{cx:"512",cy:"864",r:"96"})],-1)])],2)):t.createCommentVNode("",!0)],512),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[t.withDirectives((t.openBlock(),t.createElementBlock("div",{ref_key:"overflowMenuEl",ref:g,key:G.value,class:t.normalizeClass(["overflow-menu",{"no-anim":we.value}]),style:t.normalizeStyle(C.value)},null,6)),[[t.vShow,me.value]])]),_:1})]))],64))}}),[["__scopeId","data-v-b7edb6bc"]]),en={class:"tab-list"},tn=["onClick","onDblclick","onContextmenu"],ln=["value"],on={key:1,class:"tab-item__name"},nn=["title"],rn=ft(t.defineComponent({__name:"tabbar",props:{locale:{},sheets:{},activeSheetIndex:{},renTab:{},renTabVal:{}},emits:["tab-click","tab-dblclick","tab-contextmenu","tab-rename-input","tab-rename-keydown","tab-rename-commit","add-sheet","tabbar-contextmenu"],setup(e,{emit:v}){const p=v;return(n,u)=>(t.openBlock(),t.createElementBlock("div",{class:"tab-bar",onContextmenu:u[5]||(u[5]=k=>p("tabbar-contextmenu",k))},[t.createElementVNode("div",en,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.sheets,(k,i)=>(t.openBlock(),t.createElementBlock("div",{key:k.id,class:t.normalizeClass(["tab-item",{"tab-item--active":i===e.activeSheetIndex}]),onClick:I=>p("tab-click",i),onDblclick:t.withModifiers(I=>p("tab-dblclick",i),["prevent"]),onContextmenu:I=>p("tab-contextmenu",{ev:I,i})},[e.renTab===i?(t.openBlock(),t.createElementBlock("input",{key:0,class:"tab-rename-input",value:e.renTabVal,onInput:u[0]||(u[0]=I=>p("tab-rename-input",I.target.value)),onKeydown:u[1]||(u[1]=I=>p("tab-rename-keydown",I)),onBlur:u[2]||(u[2]=I=>p("tab-rename-commit")),onClick:u[3]||(u[3]=t.withModifiers(()=>{},["stop"]))},null,40,ln)):(t.openBlock(),t.createElementBlock("span",on,t.toDisplayString(k.name),1))],42,tn))),128))]),t.createElementVNode("button",{class:"tab-bar__add-btn",title:t.unref($)(e.locale,"addSheet"),onClick:u[4]||(u[4]=k=>p("add-sheet"))}," + ",8,nn)],32))}}),[["__scopeId","data-v-454e1a12"]]);function Je(e){let v="",p=e;do v=String.fromCharCode(65+p%26)+v,p=Math.floor(p/26)-1;while(p>=0);return v}function Qt(e){let v=0;for(let p=0;p<e.length;p++)v=v*26+(e.toUpperCase().charCodeAt(p)-64);return v-1}function mt(e){if(e==null)return null;if(typeof e=="number")return e;if(typeof e=="string"){const v=parseFloat(e);return e.endsWith("%")||isNaN(v)?null:v}return null}function el(e){navigator.clipboard.writeText(e).catch(()=>{const v=document.createElement("textarea");v.value=e,v.style.position="fixed",v.style.opacity="0",document.body.appendChild(v),v.select(),document.execCommand("copy"),document.body.removeChild(v)})}function bt(e,v){return`${e},${v}`}function Gt(e,v,p){const n=e.match(/^\$?([A-Z]+)\$?(\d+)$/i);if(!n)return null;const u=Qt(n[1]),k=parseInt(n[2],10)-1;return u<0||u>=v||k<0||k>=p?null:{col:u,row:k}}function pt(e,v){if(!v)return{x:0,y:0};const p=v.getBoundingClientRect();return{x:e.clientX-p.left,y:e.clientY-p.top}}function an(e,v,p){const n=e.split(":");if(n.length!==2)return null;const u=Gt(n[0],v,p),k=Gt(n[1],v,p);return!u||!k?null:{sc:Math.min(u.col,k.col),sr:Math.min(u.row,k.row),ec:Math.max(u.col,k.col),er:Math.max(u.row,k.row)}}function cn(e,v,p,n,u){const k=p[bt(e,v)];if(!k)return 0;const i=k.value;if(i.startsWith("="))return ul(bt(e,v),p,n,u)??0;const I=parseFloat(i);return isNaN(I)?0:I}const yt=new Map;function tl(){yt.clear()}function ul(e,v,p,n){return sn(e,v,p,n)}function sn(e,v,p,n,u){if(yt.has(e))return NaN;yt.set(e,NaN);const k=v[e];if(!k)return NaN;const i=k.value;if(!i.startsWith("=")){const ee=parseFloat(i),Y=isNaN(ee)?0:ee;return yt.set(e,Y),Y}const I=i.slice(1).trim();if(I.toUpperCase().startsWith("SUM(")&&I.endsWith(")")){const ee=I.slice(4,-1).trim(),Y=an(ee,p,n);if(Y){let y=0;for(let ne=Y.sc;ne<=Y.ec;ne++)for(let A=Y.sr;A<=Y.er;A++)y+=cn(ne,A,v,p,n);return isNaN(y)?NaN:(yt.set(e,y),y)}return NaN}return NaN}function ll(e,v,p){const n=[],u=/(\$?[A-Z]+\$?\d+)(?::(\$?[A-Z]+\$?\d+))?/gi;let k;for(;(k=u.exec(e))!==null;){const i=Gt(k[1],v,p);if(i)if(k[2]){const I=Gt(k[2],v,p);if(!I)continue;for(let g=Math.min(i.col,I.col);g<=Math.max(i.col,I.col);g++)for(let ee=Math.min(i.row,I.row);ee<=Math.max(i.row,I.row);ee++)n.push(bt(g,ee))}else n.push(bt(i.col,i.row))}return n}function dn(e,v,p,n,u){const k=p[bt(e,v)];if(!k)return"";const i=k.value;if(!i.startsWith("="))return i;const I=ul(bt(e,v),p,n,u);return isNaN(I)?"#ERROR":String(I)}function un(e,v,p,n,u,k){return v===0&&p===0?e:e.replace(/(\$?)([A-Z]+)(\$?)(\d+)/gi,(i,I,g,ee,Y)=>{const y=I?Qt(g):Qt(g)+v,ne=ee?parseInt(Y,10)-1:parseInt(Y,10)-1+p;let A;y<0?A="A":y>=n?A=k(n-1):A=k(y);let m;return ne<0?m="1":ne>=u?m=String(u):m=String(ne+1),(I||"")+A+(ee||"")+m})}class fn{constructor(){this.deps=new Map,this.rev=new Map,this.dirty=new Set}clear(v){var n;const p=this.deps.get(v);if(p){for(const u of p)(n=this.rev.get(u))==null||n.delete(v);this.deps.delete(v)}}set(v,p){if(this.clear(v),p.length!==0){this.deps.set(v,p);for(const n of p)this.rev.has(n)||this.rev.set(n,new Set),this.rev.get(n).add(v)}}markDirty(v){const p=[v];for(;p.length>0;){const n=p.pop(),u=this.rev.get(n);if(u)for(const k of u)this.dirty.has(k)||(this.dirty.add(k),p.push(k))}}getDirtyAndClear(){const v=this.dirty;return this.dirty=new Set,v}rebuild(v,p,n){this.deps.clear(),this.rev.clear(),this.dirty.clear(),yt.clear();for(const[u,k]of Object.entries(v))if(k.value.startsWith("=")){const i=ll(k.value.slice(1),p,n);this.set(u,i)}}}function mn(e,v){const p=t.reactive({rowCount:e.rowCount??v.rowCount,colCount:e.colCount??v.colCount,width:e.width,height:e.height,theme:e.theme??v.theme,locale:e.locale??v.locale});t.watchEffect(()=>{p.rowCount=e.rowCount??v.rowCount,p.colCount=e.colCount??v.colCount,p.width=e.width,p.height=e.height,p.theme=e.theme??v.theme,p.locale=e.locale??v.locale});const n=t.computed(()=>p.locale==="zh-CN"?"zh-CN":"en-US"),u=p.colCount,k=p.rowCount,i=t.reactive({}),I=t.reactive({}),g=new fn,ee=t.ref(null),Y=t.ref({col:0,row:0}),y=t.ref(null),ne=t.ref(""),A=t.ref(new Array(u).fill(100)),m=t.ref(new Array(k).fill(void 0)),ge=t.ref(0),me=t.ref(0),we=(24-at)/2,G=new Map;let U=null;function pe(E,B,R,K){const X=`${K} ${R} ${B}px ${E}`,re=G.get(X);if(re)return re;if(!U){if(typeof document>"u")return{ascent:B*.8,descent:B*.2};U=document.createElement("canvas")}const de=U.getContext("2d");if(!de)return{ascent:B*.8,descent:B*.2};de.font=X;const c=de.measureText("M"),b=c.actualBoundingBoxAscent,L=c.actualBoundingBoxDescent,W=b||B*.8,j=L||B*.2,Q=Math.max(W,B*.5),Z=Math.max(j,B*.15),ue={ascent:Q,descent:Z};return G.set(X,ue),ue}let T=(E,B)=>`${E},${B}`,P=()=>null,be=()=>at,ye=t.computed(()=>[0]),te=()=>24,s=(E,B,R,K)=>({startCol:Math.min(E,R),startRow:Math.min(B,K),endCol:Math.max(E,R),endRow:Math.max(B,K)});function C(E,B){var c;const R=(c=i[T(E,B)])==null?void 0:c.style,K=be(E,B),X=typeof(R==null?void 0:R.fontFamily)=="string"&&R.fontFamily?R.fontFamily:$t,re=(R==null?void 0:R.fontWeight)==="bold"?"bold":"normal",de=(R==null?void 0:R.fontStyle)==="italic"?"italic":"normal";return pe(X,K,re,de)}function He(E,B,R,K){if(!B)return[""];const X=B.split(`
2
- `),re=[];for(const de of X)if(!K||R<=0)re.push(de);else{let c="";for(let b=0;b<de.length;b++){const L=de[b],W=c+L;E.measureText(W).width>R&&c?(re.push(c),c=L):c=W}re.push(c)}return re}function Se(E,B){var K;const R=(K=i[T(E,B)])==null?void 0:K.style;return typeof(R==null?void 0:R.fontSize)=="number"&&R.fontSize>0?R.fontSize:at}be=Se;const ce=t.computed(()=>{const E=[0];for(let B=0;B<u;B++)E.push(E[B]+A.value[B]);return E});ye=ce;const r={w:800,h:600};let f=()=>{};function w(E){var W;const B=m.value[E];if(B!=null&&B>0)return B;let R=at,K=R*.8,X=R*.2,re=1;const de=U?U.getContext("2d"):null;for(let j=0;j<u;j++){const Q=Se(j,E),Z=(W=i[T(j,E)])==null?void 0:W.style,ue=typeof(Z==null?void 0:Z.fontFamily)=="string"&&Z.fontFamily?Z.fontFamily:$t,Ee=(Z==null?void 0:Z.fontWeight)==="bold"?"bold":"normal",Ve=(Z==null?void 0:Z.fontStyle)==="italic"?"italic":"normal",Fe=fe(j,E);if(Fe&&de){de.font=`${Ve} ${Ee} ${Q}px ${ue}`;const ze=Fe.split(`
3
- `)[0]||Fe,Ue=de.measureText(ze),et=Ue.actualBoundingBoxAscent,Ft=Ue.actualBoundingBoxDescent,Kt=et||Q*.8,Ut=Ft||Q*.2,Pt=Math.max(Kt,Q*.5),Yt=Math.max(Ut,Q*.15);Pt>K&&(K=Pt),Yt>X&&(X=Yt),Q>R&&(R=Q);const ol=(Z==null?void 0:Z.wrap)==="wrap";let dt;if(ol){const wt=P(j,E);let Nt;wt&&j===wt.range.startCol&&E===wt.range.startRow?Nt=ye.value[wt.range.endCol+1]-ye.value[j]:Nt=A.value[j],dt=He(de,Fe,Math.max(0,Nt-10),!0).length,dt>re&&(re=dt)}else dt=Fe.split(`
4
- `).length,dt>re&&(re=dt)}else if(Q>R){R=Q;const ze=pe(ue,Q,Ee,Ve);ze.ascent>K&&(K=ze.ascent),ze.descent>X&&(X=ze.descent)}}const c=R,b=we*2+re*c;return Math.min(500,Math.max(24,Math.round(b)))}te=w;function o(E){return m.value[E]===void 0}const a=t.computed(()=>{const E=[0];for(let B=0;B<k;B++)E.push(E[B]+te(B));return E}),O=t.computed(()=>ce.value[u]),H=t.computed(()=>a.value[k]);function V(E,B){return`${E},${B}`}T=V;function ae(E){Reflect.deleteProperty(i,E)}function ve(E,B){const R=P(E,B);R?(Y.value={col:R.range.startCol,row:R.range.startRow},ee.value={...R.range}):(Y.value={col:E,row:B},ee.value={startCol:E,startRow:B,endCol:E,endRow:B})}function xe(E,B,R,K){const X=P(E,B);Y.value=X?{col:X.range.startCol,row:X.range.startRow}:{col:E,row:B},ee.value=s(E,B,R,K)}function Ae(){xe(0,0,u-1,k-1)}function Le(E,B){const R=ee.value;return R?E>=R.startCol&&E<=R.endCol&&B>=R.startRow&&B<=R.endRow:!1}function he(E,B){for(const R in I){const K=I[R];if(K&&E>=K.startCol&&E<=K.endCol&&B>=K.startRow&&B<=K.endRow)return{range:K,anchor:R}}return null}P=he;function We(E,B){return I[V(E,B)]!==void 0}function S(E,B){const R=P(E,B);if(R&&E===R.range.startCol&&B===R.range.startRow){const K=ce.value[R.range.endCol+1]-ce.value[E],X=a.value[R.range.endRow+1]-a.value[B];return{w:K,h:X}}return{w:A.value[E],h:te(B)}}function F(E,B,R,K){let X=Math.min(E,R),re=Math.max(E,R),de=Math.min(B,K),c=Math.max(B,K),b=!0;for(;b;){b=!1;for(const L in I){const W=I[L];if(!W)continue;W.startCol<=re&&W.endCol>=X&&W.startRow<=c&&W.endRow>=de&&(W.startCol<X&&(X=W.startCol,b=!0),W.endCol>re&&(re=W.endCol,b=!0),W.startRow<de&&(de=W.startRow,b=!0),W.endRow>c&&(c=W.endRow,b=!0))}}return{startCol:X,startRow:de,endCol:re,endRow:c}}s=F;let _=()=>{};function le(E,B){var R;return((R=i[V(E,B)])==null?void 0:R.value)??""}function fe(E,B){return tl(),dn(E,B,i,u,k)}function z(E,B,R){var de,c;const K=V(E,B);if(tl(),R===""||R==null){g.clear(K);const b=((de=i[K])==null?void 0:de.style)??null;b?i[K]={value:"",style:b}:ae(K),g.markDirty(K);return}const X=String(R),re=((c=i[K])==null?void 0:c.style)??null;i[K]={value:X,style:re},X.startsWith("=")?g.set(K,ll(X.slice(1),u,k)):g.clear(K),g.markDirty(K)}function se(E,B,R,K){for(let X=E;X<=B;X++)for(let re=R;re<=K;re++){const de=V(X,re);g.clear(de),ae(de),g.markDirty(de),_(X,re)}}let ke=()=>{};function De(E){y.value||(y.value={...Y.value},ne.value=E??le(Y.value.col,Y.value.row))}function Qe(){y.value&&(ke(),z(y.value.col,y.value.row,ne.value),y.value=null,ne.value="")}function lt(){y.value=null,ne.value=""}function $e(E,B){const R=Y.value;let K=Math.max(0,Math.min(u-1,R.col+E)),X=Math.max(0,Math.min(k-1,R.row+B));const re=P(R.col,R.row),de=P(K,X);re&&de&&re.anchor===de.anchor&&(E>0?K=re.range.endCol+1:E<0&&(K=re.range.startCol-1),B>0?X=re.range.endRow+1:B<0&&(X=re.range.startRow-1),K=Math.max(0,Math.min(u-1,K)),X=Math.max(0,Math.min(k-1,X))),ve(K,X)}function Xe(E,B){const R=Math.max(0,r.w-52-11),K=Math.max(0,r.h-24-11),X=ce.value[E],re=a.value[B],de=P(E,B),c=de?ce.value[de.range.endCol+1]-ce.value[E]:A.value[E],b=de?a.value[de.range.endRow+1]-a.value[B]:te(B);let L=ge.value,W=me.value;X<L?L=X:X+c>L+R&&(L=X+c-R),re<W?W=re:re+b>W+K&&(W=re+b-K),f(L,W)}function st(E){const B=ce.value;if(E<0||E>=B[u])return-1;let R=0,K=u-1;for(;R<K;){const X=R+K+1>>1;B[X]<=E?R=X:K=X-1}return R}function At(E){const B=a.value;if(E<0||E>=B[k])return-1;let R=0,K=k-1;for(;R<K;){const X=R+K+1>>1;B[X]<=E?R=X:K=X-1}return R}const Ke={props:p,locale:n,colCount:u,rowCount:k,cells:i,merges:I,formulaDeps:g,selection:ee,activeCell:Y,editingCell:y,editValue:ne,colWidths:A,rowHeights:m,scrollX:ge,scrollY:me,BASE_CELL_VPAD:we,fontMetricsCache:G,fontMetricsCanvas:U,measureFontMetrics:pe,_getFontMetricsForCell:C,getWrappedLines:He,cellFontSize:Se,colPositions:ce,getRowHeight:w,_isAutoRow:o,rowPositions:a,totalWidth:O,totalHeight:H,selectCell:ve,selectRange:xe,selectAll:Ae,isSelected:Le,cellKey:V,delCell:ae,findMerge:he,_isMergeAnchor:We,_mergedSpan:S,expandSelectionForMerges:F,getCellRaw:le,getCellValue:fe,setCellValue:z,clearCellsInRange:se,startEdit:De,commitEdit:Qe,cancelEdit:lt,moveActive:$e,ensureVisible:Xe,hitCol:st,hitRow:At,viewSize:r};return ke=()=>{var E;return(E=Ke.saveUndo)==null?void 0:E.call(Ke)},_=(E,B)=>{var R;return(R=Ke.syncCellBorders)==null?void 0:R.call(Ke,E,B)},f=(E,B)=>{var R;return(R=Ke.clampScroll)==null?void 0:R.call(Ke,E,B)},Ke}function pn(e,v){const p=t.ref([]),n=t.ref([]);function u(c){const b={};for(const[L,W]of Object.entries(c))b[L]={value:W.value,style:W.style};return b}function k(){return v.saveSheet(),{sheets:v.sheets.value.map(c=>({id:c.id,name:c.name,cells:u(c.cells),merges:c.merges?{...c.merges}:{},selection:c.selection?{...c.selection}:null,activeCell:c.activeCell?{...c.activeCell}:{col:0,row:0},scrollX:c.scrollX,scrollY:c.scrollY,colWidths:[...c.colWidths],rowHeights:[...c.rowHeights]})),activeSheetIndex:v.activeSheetIndex.value}}function i(c){v.sheets.value=c.sheets.map(b=>({...b,cells:u(b.cells)})),v.loadSheet(Math.max(0,Math.min(c.activeSheetIndex,v.sheets.value.length-1))),e.formulaDeps.rebuild(e.cells,e.colCount,e.rowCount)}function I(){const c=k(),b=p.value[p.value.length-1];b&&JSON.stringify(b)===JSON.stringify(c)||(p.value.push(c),n.value=[],p.value.length>50&&p.value.shift())}e.saveUndo=I;function g(){var c;p.value.length&&(n.value.push(k()),i(p.value.pop()),(c=e.scheduleRender)==null||c.call(e),t.nextTick(()=>{var b;return(b=e.emitModelData)==null?void 0:b.call(e)}))}function ee(){var c;n.value.length&&(p.value.push(k()),i(n.value.pop()),(c=e.scheduleRender)==null||c.call(e),t.nextTick(()=>{var b;return(b=e.emitModelData)==null?void 0:b.call(e)}))}const Y=t.computed(()=>p.value.length>0),y=t.computed(()=>n.value.length>0),ne=t.computed(()=>!!e.selection.value),A=t.ref(null);function m(){var L;const c=e.selection.value;if(!c)return;const b={};for(let W=c.startCol;W<=c.endCol;W++)for(let j=c.startRow;j<=c.endRow;j++)b[`${W-c.startCol},${j-c.startRow}`]=((L=e.cells[e.cellKey(W,j)])==null?void 0:L.style)??null;A.value={styles:b}}function ge(){var L,W,j,Q;const c=A.value,b=e.selection.value;if(!(!c||!b)){I();for(let Z=b.startCol;Z<=b.endCol;Z++)for(let ue=b.startRow;ue<=b.endRow;ue++){const Ee=e.findMerge(Z,ue);if(Ee&&(Z!==Ee.range.startCol||ue!==Ee.range.startRow))continue;const Ve=c.styles[`${Z-b.startCol},${ue-b.startRow}`]??null,Fe=e.cellKey(Z,ue),ze=((L=e.cells[Fe])==null?void 0:L.value)??"";ze===""&&Ve===null?e.delCell(Fe):e.cells[Fe]={value:ze,style:Ve},(W=e.syncCellBorders)==null||W.call(e,Z,ue)}A.value=null,(j=e.scheduleRender)==null||j.call(e),(Q=e.emitModelData)==null||Q.call(e)}}function me(){var b,L,W,j;const c=e.selection.value;if(c){I();for(let Q=c.startCol;Q<=c.endCol;Q++)for(let Z=c.startRow;Z<=c.endRow;Z++){const ue=e.findMerge(Q,Z);if(ue&&(Q!==ue.range.startCol||Z!==ue.range.startRow))continue;const Ee=e.cellKey(Q,Z),Ve=((b=e.cells[Ee])==null?void 0:b.value)??"";Ve===""?e.delCell(Ee):e.cells[Ee]={value:Ve,style:null},(L=e.syncCellBorders)==null||L.call(e,Q,Z)}(W=e.scheduleRender)==null||W.call(e),(j=e.emitModelData)==null||j.call(e)}}const we=t.computed(()=>Bl.map(c=>({...c,label:c.value===""?$(e.locale.value,"fontDefault"):c.label}))),G=t.computed(()=>Rl.map(c=>({...c,label:String(c.value)}))),U="\0",pe=t.computed(()=>{var W;const c=e.selection.value;if(!c)return"";let b,L=!1;for(let j=c.startCol;j<=c.endCol&&!L;j++)for(let Q=c.startRow;Q<=c.endRow&&!L;Q++){const Z=e.findMerge(j,Q);if(Z&&(j!==Z.range.startCol||Q!==Z.range.startRow))continue;const ue=(W=e.cells[e.cellKey(j,Q)])==null?void 0:W.style,Ee=typeof(ue==null?void 0:ue.fontFamily)=="string"?ue.fontFamily:"";b===void 0?b=Ee:Ee!==b&&(L=!0)}return L?U:b??""}),T=t.computed(()=>{const c=e.selection.value;if(!c)return at;let b,L=!1;for(let W=c.startCol;W<=c.endCol&&!L;W++)for(let j=c.startRow;j<=c.endRow&&!L;j++){const Q=e.findMerge(W,j);if(Q&&(W!==Q.range.startCol||j!==Q.range.startRow))continue;const Z=e.cellFontSize(W,j);b===void 0?b=Z:Z!==b&&(L=!0)}return L?0:b??at});function P(c,b){var W,j,Q,Z;const L=e.selection.value;if(L){I();for(let ue=L.startCol;ue<=L.endCol;ue++)for(let Ee=L.startRow;Ee<=L.endRow;Ee++){const Ve=e.findMerge(ue,Ee);if(Ve&&(ue!==Ve.range.startCol||Ee!==Ve.range.startRow))continue;const Fe=e.cellKey(ue,Ee),ze=((W=e.cells[Fe])==null?void 0:W.value)??"",Ue=(j=e.cells[Fe])!=null&&j.style?{...e.cells[Fe].style}:{};b===""||b===null||b===void 0||b===0?Reflect.deleteProperty(Ue,c):Ue[c]=b;const et=Object.keys(Ue).length?Ue:null;ze===""&&et===null?e.delCell(Fe):e.cells[Fe]={value:ze,style:et}}(Q=e.scheduleRender)==null||Q.call(e),(Z=e.emitModelData)==null||Z.call(e)}}function be(c){P("fontFamily",c===""?"":c)}const ye=t.ref(!1),te=t.ref(!1),s=t.ref(!1),C=t.ref(!1),He=t.ref(!1);function Se(c){P("fontSize",c),ye.value=!1}const ce=t.computed(()=>Al.map(c=>({label:$(e.locale.value,c.labelKey),value:c.value,icon:c.icon}))),r=t.computed(()=>Fl.map(c=>({label:$(e.locale.value,c.labelKey),value:c.value,icon:c.icon}))),f=t.computed(()=>{var W;const c=e.selection.value;if(!c)return"left";const b=(W=e.cells[e.cellKey(c.startCol,c.startRow)])==null?void 0:W.style,L=typeof(b==null?void 0:b.textAlign)=="string"?b.textAlign:"";return L==="center"||L==="right"?L:"left"}),w=t.computed(()=>{var W;const c=e.selection.value;if(!c)return"top";const b=(W=e.cells[e.cellKey(c.startCol,c.startRow)])==null?void 0:W.style,L=typeof(b==null?void 0:b.verticalAlign)=="string"?b.verticalAlign:"";return L==="middle"||L==="bottom"?L:"top"}),o=t.computed(()=>{var L;const c=e.selection.value;if(!c)return!1;const b=(L=e.cells[e.cellKey(c.startCol,c.startRow)])==null?void 0:L.style;return(b==null?void 0:b.wrap)==="wrap"});function a(c){P("textAlign",c)}function O(c){P("verticalAlign",c)}function H(){if(!e.selection.value)return;const b=o.value;P("wrap",b?void 0:"wrap")}const V=t.ref(""),ae=ye;t.watch(T,c=>{V.value=c===0?"":String(c)},{immediate:!0});function ve(c){const b=c.replace(/[^\d]/g,"");V.value=b;const L=parseInt(b,10);!isNaN(L)&&L>=5&&L<=72&&L!==T.value&&P("fontSize",L)}function xe(){const c=V.value.trim();if(!c){V.value=T.value===0?"":String(T.value);return}let b=parseInt(c,10);isNaN(b)?b=T.value===0?at:T.value:b=Math.max(5,Math.min(72,b)),V.value=String(b),b!==T.value&&P("fontSize",b)}function Ae(c){c.key==="Enter"&&c.target.blur()}function Le(c){c&&c.preventDefault(),ae.value=!ae.value,ae.value&&(s&&(s.value=!1),te&&(te.value=!1),C.value=!1,He.value=!1)}function he(){const c=T.value===0?at:T.value,b=Math.min(72,c+1);P("fontSize",b),V.value=String(b),ae.value=!1}function We(){const c=T.value===0?at:T.value,b=Math.max(5,c-1);P("fontSize",b),V.value=String(b),ae.value=!1}function S(c){var j;const b=e.selection.value;if(!b)return!1;let L,W=!1;for(let Q=b.startCol;Q<=b.endCol&&!W;Q++)for(let Z=b.startRow;Z<=b.endRow&&!W;Z++){const ue=e.findMerge(Q,Z);if(ue&&(Q!==ue.range.startCol||Z!==ue.range.startRow))continue;const Ee=(j=e.cells[e.cellKey(Q,Z)])==null?void 0:j.style,Ve=!!(Ee!=null&&Ee[c]);L===void 0?L=Ve:Ve!==L&&(W=!0)}return!W&&L===!0}const F=t.computed(()=>S("fontWeight")),_=t.computed(()=>S("fontStyle")),le=t.computed(()=>S("underline")),fe=t.computed(()=>S("strikethrough"));function z(){P("fontWeight",F.value?"":"bold")}function se(){P("fontStyle",_.value?"":"italic")}function ke(){P("underline",le.value?"":"underline")}function De(){P("strikethrough",fe.value?"":"line-through")}const Qe=t.ref(""),lt=t.ref(""),$e=C,Xe=He;function st(){$e.value=!$e.value,Xe.value=!1,te&&(te.value=!1),s&&(s.value=!1)}function At(){Xe.value=!Xe.value,$e.value=!1,te&&(te.value=!1),s&&(s.value=!1)}function Ke(c){te&&(te.value=c),c&&($e.value=!1,Xe.value=!1,s&&(s.value=!1))}function E(c){Qe.value=c,P("color",c===""?"":c)}function B(c){lt.value=c,P("backgroundColor",c===""?"":c)}function R(){P("color",Qe.value===""?"":Qe.value)}function K(){P("backgroundColor",lt.value===""?"":lt.value)}const X=t.computed(()=>{var W;const c=e.selection.value;if(!c)return"";let b,L=!1;for(let j=c.startCol;j<=c.endCol&&!L;j++)for(let Q=c.startRow;Q<=c.endRow&&!L;Q++){const Z=e.findMerge(j,Q);if(Z&&(j!==Z.range.startCol||Q!==Z.range.startRow))continue;const ue=(W=e.cells[e.cellKey(j,Q)])==null?void 0:W.style,Ee=typeof(ue==null?void 0:ue.color)=="string"?ue.color:"";b===void 0?b=Ee:Ee!==b&&(L=!0)}return L?"":b??""}),re=t.computed(()=>{var W;const c=e.selection.value;if(!c)return"";let b,L=!1;for(let j=c.startCol;j<=c.endCol&&!L;j++)for(let Q=c.startRow;Q<=c.endRow&&!L;Q++){const Z=e.findMerge(j,Q);if(Z&&(j!==Z.range.startCol||Q!==Z.range.startRow))continue;const ue=(W=e.cells[e.cellKey(j,Q)])==null?void 0:W.style,Ee=typeof(ue==null?void 0:ue.backgroundColor)=="string"?ue.backgroundColor:"";b===void 0?b=Ee:Ee!==b&&(L=!0)}return L?"":b??""});return{undoStack:p,redoStack:n,cloneCells:u,takeSnap:k,restoreSnap:i,saveUndo:I,undo:g,redo:ee,canUndo:Y,canRedo:y,hasSelection:ne,paintFmt:A,onPaintFormat:m,applyPaintFormat:ge,clearFormat:me,fontFamilyOptions:we,fontSizeOptions:G,FONT_FAMILY_MIXED:U,selFontFamily:pe,selFontSize:T,applyStyleToSelection:P,onFontFamilyChange:be,onFontSizeChange:Se,hAlignOptions:ce,vAlignOptions:r,selHAlign:f,selVAlign:w,selWrap:o,onHAlignChange:a,onVAlignChange:O,onWrapToggle:H,fontSizeInput:V,fontSizeMenuOpen:ae,onFontSizeInput:ve,onFontSizeBlur:xe,onFontSizeKeydown:Ae,toggleFontSizeMenu:Le,onFontSizeStepUp:he,onFontSizeStepDown:We,selFontWeight:F,selFontStyle:_,selUnderline:le,selStrikethrough:fe,toggleFontWeight:z,toggleFontStyle:se,toggleUnderline:ke,toggleStrikethrough:De,cachedTextColor:Qe,cachedFillColor:lt,textColorMenuOpen:$e,fillColorMenuOpen:Xe,_toggleTextColorMenu:st,_toggleFillColorMenu:At,onBorderMenuToggle:Ke,onTextColorChange:E,onFillColorChange:B,applyCachedTextColor:R,applyCachedFillColor:K,selTextColor:X,selFillColor:re}}function gn(e,v){v.borderMenuOpen&&(e.borderMenuOpen=v.borderMenuOpen),v.mergeMenuOpen&&(e.mergeMenuOpen=v.mergeMenuOpen),(()=>{const n=e.borderMenuOpen,u=e.mergeMenuOpen;e.onBorderMenuToggle=k=>{n&&(n.value=k),k&&(e.textColorMenuOpen.value=!1,e.fillColorMenuOpen.value=!1,u&&(u.value=!1))},e.toggleFontSizeMenu=k=>{k&&k.preventDefault(),e.fontSizeMenuOpen.value=!e.fontSizeMenuOpen.value,e.fontSizeMenuOpen.value&&(u&&(u.value=!1),n&&(n.value=!1),e.textColorMenuOpen.value=!1,e.fillColorMenuOpen.value=!1)},e._toggleTextColorMenu=()=>{e.textColorMenuOpen.value=!e.textColorMenuOpen.value,e.fillColorMenuOpen.value=!1,n&&(n.value=!1),u&&(u.value=!1)},e._toggleFillColorMenu=()=>{e.fillColorMenuOpen.value=!e.fillColorMenuOpen.value,e.textColorMenuOpen.value=!1,n&&(n.value=!1),u&&(u.value=!1)}})()}function hn(e,v){const p=t.ref("none"),n=t.ref(!1),u="#444";function k(r,f,w,o){const a=e.findMerge(f,w),O=a?a.range.endCol:f,H=a?a.range.endRow:w,V=a?a.range.startCol:f,ve=(a?a.range.startRow:w)===o.startRow,xe=H===o.endRow,Ae=V===o.startCol,Le=O===o.endCol,he={top:0,bottom:0,left:0,right:0};switch(r){case"none":return he;case"bottom":xe&&(he.bottom=1);break;case"top":ve&&(he.top=1);break;case"left":Ae&&(he.left=1);break;case"right":Le&&(he.right=1);break;case"all":he.top=1,he.bottom=1,he.left=1,he.right=1;break;case"outer":ve&&(he.top=1),xe&&(he.bottom=1),Ae&&(he.left=1),Le&&(he.right=1);break;case"thickOuter":ve&&(he.top=2),xe&&(he.bottom=2),Ae&&(he.left=2),Le&&(he.right=2);break}return he}function i(r,f,w,o,a){var he,We;if(r<0||f<0||r>=e.colCount||f>=e.rowCount)return;const O=e.findMerge(r,f);if(O&&(w==="Top"&&f!==O.range.startRow||w==="Bottom"&&f!==O.range.endRow||w==="Left"&&r!==O.range.startCol||w==="Right"&&r!==O.range.endCol))return;const H=O?O.anchor:e.cellKey(r,f),V=((he=e.cells[H])==null?void 0:he.value)??"",ae=(We=e.cells[H])!=null&&We.style?{...e.cells[H].style}:{},ve=`border${w}Width`;o===0?a&&Reflect.deleteProperty(ae,ve):(ae[ve]=o,ae.borderColor=u),["Top","Bottom","Left","Right"].some(S=>ae[`border${S}Width`]!==void 0)||Reflect.deleteProperty(ae,"borderColor");const Le=Object.keys(ae).length?ae:null;V===""&&Le===null?e.delCell(H):e.cells[H]={value:V,style:Le}}function I(r,f){var ve;const w=e.findMerge(r,f),o=w?w.anchor:e.cellKey(r,f),a=(ve=e.cells[o])==null?void 0:ve.style,O=(a==null?void 0:a.borderTopWidth)||0,H=(a==null?void 0:a.borderBottomWidth)||0,V=(a==null?void 0:a.borderLeftWidth)||0,ae=(a==null?void 0:a.borderRightWidth)||0;i(r,f-1,"Bottom",O,!0),i(r,f+1,"Top",H,!0),i(r-1,f,"Right",V,!0),i(r+1,f,"Left",ae,!0)}e.syncCellBorders=I;function g(r,f,w,o=!0){var Ae,Le;const a=e.cellKey(r,f),O=((Ae=e.cells[a])==null?void 0:Ae.value)??"",H=(Le=e.cells[a])!=null&&Le.style?{...e.cells[a].style}:{},V=["Top","Bottom","Left","Right"],ae=[w.top,w.bottom,w.left,w.right];for(let he=0;he<4;he++){const We=`border${V[he]}Width`;ae[he]===0?o&&Reflect.deleteProperty(H,We):(H[We]=ae[he],H.borderColor=u)}V.some(he=>H[`border${he}Width`]!==void 0)||Reflect.deleteProperty(H,"borderColor");const xe=Object.keys(H).length?H:null;O===""&&xe===null?e.delCell(a):e.cells[a]={value:O,style:xe},I(r,f)}function ee(r){var w,o;p.value=r;const f=e.selection.value;if(f){if(v.saveUndo(),r==="none")for(let a=f.startCol;a<=f.endCol;a++)for(let O=f.startRow;O<=f.endRow;O++){const H=e.findMerge(a,O);H&&(a!==H.range.startCol||O!==H.range.startRow)||g(a,O,{top:0,bottom:0,left:0,right:0},!0)}else for(let a=f.startCol;a<=f.endCol;a++)for(let O=f.startRow;O<=f.endRow;O++){const H=e.findMerge(a,O);if(H&&(a!==H.range.startCol||O!==H.range.startRow))continue;const V=k(r,a,O,f);g(a,O,V,!1)}(w=e.scheduleRender)==null||w.call(e),(o=e.emitModelData)==null||o.call(e)}}function Y(){ee(p.value)}function y(r,f,w){var O,H;const o=e.findMerge(r,f);if(o){const V=(O=e.cells[o.anchor])==null?void 0:O.style;return w==="Top"&&f===o.range.startRow?(V==null?void 0:V.borderTopWidth)||0:w==="Bottom"&&f===o.range.endRow?(V==null?void 0:V.borderBottomWidth)||0:w==="Left"&&r===o.range.startCol?(V==null?void 0:V.borderLeftWidth)||0:w==="Right"&&r===o.range.endCol&&(V==null?void 0:V.borderRightWidth)||0}const a=(H=e.cells[e.cellKey(r,f)])==null?void 0:H.style;return(a==null?void 0:a[`border${w}Width`])||0}const ne=t.ref(!1);function A(r){ne.value=r,r&&(v.textColorMenuOpen.value=!1,v.fillColorMenuOpen.value=!1,n.value=!1,v.fontSizeMenuOpen.value=!1)}function m(r,f,w,o){const a=[];for(const O in e.merges){const H=e.merges[O];H&&H.startCol<=w&&H.endCol>=r&&H.startRow<=o&&H.endRow>=f&&a.push(O)}for(const O of a)Reflect.deleteProperty(e.merges,O)}function ge(){var a,O,H,V;const r=e.selection.value;if(!r||r.startCol===r.endCol&&r.startRow===r.endRow)return;v.saveUndo(),m(r.startCol,r.startRow,r.endCol,r.endRow);const f=e.cellKey(r.startCol,r.startRow),w=((a=e.cells[f])==null?void 0:a.value)??"";for(let ae=r.startCol;ae<=r.endCol;ae++)for(let ve=r.startRow;ve<=r.endRow;ve++)ae===r.startCol&&ve===r.startRow||e.clearCellsInRange(ae,ae,ve,ve);const o=(O=e.cells[f])!=null&&O.style?{...e.cells[f].style}:{};o.textAlign="center",e.cells[f]={value:w,style:o},e.merges[f]={startCol:r.startCol,startRow:r.startRow,endCol:r.endCol,endRow:r.endRow},e.selectCell(r.startCol,r.startRow),(H=e.scheduleRender)==null||H.call(e),(V=e.emitModelData)==null||V.call(e)}function me(){var f,w,o;const r=e.selection.value;if(!(!r||r.startCol===r.endCol)){v.saveUndo();for(let a=r.startRow;a<=r.endRow;a++){m(r.startCol,a,r.endCol,a);const O=e.cellKey(r.startCol,a);(f=e.cells[O])==null||f.value;for(let H=r.startCol+1;H<=r.endCol;H++)e.clearCellsInRange(H,H,a,a);e.merges[O]={startCol:r.startCol,startRow:a,endCol:r.endCol,endRow:a}}e.selectRange(r.startCol,r.startRow,r.endCol,r.endRow),(w=e.scheduleRender)==null||w.call(e),(o=e.emitModelData)==null||o.call(e)}}function we(){var w,o,a;const r=e.selection.value;if(!r||r.startCol===r.endCol&&r.startRow===r.endRow)return;v.saveUndo(),m(r.startCol,r.startRow,r.endCol,r.endRow);const f=e.cellKey(r.startCol,r.startRow);(w=e.cells[f])==null||w.value;for(let O=r.startCol;O<=r.endCol;O++)for(let H=r.startRow;H<=r.endRow;H++)O===r.startCol&&H===r.startRow||e.clearCellsInRange(O,O,H,H);e.merges[f]={startCol:r.startCol,startRow:r.startRow,endCol:r.endCol,endRow:r.endRow},e.selectCell(r.startCol,r.startRow),(o=e.scheduleRender)==null||o.call(e),(a=e.emitModelData)==null||a.call(e)}function G(){var f,w;const r=e.selection.value;r&&(v.saveUndo(),m(r.startCol,r.startRow,r.endCol,r.endRow),(f=e.scheduleRender)==null||f.call(e),(w=e.emitModelData)==null||w.call(e))}function U(){const r=e.selection.value;if(!r)return;const f=e.findMerge(r.startCol,r.startRow);f&&r.startCol===f.range.startCol&&r.startRow===f.range.startRow&&r.endCol===f.range.endCol&&r.endRow===f.range.endRow?G():ge()}function pe(r){switch(r){case"mergeCenter":ge();break;case"mergeAcross":me();break;case"mergeCells":we();break;case"unmergeCells":G();break}}let T=null,P=[];function be(r,f,w,o){var a;P=[];for(let O=w;O<=o;O++){const H=[];for(let V=r;V<=f;V++){const ae=(a=e.cells[e.cellKey(V,O)])==null?void 0:a.style;H.push(ae?{...ae}:null)}P.push(H)}}function ye(r,f,w,o){const a=e.cellKey(r,f);if(tl(),w===""||w==null){e.formulaDeps.clear(a),o?e.cells[a]={value:"",style:{...o}}:e.delCell(a),e.formulaDeps.markDirty(a);return}e.cells[a]={value:w,style:o?{...o}:null},w.startsWith("=")?e.formulaDeps.set(a,ll(w.slice(1),e.colCount,e.rowCount)):e.formulaDeps.clear(a),e.formulaDeps.markDirty(a)}function te(){const r=e.selection.value;if(!r)return;T={...r},be(r.startCol,r.endCol,r.startRow,r.endRow);const f=[];for(let w=r.startRow;w<=r.endRow;w++){const o=[];for(let a=r.startCol;a<=r.endCol;a++)o.push(e.getCellRaw(a,w));f.push(o.join(" "))}el(f.join(`
5
- `))}function s(){const r=e.selection.value;if(r){if(r.startCol===0&&r.endCol===e.colCount-1){T={...r},be(0,e.colCount-1,r.startRow,r.endRow);const f=[];for(let w=r.startRow;w<=r.endRow;w++){const o=[];for(let a=0;a<e.colCount;a++)o.push(e.getCellRaw(a,w));f.push(o.join(" "))}el(f.join(`
6
- `))}else if(r.startRow===0&&r.endRow===e.rowCount-1){T={...r},be(r.startCol,r.endCol,0,e.rowCount-1);const f=[];for(let w=0;w<e.rowCount;w++){const o=[];for(let a=r.startCol;a<=r.endCol;a++)o.push(e.getCellRaw(a,w));f.push(o.join(" "))}el(f.join(`
7
- `))}}}async function C(){var O;let r;try{r=await navigator.clipboard.readText()}catch{return}if(!r&&r!=="")return;const f=r.split(/\r?\n/),w=e.activeCell.value,o=T,a=o&&P.length>0;for(let H=0;H<f.length;H++){const V=f[H].split(" ");for(let ae=0;ae<V.length;ae++){const ve=w.col+ae,xe=w.row+H;if(ve<e.colCount&&xe<e.rowCount){let Ae=V[ae];if(Ae.startsWith("=")&&o&&(Ae=un(Ae,ve-(o.startCol+ae),xe-(o.startRow+H),e.colCount,e.rowCount,Je)),a&&H<P.length&&ae<(((O=P[H])==null?void 0:O.length)??0)){const Le=P[H][ae]??null;ye(ve,xe,Ae,Le),I(ve,xe)}else e.setCellValue(ve,xe,Ae)}}}}function He(){var r;if(te(),e.selection.value){const f=e.selection.value;e.clearCellsInRange(f.startCol,f.endCol,f.startRow,f.endRow),(r=e.scheduleRender)==null||r.call(e)}}function Se(){var r;if(e.selection.value){const f=e.selection.value;e.clearCellsInRange(f.startCol,f.endCol,f.startRow,f.endRow),(r=e.scheduleRender)==null||r.call(e)}}function ce(){var O,H;const r=e.selection.value;if(!r)return;v.saveUndo();const f=r.startCol,w=r.startRow,o=r.endCol,a=r.endRow;if(w===a)if(o+1<e.colCount){const V=`${Je(f)}${w+1}:${Je(o)}${w+1}`;e.setCellValue(o+1,w,`=SUM(${V})`)}else{const V=`${Je(f)}${w+1}:${Je(o-1)}${w+1}`;e.setCellValue(o,w,`=SUM(${V})`)}else for(let V=f;V<=o;V++)if(a+1<e.rowCount){const ae=`${Je(V)}${w+1}:${Je(V)}${a+1}`;e.setCellValue(V,a+1,`=SUM(${ae})`)}else{const ae=`${Je(V)}${w+1}:${Je(V)}${a}`;e.setCellValue(V,a,`=SUM(${ae})`)}(O=e.scheduleRender)==null||O.call(e),(H=e.emitModelData)==null||H.call(e)}return{cachedBorder:p,borderMenuOpen:n,BORDER_COLOR:u,borderTypeToWidths:k,onBorderChange:ee,setCellBorderSide:i,syncCellBorders:I,applyBorderToCell:g,applyCachedBorder:Y,cellBorderWidth:y,mergeMenuOpen:ne,onMergeMenuToggle:A,removeOverlappingMerges:m,mergeAndCenter:ge,mergeAcross:me,mergeCells:we,unmergeCells:G,onApplyMerge:U,onMergeChange:pe,copySourceRange:null,copySourceStyles:[],captureStyles:be,setCellWithStyle:ye,copyToClipboard:te,copyRowCol:s,pasteFromClipboard:C,cutSelected:He,clearSelected:Se,sumSelected:ce}}function vn(e,v,p,n){const u={},k=n(v),i=n(p);return k!=null&&(u.width=`${k}px`),i!=null&&(u.height=`${i}px`),u["--sp-formula-bar-bg"]=e.formulaBarBg,u["--sp-formula-bar-border"]=e.formulaBarBorder,u["--sp-formula-bar-label-color"]=e.formulaBarLabelText,u["--sp-formula-bar-label-bg"]=e.formulaBarLabelBg,u["--sp-formula-bar-label-border"]=e.formulaBarLabelBorder,u["--sp-formula-bar-input-bg"]=e.formulaBarInputBg,u["--sp-formula-bar-input-border"]=e.formulaBarInputBorder,u["--sp-formula-bar-input-color"]=e.formulaBarInputText,u["--sp-formula-bar-input-focus-border"]=e.formulaBarInputFocusBorder,u["--sp-formula-bar-input-focus-shadow"]=e.formulaBarInputFocusShadow,u["--sp-wrapper-bg"]=e.wrapperBg,u["--sp-cell-editor-border"]=e.cellEditorBorder,u["--sp-cell-editor-color"]=e.cellEditorText,u["--sp-cell-editor-bg"]=e.cellEditorBg,u["--sp-cell-editor-shadow"]=e.cellEditorShadow,u["--sp-tab-bar-bg"]=e.tabBarBg,u["--sp-tab-bar-border"]=e.tabBarBorder,u["--sp-tab-active-bg"]=e.tabActiveBg,u["--sp-tab-active-color"]=e.tabActiveText,u["--sp-tab-active-border"]=e.tabActiveBorder,u["--sp-tab-inactive-bg"]=e.tabInactiveBg,u["--sp-tab-inactive-color"]=e.tabInactiveText,u["--sp-tab-inactive-border"]=e.tabInactiveBorder,u["--sp-tab-hover-bg"]=e.tabHoverBg,u["--sp-tab-add-btn-color"]=e.tabAddBtnColor,u["--sp-tab-add-btn-hover-bg"]=e.tabAddBtnHoverBg,u["--sp-tab-scroll-btn-color"]=e.tabScrollBtnColor,u["--sp-tab-scroll-btn-hover-bg"]=e.tabScrollBtnHoverBg,u["--sp-scroll-thumb"]=e.scrollbarThumb,u["--sp-scroll-thumb-hover"]=e.scrollbarThumbHover,u["--sp-scroll-btn-bg"]=e.scrollBtnBg,u["--sp-scroll-btn-color"]=e.scrollBtnColor,u["--sp-scroll-btn-hover-bg"]=e.scrollBtnHoverBg,u["--sp-scroll-btn-active-bg"]=e.scrollBtnActiveBg,u["--sp-scroll-track-bg"]=e.scrollTrackBg,u["--sp-toolbar-bg"]=e.toolbarBg,u["--sp-toolbar-border"]=e.toolbarBorder,u["--sp-toolbar-btn-color"]=e.toolbarBtnColor,u["--sp-toolbar-btn-hover-bg"]=e.toolbarBtnHoverBg,u["--sp-toolbar-btn-disabled-color"]=e.toolbarBtnDisabledColor,u["--sp-toolbar-btn-active-color"]=e.toolbarBtnActiveColor,u}function Cn(e,v,p,n){function u(S,F){var le,fe;const _=F-S+1;for(let z=S;z<=F;z++)for(let se=0;se<e.colCount;se++)e.delCell(e.cellKey(se,z));for(let z=S;z<e.rowCount-_;z++){for(let se=0;se<e.colCount;se++){const ke=e.cellKey(se,z+_),De=e.cellKey(se,z);e.cells[ke]?(e.cells[De]=e.cells[ke],e.delCell(ke)):e.delCell(De)}e.rowHeights.value[z]=e.rowHeights.value[z+_]}for(let z=e.rowCount-_;z<e.rowCount;z++){for(let se=0;se<e.colCount;se++)e.delCell(e.cellKey(se,z));e.rowHeights.value[z]=void 0}if(S>0)for(let z=0;z<e.colCount;z++)(le=e.syncCellBorders)==null||le.call(e,z,S-1),(fe=e.syncCellBorders)==null||fe.call(e,z,S)}function k(S,F){const _=F-S+1;if(!(F>=e.rowCount-1)){for(let le=e.rowCount-1;le>F;le--){for(let fe=0;fe<e.colCount;fe++){const z=e.cellKey(fe,le-_),se=e.cellKey(fe,le);e.cells[z]?e.cells[se]=e.cells[z]:e.delCell(se)}e.rowHeights.value[le]=e.rowHeights.value[le-_]}for(let le=F+1;le<=F+_;le++){for(let fe=0;fe<e.colCount;fe++)e.delCell(e.cellKey(fe,le));e.rowHeights.value[le]=void 0}}}function i(S,F){const _=F-S+1;if(!(F>=e.colCount-1)){for(let le=e.colCount-1;le>F;le--){for(let fe=0;fe<e.rowCount;fe++){const z=e.cellKey(le-_,fe),se=e.cellKey(le,fe);e.cells[z]?e.cells[se]=e.cells[z]:e.delCell(se)}e.colWidths.value[le]=e.colWidths.value[le-_]}for(let le=F+1;le<=F+_;le++){for(let fe=0;fe<e.rowCount;fe++)e.delCell(e.cellKey(le,fe));e.colWidths.value[le]=100}}}function I(S,F){var le,fe;const _=F-S+1;for(let z=S;z<=F;z++)for(let se=0;se<e.rowCount;se++)e.delCell(e.cellKey(z,se));for(let z=S;z<e.colCount-_;z++){for(let se=0;se<e.rowCount;se++){const ke=e.cellKey(z+_,se),De=e.cellKey(z,se);e.cells[ke]?(e.cells[De]=e.cells[ke],e.delCell(ke)):e.delCell(De)}e.colWidths.value[z]=e.colWidths.value[z+_]}for(let z=e.colCount-_;z<e.colCount;z++){for(let se=0;se<e.rowCount;se++)e.delCell(e.cellKey(z,se));e.colWidths.value[z]=100}if(S>0)for(let z=0;z<e.rowCount;z++)(le=e.syncCellBorders)==null||le.call(e,S-1,z),(fe=e.syncCellBorders)==null||fe.call(e,S,z)}let g=0;function ee(){return g++,`s_${g}`}function Y(S){return{id:ee(),name:S,cells:{},merges:{},selection:{startCol:0,startRow:0,endCol:0,endRow:0},activeCell:{col:0,row:0},scrollX:0,scrollY:0,colWidths:new Array(e.colCount).fill(100),rowHeights:new Array(e.rowCount).fill(void 0)}}const y=t.ref([Y("Sheet1")]),ne=t.ref(0);function A(){const S=y.value[ne.value];S&&(S.cells={...e.cells},S.merges={...e.merges},S.selection=e.selection.value?{...e.selection.value}:null,S.activeCell={...e.activeCell.value},S.scrollX=e.scrollX.value,S.scrollY=e.scrollY.value,S.colWidths=[...e.colWidths.value],S.rowHeights=[...e.rowHeights.value])}function m(S){const F=y.value[S];F&&(Object.keys(e.cells).forEach(_=>e.delCell(_)),Object.assign(e.cells,F.cells),Object.keys(e.merges).forEach(_=>Reflect.deleteProperty(e.merges,_)),F.merges&&Object.assign(e.merges,F.merges),e.selection.value=F.selection?{...F.selection}:null,e.activeCell.value={...F.activeCell},e.scrollX.value=F.scrollX,e.scrollY.value=F.scrollY,e.colWidths.value=[...F.colWidths],e.rowHeights.value=[...F.rowHeights],ne.value=S)}function ge(S){S===ne.value||S<0||S>=y.value.length||(e.cancelEdit(),A(),m(S))}function me(S){return v.saveUndo(),e.cancelEdit(),A(),y.value.push(Y(S??`Sheet${y.value.length+1}`)),m(y.value.length-1),y.value.length-1}function we(S){return y.value.length<=1||(v.saveUndo(),e.cancelEdit(),y.value.splice(S,1),m(Math.min(S,y.value.length-1))),ne.value}function G(S,F){y.value[S]&&F.trim()&&(v.saveUndo(),y.value[S].name=F.trim())}function U(S){v.saveUndo(),e.cancelEdit(),A();const F=y.value[S];if(!F)return S;let _=F.name;const le=_.match(/^(.*?)\s*\((\d+)\)$/);let fe=le?parseInt(le[2],10)+1:2;le&&(_=le[1]);let z=`${_} (${fe})`;const se=new Set(y.value.map(De=>De.name));for(;se.has(z);)fe++,z=`${_} (${fe})`;const ke={id:ee(),name:z,cells:{...F.cells},merges:F.merges?{...F.merges}:{},selection:F.selection?{...F.selection}:null,activeCell:F.activeCell?{...F.activeCell}:{col:0,row:0},scrollX:F.scrollX,scrollY:F.scrollY,colWidths:[...F.colWidths],rowHeights:[...F.rowHeights]};return y.value.splice(S+1,0,ke),m(S+1),S+1}function pe(S,F){var z;const _=S+F;if(_<0||_>=y.value.length)return;v.saveUndo();const le=ne.value,fe=y.value.splice(S,1)[0];y.value.splice(_,0,fe),le===S?ne.value=_:S<le&&_>=le?ne.value=le-1:S>le&&_<=le&&(ne.value=le+1),(z=e.scheduleRender)==null||z.call(e)}const T=t.computed(()=>y.value.length);let P="";const be=p;function ye(){A();const S=y.value.map(_=>{const le={};for(const[ke,De]of Object.entries(_.cells))le[ke]={value:De.value},De.style&&(le[ke].style=De.style);const fe={name:_.name,cells:le};_.merges&&Object.keys(_.merges).length&&(fe.merges={..._.merges});const z={};for(let ke=0;ke<_.colWidths.length;ke++)_.colWidths[ke]!==100&&(z[ke]=_.colWidths[ke]);Object.keys(z).length&&(fe.colWidths=z);const se={};for(let ke=0;ke<_.rowHeights.length;ke++){const De=_.rowHeights[ke];De!=null&&(se[ke]=De)}return Object.keys(se).length&&(fe.rowHeights=se),fe}),F=JSON.stringify(S);F!==P&&(P=F,be.value=S)}e.emitModelData=ye;let te=!1;function s(){te||(te=!0,Promise.resolve().then(()=>{te=!1,ye()}))}const C=t.computed(()=>e.props.theme==="dark"?Il:Nl),He=t.computed(()=>vn(C.value,e.props.width,e.props.height,mt)),Se=t.computed(()=>{const S={};for(const[F,_]of Object.entries(He.value))F.startsWith("--")&&(S[F]=_);return S}),ce=t.ref(null),r=t.ref(null),f=t.ref(null),w=t.ref(null),o=t.reactive({w:800,h:600});e.viewSize&&t.watch(o,S=>{e.viewSize&&(e.viewSize.w=S.w,e.viewSize.h=S.h)},{deep:!0});const a=48,O=28,H=11,V=t.computed(()=>Math.max(0,e.totalWidth.value-Math.max(0,o.w-a-H))),ae=t.computed(()=>Math.max(0,e.totalHeight.value-Math.max(0,o.h-O-H)));function ve(S,F){const _=Math.max(0,o.w-a-H),le=Math.max(0,o.h-O-H);e.scrollX.value=Math.max(0,Math.min(S??e.scrollX.value,Math.max(0,e.totalWidth.value-_))),e.scrollY.value=Math.max(0,Math.min(F??e.scrollY.value,Math.max(0,e.totalHeight.value-le)))}e.clampScroll=ve;function xe(){var S;return typeof window>"u"?!1:!((S=window.matchMedia)!=null&&S.call(window,"(hover: none) and (pointer: coarse)").matches)}function Ae(S=!1){t.nextTick(()=>{const F=f.value;if(F){if(!e.editingCell.value&&!xe()){document.activeElement===F&&F.blur();return}F.focus({preventScroll:!0}),S&&F.select()}})}function Le(){Ae()}function he(){var F;const S=e.selection.value;if(S){v.saveUndo();for(let _=S.startRow;_<=S.endRow;_++)e.rowHeights.value[_]=void 0;(F=e.scheduleRender)==null||F.call(e),ye()}}function We(){var F;const S=e.selection.value;if(S){v.saveUndo();for(let _=S.startCol;_<=S.endCol;_++)e.colWidths.value[_]=100;(F=e.scheduleRender)==null||F.call(e),ye()}}return{deleteRows:u,insertRows:k,insertCols:i,deleteCols:I,sheets:y,activeSheetIndex:ne,saveSheet:A,loadSheet:m,switchSheet:ge,addSheet:me,removeSheet:we,renameSheet:G,dupSheet:U,moveSheet:pe,sheetCount:T,mkSheet:Y,emitModelData:ye,scheduleOptEmit:s,themeColors:C,outerStyle:He,toolbarThemeVars:Se,wrapperRef:ce,canvasRef:r,editInputRef:f,formulaBarRef:w,viewSize:o,maxScrollX:V,maxScrollY:ae,clampScroll:ve,canFocusHiddenEditor:xe,focusEditInput:Ae,onCanvasFocus:Le,resetRowHeight:he,resetColWidth:We,modelData:be}}function bn(e,v,p,n,u){let k=!1,i=null,I=1;function g(){k||(k=!0,requestAnimationFrame(()=>{k=!1,Y()}))}e.scheduleRender=g;const ee="#444";function Y(){var il,vt,Ot,it,ut,Vt,hl,vl,Cl,bl,yl;const l=n.canvasRef.value;if(!l)return;const d=n.wrapperRef.value;if(!d||(i=l.getContext("2d"),!i))return;I=window.devicePixelRatio||1;const x=d.getBoundingClientRect(),M=x.width,h=x.height;n.viewSize.w=M,n.viewSize.h=h,l.width=M*I,l.height=h*I,l.style.width=M+"px",l.style.height=h+"px",i.setTransform(I,0,0,I,0,0);const D=e.scrollX.value,q=e.scrollY.value,oe=52,ie=24,Be=n.themeColors.value,Ye=e.colPositions.value,_e=e.rowPositions.value,kt=e.colWidths.value,gt=[];for(let N=0;N<e.rowCount;N++)gt[N]=_e[N+1]-_e[N];const ot=Math.max(0,e.hitCol(D));let ht=ot;for(let N=ot;N<e.colCount&&!(oe+Ye[N]-D>=M);N++)ht=N;const Et=ht,Ze=Math.max(0,e.hitRow(q));let Xt=Ze;for(let N=Ze;N<e.rowCount&&!(ie+_e[N]-q>=h);N++)Xt=N;const Bt=Xt;i.fillStyle=Be.bg,i.fillRect(0,0,M,h),i.fillStyle=Be.gridBg,i.fillRect(oe,ie,M-oe,h-ie),i.save(),i.beginPath(),i.rect(oe,ie,M-oe,h-ie),i.clip();const Pe=e.selection.value,Lt=e.editingCell.value;for(let N=Ze;N<=Bt;N++)for(let J=ot;J<=Et;J++){const Re=e.findMerge(J,N);if(Re&&!(J===Re.range.startCol&&N===Re.range.startRow))continue;const Me=oe+Ye[J]-D,Te=ie+_e[N]-q;let Ne=kt[J],Ie=gt[N];if(Re&&(Ne=Ye[Re.range.endCol+1]-Ye[J],Ie=_e[Re.range.endRow+1]-_e[N]),Me+Ne<oe||Te+Ie<ie||Me>M||Te>h)continue;const Oe=(il=e.cells[e.cellKey(J,N)])==null?void 0:il.style,Rt=typeof(Oe==null?void 0:Oe.backgroundColor)=="string"?Oe.backgroundColor:"";if(Rt&&(i.fillStyle=Rt,i.fillRect(Me,Te,Ne,Ie)),e.isSelected(J,N)&&(i.fillStyle=Be.selectionBg,i.fillRect(Me,Te,Ne,Ie)),e.activeCell.value.col===J&&e.activeCell.value.row===N&&(i.strokeStyle=Be.activeCellBorder,i.lineWidth=2,i.strokeRect(Me+1,Te+1,Ne-2,Ie-2)),i.strokeStyle=Be.gridLine,i.lineWidth=.5,i.strokeRect(Me+.25,Te+.25,Ne-.5,Ie-.5),!(Lt&&Lt.col===J&&Lt.row===N)){const xt=e.getCellValue(J,N);if(xt){const Ce=(vt=e.cells[e.cellKey(J,N)])==null?void 0:vt.style,Ge=e.cellFontSize(J,N),qe=typeof(Ce==null?void 0:Ce.fontFamily)=="string"&&Ce.fontFamily?Ce.fontFamily:$t,nt=(Ce==null?void 0:Ce.fontWeight)==="bold"?"bold":"normal",tt=(Ce==null?void 0:Ce.fontStyle)==="italic"?"italic":"normal",St=(Ce==null?void 0:Ce.underline)==="underline",Kn=(Ce==null?void 0:Ce.strikethrough)==="line-through",cl=typeof(Ce==null?void 0:Ce.color)=="string"?Ce.color:"",wl=typeof(Ce==null?void 0:Ce.textAlign)=="string"?Ce.textAlign:"left",kl=typeof(Ce==null?void 0:Ce.verticalAlign)=="string"?Ce.verticalAlign:"top";i.fillStyle=cl||Be.cellText,i.font=`${tt} ${nt} ${Ge}px ${qe}`,i.textBaseline="alphabetic",i.save(),i.beginPath(),i.rect(Me+5,Te+1,Ne-10,Ie-2),i.clip();const Un=(Ce==null?void 0:Ce.wrap)==="wrap",Wt=e.getWrappedLines(i,xt,Ne-10,Un);let Mt=0,Ct=0;for(const Tt of Wt){const zt=i.measureText(Tt),Dt=zt.actualBoundingBoxAscent,Ht=zt.actualBoundingBoxDescent,rt=Dt||Ge*.8,qt=Ht||Ge*.2;Mt=Math.max(Mt,rt),Ct=Math.max(Ct,qt)}Mt=Math.max(Mt,Ge*.5),Ct=Math.max(Ct,Ge*.15);const jt=Ge,Pn=Wt.length*jt;let Zt;kl==="middle"?Zt=Te+(Ie-Pn)/2+Mt:kl==="bottom"?Zt=Te+Ie-e.BASE_CELL_VPAD-Ct-(Wt.length-1)*jt:Zt=Te+e.BASE_CELL_VPAD+Mt;for(let Tt=0;Tt<Wt.length;Tt++){const zt=Wt[Tt],Dt=Zt+Tt*jt,Ht=i.measureText(zt);let rt;if(wl==="center"?rt=Me+Ne/2-Ht.width/2:wl==="right"?rt=Me+Ne-5-Ht.width:rt=Me+5,i.fillText(zt,rt,Dt),St&&(i.strokeStyle=cl||Be.cellText,i.lineWidth=1,i.beginPath(),i.moveTo(rt,Dt+Ct+1),i.lineTo(rt+Ht.width,Dt+Ct+1),i.stroke()),Kn){i.strokeStyle=cl||Be.cellText,i.lineWidth=1;const qt=Dt-jt*.25;i.beginPath(),i.moveTo(rt,qt),i.lineTo(rt+Ht.width,qt),i.stroke()}}i.restore()}}}for(let N=Ze;N<=Bt;N++)for(let J=ot;J<=Et;J++){const Re=e.findMerge(J,N);if(Re&&!(J===Re.range.startCol&&N===Re.range.startRow))continue;const Me=oe+Ye[J]-D,Te=ie+_e[N]-q;let Ne=kt[J],Ie=gt[N];if(Re&&(Ne=Ye[Re.range.endCol+1]-Ye[J],Ie=_e[Re.range.endRow+1]-_e[N]),Me+Ne<oe||Te+Ie<ie||Me>M||Te>h)continue;const Oe=(Ot=e.cells[e.cellKey(J,N)])==null?void 0:Ot.style,Rt=(Oe==null?void 0:Oe.borderTopWidth)||0,xt=(Oe==null?void 0:Oe.borderLeftWidth)||0,Ce=(Oe==null?void 0:Oe.borderBottomWidth)||0,Ge=(Oe==null?void 0:Oe.borderRightWidth)||0,qe=Math.max(Rt,p.cellBorderWidth(J,N-1,"Bottom")),nt=Math.max(xt,p.cellBorderWidth(J-1,N,"Right")),tt=Math.max(Ce,p.cellBorderWidth(J,N+1,"Top")),St=Math.max(Ge,p.cellBorderWidth(J+1,N,"Left"));(qe>0||nt>0||tt>0||St>0)&&(i.fillStyle=ee,qe>0&&i.fillRect(Me,Te,Ne,qe),tt>0&&i.fillRect(Me,Te+Ie-tt,Ne,tt),nt>0&&i.fillRect(Me,Te,nt,Ie),St>0&&i.fillRect(Me+Ne-St,Te,St,Ie))}for(let N=Ze;N<=Bt;N++)for(let J=ot;J<=Et;J++){const Re=e.findMerge(J,N);if(Re&&!(J===Re.range.startCol&&N===Re.range.startRow))continue;const Me=oe+Ye[J]-D,Te=ie+_e[N]-q;let Ne=kt[J],Ie=gt[N];if(Re&&(Ne=Ye[Re.range.endCol+1]-Ye[J],Ie=_e[Re.range.endRow+1]-_e[N]),Me+Ne<oe||Te+Ie<ie||Me>M||Te>h)continue;const Oe=((ut=(it=e.cells[e.cellKey(J,N)])==null?void 0:it.style)==null?void 0:ut.borderTopWidth)||0,Rt=((hl=(Vt=e.cells[e.cellKey(J,N)])==null?void 0:Vt.style)==null?void 0:hl.borderLeftWidth)||0,xt=((Cl=(vl=e.cells[e.cellKey(J,N)])==null?void 0:vl.style)==null?void 0:Cl.borderBottomWidth)||0,Ce=((yl=(bl=e.cells[e.cellKey(J,N)])==null?void 0:bl.style)==null?void 0:yl.borderRightWidth)||0,Ge=Math.max(Oe,p.cellBorderWidth(J,N-1,"Bottom")),qe=Math.max(Rt,p.cellBorderWidth(J-1,N,"Right")),nt=Math.max(xt,p.cellBorderWidth(J,N+1,"Top")),tt=Math.max(Ce,p.cellBorderWidth(J+1,N,"Left"));i.fillStyle=ee,Ge>0&&qe>0&&i.fillRect(Me-qe,Te-Ge,qe,Ge),Ge>0&&tt>0&&i.fillRect(Me+Ne,Te-Ge,tt,Ge),nt>0&&qe>0&&i.fillRect(Me-qe,Te+Ie,qe,nt),nt>0&&tt>0&&i.fillRect(Me+Ne,Te+Ie,tt,nt)}i.restore(),i.fillStyle=Be.headerBg,i.fillRect(oe,0,M-oe,ie);for(let N=ot;N<=Et;N++){const J=oe+Ye[N]-D,Re=kt[N];J+Re<oe||J>M||(Pe&&N>=Pe.startCol&&N<=Pe.endCol&&(i.fillStyle=Be.selectionBg,i.fillRect(J,0,Re,ie)),i.strokeStyle=Be.headerBorder,i.lineWidth=.5,i.strokeRect(J+.25,.25,Re-.5,ie-.5),Pe&&N>=Pe.startCol&&N<=Pe.endCol&&(i.strokeStyle=Be.activeCellBorder,i.lineWidth=2,i.beginPath(),i.moveTo(J,ie-1),i.lineTo(J+Re,ie-1),i.stroke()),i.fillStyle=Be.headerText,i.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',i.textAlign="center",i.textBaseline="middle",i.fillText(Je(N),J+Re/2,ie/2))}i.strokeStyle=Be.headerSep,i.lineWidth=1,i.beginPath(),i.moveTo(oe,ie+.5),i.lineTo(M,ie+.5),i.stroke(),i.fillStyle=Be.headerBg,i.fillRect(0,ie,oe,h-ie);for(let N=Ze;N<=Bt;N++){const J=ie+_e[N]-q,Re=gt[N];J+Re<ie||J>h||(Pe&&N>=Pe.startRow&&N<=Pe.endRow&&(i.fillStyle=Be.selectionBg,i.fillRect(0,J,oe,Re)),i.strokeStyle=Be.headerBorder,i.lineWidth=.5,i.strokeRect(.25,J+.25,oe-.5,Re-.5),Pe&&N>=Pe.startRow&&N<=Pe.endRow&&(i.strokeStyle=Be.activeCellBorder,i.lineWidth=2,i.beginPath(),i.moveTo(oe-1,J),i.lineTo(oe-1,J+Re),i.stroke()),i.fillStyle=Be.headerText,i.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',i.textAlign="center",i.textBaseline="middle",i.fillText(String(N+1),oe/2,J+Re/2+.5))}i.strokeStyle=Be.headerSep,i.lineWidth=1,i.beginPath(),i.moveTo(oe+.5,ie),i.lineTo(oe+.5,h),i.stroke(),i.fillStyle=Be.headerBg,i.fillRect(0,0,oe,ie),i.strokeStyle=Be.headerSep,i.lineWidth=1,i.strokeRect(.5,.5,oe-.5,ie-.5)}const y=t.computed(()=>Je(e.activeCell.value.col)+String(e.activeCell.value.row+1)),ne=t.computed(()=>e.editingCell.value?e.editValue.value:e.getCellRaw(e.activeCell.value.col,e.activeCell.value.row));function A(){e.editingCell.value||(e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.editValue.value=e.getCellRaw(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(),g())}function m(l){e.editValue.value=l.target.value}function ge(l){var d,x;l.key==="Enter"?(l.preventDefault(),e.commitEdit(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),(d=n.formulaBarRef.value)==null||d.blur(),g(),n.focusEditInput()):l.key==="Escape"&&(l.preventDefault(),e.cancelEdit(),(x=n.formulaBarRef.value)==null||x.blur(),g(),n.focusEditInput())}function me(){setTimeout(()=>{e.editingCell.value&&(e.commitEdit(),g())},0)}const we=t.ref(null),G=t.ref("");function U(l){we.value===null&&(n.switchSheet(l),g())}function pe(l){l!==n.activeSheetIndex.value&&(n.saveSheet(),n.loadSheet(l),g()),we.value=l,G.value=n.sheets.value[l].name,t.nextTick(()=>{const d=document.querySelector(".tab-rename-input");d==null||d.focus(),d==null||d.select()})}function T(){we.value!==null&&(n.renameSheet(we.value,G.value),t.nextTick(()=>n.emitModelData())),we.value=null,G.value=""}function P(){we.value=null,G.value=""}function be(l){l.key==="Enter"?(l.preventDefault(),T()):l.key==="Escape"&&(l.preventDefault(),P())}const ye=t.ref(null);let te=null;function s(){te&&(document.removeEventListener("click",te),te=null)}function C(l,d,x){s();const M=140,h=x.length*28+8,D=window.innerWidth,q=window.innerHeight;l+M>D&&(l-=M),d+h>q&&(d-=h),ye.value={x:l,y:d,items:x},te=()=>{ye.value=null,s()},setTimeout(()=>document.addEventListener("click",te,{once:!0}),0)}const He=t.ref(!1);function Se(l,d){if(!d.children){He.value=!1;return}const M=l.currentTarget.querySelector(".context-submenu");if(!M){He.value=!1;return}const h=M.getBoundingClientRect();He.value=h.right>window.innerWidth}function ce(l,d){l.preventDefault(),l.stopPropagation(),C(l.clientX,l.clientY,[{label:$(e.locale.value,"insert"),action:()=>{n.addSheet(),g()}},{label:$(e.locale.value,"copy"),action:()=>{n.dupSheet(d)}},{label:$(e.locale.value,"rename"),action:()=>{pe(d)}},{label:$(e.locale.value,"delete"),action:()=>{n.removeSheet(d),g()},disabled:n.sheetCount.value<=1},{label:$(e.locale.value,"moveSheetLeft"),action:()=>{n.moveSheet(d,-1)},disabled:d===0},{label:$(e.locale.value,"moveSheetRight"),action:()=>{n.moveSheet(d,1)},disabled:d===n.sheets.value.length-1}])}function r(l){l.preventDefault(),!(l.target.closest(".tab-item")||l.target.closest(".tab-bar__add-btn"))&&C(l.clientX,l.clientY,[{label:$(e.locale.value,"insert"),action:()=>{n.addSheet(),g()}}])}function f(l){l.preventDefault(),e.selectAll(),g(),C(l.clientX,l.clientY,[{label:$(e.locale.value,"cut"),action:()=>{p.cutSelected(),n.emitModelData()}},{label:$(e.locale.value,"copy"),action:()=>p.copyToClipboard()},{label:$(e.locale.value,"paste"),action:()=>{v.saveUndo(),p.pasteFromClipboard().then(()=>{g(),t.nextTick(()=>n.emitModelData())})}},{label:$(e.locale.value,"delete"),action:()=>{v.saveUndo(),p.clearSelected();for(let d=0;d<e.colCount;d++)e.colWidths.value[d]=100;for(let d=0;d<e.rowCount;d++)e.rowHeights.value[d]=void 0;g(),n.emitModelData()}}])}function w(l,d){l.preventDefault();const x=l.clientX,M=l.clientY,h=e.selection.value;h&&h.startCol===0&&h.endCol===e.colCount-1&&d>=h.startRow&&d<=h.endRow||(e.selectRange(0,d,e.colCount-1,d),g());const D=e.selection.value;C(l.clientX,l.clientY,[{label:$(e.locale.value,"insert"),action:()=>{v.saveUndo(),n.insertRows(D.startRow,D.endRow),g(),n.emitModelData()},disabled:D.endRow>=e.rowCount-1},{label:$(e.locale.value,"cut"),action:()=>{v.saveUndo(),p.copyRowCol();for(let q=D.startRow;q<=D.endRow;q++)for(let oe=0;oe<e.colCount;oe++)e.delCell(e.cellKey(oe,q));g(),n.emitModelData()}},{label:$(e.locale.value,"copy"),action:()=>p.copyRowCol()},{label:$(e.locale.value,"paste"),action:()=>{v.saveUndo(),p.pasteFromClipboard().then(()=>{g(),t.nextTick(()=>n.emitModelData())})}},{label:$(e.locale.value,"delete"),action:()=>{v.saveUndo(),n.deleteRows(D.startRow,D.endRow),g(),n.emitModelData()}},{label:`${$(e.locale.value,"rowHeight")}...`,action:()=>ve("row",x,M)},{label:$(e.locale.value,"autoRowHeight"),action:()=>n.resetRowHeight()}])}function o(l,d){l.preventDefault();const x=l.clientX,M=l.clientY,h=e.selection.value;h&&h.startRow===0&&h.endRow===e.rowCount-1&&d>=h.startCol&&d<=h.endCol||(e.selectRange(d,0,d,e.rowCount-1),g());const D=e.selection.value;C(l.clientX,l.clientY,[{label:$(e.locale.value,"insert"),action:()=>{v.saveUndo(),n.insertCols(D.startCol,D.endCol),g(),n.emitModelData()},disabled:D.endCol>=e.colCount-1},{label:$(e.locale.value,"cut"),action:()=>{v.saveUndo(),p.copyRowCol();for(let q=D.startCol;q<=D.endCol;q++)for(let oe=0;oe<e.rowCount;oe++)e.delCell(e.cellKey(q,oe));g(),n.emitModelData()}},{label:$(e.locale.value,"copy"),action:()=>p.copyRowCol()},{label:$(e.locale.value,"paste"),action:()=>{v.saveUndo(),p.pasteFromClipboard().then(()=>{g(),t.nextTick(()=>n.emitModelData())})}},{label:$(e.locale.value,"delete"),action:()=>{v.saveUndo(),n.deleteCols(D.startCol,D.endCol),g(),n.emitModelData()}},{label:`${$(e.locale.value,"colWidth")}...`,action:()=>ve("col",x,M)},{label:$(e.locale.value,"defaultColWidth"),action:()=>n.resetColWidth()}])}function a(l,d,x){l.preventDefault(),e.isSelected(d,x)||(e.selectCell(d,x),g());const M=e.selection.value,h=!!(M&&M.startCol===M.endCol&&M.startRow===M.endRow);C(l.clientX,l.clientY,[{label:$(e.locale.value,"cut"),action:()=>{p.cutSelected(),n.emitModelData()}},{label:$(e.locale.value,"copy"),action:()=>p.copyToClipboard()},{label:$(e.locale.value,"paste"),action:()=>{v.saveUndo(),p.pasteFromClipboard().then(()=>{g(),t.nextTick(()=>n.emitModelData())})}},{label:$(e.locale.value,"delete"),action:()=>{v.saveUndo(),p.clearSelected(),g(),n.emitModelData()}},{label:$(e.locale.value,"calculate"),children:[{label:$(e.locale.value,"sum"),action:p.sumSelected,disabled:h}]}])}const O=t.ref(null),H=t.ref(null);let V=null;function ae(){V&&(document.removeEventListener("mousedown",V),V=null)}function ve(l,d,x){ae();const M=e.selection.value;let h="";if(M){const Be=l==="row"?e.getRowHeight(M.startRow):e.colWidths.value[M.startCol];h=Be!=null&&Be>0?String(Math.round(Be)):""}const D=220,q=118;let oe=d,ie=x;oe+D>window.innerWidth&&(oe=window.innerWidth-D-8),ie+q>window.innerHeight&&(ie=window.innerHeight-q-8),oe<8&&(oe=8),ie<8&&(ie=8),H.value={type:l,x:oe,y:ie,value:h,error:""},V=()=>{H.value=null},setTimeout(()=>document.addEventListener("mousedown",V,{once:!0}),0),t.nextTick(()=>{const Be=O.value;Be&&(Be.focus(),Be.select())})}function xe(l){const d=H.value;if(!d)return;const x=l.target,M=x.value,h=M.replace(/[^\d]/g,"");d.value=h,M!==h&&(x.value=h),d.error=""}function Ae(l){l.key==="Enter"?(l.preventDefault(),he()):l.key==="Escape"&&(l.preventDefault(),We())}function Le(){const l=H.value;if(!l)return;const d=l.value.trim(),x=Number(d),M=l.type==="row",h=M?24:30,D=M?500:1e3;if(d===""||!Number.isFinite(x)){We();return}const q=Math.max(h,Math.min(D,Math.round(x)));l.value=String(q),l.error=""}function he(){const l=H.value,d=e.selection.value;if(!l||!d)return;const x=l.value.trim(),M=Number(x),h=l.type==="row",D=h?24:30,q=h?500:1e3;if(x===""||!Number.isFinite(M)){l.error=$(e.locale.value,"dimNumberError");return}if(M<D||M>q){l.error=$(e.locale.value,"dimRangeError").replace("{min}",String(D)).replace("{max}",String(q));return}const oe=M;if(v.saveUndo(),h)for(let ie=d.startRow;ie<=d.endRow;ie++)e.rowHeights.value[ie]=oe;else for(let ie=d.startCol;ie<=d.endCol;ie++)e.colWidths.value[ie]=oe;g(),n.emitModelData(),We()}function We(){ae(),H.value=null}const S=t.computed(()=>{var Vt;const l=!e.editingCell.value,d=e.editingCell.value??e.activeCell.value,x=d.col,M=d.row,h=(Vt=e.cells[e.cellKey(x,M)])==null?void 0:Vt.style,D=e.cellFontSize(x,M),q=typeof(h==null?void 0:h.fontFamily)=="string"&&h.fontFamily?h.fontFamily:$t,oe=(h==null?void 0:h.fontWeight)==="bold"?"bold":"normal",ie=(h==null?void 0:h.fontStyle)==="italic"?"italic":"normal",Be=(h==null?void 0:h.underline)==="underline"?"underline":(h==null?void 0:h.strikethrough)==="line-through"?"line-through":"none",Ye=(h==null?void 0:h.underline)==="underline"&&(h==null?void 0:h.strikethrough)==="line-through"?"underline line-through":Be,_e=typeof(h==null?void 0:h.color)=="string"?h.color:void 0,kt=typeof(h==null?void 0:h.backgroundColor)=="string"?h.backgroundColor:void 0,gt=typeof(h==null?void 0:h.textAlign)=="string"?h.textAlign:"left",ot=typeof(h==null?void 0:h.verticalAlign)=="string"?h.verticalAlign:"top",ht=e.findMerge(x,M),Et=ht?e.colPositions.value[ht.range.endCol+1]-e.colPositions.value[x]:e.colWidths.value[x],Ze=ht?e.rowPositions.value[ht.range.endRow+1]-e.rowPositions.value[M]:e.getRowHeight(M),Xt=2,{ascent:Bt,descent:Pe}=e.measureFontMetrics(q,D,oe,ie),Lt=Bt+Pe,vt=(e.editValue.value?e.editValue.value.split(`
8
- `).length:1)*Lt,Ot=e.BASE_CELL_VPAD-Xt;let it=0,ut=0;return ot==="middle"?(it=Math.floor((Ze-vt)/2),ut=Math.max(0,Ze-vt-it)):ot==="top"?(it=Ot,ut=Math.max(0,Ze-vt-it)):ot==="bottom"&&(ut=Ot,it=Math.max(0,Ze-vt-ut)),{left:`${52+e.colPositions.value[x]-e.scrollX.value}px`,top:`${24+e.rowPositions.value[M]-e.scrollY.value}px`,width:`${Et}px`,height:`${Ze}px`,fontFamily:q,fontSize:`${D}px`,lineHeight:1,fontWeight:oe,fontStyle:ie,textDecoration:Ye,textAlign:gt,paddingTop:`${it}px`,paddingRight:"3px",paddingBottom:`${ut}px`,paddingLeft:"3px",opacity:l?0:1,pointerEvents:l?"none":"auto",color:l?"transparent":_e,caretColor:l?"transparent":void 0,borderColor:l?"transparent":void 0,background:l?"transparent":kt,boxShadow:l?"none":void 0}});function F(){return Math.max(0,n.viewSize.w-52-11)}function _(){return Math.max(0,n.viewSize.h-24-11)}const le=t.computed(()=>F()),fe=t.computed(()=>_()),z=t.computed(()=>Math.max(0,le.value-11*2)),se=t.computed(()=>Math.max(0,fe.value-11*2)),ke=t.computed(()=>n.maxScrollX.value<=0?z.value:Math.max(24,F()/e.totalWidth.value*z.value)),De=t.computed(()=>n.maxScrollX.value<=0?0:e.scrollX.value/n.maxScrollX.value*(z.value-ke.value)),Qe=t.computed(()=>n.maxScrollY.value<=0?se.value:Math.max(24,_()/e.totalHeight.value*se.value)),lt=t.computed(()=>n.maxScrollY.value<=0?0:e.scrollY.value/n.maxScrollY.value*(se.value-Qe.value));let $e=null,Xe=0,st=0;function At(l){l.preventDefault(),$e="v",Xe=l.clientY,st=e.scrollY.value,document.addEventListener("mousemove",E),document.addEventListener("mouseup",B)}function Ke(l){l.preventDefault(),$e="h",Xe=l.clientX,st=e.scrollX.value,document.addEventListener("mousemove",E),document.addEventListener("mouseup",B)}function E(l){if($e==="v"){const x=(l.clientY-Xe)/(se.value-Qe.value);n.clampScroll(null,st+x*n.maxScrollY.value),g()}else if($e==="h"){const x=(l.clientX-Xe)/(z.value-ke.value);n.clampScroll(st+x*n.maxScrollX.value,null),g()}}function B(){$e=null,document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",B)}function R(l){if($e)return;const d=l.currentTarget.getBoundingClientRect(),x=l.clientY-d.top;x<lt.value?n.clampScroll(null,e.scrollY.value-_()):x>lt.value+Qe.value&&n.clampScroll(null,e.scrollY.value+_()),g()}function K(l){if($e)return;const d=l.currentTarget.getBoundingClientRect(),x=l.clientX-d.left;x<De.value?n.clampScroll(e.scrollX.value-F(),null):x>De.value+ke.value&&n.clampScroll(e.scrollX.value+F(),null),g()}let X=!1,re=0,de=0,c=!1,b=!1,L=0,W=0,j=0,Q=0,Z=0,ue=0,Ee=0,Ve=0,Fe=!1,ze=!1,Ue=0,et=0,Ft=0,Kt=-1,Ut=-1;function Pt(l){if(l.button!==0)return;l.preventDefault(),ye.value=null;const d=pt(l,n.canvasRef.value);if(d.y<24&&d.x>=52){const h=d.x-52+e.scrollX.value,D=e.hitCol(h);if(D>=0&&Math.abs(d.x-(52+e.colPositions.value[D+1]-e.scrollX.value))<=4){v.saveUndo(),c=!0,L=D,j=e.colWidths.value[D],Q=h,g();return}}if(d.x<52&&d.y>=24){const h=d.y-24+e.scrollY.value,D=e.hitRow(h);if(D>=0&&Math.abs(d.y-(24+e.rowPositions.value[D+1]-e.scrollY.value))<=4){v.saveUndo(),b=!0,W=D,j=e.getRowHeight(D),Q=h,g();return}}if(d.x<52||d.y<24){if(e.commitEdit(),d.y<24&&d.x>=52){const h=e.hitCol(d.x-52+e.scrollX.value);h>=0&&(e.selectRange(h,0,h,e.rowCount-1),X=!0,re=h,de=0)}else if(d.x<52&&d.y>=24){const h=e.hitRow(d.y-24+e.scrollY.value);h>=0&&(e.selectRange(0,h,e.colCount-1,h),X=!0,re=0,de=h)}else d.x<52&&d.y<24&&e.selectAll();g();return}const x=e.hitCol(d.x-52+e.scrollX.value),M=e.hitRow(d.y-24+e.scrollY.value);if(!(x<0||M<0)){if(e.commitEdit(),l.shiftKey&&e.selection.value){const h=e.selection.value;e.selectRange(h.startCol,h.startRow,x,M)}else e.selectCell(x,M);X=!0,re=x,de=M,n.focusEditInput(),g()}}function Yt(l){if(c){const D=pt(l,n.canvasRef.value).x-52+e.scrollX.value-Q,q=j+D;q>=30&&q<=1e3?e.colWidths.value[L]=q:q<30?e.colWidths.value[L]=30:e.colWidths.value[L]=1e3,g();return}if(b){const D=pt(l,n.canvasRef.value).y-24+e.scrollY.value-Q,q=j+D;q>=24&&q<=500?e.rowHeights.value[W]=q:q<24?e.rowHeights.value[W]=24:e.rowHeights.value[W]=500,g();return}if(!X){const h=n.canvasRef.value;if(!h)return;if(v.paintFmt.value){h.style.cursor="copy";return}const D=pt(l,h);if(D.y<24&&D.x>=52){const q=e.hitCol(D.x-52+e.scrollX.value);if(q>=0&&Math.abs(D.x-(52+e.colPositions.value[q+1]-e.scrollX.value))<=4){h.style.cursor="col-resize";return}}if(D.x<52&&D.y>=24){const q=e.hitRow(D.y-24+e.scrollY.value);if(q>=0&&Math.abs(D.y-(24+e.rowPositions.value[q+1]-e.scrollY.value))<=4){h.style.cursor="row-resize";return}}h.style.cursor="cell";return}const d=pt(l,n.canvasRef.value);if(re<0||de<0)return;if(d.x<52||d.y<24){if(d.y<24&&d.x>=52){const h=e.hitCol(d.x-52+e.scrollX.value);h>=0&&e.selectRange(Math.min(re,h),0,Math.max(re,h),e.rowCount-1)}else if(d.x<52&&d.y>=24){const h=e.hitRow(d.y-24+e.scrollY.value);h>=0&&e.selectRange(0,Math.min(de,h),e.colCount-1,Math.max(de,h))}g();return}const x=e.hitCol(d.x-52+e.scrollX.value),M=e.hitRow(d.y-24+e.scrollY.value);x<0||M<0||(de===0&&re>=0&&e.selection.value&&e.selection.value.startRow===0&&e.selection.value.endRow===e.rowCount-1?e.selectRange(Math.min(re,x),0,Math.max(re,x),e.rowCount-1):re===0&&de>=0&&e.selection.value&&e.selection.value.startCol===0&&e.selection.value.endCol===e.colCount-1?e.selectRange(0,Math.min(de,M),e.colCount-1,Math.max(de,M)):e.selectRange(re,de,x,M),g())}function ol(l){const d=c||b;X=!1,c=!1,b=!1,d&&n.scheduleOptEmit(),v.paintFmt.value&&v.applyPaintFormat()}function dt(){const l=c||b;X=!1,c=!1,b=!1,l&&n.scheduleOptEmit()}function wt(l){l.preventDefault();const d=pt(l,n.canvasRef.value);if(d.x<52&&d.y<24){f(l);return}if(d.y<24&&d.x>=52){const x=e.hitCol(d.x-52+e.scrollX.value);x>=0&&o(l,x);return}if(d.x<52&&d.y>=24){const x=e.hitRow(d.y-24+e.scrollY.value);x>=0&&w(l,x);return}if(d.x>=52&&d.y>=24){const x=e.hitCol(d.x-52+e.scrollX.value),M=e.hitRow(d.y-24+e.scrollY.value);x>=0&&M>=0&&a(l,x,M)}}function Nt(l){const d=pt(l,n.canvasRef.value);if(d.x<52||d.y<24)return;const x=e.hitCol(d.x-52+e.scrollX.value),M=e.hitRow(d.y-24+e.scrollY.value);x<0||M<0||(e.selectCell(x,M),e.ensureVisible(x,M),e.startEdit(),g(),n.focusEditInput())}function ml(l){n.clampScroll(e.scrollX.value+l.deltaX,e.scrollY.value+l.deltaY),g()}function Nn(l){if(l.touches.length!==1){Fe=!1;return}const d=l.touches[0],x=n.canvasRef.value;if(!x)return;const M=x.getBoundingClientRect(),h=d.clientX-M.left,D=d.clientY-M.top;h>=52&&D>=24&&(l.preventDefault(),Fe=!0,ze=!1,Z=h,ue=D,Ee=e.scrollX.value,Ve=e.scrollY.value,Ue=e.hitCol(h-52+e.scrollX.value),et=e.hitRow(D-24+e.scrollY.value))}function In(l){if(!Fe||l.touches.length!==1)return;const d=l.touches[0],x=n.canvasRef.value;if(!x)return;const M=x.getBoundingClientRect(),h=d.clientX-M.left,D=d.clientY-M.top;(Math.abs(h-Z)>8||Math.abs(D-ue)>8)&&(ze=!0,l.preventDefault(),n.clampScroll(Ee+(Z-h),Ve+(ue-D)),g())}function Ln(){if(Fe&&(Fe=!1,!ze&&Ue>=0&&et>=0)){const l=Date.now();Ue===Kt&&et===Ut&&l-Ft<300?(e.selectCell(Ue,et),e.startEdit(),g(),n.focusEditInput(),Ft=0):(e.commitEdit(),e.selectCell(Ue,et),g(),Ft=l),Kt=Ue,Ut=et,n.focusEditInput()}}function nl(l){return l.isComposing||l.key==="Process"||l.keyCode===229}function pl(l){return l.key.length===1&&!l.ctrlKey&&!l.metaKey&&!l.altKey}function gl(l){if(e.editingCell.value)return;const d=l.ctrlKey||l.metaKey,x=l.shiftKey;switch(!0){case(d&&(l.key==="c"||l.key==="C")):l.preventDefault(),p.copyToClipboard();return;case(d&&(l.key==="x"||l.key==="X")):l.preventDefault(),p.cutSelected();return;case(d&&(l.key==="z"||l.key==="Z")):l.preventDefault(),v.undo();return;case(d&&(l.key==="y"||l.key==="Y")):l.preventDefault(),v.redo();return;case(d&&(l.key==="v"||l.key==="V")):l.preventDefault(),v.saveUndo(),p.pasteFromClipboard().then(()=>{g(),t.nextTick(()=>n.emitModelData())});return;case(d&&(l.key==="a"||l.key==="A")):l.preventDefault(),e.selectAll(),g();return;case(d&&l.key==="Home"):l.preventDefault(),e.selectCell(0,0),e.ensureVisible(0,0),g();return;case(d&&l.key==="End"):l.preventDefault(),e.selectCell(e.colCount-1,e.rowCount-1),e.ensureVisible(e.colCount-1,e.rowCount-1),g();return;case l.key==="Home":l.preventDefault(),e.selectCell(0,e.activeCell.value.row),e.ensureVisible(0,e.activeCell.value.row),g();return;case l.key==="End":l.preventDefault(),e.selectCell(e.colCount-1,e.activeCell.value.row),e.ensureVisible(e.colCount-1,e.activeCell.value.row),g();return;case l.key==="ArrowUp":l.preventDefault(),e.moveActive(0,-1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),g();return;case l.key==="ArrowDown":l.preventDefault(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),g();return;case l.key==="ArrowLeft":l.preventDefault(),e.moveActive(-1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),g();return;case l.key==="ArrowRight":l.preventDefault(),e.moveActive(1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),g();return;case l.key==="Tab":l.preventDefault(),e.moveActive(x?-1:1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),g();return;case l.key==="Enter":l.preventDefault(),e.moveActive(0,x?-1:1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),g();return;case l.key==="F2":l.preventDefault(),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(),g(),n.focusEditInput();return;case l.key==="Delete":case l.key==="Backspace":l.preventDefault(),v.saveUndo(),p.clearSelected(),g();return;case l.key==="Escape":l.preventDefault(),e.cancelEdit(),v.paintFmt.value=null,g();return;case pl(l):if(nl(l)){e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(""),g(),n.focusEditInput();return}l.preventDefault(),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(l.key),g(),t.nextTick(()=>{const M=n.editInputRef.value;M&&(M.focus(),M.setSelectionRange(1,1))});return}}let rl=!1,al=!1;function On(l){const d=l.target.value;if(!e.editingCell.value){e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(d),g();return}e.editValue.value=d}function Vn(){rl=!0,e.editingCell.value||(e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(""),g())}function Wn(l){rl=!1,al=!0,setTimeout(()=>{al=!1},0),e.editValue.value=l.target.value}function zn(l){if(!e.editingCell.value){if(pl(l)||nl(l))return;gl(l);return}if(!(rl||nl(l))&&!(al&&(l.key==="Enter"||l.key==="Escape")))if(l.key==="Enter"&&(l.altKey||l.metaKey)){l.preventDefault();const d=n.editInputRef.value;if(!d)return;const x=d.selectionStart??d.value.length,M=d.selectionEnd??d.value.length,h=d.value,D=h.slice(0,x)+`
9
- `+h.slice(M);e.editValue.value=D,d.value=D,d.selectionStart=d.selectionEnd=x+1,g()}else l.key==="Enter"?(l.preventDefault(),e.commitEdit(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),g(),n.focusEditInput()):l.key==="Tab"?(l.preventDefault(),e.commitEdit(),e.moveActive(l.shiftKey?-1:1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),g(),n.focusEditInput()):l.key==="Escape"&&(l.preventDefault(),e.cancelEdit(),g(),n.focusEditInput())}function $n(l){e.editingCell.value}function _n(){setTimeout(()=>{e.editingCell.value&&(e.commitEdit(),g())},0)}let je=null;function It(){var d;const l=(d=n.wrapperRef.value)==null?void 0:d.getBoundingClientRect();if(l){const x=mt(e.props.width),M=mt(e.props.height);x!=null?n.viewSize.w=x:n.viewSize.w=l.width,M!=null?n.viewSize.h=M:n.viewSize.h=l.height}n.clampScroll(null,null),g()}function Gn(){t.onMounted(()=>{const l=mt(e.props.width),d=mt(e.props.height);(l==null||d==null)&&(je=new ResizeObserver(()=>It()),n.wrapperRef.value&&je.observe(n.wrapperRef.value)),t.nextTick(()=>{It(),n.focusEditInput()}),e.selectCell(0,0),n.modelData.value&&n.modelData.value.length>0&&(u.value=JSON.stringify(n.modelData.value),n.sheets.value=n.modelData.value.map(x=>{const M=n.mkSheet(x.name);for(const[h,D]of Object.entries(x.cells))M.cells[h]={value:D.value,style:D.style??null};if(x.colWidths)for(const[h,D]of Object.entries(x.colWidths)){const q=Number(h);q>=0&&q<e.colCount&&D>=30&&(M.colWidths[q]=D)}if(x.rowHeights)for(const[h,D]of Object.entries(x.rowHeights)){const q=Number(h);q>=0&&q<e.rowCount&&D>=24&&(M.rowHeights[q]=D)}if(x.merges)for(const[h,D]of Object.entries(x.merges))M.merges[h]={...D};return M}),n.sheets.value.length>0&&n.loadSheet(0))}),t.watch(()=>[e.props.width,e.props.height],()=>{const l=mt(e.props.width),d=mt(e.props.height);l!=null&&d!=null?(je==null||je.disconnect(),je=null):!je&&n.wrapperRef.value&&(je=new ResizeObserver(()=>It()),je.observe(n.wrapperRef.value)),t.nextTick(()=>It())}),t.watch(()=>e.props.theme,()=>g()),t.watch(()=>({...e.cells}),()=>t.nextTick(()=>n.emitModelData()),{deep:!1}),t.watch(()=>({...e.merges}),()=>{t.nextTick(()=>n.emitModelData()),g()},{deep:!1}),t.watch(n.activeSheetIndex,()=>t.nextTick(()=>n.emitModelData())),t.watch(()=>n.modelData.value,l=>{if(!l||l.length===0)return;const d=JSON.stringify(l);if(d===u.value)return;u.value=d;const x=e.selection.value?{...e.selection.value}:null,M={...e.activeCell.value};n.sheets.value=l.map(h=>{const D=n.mkSheet(h.name);for(const[q,oe]of Object.entries(h.cells))D.cells[q]={value:oe.value,style:oe.style??null};if(h.colWidths)for(const[q,oe]of Object.entries(h.colWidths)){const ie=Number(q);ie>=0&&ie<e.colCount&&oe>=30&&(D.colWidths[ie]=oe)}if(h.rowHeights)for(const[q,oe]of Object.entries(h.rowHeights)){const ie=Number(q);ie>=0&&ie<e.rowCount&&oe>=24&&(D.rowHeights[ie]=oe)}if(h.merges)for(const[q,oe]of Object.entries(h.merges))D.merges[q]={...oe};return D}),n.sheets.value.length>0&&n.loadSheet(0),x&&(e.selection.value=x),e.activeCell.value=M,g()},{deep:!0}),t.onBeforeUnmount(()=>{je==null||je.disconnect()})}return{scheduleRender:g,render:Y,activeCellLabel:y,formulaBarDisplay:ne,onFormulaBarFocus:A,onFormulaBarInput:m,onFormulaBarKeydown:ge,onFormulaBarBlur:me,renTab:we,renTabVal:G,onTabClick:U,onTabDblClick:pe,commitTabRename:T,cclTabRename:P,onTabRenameKd:be,ctxMenu:ye,ctxSubmenuLeft:He,onCtxItemEnter:Se,onTabCtxMenu:ce,onTabBarCtx:r,onCornerCtx:f,onRowHdrCtx:w,onColHdrCtx:o,onCellCtx:a,dimInputRef:O,dimPanel:H,openDimPanel:ve,onDimInput:xe,onDimKeydown:Ae,onDimBlur:Le,applyDimPanel:he,closeDimPanel:We,editInputStyle:S,hScrollbarW:le,vScrollbarH:fe,hTrackW:z,vTrackH:se,hThumbW:ke,hThumbL:De,vThumbH:Qe,vThumbT:lt,onVStart:At,onHStart:Ke,onSbMove:E,onSbUp:B,onVTrk:R,onHTrk:K,onMouseDown:Pt,onMouseMove:Yt,onMouseUp:ol,onMouseLeave:dt,onCanvasCtx:wt,onDblClick:Nt,onWheel:ml,onTouchStart:Nn,onTouchMove:In,onTouchEnd:Ln,onKeydown:gl,onEditInput:On,onEditCompositionStart:Vn,onEditCompositionEnd:Wn,onEditKd:zn,onEditPaste:$n,onEditBlur:_n,applySize:It,setupLifecycle:Gn}}const yn={class:"formula-bar"},wn={class:"formula-bar__cell-label"},kn=["value"],En=["value"],Bn={key:2,class:"sb-corner"},Rn=["onClick","onMouseenter"],xn={class:"context-menu__label"},Sn={key:0,class:"context-menu__arrow"},Mn=["onClick"],Tn={class:"dim-panel__title"},Dn={class:"dim-panel__body"},Hn=["value"],An={key:0,class:"dim-panel__error"},Fn={class:"dim-panel__footer"},fl=ft(t.defineComponent({__name:"spreader",props:t.mergeModels({rowCount:{default:200},colCount:{default:26},width:{},height:{},theme:{default:"light"},locale:{default:"zh-CN"}},{data:{default:()=>[]},dataModifiers:{}}),emits:["update:data"],setup(e){const v=e,p=t.useModel(e,"data"),n={value:""},u=mn(v,{rowCount:v.rowCount,colCount:v.colCount,theme:v.theme,locale:v.locale}),k={sheets:t.ref([]),activeSheetIndex:t.ref(0),saveSheet:()=>{},loadSheet:te=>{},mkSheet:te=>({id:"",name:te,cells:{},merges:{},selection:null,activeCell:{col:0,row:0},scrollX:0,scrollY:0,colWidths:[],rowHeights:[]})},i=pn(u,k),I=hn(u,i);gn(i,{borderMenuOpen:I.borderMenuOpen,mergeMenuOpen:I.mergeMenuOpen});const g=Cn(u,i,p);k.sheets=g.sheets,k.activeSheetIndex=g.activeSheetIndex,k.saveSheet=g.saveSheet,k.loadSheet=g.loadSheet,k.mkSheet=g.mkSheet;const ee=bn(u,i,I,g,n);ee.setupLifecycle();const Y=t.reactive(u),y=t.reactive(i),ne=t.reactive(I),A=t.reactive(g),m=t.reactive(ee);function ge(te){i.fontSizeMenuOpen.value=te}function me(te){i.textColorMenuOpen.value=te}function we(te){i.fillColorMenuOpen.value=te}function G(te){ee.renTabVal.value=te}function U(){ee.ctxMenu.value=null}const pe=te=>{g.formulaBarRef.value=te},T=te=>{g.wrapperRef.value=te},P=te=>{g.canvasRef.value=te},be=te=>{g.editInputRef.value=te},ye=te=>{ee.dimInputRef.value=te};return(te,s)=>(t.openBlock(),t.createElementBlock("div",{class:"spreadsheet-outer",style:t.normalizeStyle(A.outerStyle)},[t.createVNode(Qo,{locale:Y.locale,"can-undo":y.canUndo,"can-redo":y.canRedo,"paint-fmt-active":y.paintFmt!==null,"has-selection":y.hasSelection,"font-family-options":y.fontFamilyOptions,"font-size-options":y.fontSizeOptions,"sel-font-family":y.selFontFamily,"sel-font-size":y.selFontSize,"font-size-input":y.fontSizeInput,"font-size-menu-open":y.fontSizeMenuOpen,"sel-font-weight":y.selFontWeight,"sel-font-style":y.selFontStyle,"sel-underline":y.selUnderline,"sel-strikethrough":y.selStrikethrough,"sel-text-color":y.selTextColor,"text-color-menu-open":y.textColorMenuOpen,"sel-fill-color":y.selFillColor,"fill-color-menu-open":y.fillColorMenuOpen,"cached-text-color":y.cachedTextColor,"cached-fill-color":y.cachedFillColor,"border-menu-open":ne.borderMenuOpen,"cached-border":ne.cachedBorder,"h-align-options":y.hAlignOptions,"v-align-options":y.vAlignOptions,"sel-h-align":y.selHAlign,"sel-v-align":y.selVAlign,"sel-wrap":y.selWrap,"merge-menu-open":ne.mergeMenuOpen,"theme-vars":A.toolbarThemeVars,onUndo:s[0]||(s[0]=C=>y.undo()),onRedo:s[1]||(s[1]=C=>y.redo()),onPaintFormat:y.onPaintFormat,onClearFormat:s[2]||(s[2]=C=>y.clearFormat()),onFontFamilyChange:s[3]||(s[3]=C=>y.onFontFamilyChange(C)),onFontSizeInput:s[4]||(s[4]=C=>y.onFontSizeInput(C)),onFontSizeBlur:y.onFontSizeBlur,onFontSizeKeydown:s[5]||(s[5]=C=>y.onFontSizeKeydown(C)),onFontSizeChange:s[6]||(s[6]=C=>y.onFontSizeChange(C)),"onUpdate:fontSizeMenuOpen":s[7]||(s[7]=C=>ge(C)),onFontSizeToggle:s[8]||(s[8]=C=>y.toggleFontSizeMenu()),onFontSizeStepUp:y.onFontSizeStepUp,onFontSizeStepDown:y.onFontSizeStepDown,onBoldToggle:y.toggleFontWeight,onItalicToggle:y.toggleFontStyle,onUnderlineToggle:y.toggleUnderline,onStrikethroughToggle:y.toggleStrikethrough,onTextColorChange:s[9]||(s[9]=C=>y.onTextColorChange(C)),"onUpdate:textColorMenuOpen":s[10]||(s[10]=C=>me(C)),onFillColorChange:s[11]||(s[11]=C=>y.onFillColorChange(C)),"onUpdate:fillColorMenuOpen":s[12]||(s[12]=C=>we(C)),onApplyTextColor:y.applyCachedTextColor,onApplyFillColor:y.applyCachedFillColor,"onUpdate:borderMenuOpen":s[13]||(s[13]=C=>y.onBorderMenuToggle(C)),onBorderChange:s[14]||(s[14]=C=>ne.onBorderChange(C)),onApplyBorder:ne.applyCachedBorder,onHAlignChange:s[15]||(s[15]=C=>y.onHAlignChange(C)),onVAlignChange:s[16]||(s[16]=C=>y.onVAlignChange(C)),onWrapToggle:y.onWrapToggle,"onUpdate:mergeMenuOpen":s[17]||(s[17]=C=>ne.onMergeMenuToggle(C)),onMergeChange:s[18]||(s[18]=C=>ne.onMergeChange(C)),onApplyMerge:ne.onApplyMerge},null,8,["locale","can-undo","can-redo","paint-fmt-active","has-selection","font-family-options","font-size-options","sel-font-family","sel-font-size","font-size-input","font-size-menu-open","sel-font-weight","sel-font-style","sel-underline","sel-strikethrough","sel-text-color","text-color-menu-open","sel-fill-color","fill-color-menu-open","cached-text-color","cached-fill-color","border-menu-open","cached-border","h-align-options","v-align-options","sel-h-align","sel-v-align","sel-wrap","merge-menu-open","theme-vars","onPaintFormat","onFontSizeBlur","onFontSizeStepUp","onFontSizeStepDown","onBoldToggle","onItalicToggle","onUnderlineToggle","onStrikethroughToggle","onApplyTextColor","onApplyFillColor","onApplyBorder","onWrapToggle","onApplyMerge"]),t.createElementVNode("div",yn,[t.createElementVNode("div",wn,t.toDisplayString(m.activeCellLabel),1),t.createElementVNode("input",{ref:pe,class:"formula-bar__input",value:m.formulaBarDisplay,onFocus:s[19]||(s[19]=(...C)=>m.onFormulaBarFocus&&m.onFormulaBarFocus(...C)),onInput:s[20]||(s[20]=(...C)=>m.onFormulaBarInput&&m.onFormulaBarInput(...C)),onKeydown:s[21]||(s[21]=(...C)=>m.onFormulaBarKeydown&&m.onFormulaBarKeydown(...C)),onBlur:s[22]||(s[22]=(...C)=>m.onFormulaBarBlur&&m.onFormulaBarBlur(...C))},null,40,kn)]),t.createElementVNode("div",{ref:T,class:"spreadsheet-wrapper"},[t.createElementVNode("canvas",{ref:P,class:"grid-canvas",tabindex:"0",onMousedown:s[23]||(s[23]=(...C)=>m.onMouseDown&&m.onMouseDown(...C)),onMousemove:s[24]||(s[24]=(...C)=>m.onMouseMove&&m.onMouseMove(...C)),onMouseup:s[25]||(s[25]=(...C)=>m.onMouseUp&&m.onMouseUp(...C)),onMouseleave:s[26]||(s[26]=(...C)=>m.onMouseLeave&&m.onMouseLeave(...C)),onDblclick:s[27]||(s[27]=(...C)=>m.onDblClick&&m.onDblClick(...C)),onWheel:s[28]||(s[28]=t.withModifiers((...C)=>m.onWheel&&m.onWheel(...C),["prevent"])),onFocus:s[29]||(s[29]=(...C)=>A.onCanvasFocus&&A.onCanvasFocus(...C)),onKeydown:s[30]||(s[30]=(...C)=>m.onKeydown&&m.onKeydown(...C)),onContextmenu:s[31]||(s[31]=(...C)=>m.onCanvasCtx&&m.onCanvasCtx(...C)),onTouchstart:s[32]||(s[32]=t.withModifiers((...C)=>m.onTouchStart&&m.onTouchStart(...C),["prevent"])),onTouchmove:s[33]||(s[33]=t.withModifiers((...C)=>m.onTouchMove&&m.onTouchMove(...C),["prevent"])),onTouchend:s[34]||(s[34]=(...C)=>m.onTouchEnd&&m.onTouchEnd(...C))},null,32),t.createElementVNode("textarea",{ref:be,class:"cell-editor",value:Y.editValue,style:t.normalizeStyle(m.editInputStyle),onInput:s[35]||(s[35]=(...C)=>m.onEditInput&&m.onEditInput(...C)),onKeydown:s[36]||(s[36]=(...C)=>m.onEditKd&&m.onEditKd(...C)),onCompositionstart:s[37]||(s[37]=(...C)=>m.onEditCompositionStart&&m.onEditCompositionStart(...C)),onCompositionend:s[38]||(s[38]=(...C)=>m.onEditCompositionEnd&&m.onEditCompositionEnd(...C)),onBlur:s[39]||(s[39]=(...C)=>m.onEditBlur&&m.onEditBlur(...C)),onPaste:s[40]||(s[40]=(...C)=>m.onEditPaste&&m.onEditPaste(...C))},null,44,En),A.maxScrollY>0?(t.openBlock(),t.createElementBlock("div",{key:0,class:"v-scrollbar",style:t.normalizeStyle({top:t.unref(24)+"px",height:`calc(100% - ${t.unref(24)+t.unref(11)}px)`})},[t.createElementVNode("button",{class:"sb-btn sb-btn--up",title:"",onMousedown:s[41]||(s[41]=t.withModifiers(C=>{A.clampScroll(null,Y.scrollY-50),m.scheduleRender()},["prevent"]))},[...s[64]||(s[64]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--up"},null,-1)])],32),t.createElementVNode("div",{class:"sb-track sb-track--v",onMousedown:s[43]||(s[43]=(...C)=>m.onVTrk&&m.onVTrk(...C))},[t.createElementVNode("div",{class:"sb-thumb sb-thumb--v",style:t.normalizeStyle({top:m.vThumbT+"px",height:m.vThumbH+"px"}),onMousedown:s[42]||(s[42]=(...C)=>m.onVStart&&m.onVStart(...C))},null,36)],32),t.createElementVNode("button",{class:"sb-btn sb-btn--down",onMousedown:s[44]||(s[44]=t.withModifiers(C=>{A.clampScroll(null,Y.scrollY+50),m.scheduleRender()},["prevent"]))},[...s[65]||(s[65]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--down"},null,-1)])],32)],4)):t.createCommentVNode("",!0),A.maxScrollX>0?(t.openBlock(),t.createElementBlock("div",{key:1,class:"h-scrollbar",style:t.normalizeStyle({left:t.unref(52)+"px",width:`calc(100% - ${t.unref(52)+t.unref(11)}px)`})},[t.createElementVNode("button",{class:"sb-btn sb-btn--left",onMousedown:s[45]||(s[45]=t.withModifiers(C=>{A.clampScroll(Y.scrollX-50,null),m.scheduleRender()},["prevent"]))},[...s[66]||(s[66]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--left"},null,-1)])],32),t.createElementVNode("div",{class:"sb-track sb-track--h",onMousedown:s[47]||(s[47]=(...C)=>m.onHTrk&&m.onHTrk(...C))},[t.createElementVNode("div",{class:"sb-thumb sb-thumb--h",style:t.normalizeStyle({left:m.hThumbL+"px",width:m.hThumbW+"px"}),onMousedown:s[46]||(s[46]=(...C)=>m.onHStart&&m.onHStart(...C))},null,36)],32),t.createElementVNode("button",{class:"sb-btn sb-btn--right",onMousedown:s[48]||(s[48]=t.withModifiers(C=>{A.clampScroll(Y.scrollX+50,null),m.scheduleRender()},["prevent"]))},[...s[67]||(s[67]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--right"},null,-1)])],32)],4)):t.createCommentVNode("",!0),A.maxScrollX>0&&A.maxScrollY>0?(t.openBlock(),t.createElementBlock("div",Bn)):t.createCommentVNode("",!0)]),t.createVNode(rn,{locale:Y.locale,sheets:A.sheets,"active-sheet-index":A.activeSheetIndex,"ren-tab":m.renTab,"ren-tab-val":m.renTabVal,onTabClick:s[49]||(s[49]=C=>m.onTabClick(C)),onTabDblclick:s[50]||(s[50]=C=>m.onTabDblClick(C)),onTabContextmenu:s[51]||(s[51]=C=>m.onTabCtxMenu(C.ev,C.i)),onTabRenameInput:s[52]||(s[52]=C=>G(C)),onTabRenameKeydown:s[53]||(s[53]=C=>m.onTabRenameKd(C)),onTabRenameCommit:m.commitTabRename,onTabbarContextmenu:s[54]||(s[54]=C=>m.onTabBarCtx(C)),onAddSheet:s[55]||(s[55]=C=>{A.addSheet(),m.scheduleRender()})},null,8,["locale","sheets","active-sheet-index","ren-tab","ren-tab-val","onTabRenameCommit"]),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[m.ctxMenu?(t.openBlock(),t.createElementBlock("div",{key:0,class:"context-menu",style:t.normalizeStyle({left:m.ctxMenu.x+"px",top:m.ctxMenu.y+"px"}),onClick:s[56]||(s[56]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.ctxMenu.items,(C,He)=>(t.openBlock(),t.createElementBlock("div",{key:He,class:t.normalizeClass(["context-menu__item",{"context-menu__item--disabled":C.disabled}]),onClick:Se=>!C.disabled&&C.action&&(C.action(),U()),onMouseenter:Se=>m.onCtxItemEnter(Se,C)},[t.createElementVNode("span",xn,t.toDisplayString(C.label),1),C.children?(t.openBlock(),t.createElementBlock("span",Sn)):t.createCommentVNode("",!0),C.children?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["context-submenu",{"context-submenu--left":m.ctxSubmenuLeft}])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(C.children,(Se,ce)=>(t.openBlock(),t.createElementBlock("div",{key:ce,class:t.normalizeClass(["context-menu__item",{"context-menu__item--disabled":Se.disabled}]),onClick:t.withModifiers(r=>!Se.disabled&&Se.action&&(Se.action(),U()),["stop"])},t.toDisplayString(Se.label),11,Mn))),128))],2)):t.createCommentVNode("",!0)],42,Rn))),128))],4)):t.createCommentVNode("",!0)]),_:1})])),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[m.dimPanel?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dim-panel",style:t.normalizeStyle({left:m.dimPanel.x+"px",top:m.dimPanel.y+"px"}),onMousedown:s[62]||(s[62]=t.withModifiers(()=>{},["stop"])),onClick:s[63]||(s[63]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",Tn,t.toDisplayString(m.dimPanel.type==="row"?"行高":"列宽"),1),t.createElementVNode("div",Dn,[t.createElementVNode("input",{ref:ye,class:t.normalizeClass(["dim-panel__input",{"dim-panel__input--error":m.dimPanel.error}]),type:"number",step:"1",min:"1",inputmode:"numeric",value:m.dimPanel.value,onInput:s[57]||(s[57]=(...C)=>m.onDimInput&&m.onDimInput(...C)),onKeydown:s[58]||(s[58]=(...C)=>m.onDimKeydown&&m.onDimKeydown(...C)),onBlur:s[59]||(s[59]=(...C)=>m.onDimBlur&&m.onDimBlur(...C))},null,42,Hn),s[68]||(s[68]=t.createElementVNode("span",{class:"dim-panel__unit"},"px",-1))]),m.dimPanel.error?(t.openBlock(),t.createElementBlock("div",An,t.toDisplayString(m.dimPanel.error),1)):t.createCommentVNode("",!0),t.createElementVNode("div",Fn,[t.createElementVNode("button",{class:"dim-panel__btn dim-panel__btn--primary",onClick:s[60]||(s[60]=(...C)=>m.applyDimPanel&&m.applyDimPanel(...C))}," 确定 "),t.createElementVNode("button",{class:"dim-panel__btn",onClick:s[61]||(s[61]=(...C)=>m.closeDimPanel&&m.closeDimPanel(...C))}," 取消 ")])],36)):t.createCommentVNode("",!0)]),_:1})]))],4))}}),[["__scopeId","data-v-0c81e050"]]);ct.Spreader=fl,ct.default=fl,Object.defineProperties(ct,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(st,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(st=typeof globalThis<"u"?globalThis:st||self,t(st.XiaoDaoSpreader={},st.Vue))})(this,function(st,t){"use strict";const Rl={"zh-CN":{insert:"插入",delete:"删除",rename:"重命名",moveLeft:"左移",moveRight:"右移",cut:"剪切",copy:"复制",paste:"粘贴",addSheet:"新建工作表",moveSheetLeft:"左移",moveSheetRight:"右移",scrollUp:"向上滚动",scrollDown:"向下滚动",scrollLeft:"向左滚动",scrollRight:"向右滚动",calculate:"计算",sum:"求和",undo:"撤销",redo:"重做",paintFormat:"格式刷",clearFormat:"清除格式",fontFamily:"字体",fontSize:"字号",fontSizeIncrease:"增大字号",fontSizeDecrease:"减小字号",bold:"加粗",italic:"斜体",underline:"下划线",strikethrough:"删除线",fontColor:"文字颜色",fillColor:"填充颜色",borders:"边框",hAlign:"水平对齐",vAlign:"垂直对齐",alignLeft:"左端对齐",alignCenter:"居中对齐",alignRight:"右端对齐",alignTop:"顶端对齐",alignMiddle:"垂直居中",alignBottom:"底端对齐",wrap:"自动换行",mergeCells:"合并单元格",mergeCenter:"合并后居中",mergeAcross:"跨越合并",unmergeCells:"取消合并单元格",borderBottom:"下框线",borderTop:"上框线",borderLeft:"左框线",borderRight:"右框线",borderNone:"无框线",borderAll:"所有框线",borderOuter:"外框线",borderThickOuter:"粗外框线",fontDefault:"默认",rowHeight:"行高",colWidth:"列宽",autoRowHeight:"自动行高",defaultColWidth:"默认列宽",ok:"确定",cancel:"取消",dimNumberError:"请输入数字",dimRangeError:"请输入 {min}~{max} 之间的数值",colorAutomatic:"自动",colorNoFill:"无填充",colorWhite:"白色",colorBlack:"黑色",colorLightGray:"浅灰",colorLightBlue:"浅蓝",colorLightOrange:"浅橙",colorLightYellow:"浅黄",colorLightGreen:"浅绿",colorPaleBlue:"淡蓝",colorPaleOrange:"淡橙",colorPaleYellow:"淡黄",colorPaleGreen:"淡绿",colorSilver:"银色",colorSkyBlue:"天蓝",colorCoral:"珊瑚",colorGold:"金色",colorMint:"薄荷",colorGray:"灰色",colorMediumBlue:"中蓝",colorOrange:"橙色",colorAmber:"琥珀",colorMediumGreen:"中绿",colorDarkGray:"深灰",colorRoyalBlue:"宝蓝",colorRed:"红色",colorDarkGold:"深金",colorDarkGreen:"深绿",colorCharcoal:"炭灰",colorDeepBlue:"深蓝",colorDarkRed:"深红",colorOlive:"橄榄",colorForest:"森林",colorSlate:"石板灰",colorNavy:"藏青",colorCrimson:"绯红",colorDarkOlive:"深橄榄",colorDeepForest:"深林",colorDarkSlate:"深石板灰",colorMidnight:"午夜蓝",colorMaroon:"栗色",colorCoffee:"咖啡色",colorEvergreen:"常青",colorDarkNavy:"深藏青",colorDarkMaroon:"深栗",colorDarkCoffee:"深咖",colorInkGreen:"墨绿"},"en-US":{insert:"Insert",delete:"Delete",rename:"Rename",moveLeft:"Move Left",moveRight:"Move Right",cut:"Cut",copy:"Copy",paste:"Paste",addSheet:"Add new sheet",moveSheetLeft:"Move Left",moveSheetRight:"Move Right",scrollUp:"Scroll up",scrollDown:"Scroll down",scrollLeft:"Scroll left",scrollRight:"Scroll right",calculate:"Calculate",sum:"Sum",undo:"Undo",redo:"Redo",paintFormat:"Paint Format",clearFormat:"Clear Format",fontFamily:"Font Family",fontSize:"Font Size",fontSizeIncrease:"Increase Font Size",fontSizeDecrease:"Decrease Font Size",bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",fontColor:"Font Color",fillColor:"Fill Color",borders:"Borders",hAlign:"Horizontal Align",vAlign:"Vertical Align",alignLeft:"Align Left",alignCenter:"Align Center",alignRight:"Align Right",alignTop:"Align Top",alignMiddle:"Align Middle",alignBottom:"Align Bottom",wrap:"Wrap Text",mergeCells:"Merge Cells",mergeCenter:"Merge & Center",mergeAcross:"Merge Across",unmergeCells:"Unmerge Cells",borderBottom:"Bottom Border",borderTop:"Top Border",borderLeft:"Left Border",borderRight:"Right Border",borderNone:"No Border",borderAll:"All Borders",borderOuter:"Outside Borders",borderThickOuter:"Thick Box Border",fontDefault:"Default",rowHeight:"Row Height",colWidth:"Column Width",autoRowHeight:"Auto Row Height",defaultColWidth:"Default Column Width",ok:"OK",cancel:"Cancel",dimNumberError:"Please enter a number",dimRangeError:"Please enter a value between {min} and {max}",colorAutomatic:"Automatic",colorNoFill:"No Fill",colorWhite:"White",colorBlack:"Black",colorLightGray:"Light Gray",colorLightBlue:"Light Blue",colorLightOrange:"Light Orange",colorLightYellow:"Light Yellow",colorLightGreen:"Light Green",colorPaleBlue:"Pale Blue",colorPaleOrange:"Pale Orange",colorPaleYellow:"Pale Yellow",colorPaleGreen:"Pale Green",colorSilver:"Silver",colorSkyBlue:"Sky Blue",colorCoral:"Coral",colorGold:"Gold",colorMint:"Mint",colorGray:"Gray",colorMediumBlue:"Medium Blue",colorOrange:"Orange",colorAmber:"Amber",colorMediumGreen:"Medium Green",colorDarkGray:"Dark Gray",colorRoyalBlue:"Royal Blue",colorRed:"Red",colorDarkGold:"Dark Gold",colorDarkGreen:"Dark Green",colorCharcoal:"Charcoal",colorDeepBlue:"Deep Blue",colorDarkRed:"Dark Red",colorOlive:"Olive",colorForest:"Forest",colorSlate:"Slate",colorNavy:"Navy",colorCrimson:"Crimson",colorDarkOlive:"Dark Olive",colorDeepForest:"Deep Forest",colorDarkSlate:"Dark Slate",colorMidnight:"Midnight",colorMaroon:"Maroon",colorCoffee:"Coffee",colorEvergreen:"Evergreen",colorDarkNavy:"Dark Navy",colorDarkMaroon:"Dark Maroon",colorDarkCoffee:"Dark Coffee",colorInkGreen:"Ink Green"}};function G(e,h){var g;return((g=Rl[e])==null?void 0:g[h])??h}const Kt='-apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif',at=10,xl=[{label:"",value:""},{label:"微软雅黑",value:'"Microsoft YaHei", "微软雅黑", sans-serif'},{label:"宋体",value:'"SimSun", "宋体", serif'},{label:"黑体",value:'"SimHei", "黑体", sans-serif'},{label:"楷体",value:'"KaiTi", "楷体", serif'},{label:"Arial",value:"Arial, sans-serif"},{label:"Arial Black",value:'"Arial Black", sans-serif'},{label:"Times New Roman",value:'"Times New Roman", serif'},{label:"Courier New",value:'"Courier New", monospace'},{label:"Verdana",value:"Verdana, sans-serif"},{label:"Georgia",value:"Georgia, serif"},{label:"Impact",value:"Impact, sans-serif"},{label:"Tahoma",value:"Tahoma, sans-serif"},{label:"Trebuchet MS",value:'"Trebuchet MS", sans-serif'},{label:"Comic Sans MS",value:'"Comic Sans MS", cursive'}],Sl=[{label:"9",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12},{label:"13",value:13},{label:"14",value:14},{label:"16",value:16},{label:"18",value:18},{label:"20",value:20},{label:"24",value:24},{label:"28",value:28},{label:"32",value:32},{label:"36",value:36},{label:"48",value:48},{label:"72",value:72}],Ml='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="3" y1="6" x2="19" y2="6"/><line x1="3" y1="12" x2="15" y2="12"/><line x1="3" y1="18" x2="17" y2="18"/></svg>',Tl='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="3" y1="6" x2="21" y2="6"/><line x1="6" y1="12" x2="18" y2="12"/><line x1="4" y1="18" x2="20" y2="18"/></svg>',Dl='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="5" y1="6" x2="21" y2="6"/><line x1="9" y1="12" x2="21" y2="12"/><line x1="7" y1="18" x2="21" y2="18"/></svg>',Hl='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="6" y1="7" x2="6" y2="20"/><line x1="12" y1="7" x2="12" y2="16"/><line x1="18" y1="7" x2="18" y2="20"/><line x1="4" y1="3" x2="20" y2="3"/></svg>',Al='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="6" y1="4" x2="6" y2="20"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="18" y1="4" x2="18" y2="20"/></svg>',Il='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="6" y1="4" x2="6" y2="17"/><line x1="12" y1="8" x2="12" y2="17"/><line x1="18" y1="4" x2="18" y2="17"/><line x1="4" y1="21" x2="20" y2="21"/></svg>',Fl=[{value:"left",labelKey:"alignLeft",icon:Ml},{value:"center",labelKey:"alignCenter",icon:Tl},{value:"right",labelKey:"alignRight",icon:Dl}],Nl=[{value:"top",labelKey:"alignTop",icon:Hl},{value:"middle",labelKey:"alignMiddle",icon:Al},{value:"bottom",labelKey:"alignBottom",icon:Il}],sl=[{key:"mergeCenter",labelKey:"mergeCenter",icon:'<svg viewBox="0 0 1024 1024" fill="currentColor"><path d="M709.952 465.92l88-76.032C801.92 385.984 806.656 384 812.032 384s10.048 1.984 14.08 5.952C830.08 393.92 832 398.656 832 403.968L832 448l32 0C881.664 448 896 462.336 896 480S881.664 512 864 512L832 512l0 44.032c0 5.376-1.92 10.112-5.952 14.08C822.08 574.08 817.344 576 812.032 576s-10.048-1.92-14.08-5.952L709.952 494.08C705.984 490.112 704 485.376 704 480S705.984 469.952 709.952 465.92zM378.048 465.92 290.048 389.952C286.08 385.984 281.344 384 275.968 384s-10.048 1.984-14.08 5.952C257.92 393.92 256 398.656 256 403.968L256 448 224 448C206.336 448 192 462.336 192 480S206.336 512 224 512L256 512l0 44.032c0 5.376 1.92 10.112 5.952 14.08C265.92 574.08 270.656 576 275.968 576s10.048-1.92 14.08-5.952L378.048 494.08C382.016 490.112 384 485.376 384 480S382.016 469.952 378.048 465.92zM448 128 128 128l0 704 320 0 0-128 64 0 0 128c0 35.392-28.608 64-64 64L128 896c-35.392 0-64-28.608-64-64L64 128c0-35.392 28.608-64 64-64l320 0 0 0c35.392 0 64 28.608 64 64l0 128L448 256 448 128M640 128l320 0 0 704-320 0 0-128L576 704l0 128c0 35.392 28.608 64 64 64l320 0c35.392 0 64-28.608 64-64L1024 128c0-35.392-28.608-64-64-64l-320 0 0 0C604.608 64 576 92.608 576 128l0 128 64 0L640 128M722.304 642.304c0 8.512-3.52 16.32-10.496 23.36s-15.424 10.624-25.344 10.624c-5.76 0-10.688-1.088-14.72-3.136-4.096-2.048-7.616-4.928-10.432-8.512s-5.824-9.088-9.024-16.512-5.952-13.952-8.32-19.648l-17.28-46.016L479.36 582.464 462.08 629.568c-6.72 18.304-12.48 30.656-17.344 37.12s-12.544 9.6-23.424 9.6c-9.28 0-17.408-3.456-24.512-10.24s-10.624-14.592-10.624-23.232c0-4.992 0.896-10.176 2.496-15.488S393.024 614.592 396.8 605.056l92.672-238.016C492.096 360.256 495.296 352 499.008 342.464s7.68-17.536 11.904-23.872 9.664-11.456 16.576-15.36c6.784-3.968 15.232-5.888 25.344-5.888 10.176 0 18.752 1.92 25.472 5.888 6.848 3.968 12.352 8.96 16.64 15.104 4.096 6.208 7.744 12.8 10.624 19.904s6.528 16.576 11.008 28.352l94.656 236.48C718.592 621.056 722.304 634.112 722.304 642.304zM606.912 526.784 552.32 375.552 498.624 526.784 606.912 526.784z"/></svg>'},{key:"mergeAcross",labelKey:"mergeAcross",icon:'<svg viewBox="0 0 1024 1024" fill="currentColor"><path d="M832 64c70.4 0 128 57.6 128 128v640c0 70.4-57.6 128-128 128H192c-70.4 0-128-57.6-128-128V192c0-70.4 57.6-128 128-128h640zM448 768H128v64c0 38.4 25.6 64 64 64h256v-128z m448 0H512v128h320c38.4 0 64-25.6 64-64v-64z m0-448H128v384h768V320zM633.6 390.4l96 96c6.4 6.4 6.4 12.8 6.4 19.2 0 6.4-6.4 12.8-6.4 19.2L633.6 633.6c-12.8 12.8-32 12.8-44.8 0-12.8-12.8-12.8-32-6.4-44.8l44.8-44.8H288c-19.2 0-32-12.8-32-32s12.8-32 32-32h339.2l-44.8-44.8c-6.4-12.8-6.4-32 0-44.8 12.8-12.8 38.4-12.8 51.2 0zM448 128H192c-38.4 0-64 25.6-64 64v64h320V128z m384 0H512v128h384V192c0-38.4-25.6-64-64-64z"/></svg>'},{key:"mergeCells",labelKey:"mergeCells",icon:'<svg viewBox="0 0 1024 1024" fill="currentColor"><path d="M512 480c0 5.376-1.984 10.112-5.952 14.08L354.048 634.048C350.08 638.08 345.344 640 339.968 640s-10.048-1.92-14.08-5.952C321.92 630.144 320 625.344 320 620.032L320 512 224 512C206.336 512 192 497.664 192 480S206.336 448 224 448L320 448 320 339.968c0-5.376 1.92-10.048 5.952-14.08C329.92 321.984 334.656 320 339.968 320s10.048 1.984 14.08 5.952L506.048 465.92C510.016 469.952 512 474.624 512 480zM576 480c0 5.376 1.984 10.112 5.952 14.08l152 140.032C737.92 638.08 742.656 640 748.032 640s10.048-1.92 14.08-5.952C766.08 630.144 768 625.344 768 620.032L768 512l96 0C881.664 512 896 497.664 896 480S881.664 448 864 448L768 448 768 339.968c0-5.376-1.92-10.048-5.952-14.08C758.08 321.984 753.344 320 748.032 320s-10.048 1.984-14.08 5.952L581.952 465.92C577.984 469.952 576 474.624 576 480zM448 128l0 128 64 0L512 128c0-35.392-28.672-64-64-64l0 0L128 64C92.672 64 64 92.608 64 128l0 704c0 35.392 28.672 64 64 64l320 0c35.328 0 64-28.608 64-64l0-128L448 704l0 128L128 832 128 128 448 128M640 128l320 0 0 704-320 0 0-128L576 704l0 128c0 35.392 28.608 64 64 64l320 0c35.392 0 64-28.608 64-64L1024 128c0-35.392-28.608-64-64-64l-320 0 0 0C604.608 64 576 92.608 576 128l0 128 64 0L640 128"/></svg>'},{key:"unmergeCells",labelKey:"unmergeCells",icon:'<svg viewBox="0 0 1024 1024" fill="currentColor"><path d="M197.952 465.92l152-140.032C353.92 321.984 358.656 320 364.032 320s10.048 1.984 14.08 5.952C382.08 329.92 384 334.656 384 339.968L384 448l96 0C497.664 448 512 462.336 512 480S497.664 512 480 512L384 512l0 108.032c0 5.376-1.92 10.112-5.952 14.08C374.08 638.08 369.344 640 364.032 640S353.92 638.08 349.952 634.048L197.952 494.08C193.984 490.112 192 485.376 192 480S193.984 469.952 197.952 465.92zM890.048 465.92l-152-140.032C734.08 321.984 729.344 320 723.968 320s-10.048 1.984-14.08 5.952C705.92 329.92 704 334.656 704 339.968L704 448 608 448C590.336 448 576 462.336 576 480S590.336 512 608 512L704 512l0 108.032c0 5.376 1.92 10.112 5.952 14.08C713.92 638.08 718.656 640 723.968 640s10.048-1.92 14.08-5.952l152-140.032C894.016 490.112 896 485.376 896 480S894.016 469.952 890.048 465.92zM448 128l0 128 64 0L512 128c0-35.392-28.608-64-64-64l0 0L128 64C92.608 64 64 92.608 64 128l0 704c0 35.392 28.608 64 64 64l320 0c35.392 0 64-28.608 64-64l0-128L448 704l0 128L128 832 128 128 448 128M640 128l320 0 0 704-320 0 0-128L576 704l0 128c0 35.392 28.608 64 64 64l320 0c35.392 0 64-28.608 64-64L1024 128c0-35.392-28.608-64-64-64l-320 0 0 0C604.608 64 576 92.608 576 128l0 128 64 0L640 128"/></svg>'}],Ll={bg:"#f4f4f4",gridBg:"#ffffff",headerBg:"#e8e8e8",headerBorder:"#c8c8c8",headerText:"#444",headerSep:"#b0b0b0",cornerBg:"#e0e0e0",gridLine:"#e0e0e0",selectionBg:"rgba(0, 120, 215, 0.12)",activeCellBorder:"#0078d7",cellText:"#1a1a1a",scrollTrack:"rgba(0,0,0,0.08)",scrollThumb:"rgba(0,0,0,0.25)",formulaBarBg:"#f0f0f0",formulaBarBorder:"#c8c8c8",formulaBarLabelText:"#333",formulaBarLabelBg:"#fff",formulaBarLabelBorder:"#c0c0c0",formulaBarInputBg:"#fff",formulaBarInputBorder:"#c0c0c0",formulaBarInputText:"#1a1a1a",formulaBarInputFocusBorder:"#0078d7",formulaBarInputFocusShadow:"rgba(0, 120, 215, 0.3)",wrapperBg:"#e8e8e8",cellEditorBorder:"#0078d7",cellEditorText:"#1a1a1a",cellEditorBg:"#fff",cellEditorShadow:"#0078d7",tabBarBg:"#e8e8e8",tabBarBorder:"#c0c0c0",tabActiveBg:"#ffffff",tabActiveText:"#1a1a1a",tabActiveBorder:"#0078d7",tabInactiveBg:"#dfdfdf",tabInactiveText:"#666",tabInactiveBorder:"transparent",tabHoverBg:"#e0e0e0",tabAddBtnColor:"#555",tabAddBtnHoverBg:"#d0d0d0",tabScrollBtnColor:"#888",tabScrollBtnHoverBg:"#d0d0d0",scrollbarThumb:"rgba(0,0,0,0.25)",scrollbarThumbHover:"rgba(0,0,0,0.4)",scrollBtnBg:"#e8e8e8",scrollBtnColor:"#666",scrollBtnHoverBg:"#d0d0d0",scrollBtnActiveBg:"#c0c0c0",scrollTrackBg:"rgba(0,0,0,0.06)",toolbarBg:"#f7f7f7",toolbarBorder:"#d8d8d8",toolbarBtnColor:"#444",toolbarBtnHoverBg:"#e6e6e6",toolbarBtnDisabledColor:"#b0b0b0",toolbarBtnActiveColor:"#0078d7"},Ol={bg:"#1e1e1e",gridBg:"#252526",headerBg:"#252525",headerBorder:"#3e3e3e",headerText:"#999",headerSep:"#3e3e3e",cornerBg:"#2a2a2a",gridLine:"#3e3e3e",selectionBg:"rgba(0, 120, 215, 0.25)",activeCellBorder:"#0078d7",cellText:"#d4d4d4",scrollTrack:"rgba(255,255,255,0.06)",scrollThumb:"rgba(255,255,255,0.2)",formulaBarBg:"#2d2d2d",formulaBarBorder:"#3e3e3e",formulaBarLabelText:"#ccc",formulaBarLabelBg:"#3c3c3c",formulaBarLabelBorder:"#555",formulaBarInputBg:"#3c3c3c",formulaBarInputBorder:"#555",formulaBarInputText:"#d4d4d4",formulaBarInputFocusBorder:"#0078d7",formulaBarInputFocusShadow:"rgba(0, 120, 215, 0.4)",wrapperBg:"#1e1e1e",cellEditorBorder:"#0078d7",cellEditorText:"#d4d4d4",cellEditorBg:"#3c3c3c",cellEditorShadow:"#0078d7",tabBarBg:"#2a2a2a",tabBarBorder:"#3e3e3e",tabActiveBg:"#1e1e1e",tabActiveText:"#e0e0e0",tabActiveBorder:"#0078d7",tabInactiveBg:"#333333",tabInactiveText:"#888",tabInactiveBorder:"transparent",tabHoverBg:"#3a3a3a",tabAddBtnColor:"#999",tabAddBtnHoverBg:"#3a3a3a",tabScrollBtnColor:"#777",tabScrollBtnHoverBg:"#3a3a3a",scrollbarThumb:"rgba(255,255,255,0.2)",scrollbarThumbHover:"rgba(255,255,255,0.35)",scrollBtnBg:"#2d2d2d",scrollBtnColor:"#999",scrollBtnHoverBg:"#3d3d3d",scrollBtnActiveBg:"#4d4d4d",scrollTrackBg:"rgba(255,255,255,0.05)",toolbarBg:"#2a2a2a",toolbarBorder:"#3e3e3e",toolbarBtnColor:"#ccc",toolbarBtnHoverBg:"#3a3a3a",toolbarBtnDisabledColor:"#666",toolbarBtnActiveColor:"#4ea1ff"},Vl=["title"],Wl=["innerHTML"],zl={key:1,class:"sp-dropdown__value"},$l=["disabled"],_l=["onClick"],Gl=["innerHTML"],Kl={class:"sp-dropdown__item-label"},Ul=["disabled"],Pl=t.defineComponent({__name:"dropdown",props:{modelValue:{},options:{},width:{default:"auto"},menuWidth:{default:void 0},visibleCount:{default:8},title:{default:""},modelOpen:{type:Boolean,default:void 0},hideTrigger:{type:Boolean,default:!1},align:{default:"left"},triggerEl:{default:null}},emits:["update:modelValue","change","update:modelOpen"],setup(e,{emit:h}){const g=e,n=h,d=t.ref(!1),E=t.ref(0),a=t.ref(null),V=t.ref(null),f=t.ref(null),te=t.ref({top:0,up:!1}),X=t.ref(0),w=t.ref(!1),re=t.computed(()=>g.options.find(ie=>String(ie.value)===String(g.modelValue))),L=t.computed(()=>g.menuWidth),m=t.computed(()=>Math.min(g.visibleCount,g.options.length)),ve=t.computed(()=>g.options.slice(E.value,E.value+m.value)),pe=t.computed(()=>E.value>0),ye=t.computed(()=>E.value+m.value<g.options.length),U=t.computed(()=>g.options.length>m.value);function P(ie){E.value=Math.max(0,Math.min(g.options.length-m.value,E.value+ie))}function he(){d.value=!0,g.modelOpen!==void 0&&n("update:modelOpen",!0);const ie=g.triggerEl??a.value;if(!ie)return;const r=ie.getBoundingClientRect(),y=m.value*22+(U.value?2*15:0)+8,H=window.innerHeight-r.bottom-4<y&&r.top-4>y;g.align==="right"?te.value={right:window.innerWidth-r.right,top:H?r.top-y-4:r.bottom+4,up:H}:te.value={left:r.left,top:H?r.top-y-4:r.bottom+4,up:H};const C=g.options.findIndex(k=>String(k.value)===String(g.modelValue));E.value=C>=0?Math.max(0,Math.min(C-Math.floor(m.value/2),g.options.length-m.value)):0}function F(){d.value=!1,g.modelOpen!==void 0&&n("update:modelOpen",!1)}function j(){d.value?F():he()}function be(ie){n("update:modelValue",ie.value),n("change",ie.value),F()}function we(ie){var y,T;if(!d.value)return;const r=ie.target;(y=a.value)!=null&&y.contains(r)||(T=f.value)!=null&&T.contains(r)||F()}function le(ie){d.value&&(ie.preventDefault(),P(ie.deltaY>0?1:-1))}t.watch(d,ie=>{t.nextTick(()=>{var r,y;ie?(r=V.value)==null||r.addEventListener("wheel",le,{passive:!1}):(y=V.value)==null||y.removeEventListener("wheel",le)})}),t.watch(()=>g.modelOpen,ie=>{ie!==void 0&&ie!==d.value&&(ie?he():F())});function c(ie){d.value&&(X.value=ie.touches[0].clientY,w.value=!0)}function p(ie){if(!d.value||!w.value)return;const r=ie.touches[0].clientY-X.value;Math.abs(r)>5&&(P(r<0?1:-1),X.value=ie.touches[0].clientY)}function Ae(){w.value=!1}function xe(ie){ie.key==="Escape"&&F()}return t.onMounted(()=>{document.addEventListener("mousedown",we),window.addEventListener("resize",F),window.addEventListener("scroll",F,!0)}),t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",we),window.removeEventListener("resize",F),window.removeEventListener("scroll",F,!0)}),(ie,r)=>{var y,T;return t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:a,class:"sp-dropdown",style:t.normalizeStyle(typeof e.width=="number"?{width:e.width+"px"}:{width:e.width})},[e.hideTrigger?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["sp-dropdown__trigger",{"sp-dropdown__trigger--open":d.value}]),title:e.title,onClick:j},[(y=re.value)!=null&&y.icon?(t.openBlock(),t.createElementBlock("span",{key:0,class:"sp-dropdown__icon",innerHTML:re.value.icon},null,8,Wl)):(t.openBlock(),t.createElementBlock("span",zl,t.toDisplayString(((T=re.value)==null?void 0:T.label)??""),1)),r[2]||(r[2]=t.createElementVNode("svg",{class:"sp-dropdown__caret",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053333 361.386667a32 32 0 0 1 45.226667 0L512 648.106667l286.72-286.72a32 32 0 1 1 45.226667 45.226666l-309.333334 309.333334a32 32 0 0 1-45.226666 0L180.053333 406.613333a32 32 0 0 1 0-45.226666z"})],-1))],10,Vl)),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[d.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:f,class:t.normalizeClass(["sp-dropdown__menu",{"sp-dropdown__menu--up":te.value.up}]),style:t.normalizeStyle({left:te.value.left!==void 0?te.value.left+"px":void 0,right:te.value.right!==void 0?te.value.right+"px":void 0,top:te.value.top+"px",minWidth:L.value!==void 0?typeof L.value=="number"?L.value+"px":L.value:void 0}),onKeydown:xe},[U.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["sp-dropdown__nav",{"sp-dropdown__nav--disabled":!pe.value}]),disabled:!pe.value,onClick:r[0]||(r[0]=H=>P(-1))},[...r[3]||(r[3]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053333 662.613333a32 32 0 0 0 45.226667 0L512 375.893333l286.72 286.72a32 32 0 1 0 45.226667-45.226666l-309.333334-309.333334a32 32 0 0 0-45.226666 0l-309.333334 309.333334a32 32 0 0 0 0 45.226666z"})],-1)])],10,$l)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"listRef",ref:V,class:"sp-dropdown__list",onTouchstart:c,onTouchmove:p,onTouchend:Ae},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(ve.value,H=>(t.openBlock(),t.createElementBlock("button",{key:String(H.value),type:"button",class:t.normalizeClass(["sp-dropdown__item",{"sp-dropdown__item--active":String(H.value)===String(e.modelValue)}]),onClick:C=>be(H)},[H.icon?(t.openBlock(),t.createElementBlock("span",{key:0,class:"sp-dropdown__item-icon",innerHTML:H.icon},null,8,Gl)):t.createCommentVNode("",!0),t.createElementVNode("span",Kl,t.toDisplayString(H.label),1)],10,_l))),128))],544),U.value?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:t.normalizeClass(["sp-dropdown__nav",{"sp-dropdown__nav--disabled":!ye.value}]),disabled:!ye.value,onClick:r[1]||(r[1]=H=>P(1))},[...r[4]||(r[4]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053333 361.386667a32 32 0 0 1 45.226667 0L512 648.106667l286.72-286.72a32 32 0 1 1 45.226667 45.226666l-309.333334 309.333334a32 32 0 0 1-45.226666 0L180.053333 406.613333a32 32 0 0 1 0-45.226666z"})],-1)])],10,Ul)):t.createCommentVNode("",!0)],38)):t.createCommentVNode("",!0)]),_:1})]))],4)}}}),pt=(e,h)=>{const g=e.__vccOpts||e;for(const[n,d]of h)g[n]=d;return g},Ut=pt(Pl,[["__scopeId","data-v-8dc09f5d"]]),Yl=["title","onClick"],dl=pt(t.defineComponent({__name:"colorPicker",props:{modelOpen:{type:Boolean,default:void 0},colorKey:{default:"text"},currentColor:{default:""},locale:{default:"zh-CN"},triggerEl:{default:null}},emits:["update:modelValue","change","update:modelOpen"],setup(e,{expose:h,emit:g}){const n=e,d=g,E=[[{key:"colorAutomatic",value:""},{key:"colorLightBlue",value:"#DEEBF7"},{key:"colorLightOrange",value:"#FCE4D6"},{key:"colorLightYellow",value:"#FFE79A"},{key:"colorLightGreen",value:"#E2EFDA"}],[{key:"colorLightGray",value:"#F2F2F2"},{key:"colorPaleBlue",value:"#BDD7EE"},{key:"colorPaleOrange",value:"#F8CBAD"},{key:"colorPaleYellow",value:"#FFD966"},{key:"colorPaleGreen",value:"#C6EFCE"}],[{key:"colorSilver",value:"#D9D9D9"},{key:"colorSkyBlue",value:"#9BC2E6"},{key:"colorCoral",value:"#F4B183"},{key:"colorGold",value:"#FFC000"},{key:"colorMint",value:"#A9D18E"}],[{key:"colorGray",value:"#BFBFBF"},{key:"colorMediumBlue",value:"#6FA8DC"},{key:"colorOrange",value:"#ED7D31"},{key:"colorAmber",value:"#F1C232"},{key:"colorMediumGreen",value:"#70AD47"}],[{key:"colorDarkGray",value:"#A5A5A5"},{key:"colorRoyalBlue",value:"#4A86E8"},{key:"colorRed",value:"#E06666"},{key:"colorDarkGold",value:"#BF8F00"},{key:"colorDarkGreen",value:"#548235"}],[{key:"colorCharcoal",value:"#808080"},{key:"colorDeepBlue",value:"#2E75B6"},{key:"colorDarkRed",value:"#CC4125"},{key:"colorOlive",value:"#806000"},{key:"colorForest",value:"#375623"}],[{key:"colorSlate",value:"#595959"},{key:"colorNavy",value:"#1F4E79"},{key:"colorCrimson",value:"#993300"},{key:"colorDarkOlive",value:"#5C4500"},{key:"colorDeepForest",value:"#2D6A4F"}],[{key:"colorDarkSlate",value:"#404040"},{key:"colorMidnight",value:"#17375E"},{key:"colorMaroon",value:"#5A1E00"},{key:"colorCoffee",value:"#3D3000"},{key:"colorEvergreen",value:"#1B4332"}],[{key:"colorBlack",value:"#000000"},{key:"colorDarkNavy",value:"#0C2340"},{key:"colorDarkMaroon",value:"#2E0A00"},{key:"colorDarkCoffee",value:"#1F1800"},{key:"colorInkGreen",value:"#081C15"}]],a=[[{key:"colorNoFill",value:""},{key:"colorLightBlue",value:"#DEEBF7"},{key:"colorLightOrange",value:"#FCE4D6"},{key:"colorLightYellow",value:"#FFE79A"},{key:"colorLightGreen",value:"#E2EFDA"}],[{key:"colorWhite",value:"#FFFFFF"},{key:"colorPaleBlue",value:"#BDD7EE"},{key:"colorPaleOrange",value:"#F8CBAD"},{key:"colorPaleYellow",value:"#FFD966"},{key:"colorPaleGreen",value:"#C6EFCE"}],[{key:"colorLightGray",value:"#F2F2F2"},{key:"colorSkyBlue",value:"#9BC2E6"},{key:"colorCoral",value:"#F4B183"},{key:"colorGold",value:"#FFC000"},{key:"colorMint",value:"#A9D18E"}],[{key:"colorSilver",value:"#D9D9D9"},{key:"colorMediumBlue",value:"#6FA8DC"},{key:"colorOrange",value:"#ED7D31"},{key:"colorAmber",value:"#F1C232"},{key:"colorMediumGreen",value:"#70AD47"}],[{key:"colorGray",value:"#BFBFBF"},{key:"colorRoyalBlue",value:"#4A86E8"},{key:"colorRed",value:"#E06666"},{key:"colorDarkGold",value:"#BF8F00"},{key:"colorDarkGreen",value:"#548235"}],[{key:"colorDarkGray",value:"#A5A5A5"},{key:"colorDeepBlue",value:"#2E75B6"},{key:"colorDarkRed",value:"#CC4125"},{key:"colorOlive",value:"#806000"},{key:"colorForest",value:"#375623"}],[{key:"colorCharcoal",value:"#808080"},{key:"colorNavy",value:"#1F4E79"},{key:"colorCrimson",value:"#993300"},{key:"colorDarkOlive",value:"#5C4500"},{key:"colorDeepForest",value:"#2D6A4F"}],[{key:"colorSlate",value:"#595959"},{key:"colorMidnight",value:"#17375E"},{key:"colorMaroon",value:"#5A1E00"},{key:"colorCoffee",value:"#3D3000"},{key:"colorEvergreen",value:"#1B4332"}],[{key:"colorDarkSlate",value:"#404040"},{key:"colorDarkNavy",value:"#0C2340"},{key:"colorDarkMaroon",value:"#2E0A00"},{key:"colorDarkCoffee",value:"#1F1800"},{key:"colorInkGreen",value:"#081C15"}]],V=t.computed(()=>n.colorKey==="fill"?a:E);function f(U){return G(n.locale,U)}function te(U){const P=n.currentColor;return!P&&!U?!0:P?P.toLowerCase()===U.toLowerCase():!1}const X=t.ref(!1),w=t.ref(null),re=t.ref(null),L=t.ref({top:0});t.watch(()=>n.modelOpen,U=>{U!==void 0&&U!==X.value&&(U?ve():pe())});function m(U){const P=w.value,he=re.value,F=U.target;P&&P.contains(F)||he&&he.contains(F)||pe()}function ve(){X.value=!0,n.modelOpen!==void 0&&d("update:modelOpen",!0),t.nextTick(()=>{const U=n.triggerEl??w.value;if(U){const P=U.getBoundingClientRect(),he=150,F=120;let j=window.innerWidth-P.right,be=P.bottom+4,we;P.left-F<4&&(j=void 0,we=Math.max(4,P.left)),be+he>window.innerHeight-4&&(be=P.top-he-4),be<4&&(be=4),L.value=j!==void 0?{right:j,top:be}:{left:we,top:be}}document.addEventListener("mousedown",m)})}function pe(){X.value=!1,n.modelOpen!==void 0&&d("update:modelOpen",!1),document.removeEventListener("mousedown",m)}function ye(U){d("update:modelValue",U),d("change",U),pe()}return t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",m)}),h({open:X,openMenu:ve,close:pe}),(U,P)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:w,class:"color-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[X.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:re,class:"color-picker__menu",style:t.normalizeStyle({left:L.value.left!==void 0?L.value.left+"px":void 0,right:L.value.right!==void 0?L.value.right+"px":void 0,top:L.value.top+"px"}),onMousedown:P[0]||(P[0]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(V.value,(he,F)=>(t.openBlock(),t.createElementBlock("div",{key:F,class:"color-picker__row"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(he,j=>(t.openBlock(),t.createElementBlock("button",{key:j.value,class:t.normalizeClass(["color-picker__swatch",{"color-picker__swatch--selected":te(j.value)}]),title:f(j.key),style:t.normalizeStyle({background:j.value||"transparent",border:j.value?"1px solid rgba(0,0,0,0.15)":"1px dashed #999"}),onClick:be=>ye(j.value)},null,14,Yl))),128))]))),128))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-f00d0dae"]]),Xl=["title","onClick"],jl={viewBox:"0 0 30 30",class:"border-picker__icon"},Zl=["x1","y1","x2","y2","stroke-width","stroke-dasharray","stroke-linecap"],ql={class:"border-picker__label"},Jl=pt(t.defineComponent({__name:"borderPicker",props:{modelOpen:{type:Boolean,default:void 0},locale:{default:"zh-CN"},currentBorder:{default:"none"},triggerEl:{default:null}},emits:["update:modelOpen","change"],setup(e,{expose:h,emit:g}){const n=e,d=g,E=[{key:"bottom",i18nKey:"borderBottom"},{key:"top",i18nKey:"borderTop"},{key:"left",i18nKey:"borderLeft"},{key:"right",i18nKey:"borderRight"},{key:"none",i18nKey:"borderNone"},{key:"all",i18nKey:"borderAll"},{key:"outer",i18nKey:"borderOuter"},{key:"thickOuter",i18nKey:"borderThickOuter"}],a=[{name:"top",x1:4,y1:4,x2:26,y2:4},{name:"bottom",x1:4,y1:26,x2:26,y2:26},{name:"left",x1:4,y1:4,x2:4,y2:26},{name:"right",x1:26,y1:4,x2:26,y2:26},{name:"vMid",x1:15,y1:4,x2:15,y2:26},{name:"hMid",x1:4,y1:15,x2:26,y2:15}],V={bottom:["bottom"],top:["top"],left:["left"],right:["right"],none:[],all:["top","bottom","left","right","vMid","hMid"],outer:["top","bottom","left","right"],thickOuter:["top","bottom","left","right"]},f={bottom:[],top:[],left:[],right:[],none:[],all:[],outer:[],thickOuter:["top","bottom","left","right"]};function te(U,P){return f[U].includes(P)?"thick":V[U].includes(P)?"solid":"dashed"}const X=t.ref(!1),w=t.ref(null),re=t.ref(null),L=t.ref({top:0});t.watch(()=>n.modelOpen,U=>{U!==void 0&&U!==X.value&&(U?ve():pe())});function m(U){const P=w.value,he=re.value,F=U.target;P&&P.contains(F)||he&&he.contains(F)||pe()}function ve(){X.value=!0,n.modelOpen!==void 0&&d("update:modelOpen",!0),t.nextTick(()=>{const U=n.triggerEl??w.value;if(U){const P=U.getBoundingClientRect(),he=200,F=160;let j=window.innerWidth-P.right,be=P.bottom+4,we;P.left-F<4&&(j=void 0,we=Math.max(4,P.left)),be+he>window.innerHeight-4&&(be=P.top-he-4),be<4&&(be=4),L.value=j!==void 0?{right:j,top:be}:{left:we,top:be}}document.addEventListener("mousedown",m)})}function pe(){X.value=!1,n.modelOpen!==void 0&&d("update:modelOpen",!1),document.removeEventListener("mousedown",m)}function ye(U){d("change",U),pe()}return t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",m)}),h({open:X,openMenu:ve,close:pe}),(U,P)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:w,class:"border-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[X.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:re,class:"border-picker__menu",style:t.normalizeStyle({left:L.value.left!==void 0?L.value.left+"px":void 0,right:L.value.right!==void 0?L.value.right+"px":void 0,top:L.value.top+"px"}),onMousedown:P[0]||(P[0]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(E,he=>t.createElementVNode("button",{key:he.key,class:"border-picker__item",title:t.unref(G)(e.locale,he.i18nKey),onClick:F=>ye(he.key)},[(t.openBlock(),t.createElementBlock("svg",jl,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(a,F=>t.createElementVNode("line",{key:F.name,x1:F.x1,y1:F.y1,x2:F.x2,y2:F.y2,stroke:"currentColor","stroke-width":te(he.key,F.name)==="thick"?3:1.5,"stroke-dasharray":te(he.key,F.name)==="dashed"?"0 4":"none","stroke-linecap":te(he.key,F.name)==="dashed"?"round":"square"},null,8,Zl)),64))])),t.createElementVNode("span",ql,t.toDisplayString(t.unref(G)(e.locale,he.i18nKey)),1)],8,Xl)),64))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-3721e5e4"]]),Ql=["title","onClick"],eo=["innerHTML"],to={class:"merge-picker__label"},lo=pt(t.defineComponent({__name:"mergePicker",props:{modelOpen:{type:Boolean,default:void 0},locale:{default:"zh-CN"},triggerEl:{default:null}},emits:["update:modelOpen","change"],setup(e,{expose:h,emit:g}){const n=e,d=g,E=t.ref(!1),a=t.ref(null),V=t.ref(null),f=t.ref({top:0});t.watch(()=>n.modelOpen,L=>{L!==void 0&&L!==E.value&&(L?X():w())});function te(L){const m=a.value,ve=V.value,pe=L.target;m&&m.contains(pe)||ve&&ve.contains(pe)||w()}function X(){E.value=!0,n.modelOpen!==void 0&&d("update:modelOpen",!0),t.nextTick(()=>{const L=n.triggerEl??a.value;if(L){const m=L.getBoundingClientRect(),ve=sl.length*30+12,pe=160;let ye=window.innerWidth-m.right,U=m.bottom+4,P;m.left-pe<4&&(ye=void 0,P=Math.max(4,m.left)),U+ve>window.innerHeight-4&&(U=m.top-ve-4),U<4&&(U=4),f.value=ye!==void 0?{right:ye,top:U}:{left:P,top:U}}document.addEventListener("mousedown",te)})}function w(){E.value=!1,n.modelOpen!==void 0&&d("update:modelOpen",!1),document.removeEventListener("mousedown",te)}function re(L){d("change",L),w()}return t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",te)}),h({open:E,openMenu:X,close:w}),(L,m)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:a,class:"merge-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[E.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:V,class:"merge-picker__menu",style:t.normalizeStyle({left:f.value.left!==void 0?f.value.left+"px":void 0,right:f.value.right!==void 0?f.value.right+"px":void 0,top:f.value.top+"px"}),onMousedown:m[0]||(m[0]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(sl),ve=>(t.openBlock(),t.createElementBlock("button",{key:ve.key,class:"merge-picker__item",title:t.unref(G)(e.locale,ve.labelKey),onClick:pe=>re(ve.key)},[t.createElementVNode("span",{class:"merge-picker__icon",innerHTML:ve.icon},null,8,eo),t.createElementVNode("span",to,t.toDisplayString(t.unref(G)(e.locale,ve.labelKey)),1)],8,Ql))),128))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-24e4dbe5"]]),oo={class:"tb-item","data-key":"undo"},no=["title","disabled"],ro={class:"tb-item","data-key":"redo"},ao=["title","disabled"],io={class:"tb-item","data-key":"paint"},co=["title","disabled"],so={class:"tb-item","data-key":"clear"},uo=["title","disabled"],fo={class:"tb-item","data-key":"font"},mo={class:"tb-item","data-key":"fontSize"},po={class:"toolbar-font-size"},go=["value","title"],ho=["title"],vo=["title","disabled"],Co=["title","disabled"],bo={class:"tb-item","data-key":"bold"},yo=["title","disabled"],wo={class:"tb-item","data-key":"italic"},ko=["title","disabled"],Eo={class:"tb-item","data-key":"underline"},Bo=["title","disabled"],Ro={class:"tb-item","data-key":"strike"},xo=["title","disabled"],So={class:"tb-item","data-key":"textColor"},Mo={class:"toolbar-split"},To=["title","disabled"],Do={viewBox:"0 0 1024 1024",fill:"currentColor"},Ho=["fill"],Ao=["title","disabled"],Io={class:"tb-item","data-key":"fillColor"},Fo={class:"toolbar-split"},No=["title","disabled"],Lo={viewBox:"0 0 1024 1024",fill:"currentColor"},Oo=["fill"],Vo=["title","disabled"],Wo={class:"tb-item","data-key":"border"},zo={class:"toolbar-split"},$o=["title","disabled"],_o={viewBox:"0 0 30 30",fill:"none",stroke:"currentColor"},Go=["x1","y1","x2","y2","stroke-width","stroke-dasharray","stroke-linecap"],Ko=["title","disabled"],Uo={class:"tb-item","data-key":"hAlign"},Po={class:"tb-item","data-key":"vAlign"},Yo={class:"tb-item","data-key":"wrap"},Xo=["title"],jo={class:"tb-item","data-key":"merge"},Zo={class:"toolbar-split"},qo=["title","disabled"],Jo=["title","disabled"],Qt=2,Qo=6,en=34,tn=pt(t.defineComponent({__name:"toolbar",props:{locale:{},canUndo:{type:Boolean},canRedo:{type:Boolean},paintFmtActive:{type:Boolean},hasSelection:{type:Boolean},fontFamilyOptions:{},fontSizeOptions:{},selFontFamily:{},selFontSize:{},fontSizeInput:{},fontSizeMenuOpen:{type:Boolean},selFontWeight:{type:Boolean},selFontStyle:{type:Boolean},selUnderline:{type:Boolean},selStrikethrough:{type:Boolean},selTextColor:{},textColorMenuOpen:{type:Boolean},selFillColor:{},fillColorMenuOpen:{type:Boolean},cachedTextColor:{},cachedFillColor:{},borderMenuOpen:{type:Boolean},cachedBorder:{},selHAlign:{},selVAlign:{},selWrap:{type:Boolean},hAlignOptions:{},vAlignOptions:{},mergeMenuOpen:{type:Boolean},themeVars:{}},emits:["undo","redo","paint-format","clear-format","font-size-blur","font-size-toggle","font-size-step-up","font-size-step-down","bold-toggle","italic-toggle","underline-toggle","strikethrough-toggle","apply-text-color","apply-fill-color","apply-border","wrap-toggle","apply-merge","font-family-change","font-size-change","h-align-change","v-align-change","font-size-input","text-color-change","fill-color-change","font-size-keydown","update:font-size-menu-open","update:text-color-menu-open","update:fill-color-menu-open","update:border-menu-open","update:merge-menu-open","border-change","merge-change"],setup(e,{emit:h}){const g=[{name:"top",x1:4,y1:4,x2:26,y2:4},{name:"bottom",x1:4,y1:26,x2:26,y2:26},{name:"left",x1:4,y1:4,x2:4,y2:26},{name:"right",x1:26,y1:4,x2:26,y2:26},{name:"vMid",x1:15,y1:4,x2:15,y2:26},{name:"hMid",x1:4,y1:15,x2:26,y2:15}],n={bottom:["bottom"],top:["top"],left:["left"],right:["right"],none:[],all:["top","bottom","left","right","vMid","hMid"],outer:["top","bottom","left","right"],thickOuter:["top","bottom","left","right"]},d={bottom:[],top:[],left:[],right:[],none:[],all:[],outer:[],thickOuter:["top","bottom","left","right"]};function E(B,o){return d[B].includes(o)?"thick":n[B].includes(o)?"solid":"dashed"}const a=["undo","redo","paint","clear","sep1","font","fontSize","sep2","bold","italic","underline","strike","sep3","textColor","fillColor","border","sep4","hAlign","vAlign","wrap","merge"],V=t.ref(null),f=t.ref(null),te=t.ref(null),X=t.ref(null),w=t.ref(null),re=t.ref(null),L=t.ref(null),m=t.ref(null),ve=t.ref(new Set),pe=t.ref(!1),ye=t.ref(!1),U=t.ref(0),P=new Map,he=t.computed(()=>ve.value.size>0);function F(B){return ve.value.has(B)}function j(){for(const B of a){const o=P.get(B);if(o===void 0||o===0)return!0}return!1}function be(){if(!V.value)return;V.value.querySelectorAll(".tb-item").forEach(o=>{const v=o.dataset.key;if(!v)return;const fe=o.offsetWidth;fe>0?P.set(v,fe):P.has(v)||P.set(v,0)})}function we(B,o){if(B.size!==o.size)return!1;for(const v of B)if(!o.has(v))return!1;return!0}let le=0,c=0;function p(){le&&cancelAnimationFrame(le),!(c>60)&&(c++,le=requestAnimationFrame(()=>requestAnimationFrame(Ae)))}function Ae(){if(!V.value)return;const B=V.value.clientWidth-Qo*2;if(B<=0){p();return}c=0,(P.size===0||j())&&be();let o=0;for(const fe of a)o+=(P.get(fe)??0)+Qt;const v=new Set;if(o>B){const fe=B-en-Qt;let Me=0;for(let Se=0;Se<a.length;Se++){const Fe=a[Se],ge=(P.get(Fe)??0)+Qt;if(Me+ge>fe){for(let Le=Se;Le<a.length;Le++)v.add(a[Le]);break}Me+=ge}}we(v,ve.value)||(ve.value=v,U.value++,v.size===0&&(pe.value=!1))}let xe=null;const ie=t.ref(0),r=t.computed(()=>{const B=te.value,o={position:"fixed",top:"0px",right:"0px"};if(!B)return{...C.themeVars,...o};ie.value;const v=B.getBoundingClientRect();return{...C.themeVars,position:"fixed",top:`${v.bottom+4}px`,right:`${window.innerWidth-v.right}px`}});function y(){pe.value&&(ie.value++,t.nextTick(()=>Ae()))}function T(B){var v,fe;if(!pe.value)return;const o=B.target;(v=f.value)!=null&&v.contains(o)||(fe=te.value)!=null&&fe.contains(o)||(ye.value=!0,pe.value=!1,t.nextTick(()=>{ye.value=!1}))}function H(){pe.value=!pe.value}t.onMounted(()=>{p(),V.value&&(xe=new ResizeObserver(()=>{pe.value||p()}),xe.observe(V.value)),document.addEventListener("pointerdown",T,!0),window.addEventListener("resize",y),window.addEventListener("load",p),window.addEventListener("orientationchange",p)}),t.onBeforeUnmount(()=>{le&&cancelAnimationFrame(le),xe==null||xe.disconnect(),document.removeEventListener("pointerdown",T,!0),window.removeEventListener("resize",y),window.removeEventListener("load",p),window.removeEventListener("orientationchange",p)});const C=e,k=h;return(B,o)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{ref_key:"rootEl",ref:V,class:"toolbar"},[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("undo"),to:f.value??void 0},[t.createElementVNode("div",oo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.canUndo}]),title:t.unref(G)(e.locale,"undo"),disabled:!e.canUndo,onClick:o[0]||(o[0]=v=>k("undo"))},[...o[39]||(o[39]=[t.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M596.16 284.064H258.56l101.376-101.44a31.968 31.968 0 1 0-45.248-45.216L178.56 273.504c-11.904 11.872-18.496 27.84-18.56 44.8a63.04 63.04 0 0 0 18.56 45.28l136.128 136.16a31.904 31.904 0 0 0 45.248 0 31.968 31.968 0 0 0 0-45.248l-106.752-106.496H596.16c114.88 0 208.32 93.312 208.32 208s-93.44 208-208.32 208h-223.36a32 32 0 0 0 0 64h223.36c150.144 0 272.32-122.016 272.32-272 0-149.984-122.176-272-272.32-272"})],-1)])],10,no)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("redo"),to:f.value??void 0},[t.createElementVNode("div",ro,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.canRedo}]),title:t.unref(G)(e.locale,"redo"),disabled:!e.canRedo,onClick:o[1]||(o[1]=v=>k("redo"))},[...o[40]||(o[40]=[t.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{transform:"translate(1024, 0) scale(-1, 1)",d:"M596.16 284.064H258.56l101.376-101.44a31.968 31.968 0 1 0-45.248-45.216L178.56 273.504c-11.904 11.872-18.496 27.84-18.56 44.8a63.04 63.04 0 0 0 18.56 45.28l136.128 136.16a31.904 31.904 0 0 0 45.248 0 31.968 31.968 0 0 0 0-45.248l-106.752-106.496H596.16c114.88 0 208.32 93.312 208.32 208s-93.44 208-208.32 208h-223.36a32 32 0 0 0 0 64h223.36c150.144 0 272.32-122.016 272.32-272 0-149.984-122.176-272-272.32-272"})],-1)])],10,ao)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("paint"),to:f.value??void 0},[t.createElementVNode("div",io,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.paintFmtActive}]),title:t.unref(G)(e.locale,"paintFormat"),disabled:!e.hasSelection,onClick:o[2]||(o[2]=v=>k("paint-format"))},[...o[41]||(o[41]=[t.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M722.285714 438.857143a36.571429 36.571429 0 0 1-36.571428 36.571428h-512a36.571429 36.571429 0 0 1-36.571429-36.571428V164.571429a36.571429 36.571429 0 0 1 36.571429-36.571429h512a36.571429 36.571429 0 0 1 36.571428 36.571429V256h128a36.571429 36.571429 0 0 1 36.571429 36.571429v294.4a36.571429 36.571429 0 0 1-31.890286 36.278857L448 675.766857V859.428571a36.571429 36.571429 0 0 1-32.292571 36.315429l-4.278858 0.256a36.571429 36.571429 0 0 1-36.571428-36.571429v-215.771428a36.571429 36.571429 0 0 1 31.890286-36.278857l406.966857-52.553143V329.142857h-91.428572v109.714286z m-73.142857-237.714286h-438.857143V402.285714h438.857143V201.142857z"})],-1)])],10,co)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("clear"),to:f.value??void 0},[t.createElementVNode("div",so,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.hasSelection}]),title:t.unref(G)(e.locale,"clearFormat"),disabled:!e.hasSelection,onClick:o[3]||(o[3]=v=>k("clear-format"))},[...o[42]||(o[42]=[t.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M672.748 105.674c-3.666-3.799-8.778-5.949-14.125-5.949-5.341 0-10.459 2.15-14.119 5.949L10.418 754.633c-7.789 8.163-7.789 20.798 0 28.967l123.353 126.213c7.782 7.979 23.113 14.461 34.111 14.461h395.042c12.774-0.742 24.882-5.854 34.162-14.461l416.525-426.362c7.751-8.163 7.751-20.76 0-28.916l-340.92-348.861h0.057zM557.85 832.801c-9.273 8.582-21.343 13.707-34.111 14.461H217.888c-12.781-0.742-24.882-5.867-34.162-14.461l-58.074-59.482c-7.782-8.163-7.782-20.804 0-28.967l232.333-237.87c3.666-3.799 8.778-5.949 14.125-5.949s10.453 2.15 14.119 5.949l231.102 236.551c7.744 8.157 7.744 20.753 0 28.916l-59.539 60.909 0.058-0.057z m0 0"})],-1)])],10,uo)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("sep1"),to:f.value??void 0},[o[43]||(o[43]=t.createElementVNode("div",{class:"tb-item","data-key":"sep1"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("font"),to:f.value??void 0},[t.createElementVNode("div",fo,[t.createVNode(Ut,{class:"toolbar-font","model-value":e.selFontFamily,options:e.fontFamilyOptions,width:F("font")?"100%":110,"menu-width":F("font")?120:void 0,"visible-count":8,title:t.unref(G)(e.locale,"fontFamily"),align:"right",onChange:o[4]||(o[4]=v=>k("font-family-change",v))},null,8,["model-value","options","width","menu-width","title"])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("fontSize"),to:f.value??void 0},[t.createElementVNode("div",mo,[t.createElementVNode("div",po,[t.createElementVNode("input",{class:"toolbar-font-size__input",type:"number",min:"5",max:"72",step:"1",value:e.fontSizeInput,title:t.unref(G)(e.locale,"fontSize"),onInput:o[5]||(o[5]=v=>k("font-size-input",v.target.value)),onBlur:o[6]||(o[6]=v=>k("font-size-blur")),onKeydown:o[7]||(o[7]=v=>k("font-size-keydown",v))},null,40,go),t.createVNode(Ut,{class:"toolbar-font-size__dropdown","model-value":e.selFontSize,options:e.fontSizeOptions,width:F("fontSize")?"100%":56,"menu-width":F("fontSize")?120:56,"visible-count":9,title:t.unref(G)(e.locale,"fontSize"),"hide-trigger":!0,"model-open":e.fontSizeMenuOpen,align:"right","trigger-el":m.value,"onUpdate:modelOpen":o[8]||(o[8]=v=>k("update:font-size-menu-open",v)),onChange:o[9]||(o[9]=v=>k("font-size-change",v))},null,8,["model-value","options","width","menu-width","title","model-open","trigger-el"]),t.createElementVNode("button",{ref_key:"fontSizeArrowRef",ref:m,class:"toolbar-font-size__btn",type:"button",title:t.unref(G)(e.locale,"fontSize"),onMousedown:o[10]||(o[10]=t.withModifiers(()=>{},["prevent"])),onClick:o[11]||(o[11]=v=>k("font-size-toggle"))},[...o[44]||(o[44]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053333 361.386667a32 32 0 0 1 45.226667 0L512 648.106667l286.72-286.72a32 32 0 1 1 45.226667 45.226666l-309.333334 309.333334a32 32 0 0 1-45.226666 0L180.053333 406.613333a32 32 0 0 1 0-45.226666z"})],-1)])],40,ho),t.createElementVNode("button",{class:"toolbar-btn toolbar-btn--step",type:"button",title:t.unref(G)(e.locale,"fontSizeDecrease"),disabled:!e.hasSelection,onMousedown:o[12]||(o[12]=t.withModifiers(()=>{},["prevent"])),onClick:o[13]||(o[13]=v=>k("font-size-step-down"))},[...o[45]||(o[45]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M481.28 125.95a29.506 29.506 0 0 0-27.45-18.7h-63.34c-12.13 0-23.02 7.42-27.45 18.7L67.94 876.46c-7.61 19.35 6.66 40.29 27.45 40.29h35.47c12.26 0 23.24-7.58 27.58-19.04l80.89-213.35h364.54l81.94 213.46a29.51 29.51 0 0 0 27.54 18.93h35.56c20.8 0 35.06-20.94 27.45-40.29L481.28 125.95zM273.47 594.06l145.38-384.38h2.2l147.58 384.38H273.47zM928.64 195.74h-177c-16.29 0-29.5 13.21-29.5 29.5s13.21 29.5 29.5 29.5h177c16.29 0 29.5-13.21 29.5-29.5s-13.21-29.5-29.5-29.5z"})],-1)])],40,vo),t.createElementVNode("button",{class:"toolbar-btn toolbar-btn--step",type:"button",title:t.unref(G)(e.locale,"fontSizeIncrease"),disabled:!e.hasSelection,onMousedown:o[14]||(o[14]=t.withModifiers(()=>{},["prevent"])),onClick:o[15]||(o[15]=v=>k("font-size-step-up"))},[...o[46]||(o[46]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M481.28 125.95a29.506 29.506 0 0 0-27.45-18.7h-63.34c-12.13 0-23.02 7.42-27.45 18.7L67.94 876.46c-7.61 19.35 6.66 40.29 27.45 40.29h35.47c12.26 0 23.24-7.58 27.58-19.04l80.89-213.35h364.54l81.94 213.46a29.51 29.51 0 0 0 27.54 18.93h35.56c20.8 0 35.06-20.94 27.45-40.29L481.28 125.95zM273.47 594.06l145.38-384.38h2.2l147.58 384.38H273.47zM928.64 195.74h-59v-59c0-16.29-13.21-29.5-29.5-29.5s-29.5 13.21-29.5 29.5v59h-59c-16.29 0-29.5 13.21-29.5 29.5s13.21 29.5 29.5 29.5h59v59c0 16.29 13.21 29.5 29.5 29.5s29.5-13.21 29.5-29.5v-59h59c16.29 0 29.5-13.21 29.5-29.5s-13.21-29.5-29.5-29.5z"})],-1)])],40,Co)])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("sep2"),to:f.value??void 0},[o[47]||(o[47]=t.createElementVNode("div",{class:"tb-item","data-key":"sep2"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("bold"),to:f.value??void 0},[t.createElementVNode("div",bo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selFontWeight}]),title:t.unref(G)(e.locale,"bold"),disabled:!e.hasSelection,onClick:o[16]||(o[16]=v=>k("bold-toggle"))},[...o[48]||(o[48]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[t.createElementVNode("path",{d:"M733.610667 467.712A267.562667 267.562667 0 0 0 548.010667 10.581333H183.466667a53.333333 53.333333 0 0 0 0 106.666667h43.221333a10.666667 10.666667 0 0 1 10.666667 10.666667V896a10.666667 10.666667 0 0 1-10.666667 10.666667H183.466667a53.333333 53.333333 0 1 0 0 106.666666h425.088a287.658667 287.658667 0 0 0 125.013333-545.536z m-185.6-350.464a160.512 160.512 0 0 1 0 320.981333H354.688a10.666667 10.666667 0 0 1-10.666667-10.666666V128a10.666667 10.666667 0 0 1 10.666667-10.666667z m60.586666 789.333333H354.688a10.666667 10.666667 0 0 1-10.666667-10.666666v-340.352a10.666667 10.666667 0 0 1 10.666667-10.666667H608.597333a180.864 180.864 0 0 1 0 361.685333z"})])],-1)])],10,yo)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("italic"),to:f.value??void 0},[t.createElementVNode("div",wo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selFontStyle}]),title:t.unref(G)(e.locale,"italic"),disabled:!e.hasSelection,onClick:o[17]||(o[17]=v=>k("italic-toggle"))},[...o[49]||(o[49]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[t.createElementVNode("path",{d:"M960 10.581333h-325.845333a53.333333 53.333333 0 0 0 0 106.666667h46.336a10.666667 10.666667 0 0 1 9.002666 16.384L203.946667 896.725333a21.333333 21.333333 0 0 1-18.005334 9.856H64a53.333333 53.333333 0 0 0 0 106.666667h325.845333a53.333333 53.333333 0 0 0 0-106.666667H343.509333a10.666667 10.666667 0 0 1-9.002666-16.384L820.053333 127.146667a21.333333 21.333333 0 0 1 18.005334-9.898667H960a53.333333 53.333333 0 0 0 0-106.666667z"})])],-1)])],10,ko)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("underline"),to:f.value??void 0},[t.createElementVNode("div",Eo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selUnderline}]),title:t.unref(G)(e.locale,"underline"),disabled:!e.hasSelection,onClick:o[18]||(o[18]=v=>k("underline-toggle"))},[...o[50]||(o[50]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[t.createElementVNode("path",{d:"M960 906.581333h-896a53.333333 53.333333 0 0 0 0 106.666667h896a53.333333 53.333333 0 0 0 0-106.666667zM84.394667 117.248h58.154666a10.666667 10.666667 0 0 1 10.666667 10.666667v363.648a358.784 358.784 0 0 0 717.568 0V128a10.666667 10.666667 0 0 1 10.666667-10.666667h58.154666a53.333333 53.333333 0 0 0 0-106.666666H695.466667a53.333333 53.333333 0 0 0 0 106.666666h58.154666a10.666667 10.666667 0 0 1 10.666667 10.666667v363.648a252.117333 252.117333 0 0 1-504.234667 0V128a10.666667 10.666667 0 0 1 10.666667-10.666667H328.533333a53.333333 53.333333 0 1 0 0-106.666666H84.394667a53.333333 53.333333 0 0 0 0 106.666666z"})])],-1)])],10,Bo)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("strike"),to:f.value??void 0},[t.createElementVNode("div",Ro,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selStrikethrough}]),title:t.unref(G)(e.locale,"strikethrough"),disabled:!e.hasSelection,onClick:o[19]||(o[19]=v=>k("strikethrough-toggle"))},[...o[51]||(o[51]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[t.createElementVNode("path",{d:"M1013.333333 552.618667A53.333333 53.333333 0 0 0 960 499.2h-381.269333a20.992 20.992 0 0 1-12.032-3.84c-30.805333-21.888-63.232-41.856-94.634667-61.098667-119.466667-73.173333-192-123.733333-192-207.488 0-95.36 94.165333-109.610667 150.314667-109.610666a193.706667 193.706667 0 0 1 131.456 32.597333 113.578667 113.578667 0 0 1 19.072 84.906667v12.8a53.333333 53.333333 0 1 0 106.666666 0v-11.434667a208.512 208.512 0 0 0-49.706666-161.152C595.157333 31.616 527.317333 10.581333 430.549333 10.581333c-156.074667 0-256.981333 84.864-256.981333 216.277334 0 118.314667 80.725333 192.512 170.666667 252.885333a10.666667 10.666667 0 0 1-5.930667 19.541333H64a53.333333 53.333333 0 0 0 0 106.666667h468.352a10.709333 10.709333 0 0 1 6.784 2.474667 185.130667 185.130667 0 0 1 82.432 147.882666c0 139.434667-146.176 150.272-191.018667 150.272-77.397333 0-133.930667-17.28-163.584-50.048a144.810667 144.810667 0 0 1-27.733333-115.2 53.333333 53.333333 0 0 0-106.154667-10.496A245.76 245.76 0 0 0 187.733333 928.128c51.2 56.490667 132.864 85.333333 242.688 85.333333 178.090667 0 297.685333-103.253333 297.685334-256.938666a258.517333 258.517333 0 0 0-36.224-134.272 10.666667 10.666667 0 0 1 9.216-16.085334H960a53.333333 53.333333 0 0 0 53.333333-53.546666z"})])],-1)])],10,xo)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("sep3"),to:f.value??void 0},[o[52]||(o[52]=t.createElementVNode("div",{class:"tb-item","data-key":"sep3"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("textColor"),to:f.value??void 0},[t.createElementVNode("div",So,[t.createElementVNode("div",Mo,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(G)(e.locale,"fontColor"),disabled:!e.hasSelection,onClick:o[20]||(o[20]=v=>k("apply-text-color"))},[(t.openBlock(),t.createElementBlock("svg",Do,[o[53]||(o[53]=t.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[t.createElementVNode("path",{d:"M663.120842 529.946947H364.759579l-84.07579 212.884211a53.894737 53.894737 0 0 1-50.122105 34.169263h-14.551579a34.869895 34.869895 0 0 1-32.498526-47.696842L443.715368 70.063158a53.894737 53.894737 0 0 1 50.122106-34.115369h41.768421a53.894737 53.894737 0 0 1 50.176 34.277053l257.670737 659.078737a34.977684 34.977684 0 0 1-32.552421 47.696842h-14.389895a53.894737 53.894737 0 0 1-50.229895-34.277053l-83.159579-212.776421z m-35.139368-89.788631l-113.340632-289.953684-114.472421 289.953684h227.813053z"})],-1)),t.createElementVNode("path",{d:"M62.895 844.369m53.895 0l790.474 0q53.895 0 53.895 53.895l0 26.947q0 53.895-53.895 53.895l-790.474 0q-53.895 0-53.895-53.895l0-26.947q0-53.895 53.895-53.895z",fill:e.cachedTextColor||"#000000"},null,8,Ho)]))],8,To),t.createElementVNode("button",{ref_key:"textColorArrowRef",ref:X,class:"toolbar-btn toolbar-split__arrow",title:t.unref(G)(e.locale,"fontColor"),disabled:!e.hasSelection,onClick:o[21]||(o[21]=v=>k("update:text-color-menu-open",!e.textColorMenuOpen))},[...o[54]||(o[54]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053 361.387a32 32 0 0 1 45.227 0L512 648.107l286.72-286.72a32 32 0 1 1 45.227 45.227l-309.334 309.333a32 32 0 0 1-45.226 0L180.053 406.613a32 32 0 0 1 0-45.226z"})],-1)])],8,Ao),t.createVNode(dl,{"model-open":e.textColorMenuOpen,"color-key":"text","current-color":e.selTextColor,locale:e.locale,"trigger-el":X.value,"onUpdate:modelOpen":o[22]||(o[22]=v=>k("update:text-color-menu-open",v)),onChange:o[23]||(o[23]=v=>k("text-color-change",v))},null,8,["model-open","current-color","locale","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("fillColor"),to:f.value??void 0},[t.createElementVNode("div",Io,[t.createElementVNode("div",Fo,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(G)(e.locale,"fillColor"),disabled:!e.hasSelection,onClick:o[24]||(o[24]=v=>k("apply-fill-color"))},[(t.openBlock(),t.createElementBlock("svg",Lo,[o[55]||(o[55]=t.createElementVNode("path",{d:"M447.018667 37.952l352.298666 352.298667c6.613333 6.613333 6.613333 17.344 0 23.957333L446.101333 767.424a16.938667 16.938667 0 0 1-23.957333 0L121.429333 466.688a16.938667 16.938667 0 0 1 0-23.957333L428.608 135.552 388.992 96a8.469333 8.469333 0 0 1 0-11.989333l46.058667-46.037334a8.469333 8.469333 0 0 1 11.968 0z m346.325333 517.461333l57.514667 60.074667c31.744 33.194667 31.744 86.997333 0 120.192a78.869333 78.869333 0 0 1-115.008 0c-31.765333-33.194667-31.765333-86.997333 0-120.192l57.493333-60.074667zM486.101333 193.066667l-261.12 261.12 20.458667 20.458666 380.16-1.728 70.186667-70.186666-209.706667-209.664z"},null,-1)),t.createElementVNode("path",{d:"M85.333333 853.333333m8.896 0l835.541334 0q8.896 0 8.896 8.896l0 110.208q0 8.896-8.896 8.896l-835.541334 0q-8.896 0-8.896-8.896l0-110.208q0-8.896 8.896-8.896Z",fill:e.cachedFillColor||"currentColor"},null,8,Oo)]))],8,No),t.createElementVNode("button",{ref_key:"fillColorArrowRef",ref:w,class:"toolbar-btn toolbar-split__arrow",title:t.unref(G)(e.locale,"fillColor"),disabled:!e.hasSelection,onClick:o[25]||(o[25]=v=>k("update:fill-color-menu-open",!e.fillColorMenuOpen))},[...o[56]||(o[56]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053 361.387a32 32 0 0 1 45.227 0L512 648.107l286.72-286.72a32 32 0 1 1 45.227 45.227l-309.334 309.333a32 32 0 0 1-45.226 0L180.053 406.613a32 32 0 0 1 0-45.226z"})],-1)])],8,Vo),t.createVNode(dl,{"model-open":e.fillColorMenuOpen,"color-key":"fill","current-color":e.selFillColor,locale:e.locale,"trigger-el":w.value,"onUpdate:modelOpen":o[26]||(o[26]=v=>k("update:fill-color-menu-open",v)),onChange:o[27]||(o[27]=v=>k("fill-color-change",v))},null,8,["model-open","current-color","locale","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("border"),to:f.value??void 0},[t.createElementVNode("div",Wo,[t.createElementVNode("div",zo,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(G)(e.locale,"borders"),disabled:!e.hasSelection,onClick:o[28]||(o[28]=v=>k("apply-border"))},[(t.openBlock(),t.createElementBlock("svg",_o,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(g,v=>t.createElementVNode("line",{key:v.name,x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,"stroke-width":E(e.cachedBorder,v.name)==="thick"?3:1.5,"stroke-dasharray":E(e.cachedBorder,v.name)==="dashed"?"0 4":"none","stroke-linecap":E(e.cachedBorder,v.name)==="dashed"?"round":"square"},null,8,Go)),64))]))],8,$o),t.createElementVNode("button",{ref_key:"borderArrowRef",ref:re,class:"toolbar-btn toolbar-split__arrow",title:t.unref(G)(e.locale,"borders"),disabled:!e.hasSelection,onClick:o[29]||(o[29]=v=>k("update:border-menu-open",!e.borderMenuOpen))},[...o[57]||(o[57]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053 361.387a32 32 0 0 1 45.227 0L512 648.107l286.72-286.72a32 32 0 1 1 45.227 45.227l-309.334 309.333a32 32 0 0 1-45.226 0L180.053 406.613a32 32 0 0 1 0-45.226z"})],-1)])],8,Ko),t.createVNode(Jl,{"model-open":e.borderMenuOpen,locale:e.locale,"current-border":e.cachedBorder,"trigger-el":re.value,"onUpdate:modelOpen":o[30]||(o[30]=v=>k("update:border-menu-open",v)),onChange:o[31]||(o[31]=v=>k("border-change",v))},null,8,["model-open","locale","current-border","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("sep4"),to:f.value??void 0},[o[58]||(o[58]=t.createElementVNode("div",{class:"tb-item","data-key":"sep4"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("hAlign"),to:f.value??void 0},[t.createElementVNode("div",Uo,[t.createVNode(Ut,{class:"toolbar-align","model-value":e.selHAlign,options:e.hAlignOptions,width:F("hAlign")?"100%":44,"menu-width":F("hAlign")?120:void 0,"visible-count":3,align:"right",title:t.unref(G)(e.locale,"hAlign"),onChange:o[32]||(o[32]=v=>k("h-align-change",v))},null,8,["model-value","options","width","menu-width","title"])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("vAlign"),to:f.value??void 0},[t.createElementVNode("div",Po,[t.createVNode(Ut,{class:"toolbar-align","model-value":e.selVAlign,options:e.vAlignOptions,width:F("vAlign")?"100%":44,"menu-width":F("vAlign")?120:void 0,"visible-count":3,align:"right",title:t.unref(G)(e.locale,"vAlign"),onChange:o[33]||(o[33]=v=>k("v-align-change",v))},null,8,["model-value","options","width","menu-width","title"])]),t.createElementVNode("div",Yo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selWrap}]),type:"button",title:t.unref(G)(e.locale,"wrap"),onClick:o[34]||(o[34]=v=>k("wrap-toggle"))},[...o[59]||(o[59]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M896 179.2a38.4 38.4 0 0 0-76.8 0v665.6a38.4 38.4 0 0 0 76.8 0v-665.6zM204.8 281.6A38.4 38.4 0 0 0 204.8 358.4h179.2a38.4 38.4 0 0 0 0-76.8H204.8zM550.4 281.6a38.4 38.4 0 0 0 0 76.8h51.2c35.328 0 64 28.672 64 64v179.2c0 35.328-28.672 64-64 64H246.272l36.864-36.864a38.4 38.4 0 1 0-54.272-54.272l-102.4 102.4a38.4 38.4 0 0 0 0 54.272l102.4 102.4a38.4 38.4 0 0 0 54.272-54.272l-36.864-36.864h355.328a140.8 140.8 0 0 0 140.8-140.8v-179.2a140.8 140.8 0 0 0-140.8-140.8h-51.2z"})],-1)])],10,Xo)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:!F("merge"),to:f.value??void 0},[t.createElementVNode("div",jo,[t.createElementVNode("div",Zo,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(G)(e.locale,"mergeCenter"),disabled:!e.hasSelection,onClick:o[35]||(o[35]=v=>k("apply-merge"))},[...o[60]||(o[60]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M709.952 465.92l88-76.032C801.92 385.984 806.656 384 812.032 384s10.048 1.984 14.08 5.952C830.08 393.92 832 398.656 832 403.968L832 448l32 0C881.664 448 896 462.336 896 480S881.664 512 864 512L832 512l0 44.032c0 5.376-1.92 10.112-5.952 14.08C822.08 574.08 817.344 576 812.032 576s-10.048-1.92-14.08-5.952L709.952 494.08C705.984 490.112 704 485.376 704 480S705.984 469.952 709.952 465.92zM378.048 465.92 290.048 389.952C286.08 385.984 281.344 384 275.968 384s-10.048 1.984-14.08 5.952C257.92 393.92 256 398.656 256 403.968L256 448 224 448C206.336 448 192 462.336 192 480S206.336 512 224 512L256 512l0 44.032c0 5.376 1.92 10.112 5.952 14.08C265.92 574.08 270.656 576 275.968 576s10.048-1.92 14.08-5.952L378.048 494.08C382.016 490.112 384 485.376 384 480S382.016 469.952 378.048 465.92zM448 128 128 128l0 704 320 0 0-128 64 0 0 128c0 35.392-28.608 64-64 64L128 896c-35.392 0-64-28.608-64-64L64 128c0-35.392 28.608-64 64-64l320 0 0 0c35.392 0 64 28.608 64 64l0 128L448 256 448 128M640 128l320 0 0 704-320 0 0-128L576 704l0 128c0 35.392 28.608 64 64 64l320 0c35.392 0 64-28.608 64-64L1024 128c0-35.392-28.608-64-64-64l-320 0 0 0C604.608 64 576 92.608 576 128l0 128 64 0L640 128M722.304 642.304c0 8.512-3.52 16.32-10.496 23.36s-15.424 10.624-25.344 10.624c-5.76 0-10.688-1.088-14.72-3.136-4.096-2.048-7.616-4.928-10.432-8.512s-5.824-9.088-9.024-16.512-5.952-13.952-8.32-19.648l-17.28-46.016L479.36 582.464 462.08 629.568c-6.72 18.304-12.48 30.656-17.344 37.12s-12.544 9.6-23.424 9.6c-9.28 0-17.408-3.456-24.512-10.24s-10.624-14.592-10.624-23.232c0-4.992 0.896-10.176 2.496-15.488S393.024 614.592 396.8 605.056l92.672-238.016C492.096 360.256 495.296 352 499.008 342.464s7.68-17.536 11.904-23.872 9.664-11.456 16.576-15.36c6.784-3.968 15.232-5.888 25.344-5.888 10.176 0 18.752 1.92 25.472 5.888 6.848 3.968 12.352 8.96 16.64 15.104 4.096 6.208 7.744 12.8 10.624 19.904s6.528 16.576 11.008 28.352l94.656 236.48C718.592 621.056 722.304 634.112 722.304 642.304zM606.912 526.784 552.32 375.552 498.624 526.784 606.912 526.784z"})],-1)])],8,qo),t.createElementVNode("button",{ref_key:"mergeArrowRef",ref:L,class:"toolbar-btn toolbar-split__arrow",title:t.unref(G)(e.locale,"mergeCells"),disabled:!e.hasSelection,onClick:o[36]||(o[36]=v=>k("update:merge-menu-open",!e.mergeMenuOpen))},[...o[61]||(o[61]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M180.053 361.387a32 32 0 0 1 45.227 0L512 648.107l286.72-286.72a32 32 0 1 1 45.227 45.227l-309.334 309.333a32 32 0 0 1-45.226 0L180.053 406.613a32 32 0 0 1 0-45.226z"})],-1)])],8,Jo),t.createVNode(lo,{"model-open":e.mergeMenuOpen,locale:e.locale,"trigger-el":L.value,"onUpdate:modelOpen":o[37]||(o[37]=v=>k("update:merge-menu-open",v)),onChange:o[38]||(o[38]=v=>k("merge-change",v))},null,8,["model-open","locale","trigger-el"])])])],8,["disabled","to"])),he.value?(t.openBlock(),t.createElementBlock("button",{key:0,ref_key:"moreBtnEl",ref:te,class:t.normalizeClass(["toolbar-more",{"toolbar-more--active":pe.value}]),type:"button",onClick:H},[...o[62]||(o[62]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("circle",{cx:"512",cy:"160",r:"96"}),t.createElementVNode("circle",{cx:"512",cy:"512",r:"96"}),t.createElementVNode("circle",{cx:"512",cy:"864",r:"96"})],-1)])],2)):t.createCommentVNode("",!0)],512),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[t.withDirectives((t.openBlock(),t.createElementBlock("div",{ref_key:"overflowMenuEl",ref:f,key:U.value,class:t.normalizeClass(["overflow-menu",{"no-anim":ye.value}]),style:t.normalizeStyle(r.value)},null,6)),[[t.vShow,pe.value]])]),_:1})]))],64))}}),[["__scopeId","data-v-7da07fb8"]]),ln={class:"tab-list"},on=["onClick","onDblclick","onContextmenu"],nn=["value"],rn={key:1,class:"tab-item__name"},an=["title"],cn=pt(t.defineComponent({__name:"tabbar",props:{locale:{},sheets:{},activeSheetIndex:{},renTab:{},renTabVal:{}},emits:["tab-click","tab-dblclick","tab-contextmenu","tab-rename-input","tab-rename-keydown","tab-rename-commit","add-sheet","tabbar-contextmenu"],setup(e,{emit:h}){const g=h;return(n,d)=>(t.openBlock(),t.createElementBlock("div",{class:"tab-bar",onContextmenu:d[5]||(d[5]=E=>g("tabbar-contextmenu",E))},[t.createElementVNode("div",ln,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.sheets,(E,a)=>(t.openBlock(),t.createElementBlock("div",{key:E.id,class:t.normalizeClass(["tab-item",{"tab-item--active":a===e.activeSheetIndex}]),onClick:V=>g("tab-click",a),onDblclick:t.withModifiers(V=>g("tab-dblclick",a),["prevent"]),onContextmenu:V=>g("tab-contextmenu",{ev:V,i:a})},[e.renTab===a?(t.openBlock(),t.createElementBlock("input",{key:0,class:"tab-rename-input",value:e.renTabVal,onInput:d[0]||(d[0]=V=>g("tab-rename-input",V.target.value)),onKeydown:d[1]||(d[1]=V=>g("tab-rename-keydown",V)),onBlur:d[2]||(d[2]=V=>g("tab-rename-commit")),onClick:d[3]||(d[3]=t.withModifiers(()=>{},["stop"]))},null,40,nn)):(t.openBlock(),t.createElementBlock("span",rn,t.toDisplayString(E.name),1))],42,on))),128))]),t.createElementVNode("button",{class:"tab-bar__add-btn",title:t.unref(G)(e.locale,"addSheet"),onClick:d[4]||(d[4]=E=>g("add-sheet"))}," + ",8,an)],32))}}),[["__scopeId","data-v-454e1a12"]]);function Je(e){let h="",g=e;do h=String.fromCharCode(65+g%26)+h,g=Math.floor(g/26)-1;while(g>=0);return h}function el(e){let h=0;for(let g=0;g<e.length;g++)h=h*26+(e.toUpperCase().charCodeAt(g)-64);return h-1}function gt(e){if(e==null)return null;if(typeof e=="number")return e;if(typeof e=="string"){const h=parseFloat(e);return e.endsWith("%")||isNaN(h)?null:h}return null}function tl(e){navigator.clipboard.writeText(e).catch(()=>{const h=document.createElement("textarea");h.value=e,h.style.position="fixed",h.style.opacity="0",document.body.appendChild(h),h.select(),document.execCommand("copy"),document.body.removeChild(h)})}function Bt(e,h){return`${e},${h}`}function Pt(e,h,g){const n=e.match(/^\$?([A-Z]+)\$?(\d+)$/i);if(!n)return null;const d=el(n[1]),E=parseInt(n[2],10)-1;return d<0||d>=h||E<0||E>=g?null:{col:d,row:E}}function ht(e,h){if(!h)return{x:0,y:0};const g=h.getBoundingClientRect();return{x:e.clientX-g.left,y:e.clientY-g.top}}function sn(e,h,g){const n=e.split(":");if(n.length!==2)return null;const d=Pt(n[0],h,g),E=Pt(n[1],h,g);return!d||!E?null:{sc:Math.min(d.col,E.col),sr:Math.min(d.row,E.row),ec:Math.max(d.col,E.col),er:Math.max(d.row,E.row)}}function dn(e,h,g,n,d){const E=g[Bt(e,h)];if(!E)return 0;const a=E.value;if(a.startsWith("="))return ul(Bt(e,h),g,n,d)??0;const V=parseFloat(a);return isNaN(V)?0:V}const Rt=new Map;function ll(){Rt.clear()}function ul(e,h,g,n){return un(e,h,g,n)}function un(e,h,g,n,d){if(Rt.has(e))return NaN;Rt.set(e,NaN);const E=h[e];if(!E)return NaN;const a=E.value;if(!a.startsWith("=")){const te=parseFloat(a),X=isNaN(te)?0:te;return Rt.set(e,X),X}const V=a.slice(1).trim();if(V.toUpperCase().startsWith("SUM(")&&V.endsWith(")")){const te=V.slice(4,-1).trim(),X=sn(te,g,n);if(X){let w=0;for(let re=X.sc;re<=X.ec;re++)for(let L=X.sr;L<=X.er;L++)w+=dn(re,L,h,g,n);return isNaN(w)?NaN:(Rt.set(e,w),w)}return NaN}return NaN}function ol(e,h,g){const n=[],d=/(\$?[A-Z]+\$?\d+)(?::(\$?[A-Z]+\$?\d+))?/gi;let E;for(;(E=d.exec(e))!==null;){const a=Pt(E[1],h,g);if(a)if(E[2]){const V=Pt(E[2],h,g);if(!V)continue;for(let f=Math.min(a.col,V.col);f<=Math.max(a.col,V.col);f++)for(let te=Math.min(a.row,V.row);te<=Math.max(a.row,V.row);te++)n.push(Bt(f,te))}else n.push(Bt(a.col,a.row))}return n}function fn(e,h,g,n,d){const E=g[Bt(e,h)];if(!E)return"";const a=E.value;if(!a.startsWith("="))return a;const V=ul(Bt(e,h),g,n,d);return isNaN(V)?"#ERROR":String(V)}function mn(e,h,g,n,d,E){return h===0&&g===0?e:e.replace(/(\$?)([A-Z]+)(\$?)(\d+)/gi,(a,V,f,te,X)=>{const w=V?el(f):el(f)+h,re=te?parseInt(X,10)-1:parseInt(X,10)-1+g;let L;w<0?L="A":w>=n?L=E(n-1):L=E(w);let m;return re<0?m="1":re>=d?m=String(d):m=String(re+1),(V||"")+L+(te||"")+m})}class pn{constructor(){this.deps=new Map,this.rev=new Map,this.dirty=new Set}clear(h){var n;const g=this.deps.get(h);if(g){for(const d of g)(n=this.rev.get(d))==null||n.delete(h);this.deps.delete(h)}}set(h,g){if(this.clear(h),g.length!==0){this.deps.set(h,g);for(const n of g)this.rev.has(n)||this.rev.set(n,new Set),this.rev.get(n).add(h)}}markDirty(h){const g=[h];for(;g.length>0;){const n=g.pop(),d=this.rev.get(n);if(d)for(const E of d)this.dirty.has(E)||(this.dirty.add(E),g.push(E))}}getDirtyAndClear(){const h=this.dirty;return this.dirty=new Set,h}rebuild(h,g,n){this.deps.clear(),this.rev.clear(),this.dirty.clear(),Rt.clear();for(const[d,E]of Object.entries(h))if(E.value.startsWith("=")){const a=ol(E.value.slice(1),g,n);this.set(d,a)}}}function gn(e,h){const g=t.reactive({rowCount:e.rowCount??h.rowCount,colCount:e.colCount??h.colCount,width:e.width,height:e.height,theme:e.theme??h.theme,locale:e.locale??h.locale});t.watchEffect(()=>{g.rowCount=e.rowCount??h.rowCount,g.colCount=e.colCount??h.colCount,g.width=e.width,g.height=e.height,g.theme=e.theme??h.theme,g.locale=e.locale??h.locale});const n=t.computed(()=>g.locale==="zh-CN"?"zh-CN":"en-US"),d=g.colCount,E=g.rowCount,a=t.reactive({}),V=t.reactive({}),f=new pn,te=t.ref(null),X=t.ref({col:0,row:0}),w=t.ref(null),re=t.ref(""),L=t.ref(new Array(d).fill(100)),m=t.ref(new Array(E).fill(void 0)),ve=t.ref(0),pe=t.ref(0),ye=(24-at)/2,U=new Map;let P=null;function he(R,x,S,Y){const Z=`${Y} ${S} ${x}px ${R}`,ae=U.get(Z);if(ae)return ae;if(!P){if(typeof document>"u")return{ascent:x*.8,descent:x*.2};P=document.createElement("canvas")}const de=P.getContext("2d");if(!de)return{ascent:x*.8,descent:x*.2};de.font=Z;const i=de.measureText("M"),b=i.actualBoundingBoxAscent,W=i.actualBoundingBoxDescent,z=b||x*.8,J=W||x*.2,ee=Math.max(z,x*.5),q=Math.max(J,x*.15),ue={ascent:ee,descent:q};return U.set(Z,ue),ue}let F=(R,x)=>`${R},${x}`,j=()=>null,be=()=>at,we=t.computed(()=>[0]),le=()=>24,c=(R,x,S,Y)=>({startCol:Math.min(R,S),startRow:Math.min(x,Y),endCol:Math.max(R,S),endRow:Math.max(x,Y)});function p(R,x){var i;const S=(i=a[F(R,x)])==null?void 0:i.style,Y=be(R,x),Z=typeof(S==null?void 0:S.fontFamily)=="string"&&S.fontFamily?S.fontFamily:Kt,ae=(S==null?void 0:S.fontWeight)==="bold"?"bold":"normal",de=(S==null?void 0:S.fontStyle)==="italic"?"italic":"normal";return he(Z,Y,ae,de)}function Ae(R,x,S,Y){if(!x)return[""];const Z=x.split(`
2
+ `),ae=[];for(const de of Z)if(!Y||S<=0)ae.push(de);else{let i="";for(let b=0;b<de.length;b++){const W=de[b],z=i+W;R.measureText(z).width>S&&i?(ae.push(i),i=W):i=z}ae.push(i)}return ae}function xe(R,x){var Y;const S=(Y=a[F(R,x)])==null?void 0:Y.style;return typeof(S==null?void 0:S.fontSize)=="number"&&S.fontSize>0?S.fontSize:at}be=xe;const ie=t.computed(()=>{const R=[0];for(let x=0;x<d;x++)R.push(R[x]+L.value[x]);return R});we=ie;const r={w:800,h:600};let y=()=>{};function T(R){var z;const x=m.value[R];if(x!=null&&x>0)return x;let S=at,Y=S*.8,Z=S*.2,ae=1;const de=P?P.getContext("2d"):null;for(let J=0;J<d;J++){const ee=xe(J,R),q=(z=a[F(J,R)])==null?void 0:z.style,ue=typeof(q==null?void 0:q.fontFamily)=="string"&&q.fontFamily?q.fontFamily:Kt,Ee=(q==null?void 0:q.fontWeight)==="bold"?"bold":"normal",We=(q==null?void 0:q.fontStyle)==="italic"?"italic":"normal",Ie=me(J,R);if(Ie&&de){de.font=`${We} ${Ee} ${ee}px ${ue}`;const $e=Ie.split(`
3
+ `)[0]||Ie,Oe=de.measureText($e),_e=Oe.actualBoundingBoxAscent,ot=Oe.actualBoundingBoxDescent,Lt=_e||ee*.8,Yt=ot||ee*.2,Ot=Math.max(Lt,ee*.5),Xt=Math.max(Yt,ee*.15);Ot>Y&&(Y=Ot),Xt>Z&&(Z=Xt),ee>S&&(S=ee);const nl=(q==null?void 0:q.wrap)==="wrap";let ut;if(nl){const xt=j(J,R);let Vt;xt&&J===xt.range.startCol&&R===xt.range.startRow?Vt=we.value[xt.range.endCol+1]-we.value[J]:Vt=L.value[J],ut=Ae(de,Ie,Math.max(0,Vt-10),!0).length,ut>ae&&(ae=ut)}else ut=Ie.split(`
4
+ `).length,ut>ae&&(ae=ut)}else if(ee>S){S=ee;const $e=he(ue,ee,Ee,We);$e.ascent>Y&&(Y=$e.ascent),$e.descent>Z&&(Z=$e.descent)}}const i=S,b=ye*2+ae*i;return Math.min(500,Math.max(24,Math.round(b)))}le=T;function H(R){return m.value[R]===void 0}const C=t.computed(()=>{const R=[0];for(let x=0;x<E;x++)R.push(R[x]+le(x));return R}),k=t.computed(()=>ie.value[d]),B=t.computed(()=>C.value[E]);function o(R,x){return`${R},${x}`}F=o;function v(R){Reflect.deleteProperty(a,R)}function fe(R,x){const S=j(R,x);S?(X.value={col:S.range.startCol,row:S.range.startRow},te.value={...S.range}):(X.value={col:R,row:x},te.value={startCol:R,startRow:x,endCol:R,endRow:x})}function Me(R,x,S,Y){const Z=j(R,x);X.value=Z?{col:Z.range.startCol,row:Z.range.startRow}:{col:R,row:x},te.value=c(R,x,S,Y)}function Se(){Me(0,0,d-1,E-1)}function Fe(R,x){const S=te.value;return S?R>=S.startCol&&R<=S.endCol&&x>=S.startRow&&x<=S.endRow:!1}function ge(R,x){for(const S in V){const Y=V[S];if(Y&&R>=Y.startCol&&R<=Y.endCol&&x>=Y.startRow&&x<=Y.endRow)return{range:Y,anchor:S}}return null}j=ge;function Le(R,x){return V[o(R,x)]!==void 0}function D(R,x){const S=j(R,x);if(S&&R===S.range.startCol&&x===S.range.startRow){const Y=ie.value[S.range.endCol+1]-ie.value[R],Z=C.value[S.range.endRow+1]-C.value[x];return{w:Y,h:Z}}return{w:L.value[R],h:le(x)}}function O(R,x,S,Y){let Z=Math.min(R,S),ae=Math.max(R,S),de=Math.min(x,Y),i=Math.max(x,Y),b=!0;for(;b;){b=!1;for(const W in V){const z=V[W];if(!z)continue;z.startCol<=ae&&z.endCol>=Z&&z.startRow<=i&&z.endRow>=de&&(z.startCol<Z&&(Z=z.startCol,b=!0),z.endCol>ae&&(ae=z.endCol,b=!0),z.startRow<de&&(de=z.startRow,b=!0),z.endRow>i&&(i=z.endRow,b=!0))}}return{startCol:Z,startRow:de,endCol:ae,endRow:i}}c=O;let K=()=>{};function oe(R,x){var S;return((S=a[o(R,x)])==null?void 0:S.value)??""}function me(R,x){return ll(),fn(R,x,a,d,E)}function $(R,x,S){var de,i;const Y=o(R,x);if(ll(),S===""||S==null){f.clear(Y);const b=((de=a[Y])==null?void 0:de.style)??null;b?a[Y]={value:"",style:b}:v(Y),f.markDirty(Y);return}const Z=String(S),ae=((i=a[Y])==null?void 0:i.style)??null;a[Y]={value:Z,style:ae},Z.startsWith("=")?f.set(Y,ol(Z.slice(1),d,E)):f.clear(Y),f.markDirty(Y)}function se(R,x,S,Y){for(let Z=R;Z<=x;Z++)for(let ae=S;ae<=Y;ae++){const de=o(Z,ae);f.clear(de),v(de),f.markDirty(de),K(Z,ae)}}let ke=()=>{};function He(R){w.value||(w.value={...X.value},re.value=R??oe(X.value.col,X.value.row))}function Qe(){w.value&&(ke(),$(w.value.col,w.value.row,re.value),w.value=null,re.value="")}function lt(){w.value=null,re.value=""}function Ge(R,x){const S=X.value;let Y=Math.max(0,Math.min(d-1,S.col+R)),Z=Math.max(0,Math.min(E-1,S.row+x));const ae=j(S.col,S.row),de=j(Y,Z);ae&&de&&ae.anchor===de.anchor&&(R>0?Y=ae.range.endCol+1:R<0&&(Y=ae.range.startCol-1),x>0?Z=ae.range.endRow+1:x<0&&(Z=ae.range.startRow-1),Y=Math.max(0,Math.min(d-1,Y)),Z=Math.max(0,Math.min(E-1,Z))),fe(Y,Z)}function je(R,x){const S=Math.max(0,r.w-52-11),Y=Math.max(0,r.h-24-11),Z=ie.value[R],ae=C.value[x],de=j(R,x),i=de?ie.value[de.range.endCol+1]-ie.value[R]:L.value[R],b=de?C.value[de.range.endRow+1]-C.value[x]:le(x);let W=ve.value,z=pe.value;Z<W?W=Z:Z+i>W+S&&(W=Z+i-S),ae<z?z=ae:ae+b>z+Y&&(z=ae+b-Y),y(W,z)}function dt(R){const x=ie.value;if(R<0||R>=x[d])return-1;let S=0,Y=d-1;for(;S<Y;){const Z=S+Y+1>>1;x[Z]<=R?S=Z:Y=Z-1}return S}function Nt(R){const x=C.value;if(R<0||R>=x[E])return-1;let S=0,Y=E-1;for(;S<Y;){const Z=S+Y+1>>1;x[Z]<=R?S=Z:Y=Z-1}return S}const Pe={props:g,locale:n,colCount:d,rowCount:E,cells:a,merges:V,formulaDeps:f,selection:te,activeCell:X,editingCell:w,editValue:re,colWidths:L,rowHeights:m,scrollX:ve,scrollY:pe,BASE_CELL_VPAD:ye,fontMetricsCache:U,fontMetricsCanvas:P,measureFontMetrics:he,_getFontMetricsForCell:p,getWrappedLines:Ae,cellFontSize:xe,colPositions:ie,getRowHeight:T,_isAutoRow:H,rowPositions:C,totalWidth:k,totalHeight:B,selectCell:fe,selectRange:Me,selectAll:Se,isSelected:Fe,cellKey:o,delCell:v,findMerge:ge,_isMergeAnchor:Le,_mergedSpan:D,expandSelectionForMerges:O,getCellRaw:oe,getCellValue:me,setCellValue:$,clearCellsInRange:se,startEdit:He,commitEdit:Qe,cancelEdit:lt,moveActive:Ge,ensureVisible:je,hitCol:dt,hitRow:Nt,viewSize:r};return ke=()=>{var R;return(R=Pe.saveUndo)==null?void 0:R.call(Pe)},K=(R,x)=>{var S;return(S=Pe.syncCellBorders)==null?void 0:S.call(Pe,R,x)},y=(R,x)=>{var S;return(S=Pe.clampScroll)==null?void 0:S.call(Pe,R,x)},Pe}function hn(e,h){const g=t.ref([]),n=t.ref([]);function d(i){const b={};for(const[W,z]of Object.entries(i))b[W]={value:z.value,style:z.style};return b}function E(){return h.saveSheet(),{sheets:h.sheets.value.map(i=>({id:i.id,name:i.name,cells:d(i.cells),merges:i.merges?{...i.merges}:{},selection:i.selection?{...i.selection}:null,activeCell:i.activeCell?{...i.activeCell}:{col:0,row:0},scrollX:i.scrollX,scrollY:i.scrollY,colWidths:[...i.colWidths],rowHeights:[...i.rowHeights]})),activeSheetIndex:h.activeSheetIndex.value}}function a(i){h.sheets.value=i.sheets.map(b=>({...b,cells:d(b.cells)})),h.loadSheet(Math.max(0,Math.min(i.activeSheetIndex,h.sheets.value.length-1))),e.formulaDeps.rebuild(e.cells,e.colCount,e.rowCount)}function V(){const i=E(),b=g.value[g.value.length-1];b&&JSON.stringify(b)===JSON.stringify(i)||(g.value.push(i),n.value=[],g.value.length>50&&g.value.shift())}e.saveUndo=V;function f(){var i;g.value.length&&(n.value.push(E()),a(g.value.pop()),(i=e.scheduleRender)==null||i.call(e),t.nextTick(()=>{var b;return(b=e.emitModelData)==null?void 0:b.call(e)}))}function te(){var i;n.value.length&&(g.value.push(E()),a(n.value.pop()),(i=e.scheduleRender)==null||i.call(e),t.nextTick(()=>{var b;return(b=e.emitModelData)==null?void 0:b.call(e)}))}const X=t.computed(()=>g.value.length>0),w=t.computed(()=>n.value.length>0),re=t.computed(()=>!!e.selection.value),L=t.ref(null);function m(){var W;const i=e.selection.value;if(!i)return;const b={};for(let z=i.startCol;z<=i.endCol;z++)for(let J=i.startRow;J<=i.endRow;J++)b[`${z-i.startCol},${J-i.startRow}`]=((W=e.cells[e.cellKey(z,J)])==null?void 0:W.style)??null;L.value={styles:b}}function ve(){var W,z,J,ee;const i=L.value,b=e.selection.value;if(!(!i||!b)){V();for(let q=b.startCol;q<=b.endCol;q++)for(let ue=b.startRow;ue<=b.endRow;ue++){const Ee=e.findMerge(q,ue);if(Ee&&(q!==Ee.range.startCol||ue!==Ee.range.startRow))continue;const We=i.styles[`${q-b.startCol},${ue-b.startRow}`]??null,Ie=e.cellKey(q,ue),$e=((W=e.cells[Ie])==null?void 0:W.value)??"";$e===""&&We===null?e.delCell(Ie):e.cells[Ie]={value:$e,style:We},(z=e.syncCellBorders)==null||z.call(e,q,ue)}L.value=null,(J=e.scheduleRender)==null||J.call(e),(ee=e.emitModelData)==null||ee.call(e)}}function pe(){var b,W,z,J;const i=e.selection.value;if(i){V();for(let ee=i.startCol;ee<=i.endCol;ee++)for(let q=i.startRow;q<=i.endRow;q++){const ue=e.findMerge(ee,q);if(ue&&(ee!==ue.range.startCol||q!==ue.range.startRow))continue;const Ee=e.cellKey(ee,q),We=((b=e.cells[Ee])==null?void 0:b.value)??"";We===""?e.delCell(Ee):e.cells[Ee]={value:We,style:null},(W=e.syncCellBorders)==null||W.call(e,ee,q)}(z=e.scheduleRender)==null||z.call(e),(J=e.emitModelData)==null||J.call(e)}}const ye=t.computed(()=>xl.map(i=>({...i,label:i.value===""?G(e.locale.value,"fontDefault"):i.label}))),U=t.computed(()=>Sl.map(i=>({...i,label:String(i.value)}))),P="\0",he=t.computed(()=>{var z;const i=e.selection.value;if(!i)return"";let b,W=!1;for(let J=i.startCol;J<=i.endCol&&!W;J++)for(let ee=i.startRow;ee<=i.endRow&&!W;ee++){const q=e.findMerge(J,ee);if(q&&(J!==q.range.startCol||ee!==q.range.startRow))continue;const ue=(z=e.cells[e.cellKey(J,ee)])==null?void 0:z.style,Ee=typeof(ue==null?void 0:ue.fontFamily)=="string"?ue.fontFamily:"";b===void 0?b=Ee:Ee!==b&&(W=!0)}return W?P:b??""}),F=t.computed(()=>{const i=e.selection.value;if(!i)return at;let b,W=!1;for(let z=i.startCol;z<=i.endCol&&!W;z++)for(let J=i.startRow;J<=i.endRow&&!W;J++){const ee=e.findMerge(z,J);if(ee&&(z!==ee.range.startCol||J!==ee.range.startRow))continue;const q=e.cellFontSize(z,J);b===void 0?b=q:q!==b&&(W=!0)}return W?0:b??at});function j(i,b){var z,J,ee,q;const W=e.selection.value;if(W){V();for(let ue=W.startCol;ue<=W.endCol;ue++)for(let Ee=W.startRow;Ee<=W.endRow;Ee++){const We=e.findMerge(ue,Ee);if(We&&(ue!==We.range.startCol||Ee!==We.range.startRow))continue;const Ie=e.cellKey(ue,Ee),$e=((z=e.cells[Ie])==null?void 0:z.value)??"",Oe=(J=e.cells[Ie])!=null&&J.style?{...e.cells[Ie].style}:{};b===""||b===null||b===void 0||b===0?Reflect.deleteProperty(Oe,i):Oe[i]=b;const _e=Object.keys(Oe).length?Oe:null;$e===""&&_e===null?e.delCell(Ie):e.cells[Ie]={value:$e,style:_e}}(ee=e.scheduleRender)==null||ee.call(e),(q=e.emitModelData)==null||q.call(e)}}function be(i){j("fontFamily",i===""?"":i)}const we=t.ref(!1),le=t.ref(!1),c=t.ref(!1),p=t.ref(!1),Ae=t.ref(!1);function xe(i){j("fontSize",i),we.value=!1}const ie=t.computed(()=>Fl.map(i=>({label:G(e.locale.value,i.labelKey),value:i.value,icon:i.icon}))),r=t.computed(()=>Nl.map(i=>({label:G(e.locale.value,i.labelKey),value:i.value,icon:i.icon}))),y=t.computed(()=>{var z;const i=e.selection.value;if(!i)return"left";const b=(z=e.cells[e.cellKey(i.startCol,i.startRow)])==null?void 0:z.style,W=typeof(b==null?void 0:b.textAlign)=="string"?b.textAlign:"";return W==="center"||W==="right"?W:"left"}),T=t.computed(()=>{var z;const i=e.selection.value;if(!i)return"top";const b=(z=e.cells[e.cellKey(i.startCol,i.startRow)])==null?void 0:z.style,W=typeof(b==null?void 0:b.verticalAlign)=="string"?b.verticalAlign:"";return W==="middle"||W==="bottom"?W:"top"}),H=t.computed(()=>{var W;const i=e.selection.value;if(!i)return!1;const b=(W=e.cells[e.cellKey(i.startCol,i.startRow)])==null?void 0:W.style;return(b==null?void 0:b.wrap)==="wrap"});function C(i){j("textAlign",i)}function k(i){j("verticalAlign",i)}function B(){if(!e.selection.value)return;const b=H.value;j("wrap",b?void 0:"wrap")}const o=t.ref(""),v=we;t.watch(F,i=>{o.value=i===0?"":String(i)},{immediate:!0});function fe(i){const b=i.replace(/[^\d]/g,"");o.value=b;const W=parseInt(b,10);!isNaN(W)&&W>=5&&W<=72&&W!==F.value&&j("fontSize",W)}function Me(){const i=o.value.trim();if(!i){o.value=F.value===0?"":String(F.value);return}let b=parseInt(i,10);isNaN(b)?b=F.value===0?at:F.value:b=Math.max(5,Math.min(72,b)),o.value=String(b),b!==F.value&&j("fontSize",b)}function Se(i){i.key==="Enter"&&i.target.blur()}function Fe(i){i&&i.preventDefault(),v.value=!v.value,v.value&&(c&&(c.value=!1),le&&(le.value=!1),p.value=!1,Ae.value=!1)}function ge(){const i=F.value===0?at:F.value,b=Math.min(72,i+1);j("fontSize",b),o.value=String(b),v.value=!1}function Le(){const i=F.value===0?at:F.value,b=Math.max(5,i-1);j("fontSize",b),o.value=String(b),v.value=!1}function D(i){var J;const b=e.selection.value;if(!b)return!1;let W,z=!1;for(let ee=b.startCol;ee<=b.endCol&&!z;ee++)for(let q=b.startRow;q<=b.endRow&&!z;q++){const ue=e.findMerge(ee,q);if(ue&&(ee!==ue.range.startCol||q!==ue.range.startRow))continue;const Ee=(J=e.cells[e.cellKey(ee,q)])==null?void 0:J.style,We=!!(Ee!=null&&Ee[i]);W===void 0?W=We:We!==W&&(z=!0)}return!z&&W===!0}const O=t.computed(()=>D("fontWeight")),K=t.computed(()=>D("fontStyle")),oe=t.computed(()=>D("underline")),me=t.computed(()=>D("strikethrough"));function $(){j("fontWeight",O.value?"":"bold")}function se(){j("fontStyle",K.value?"":"italic")}function ke(){j("underline",oe.value?"":"underline")}function He(){j("strikethrough",me.value?"":"line-through")}const Qe=t.ref(""),lt=t.ref(""),Ge=p,je=Ae;function dt(){Ge.value=!Ge.value,je.value=!1,le&&(le.value=!1),c&&(c.value=!1)}function Nt(){je.value=!je.value,Ge.value=!1,le&&(le.value=!1),c&&(c.value=!1)}function Pe(i){le&&(le.value=i),i&&(Ge.value=!1,je.value=!1,c&&(c.value=!1))}function R(i){Qe.value=i,j("color",i===""?"":i)}function x(i){lt.value=i,j("backgroundColor",i===""?"":i)}function S(){j("color",Qe.value===""?"":Qe.value)}function Y(){j("backgroundColor",lt.value===""?"":lt.value)}const Z=t.computed(()=>{var z;const i=e.selection.value;if(!i)return"";let b,W=!1;for(let J=i.startCol;J<=i.endCol&&!W;J++)for(let ee=i.startRow;ee<=i.endRow&&!W;ee++){const q=e.findMerge(J,ee);if(q&&(J!==q.range.startCol||ee!==q.range.startRow))continue;const ue=(z=e.cells[e.cellKey(J,ee)])==null?void 0:z.style,Ee=typeof(ue==null?void 0:ue.color)=="string"?ue.color:"";b===void 0?b=Ee:Ee!==b&&(W=!0)}return W?"":b??""}),ae=t.computed(()=>{var z;const i=e.selection.value;if(!i)return"";let b,W=!1;for(let J=i.startCol;J<=i.endCol&&!W;J++)for(let ee=i.startRow;ee<=i.endRow&&!W;ee++){const q=e.findMerge(J,ee);if(q&&(J!==q.range.startCol||ee!==q.range.startRow))continue;const ue=(z=e.cells[e.cellKey(J,ee)])==null?void 0:z.style,Ee=typeof(ue==null?void 0:ue.backgroundColor)=="string"?ue.backgroundColor:"";b===void 0?b=Ee:Ee!==b&&(W=!0)}return W?"":b??""});return{undoStack:g,redoStack:n,cloneCells:d,takeSnap:E,restoreSnap:a,saveUndo:V,undo:f,redo:te,canUndo:X,canRedo:w,hasSelection:re,paintFmt:L,onPaintFormat:m,applyPaintFormat:ve,clearFormat:pe,fontFamilyOptions:ye,fontSizeOptions:U,FONT_FAMILY_MIXED:P,selFontFamily:he,selFontSize:F,applyStyleToSelection:j,onFontFamilyChange:be,onFontSizeChange:xe,hAlignOptions:ie,vAlignOptions:r,selHAlign:y,selVAlign:T,selWrap:H,onHAlignChange:C,onVAlignChange:k,onWrapToggle:B,fontSizeInput:o,fontSizeMenuOpen:v,onFontSizeInput:fe,onFontSizeBlur:Me,onFontSizeKeydown:Se,toggleFontSizeMenu:Fe,onFontSizeStepUp:ge,onFontSizeStepDown:Le,selFontWeight:O,selFontStyle:K,selUnderline:oe,selStrikethrough:me,toggleFontWeight:$,toggleFontStyle:se,toggleUnderline:ke,toggleStrikethrough:He,cachedTextColor:Qe,cachedFillColor:lt,textColorMenuOpen:Ge,fillColorMenuOpen:je,_toggleTextColorMenu:dt,_toggleFillColorMenu:Nt,onBorderMenuToggle:Pe,onTextColorChange:R,onFillColorChange:x,applyCachedTextColor:S,applyCachedFillColor:Y,selTextColor:Z,selFillColor:ae}}function vn(e,h){h.borderMenuOpen&&(e.borderMenuOpen=h.borderMenuOpen),h.mergeMenuOpen&&(e.mergeMenuOpen=h.mergeMenuOpen),(()=>{const n=e.borderMenuOpen,d=e.mergeMenuOpen;e.onBorderMenuToggle=E=>{n&&(n.value=E),E&&(e.textColorMenuOpen.value=!1,e.fillColorMenuOpen.value=!1,d&&(d.value=!1))},e.toggleFontSizeMenu=E=>{E&&E.preventDefault(),e.fontSizeMenuOpen.value=!e.fontSizeMenuOpen.value,e.fontSizeMenuOpen.value&&(d&&(d.value=!1),n&&(n.value=!1),e.textColorMenuOpen.value=!1,e.fillColorMenuOpen.value=!1)},e._toggleTextColorMenu=()=>{e.textColorMenuOpen.value=!e.textColorMenuOpen.value,e.fillColorMenuOpen.value=!1,n&&(n.value=!1),d&&(d.value=!1)},e._toggleFillColorMenu=()=>{e.fillColorMenuOpen.value=!e.fillColorMenuOpen.value,e.textColorMenuOpen.value=!1,n&&(n.value=!1),d&&(d.value=!1)}})()}function Cn(e,h){const g=t.ref("none"),n=t.ref(!1),d="#444";function E(r,y,T,H){const C=e.findMerge(y,T),k=C?C.range.endCol:y,B=C?C.range.endRow:T,o=C?C.range.startCol:y,fe=(C?C.range.startRow:T)===H.startRow,Me=B===H.endRow,Se=o===H.startCol,Fe=k===H.endCol,ge={top:0,bottom:0,left:0,right:0};switch(r){case"none":return ge;case"bottom":Me&&(ge.bottom=1);break;case"top":fe&&(ge.top=1);break;case"left":Se&&(ge.left=1);break;case"right":Fe&&(ge.right=1);break;case"all":ge.top=1,ge.bottom=1,ge.left=1,ge.right=1;break;case"outer":fe&&(ge.top=1),Me&&(ge.bottom=1),Se&&(ge.left=1),Fe&&(ge.right=1);break;case"thickOuter":fe&&(ge.top=2),Me&&(ge.bottom=2),Se&&(ge.left=2),Fe&&(ge.right=2);break}return ge}function a(r,y,T,H,C){var ge,Le;if(r<0||y<0||r>=e.colCount||y>=e.rowCount)return;const k=e.findMerge(r,y);if(k&&(T==="Top"&&y!==k.range.startRow||T==="Bottom"&&y!==k.range.endRow||T==="Left"&&r!==k.range.startCol||T==="Right"&&r!==k.range.endCol))return;const B=k?k.anchor:e.cellKey(r,y),o=((ge=e.cells[B])==null?void 0:ge.value)??"",v=(Le=e.cells[B])!=null&&Le.style?{...e.cells[B].style}:{},fe=`border${T}Width`;H===0?C&&Reflect.deleteProperty(v,fe):(v[fe]=H,v.borderColor=d),["Top","Bottom","Left","Right"].some(D=>v[`border${D}Width`]!==void 0)||Reflect.deleteProperty(v,"borderColor");const Fe=Object.keys(v).length?v:null;o===""&&Fe===null?e.delCell(B):e.cells[B]={value:o,style:Fe}}function V(r,y){var fe;const T=e.findMerge(r,y),H=T?T.anchor:e.cellKey(r,y),C=(fe=e.cells[H])==null?void 0:fe.style,k=(C==null?void 0:C.borderTopWidth)||0,B=(C==null?void 0:C.borderBottomWidth)||0,o=(C==null?void 0:C.borderLeftWidth)||0,v=(C==null?void 0:C.borderRightWidth)||0;a(r,y-1,"Bottom",k,!0),a(r,y+1,"Top",B,!0),a(r-1,y,"Right",o,!0),a(r+1,y,"Left",v,!0)}e.syncCellBorders=V;function f(r,y,T,H=!0){var Se,Fe;const C=e.cellKey(r,y),k=((Se=e.cells[C])==null?void 0:Se.value)??"",B=(Fe=e.cells[C])!=null&&Fe.style?{...e.cells[C].style}:{},o=["Top","Bottom","Left","Right"],v=[T.top,T.bottom,T.left,T.right];for(let ge=0;ge<4;ge++){const Le=`border${o[ge]}Width`;v[ge]===0?H&&Reflect.deleteProperty(B,Le):(B[Le]=v[ge],B.borderColor=d)}o.some(ge=>B[`border${ge}Width`]!==void 0)||Reflect.deleteProperty(B,"borderColor");const Me=Object.keys(B).length?B:null;k===""&&Me===null?e.delCell(C):e.cells[C]={value:k,style:Me},V(r,y)}function te(r){var T,H;g.value=r;const y=e.selection.value;if(y){if(h.saveUndo(),r==="none")for(let C=y.startCol;C<=y.endCol;C++)for(let k=y.startRow;k<=y.endRow;k++){const B=e.findMerge(C,k);B&&(C!==B.range.startCol||k!==B.range.startRow)||f(C,k,{top:0,bottom:0,left:0,right:0},!0)}else for(let C=y.startCol;C<=y.endCol;C++)for(let k=y.startRow;k<=y.endRow;k++){const B=e.findMerge(C,k);if(B&&(C!==B.range.startCol||k!==B.range.startRow))continue;const o=E(r,C,k,y);f(C,k,o,!1)}(T=e.scheduleRender)==null||T.call(e),(H=e.emitModelData)==null||H.call(e)}}function X(){te(g.value)}function w(r,y,T){var k,B;const H=e.findMerge(r,y);if(H){const o=(k=e.cells[H.anchor])==null?void 0:k.style;return T==="Top"&&y===H.range.startRow?(o==null?void 0:o.borderTopWidth)||0:T==="Bottom"&&y===H.range.endRow?(o==null?void 0:o.borderBottomWidth)||0:T==="Left"&&r===H.range.startCol?(o==null?void 0:o.borderLeftWidth)||0:T==="Right"&&r===H.range.endCol&&(o==null?void 0:o.borderRightWidth)||0}const C=(B=e.cells[e.cellKey(r,y)])==null?void 0:B.style;return(C==null?void 0:C[`border${T}Width`])||0}const re=t.ref(!1);function L(r){re.value=r,r&&(h.textColorMenuOpen.value=!1,h.fillColorMenuOpen.value=!1,n.value=!1,h.fontSizeMenuOpen.value=!1)}function m(r,y,T,H){const C=[];for(const k in e.merges){const B=e.merges[k];B&&B.startCol<=T&&B.endCol>=r&&B.startRow<=H&&B.endRow>=y&&C.push(k)}for(const k of C)Reflect.deleteProperty(e.merges,k)}function ve(){var C,k,B,o;const r=e.selection.value;if(!r||r.startCol===r.endCol&&r.startRow===r.endRow)return;h.saveUndo(),m(r.startCol,r.startRow,r.endCol,r.endRow);const y=e.cellKey(r.startCol,r.startRow),T=((C=e.cells[y])==null?void 0:C.value)??"";for(let v=r.startCol;v<=r.endCol;v++)for(let fe=r.startRow;fe<=r.endRow;fe++)v===r.startCol&&fe===r.startRow||e.clearCellsInRange(v,v,fe,fe);const H=(k=e.cells[y])!=null&&k.style?{...e.cells[y].style}:{};H.textAlign="center",e.cells[y]={value:T,style:H},e.merges[y]={startCol:r.startCol,startRow:r.startRow,endCol:r.endCol,endRow:r.endRow},e.selectCell(r.startCol,r.startRow),(B=e.scheduleRender)==null||B.call(e),(o=e.emitModelData)==null||o.call(e)}function pe(){var y,T,H;const r=e.selection.value;if(!(!r||r.startCol===r.endCol)){h.saveUndo();for(let C=r.startRow;C<=r.endRow;C++){m(r.startCol,C,r.endCol,C);const k=e.cellKey(r.startCol,C);(y=e.cells[k])==null||y.value;for(let B=r.startCol+1;B<=r.endCol;B++)e.clearCellsInRange(B,B,C,C);e.merges[k]={startCol:r.startCol,startRow:C,endCol:r.endCol,endRow:C}}e.selectRange(r.startCol,r.startRow,r.endCol,r.endRow),(T=e.scheduleRender)==null||T.call(e),(H=e.emitModelData)==null||H.call(e)}}function ye(){var T,H,C;const r=e.selection.value;if(!r||r.startCol===r.endCol&&r.startRow===r.endRow)return;h.saveUndo(),m(r.startCol,r.startRow,r.endCol,r.endRow);const y=e.cellKey(r.startCol,r.startRow);(T=e.cells[y])==null||T.value;for(let k=r.startCol;k<=r.endCol;k++)for(let B=r.startRow;B<=r.endRow;B++)k===r.startCol&&B===r.startRow||e.clearCellsInRange(k,k,B,B);e.merges[y]={startCol:r.startCol,startRow:r.startRow,endCol:r.endCol,endRow:r.endRow},e.selectCell(r.startCol,r.startRow),(H=e.scheduleRender)==null||H.call(e),(C=e.emitModelData)==null||C.call(e)}function U(){var y,T;const r=e.selection.value;r&&(h.saveUndo(),m(r.startCol,r.startRow,r.endCol,r.endRow),(y=e.scheduleRender)==null||y.call(e),(T=e.emitModelData)==null||T.call(e))}function P(){const r=e.selection.value;if(!r)return;const y=e.findMerge(r.startCol,r.startRow);y&&r.startCol===y.range.startCol&&r.startRow===y.range.startRow&&r.endCol===y.range.endCol&&r.endRow===y.range.endRow?U():ve()}function he(r){switch(r){case"mergeCenter":ve();break;case"mergeAcross":pe();break;case"mergeCells":ye();break;case"unmergeCells":U();break}}let F=null,j=[];function be(r,y,T,H){var C;j=[];for(let k=T;k<=H;k++){const B=[];for(let o=r;o<=y;o++){const v=(C=e.cells[e.cellKey(o,k)])==null?void 0:C.style;B.push(v?{...v}:null)}j.push(B)}}function we(r,y,T,H){const C=e.cellKey(r,y);if(ll(),T===""||T==null){e.formulaDeps.clear(C),H?e.cells[C]={value:"",style:{...H}}:e.delCell(C),e.formulaDeps.markDirty(C);return}e.cells[C]={value:T,style:H?{...H}:null},T.startsWith("=")?e.formulaDeps.set(C,ol(T.slice(1),e.colCount,e.rowCount)):e.formulaDeps.clear(C),e.formulaDeps.markDirty(C)}function le(){const r=e.selection.value;if(!r)return;F={...r},be(r.startCol,r.endCol,r.startRow,r.endRow);const y=[];for(let T=r.startRow;T<=r.endRow;T++){const H=[];for(let C=r.startCol;C<=r.endCol;C++)H.push(e.getCellRaw(C,T));y.push(H.join(" "))}tl(y.join(`
5
+ `))}function c(){const r=e.selection.value;if(r){if(r.startCol===0&&r.endCol===e.colCount-1){F={...r},be(0,e.colCount-1,r.startRow,r.endRow);const y=[];for(let T=r.startRow;T<=r.endRow;T++){const H=[];for(let C=0;C<e.colCount;C++)H.push(e.getCellRaw(C,T));y.push(H.join(" "))}tl(y.join(`
6
+ `))}else if(r.startRow===0&&r.endRow===e.rowCount-1){F={...r},be(r.startCol,r.endCol,0,e.rowCount-1);const y=[];for(let T=0;T<e.rowCount;T++){const H=[];for(let C=r.startCol;C<=r.endCol;C++)H.push(e.getCellRaw(C,T));y.push(H.join(" "))}tl(y.join(`
7
+ `))}}}async function p(){var k;let r;try{r=await navigator.clipboard.readText()}catch{return}if(!r&&r!=="")return;const y=r.split(/\r?\n/),T=e.activeCell.value,H=F,C=H&&j.length>0;for(let B=0;B<y.length;B++){const o=y[B].split(" ");for(let v=0;v<o.length;v++){const fe=T.col+v,Me=T.row+B;if(fe<e.colCount&&Me<e.rowCount){let Se=o[v];if(Se.startsWith("=")&&H&&(Se=mn(Se,fe-(H.startCol+v),Me-(H.startRow+B),e.colCount,e.rowCount,Je)),C&&B<j.length&&v<(((k=j[B])==null?void 0:k.length)??0)){const Fe=j[B][v]??null;we(fe,Me,Se,Fe),V(fe,Me)}else e.setCellValue(fe,Me,Se)}}}}function Ae(){var r;if(le(),e.selection.value){const y=e.selection.value;e.clearCellsInRange(y.startCol,y.endCol,y.startRow,y.endRow),(r=e.scheduleRender)==null||r.call(e)}}function xe(){var r;if(e.selection.value){const y=e.selection.value;e.clearCellsInRange(y.startCol,y.endCol,y.startRow,y.endRow),(r=e.scheduleRender)==null||r.call(e)}}function ie(){var k,B;const r=e.selection.value;if(!r)return;h.saveUndo();const y=r.startCol,T=r.startRow,H=r.endCol,C=r.endRow;if(T===C)if(H+1<e.colCount){const o=`${Je(y)}${T+1}:${Je(H)}${T+1}`;e.setCellValue(H+1,T,`=SUM(${o})`)}else{const o=`${Je(y)}${T+1}:${Je(H-1)}${T+1}`;e.setCellValue(H,T,`=SUM(${o})`)}else for(let o=y;o<=H;o++)if(C+1<e.rowCount){const v=`${Je(o)}${T+1}:${Je(o)}${C+1}`;e.setCellValue(o,C+1,`=SUM(${v})`)}else{const v=`${Je(o)}${T+1}:${Je(o)}${C}`;e.setCellValue(o,C,`=SUM(${v})`)}(k=e.scheduleRender)==null||k.call(e),(B=e.emitModelData)==null||B.call(e)}return{cachedBorder:g,borderMenuOpen:n,BORDER_COLOR:d,borderTypeToWidths:E,onBorderChange:te,setCellBorderSide:a,syncCellBorders:V,applyBorderToCell:f,applyCachedBorder:X,cellBorderWidth:w,mergeMenuOpen:re,onMergeMenuToggle:L,removeOverlappingMerges:m,mergeAndCenter:ve,mergeAcross:pe,mergeCells:ye,unmergeCells:U,onApplyMerge:P,onMergeChange:he,copySourceRange:null,copySourceStyles:[],captureStyles:be,setCellWithStyle:we,copyToClipboard:le,copyRowCol:c,pasteFromClipboard:p,cutSelected:Ae,clearSelected:xe,sumSelected:ie}}function bn(e,h,g,n){const d={},E=n(h),a=n(g);return E!=null&&(d.width=`${E}px`),a!=null&&(d.height=`${a}px`),d["--sp-formula-bar-bg"]=e.formulaBarBg,d["--sp-formula-bar-border"]=e.formulaBarBorder,d["--sp-formula-bar-label-color"]=e.formulaBarLabelText,d["--sp-formula-bar-label-bg"]=e.formulaBarLabelBg,d["--sp-formula-bar-label-border"]=e.formulaBarLabelBorder,d["--sp-formula-bar-input-bg"]=e.formulaBarInputBg,d["--sp-formula-bar-input-border"]=e.formulaBarInputBorder,d["--sp-formula-bar-input-color"]=e.formulaBarInputText,d["--sp-formula-bar-input-focus-border"]=e.formulaBarInputFocusBorder,d["--sp-formula-bar-input-focus-shadow"]=e.formulaBarInputFocusShadow,d["--sp-wrapper-bg"]=e.wrapperBg,d["--sp-cell-editor-border"]=e.cellEditorBorder,d["--sp-cell-editor-color"]=e.cellEditorText,d["--sp-cell-editor-bg"]=e.cellEditorBg,d["--sp-cell-editor-shadow"]=e.cellEditorShadow,d["--sp-tab-bar-bg"]=e.tabBarBg,d["--sp-tab-bar-border"]=e.tabBarBorder,d["--sp-tab-active-bg"]=e.tabActiveBg,d["--sp-tab-active-color"]=e.tabActiveText,d["--sp-tab-active-border"]=e.tabActiveBorder,d["--sp-tab-inactive-bg"]=e.tabInactiveBg,d["--sp-tab-inactive-color"]=e.tabInactiveText,d["--sp-tab-inactive-border"]=e.tabInactiveBorder,d["--sp-tab-hover-bg"]=e.tabHoverBg,d["--sp-tab-add-btn-color"]=e.tabAddBtnColor,d["--sp-tab-add-btn-hover-bg"]=e.tabAddBtnHoverBg,d["--sp-tab-scroll-btn-color"]=e.tabScrollBtnColor,d["--sp-tab-scroll-btn-hover-bg"]=e.tabScrollBtnHoverBg,d["--sp-scroll-thumb"]=e.scrollbarThumb,d["--sp-scroll-thumb-hover"]=e.scrollbarThumbHover,d["--sp-scroll-btn-bg"]=e.scrollBtnBg,d["--sp-scroll-btn-color"]=e.scrollBtnColor,d["--sp-scroll-btn-hover-bg"]=e.scrollBtnHoverBg,d["--sp-scroll-btn-active-bg"]=e.scrollBtnActiveBg,d["--sp-scroll-track-bg"]=e.scrollTrackBg,d["--sp-toolbar-bg"]=e.toolbarBg,d["--sp-toolbar-border"]=e.toolbarBorder,d["--sp-toolbar-btn-color"]=e.toolbarBtnColor,d["--sp-toolbar-btn-hover-bg"]=e.toolbarBtnHoverBg,d["--sp-toolbar-btn-disabled-color"]=e.toolbarBtnDisabledColor,d["--sp-toolbar-btn-active-color"]=e.toolbarBtnActiveColor,d}function yn(e,h,g,n){function d(D,O){var oe,me;const K=O-D+1;for(let $=D;$<=O;$++)for(let se=0;se<e.colCount;se++)e.delCell(e.cellKey(se,$));for(let $=D;$<e.rowCount-K;$++){for(let se=0;se<e.colCount;se++){const ke=e.cellKey(se,$+K),He=e.cellKey(se,$);e.cells[ke]?(e.cells[He]=e.cells[ke],e.delCell(ke)):e.delCell(He)}e.rowHeights.value[$]=e.rowHeights.value[$+K]}for(let $=e.rowCount-K;$<e.rowCount;$++){for(let se=0;se<e.colCount;se++)e.delCell(e.cellKey(se,$));e.rowHeights.value[$]=void 0}if(D>0)for(let $=0;$<e.colCount;$++)(oe=e.syncCellBorders)==null||oe.call(e,$,D-1),(me=e.syncCellBorders)==null||me.call(e,$,D)}function E(D,O){const K=O-D+1;if(!(O>=e.rowCount-1)){for(let oe=e.rowCount-1;oe>O;oe--){for(let me=0;me<e.colCount;me++){const $=e.cellKey(me,oe-K),se=e.cellKey(me,oe);e.cells[$]?e.cells[se]=e.cells[$]:e.delCell(se)}e.rowHeights.value[oe]=e.rowHeights.value[oe-K]}for(let oe=O+1;oe<=O+K;oe++){for(let me=0;me<e.colCount;me++)e.delCell(e.cellKey(me,oe));e.rowHeights.value[oe]=void 0}}}function a(D,O){const K=O-D+1;if(!(O>=e.colCount-1)){for(let oe=e.colCount-1;oe>O;oe--){for(let me=0;me<e.rowCount;me++){const $=e.cellKey(oe-K,me),se=e.cellKey(oe,me);e.cells[$]?e.cells[se]=e.cells[$]:e.delCell(se)}e.colWidths.value[oe]=e.colWidths.value[oe-K]}for(let oe=O+1;oe<=O+K;oe++){for(let me=0;me<e.rowCount;me++)e.delCell(e.cellKey(oe,me));e.colWidths.value[oe]=100}}}function V(D,O){var oe,me;const K=O-D+1;for(let $=D;$<=O;$++)for(let se=0;se<e.rowCount;se++)e.delCell(e.cellKey($,se));for(let $=D;$<e.colCount-K;$++){for(let se=0;se<e.rowCount;se++){const ke=e.cellKey($+K,se),He=e.cellKey($,se);e.cells[ke]?(e.cells[He]=e.cells[ke],e.delCell(ke)):e.delCell(He)}e.colWidths.value[$]=e.colWidths.value[$+K]}for(let $=e.colCount-K;$<e.colCount;$++){for(let se=0;se<e.rowCount;se++)e.delCell(e.cellKey($,se));e.colWidths.value[$]=100}if(D>0)for(let $=0;$<e.rowCount;$++)(oe=e.syncCellBorders)==null||oe.call(e,D-1,$),(me=e.syncCellBorders)==null||me.call(e,D,$)}let f=0;function te(){return f++,`s_${f}`}function X(D){return{id:te(),name:D,cells:{},merges:{},selection:{startCol:0,startRow:0,endCol:0,endRow:0},activeCell:{col:0,row:0},scrollX:0,scrollY:0,colWidths:new Array(e.colCount).fill(100),rowHeights:new Array(e.rowCount).fill(void 0)}}const w=t.ref([X("Sheet1")]),re=t.ref(0);function L(){const D=w.value[re.value];D&&(D.cells={...e.cells},D.merges={...e.merges},D.selection=e.selection.value?{...e.selection.value}:null,D.activeCell={...e.activeCell.value},D.scrollX=e.scrollX.value,D.scrollY=e.scrollY.value,D.colWidths=[...e.colWidths.value],D.rowHeights=[...e.rowHeights.value])}function m(D){const O=w.value[D];O&&(Object.keys(e.cells).forEach(K=>e.delCell(K)),Object.assign(e.cells,O.cells),Object.keys(e.merges).forEach(K=>Reflect.deleteProperty(e.merges,K)),O.merges&&Object.assign(e.merges,O.merges),e.selection.value=O.selection?{...O.selection}:null,e.activeCell.value={...O.activeCell},e.scrollX.value=O.scrollX,e.scrollY.value=O.scrollY,e.colWidths.value=[...O.colWidths],e.rowHeights.value=[...O.rowHeights],re.value=D)}function ve(D){D===re.value||D<0||D>=w.value.length||(e.cancelEdit(),L(),m(D))}function pe(D){return h.saveUndo(),e.cancelEdit(),L(),w.value.push(X(D??`Sheet${w.value.length+1}`)),m(w.value.length-1),w.value.length-1}function ye(D){return w.value.length<=1||(h.saveUndo(),e.cancelEdit(),w.value.splice(D,1),m(Math.min(D,w.value.length-1))),re.value}function U(D,O){w.value[D]&&O.trim()&&(h.saveUndo(),w.value[D].name=O.trim())}function P(D){h.saveUndo(),e.cancelEdit(),L();const O=w.value[D];if(!O)return D;let K=O.name;const oe=K.match(/^(.*?)\s*\((\d+)\)$/);let me=oe?parseInt(oe[2],10)+1:2;oe&&(K=oe[1]);let $=`${K} (${me})`;const se=new Set(w.value.map(He=>He.name));for(;se.has($);)me++,$=`${K} (${me})`;const ke={id:te(),name:$,cells:{...O.cells},merges:O.merges?{...O.merges}:{},selection:O.selection?{...O.selection}:null,activeCell:O.activeCell?{...O.activeCell}:{col:0,row:0},scrollX:O.scrollX,scrollY:O.scrollY,colWidths:[...O.colWidths],rowHeights:[...O.rowHeights]};return w.value.splice(D+1,0,ke),m(D+1),D+1}function he(D,O){var $;const K=D+O;if(K<0||K>=w.value.length)return;h.saveUndo();const oe=re.value,me=w.value.splice(D,1)[0];w.value.splice(K,0,me),oe===D?re.value=K:D<oe&&K>=oe?re.value=oe-1:D>oe&&K<=oe&&(re.value=oe+1),($=e.scheduleRender)==null||$.call(e)}const F=t.computed(()=>w.value.length);let j="";const be=g;function we(){L();const D=w.value.map(K=>{const oe={};for(const[ke,He]of Object.entries(K.cells))oe[ke]={value:He.value},He.style&&(oe[ke].style=He.style);const me={name:K.name,cells:oe};K.merges&&Object.keys(K.merges).length&&(me.merges={...K.merges});const $={};for(let ke=0;ke<K.colWidths.length;ke++)K.colWidths[ke]!==100&&($[ke]=K.colWidths[ke]);Object.keys($).length&&(me.colWidths=$);const se={};for(let ke=0;ke<K.rowHeights.length;ke++){const He=K.rowHeights[ke];He!=null&&(se[ke]=He)}return Object.keys(se).length&&(me.rowHeights=se),me}),O=JSON.stringify(D);O!==j&&(j=O,be.value=D)}e.emitModelData=we;let le=!1;function c(){le||(le=!0,Promise.resolve().then(()=>{le=!1,we()}))}const p=t.computed(()=>e.props.theme==="dark"?Ol:Ll),Ae=t.computed(()=>bn(p.value,e.props.width,e.props.height,gt)),xe=t.computed(()=>{const D={};for(const[O,K]of Object.entries(Ae.value))O.startsWith("--")&&(D[O]=K);return D}),ie=t.ref(null),r=t.ref(null),y=t.ref(null),T=t.ref(null),H=t.reactive({w:800,h:600});e.viewSize&&t.watch(H,D=>{e.viewSize&&(e.viewSize.w=D.w,e.viewSize.h=D.h)},{deep:!0});const C=48,k=28,B=11,o=t.computed(()=>Math.max(0,e.totalWidth.value-Math.max(0,H.w-C-B))),v=t.computed(()=>Math.max(0,e.totalHeight.value-Math.max(0,H.h-k-B)));function fe(D,O){const K=Math.max(0,H.w-C-B),oe=Math.max(0,H.h-k-B);e.scrollX.value=Math.max(0,Math.min(D??e.scrollX.value,Math.max(0,e.totalWidth.value-K))),e.scrollY.value=Math.max(0,Math.min(O??e.scrollY.value,Math.max(0,e.totalHeight.value-oe)))}e.clampScroll=fe;function Me(){var D;return typeof window>"u"?!1:!((D=window.matchMedia)!=null&&D.call(window,"(hover: none) and (pointer: coarse)").matches)}function Se(D=!1){t.nextTick(()=>{const O=y.value;if(O){if(!e.editingCell.value&&!Me()){document.activeElement===O&&O.blur();return}O.focus({preventScroll:!0}),D&&O.select()}})}function Fe(){Se()}function ge(){var O;const D=e.selection.value;if(D){h.saveUndo();for(let K=D.startRow;K<=D.endRow;K++)e.rowHeights.value[K]=void 0;(O=e.scheduleRender)==null||O.call(e),we()}}function Le(){var O;const D=e.selection.value;if(D){h.saveUndo();for(let K=D.startCol;K<=D.endCol;K++)e.colWidths.value[K]=100;(O=e.scheduleRender)==null||O.call(e),we()}}return{deleteRows:d,insertRows:E,insertCols:a,deleteCols:V,sheets:w,activeSheetIndex:re,saveSheet:L,loadSheet:m,switchSheet:ve,addSheet:pe,removeSheet:ye,renameSheet:U,dupSheet:P,moveSheet:he,sheetCount:F,mkSheet:X,emitModelData:we,scheduleOptEmit:c,themeColors:p,outerStyle:Ae,toolbarThemeVars:xe,wrapperRef:ie,canvasRef:r,editInputRef:y,formulaBarRef:T,viewSize:H,maxScrollX:o,maxScrollY:v,clampScroll:fe,canFocusHiddenEditor:Me,focusEditInput:Se,onCanvasFocus:Fe,resetRowHeight:ge,resetColWidth:Le,modelData:be}}function wn(e,h,g,n,d){let E=!1,a=null,V=1;function f(){E||(E=!0,requestAnimationFrame(()=>{E=!1,X()}))}e.scheduleRender=f;const te="#444";function X(){var zt,ct,mt,$t,hl,vl,Cl,bl,yl,wl,kl;const l=n.canvasRef.value;if(!l)return;const s=n.wrapperRef.value;if(!s||(a=l.getContext("2d"),!a))return;V=window.devicePixelRatio||1;const M=s.getBoundingClientRect(),A=M.width,u=M.height;n.viewSize.w=A,n.viewSize.h=u,l.width=A*V,l.height=u*V,l.style.width=A+"px",l.style.height=u+"px",a.setTransform(V,0,0,V,0,0);const I=e.scrollX.value,Q=e.scrollY.value,ne=52,ce=24,Be=n.themeColors.value,Ye=e.colPositions.value,Ke=e.rowPositions.value,St=e.colWidths.value,vt=[];for(let N=0;N<e.rowCount;N++)vt[N]=Ke[N+1]-Ke[N];const it=Math.max(0,e.hitCol(I));let Ct=it;for(let N=it;N<e.colCount&&!(ne+Ye[N]-I>=A);N++)Ct=N;const bt=Ct,et=Math.max(0,e.hitRow(Q));let jt=et;for(let N=et;N<e.rowCount&&!(ce+Ke[N]-Q>=u);N++)jt=N;const yt=jt;let wt=it,kt=et;for(const N in e.merges){const _=e.merges[N];_&&(_.startRow>yt||_.endRow<et||_.startCol>bt||_.endCol<it||(_.startCol<wt&&(wt=_.startCol),_.startRow<kt&&(kt=_.startRow)))}a.fillStyle=Be.bg,a.fillRect(0,0,A,u),a.fillStyle=Be.gridBg,a.fillRect(ne,ce,A-ne,u-ce),a.save(),a.beginPath(),a.rect(ne,ce,A-ne,u-ce),a.clip();const Xe=e.selection.value,ft=e.editingCell.value;for(let N=kt;N<=yt;N++)for(let _=wt;_<=bt;_++){const Re=e.findMerge(_,N);if(Re&&!(_===Re.range.startCol&&N===Re.range.startRow))continue;const Te=ne+Ye[_]-I,De=ce+Ke[N]-Q;let Ne=St[_],Ve=vt[N];if(Re&&(Ne=Ye[Re.range.endCol+1]-Ye[_],Ve=Ke[Re.range.endRow+1]-Ke[N]),Te+Ne<ne||De+Ve<ce||Te>A||De>u)continue;const ze=(zt=e.cells[e.cellKey(_,N)])==null?void 0:zt.style,Mt=typeof(ze==null?void 0:ze.backgroundColor)=="string"?ze.backgroundColor:"";if(Mt&&(a.fillStyle=Mt,a.fillRect(Te,De,Ne,Ve)),e.isSelected(_,N)&&(a.fillStyle=Be.selectionBg,a.fillRect(Te,De,Ne,Ve)),e.activeCell.value.col===_&&e.activeCell.value.row===N&&(a.strokeStyle=Be.activeCellBorder,a.lineWidth=2,a.strokeRect(Te+1,De+1,Ne-2,Ve-2)),a.strokeStyle=Be.gridLine,a.lineWidth=.5,a.strokeRect(Te+.25,De+.25,Ne-.5,Ve-.5),!(ft&&ft.col===_&&ft.row===N)){const Tt=e.getCellValue(_,N);if(Tt){const Ce=(ct=e.cells[e.cellKey(_,N)])==null?void 0:ct.style,Ue=e.cellFontSize(_,N),qe=typeof(Ce==null?void 0:Ce.fontFamily)=="string"&&Ce.fontFamily?Ce.fontFamily:Kt,nt=(Ce==null?void 0:Ce.fontWeight)==="bold"?"bold":"normal",tt=(Ce==null?void 0:Ce.fontStyle)==="italic"?"italic":"normal",Dt=(Ce==null?void 0:Ce.underline)==="underline",Yn=(Ce==null?void 0:Ce.strikethrough)==="line-through",cl=typeof(Ce==null?void 0:Ce.color)=="string"?Ce.color:"",El=typeof(Ce==null?void 0:Ce.textAlign)=="string"?Ce.textAlign:"left",Bl=typeof(Ce==null?void 0:Ce.verticalAlign)=="string"?Ce.verticalAlign:"top";a.fillStyle=cl||Be.cellText,a.font=`${tt} ${nt} ${Ue}px ${qe}`,a.textBaseline="alphabetic",a.save(),a.beginPath(),a.rect(Te+5,De+1,Ne-10,Ve-2),a.clip();const Xn=(Ce==null?void 0:Ce.wrap)==="wrap",_t=e.getWrappedLines(a,Tt,Ne-10,Xn);let Ht=0,Et=0;for(const At of _t){const Gt=a.measureText(At),It=Gt.actualBoundingBoxAscent,Ft=Gt.actualBoundingBoxDescent,rt=It||Ue*.8,Jt=Ft||Ue*.2;Ht=Math.max(Ht,rt),Et=Math.max(Et,Jt)}Ht=Math.max(Ht,Ue*.5),Et=Math.max(Et,Ue*.15);const Zt=Ue,jn=_t.length*Zt;let qt;Bl==="middle"?qt=De+(Ve-jn)/2+Ht:Bl==="bottom"?qt=De+Ve-e.BASE_CELL_VPAD-Et-(_t.length-1)*Zt:qt=De+e.BASE_CELL_VPAD+Ht;for(let At=0;At<_t.length;At++){const Gt=_t[At],It=qt+At*Zt,Ft=a.measureText(Gt);let rt;if(El==="center"?rt=Te+Ne/2-Ft.width/2:El==="right"?rt=Te+Ne-5-Ft.width:rt=Te+5,a.fillText(Gt,rt,It),Dt&&(a.strokeStyle=cl||Be.cellText,a.lineWidth=1,a.beginPath(),a.moveTo(rt,It+Et+1),a.lineTo(rt+Ft.width,It+Et+1),a.stroke()),Yn){a.strokeStyle=cl||Be.cellText,a.lineWidth=1;const Jt=It-Zt*.25;a.beginPath(),a.moveTo(rt,Jt),a.lineTo(rt+Ft.width,Jt),a.stroke()}}a.restore()}}}for(let N=kt;N<=yt;N++)for(let _=wt;_<=bt;_++){const Re=e.findMerge(_,N);if(Re&&!(_===Re.range.startCol&&N===Re.range.startRow))continue;const Te=ne+Ye[_]-I,De=ce+Ke[N]-Q;let Ne=St[_],Ve=vt[N];if(Re&&(Ne=Ye[Re.range.endCol+1]-Ye[_],Ve=Ke[Re.range.endRow+1]-Ke[N]),Te+Ne<ne||De+Ve<ce||Te>A||De>u)continue;const ze=(mt=e.cells[e.cellKey(_,N)])==null?void 0:mt.style,Mt=(ze==null?void 0:ze.borderTopWidth)||0,Tt=(ze==null?void 0:ze.borderLeftWidth)||0,Ce=(ze==null?void 0:ze.borderBottomWidth)||0,Ue=(ze==null?void 0:ze.borderRightWidth)||0,qe=Math.max(Mt,g.cellBorderWidth(_,N-1,"Bottom")),nt=Math.max(Tt,g.cellBorderWidth(_-1,N,"Right")),tt=Math.max(Ce,g.cellBorderWidth(_,N+1,"Top")),Dt=Math.max(Ue,g.cellBorderWidth(_+1,N,"Left"));(qe>0||nt>0||tt>0||Dt>0)&&(a.fillStyle=te,qe>0&&a.fillRect(Te,De,Ne,qe),tt>0&&a.fillRect(Te,De+Ve-tt,Ne,tt),nt>0&&a.fillRect(Te,De,nt,Ve),Dt>0&&a.fillRect(Te+Ne-Dt,De,Dt,Ve))}for(let N=kt;N<=yt;N++)for(let _=wt;_<=bt;_++){const Re=e.findMerge(_,N);if(Re&&!(_===Re.range.startCol&&N===Re.range.startRow))continue;const Te=ne+Ye[_]-I,De=ce+Ke[N]-Q;let Ne=St[_],Ve=vt[N];if(Re&&(Ne=Ye[Re.range.endCol+1]-Ye[_],Ve=Ke[Re.range.endRow+1]-Ke[N]),Te+Ne<ne||De+Ve<ce||Te>A||De>u)continue;const ze=((hl=($t=e.cells[e.cellKey(_,N)])==null?void 0:$t.style)==null?void 0:hl.borderTopWidth)||0,Mt=((Cl=(vl=e.cells[e.cellKey(_,N)])==null?void 0:vl.style)==null?void 0:Cl.borderLeftWidth)||0,Tt=((yl=(bl=e.cells[e.cellKey(_,N)])==null?void 0:bl.style)==null?void 0:yl.borderBottomWidth)||0,Ce=((kl=(wl=e.cells[e.cellKey(_,N)])==null?void 0:wl.style)==null?void 0:kl.borderRightWidth)||0,Ue=Math.max(ze,g.cellBorderWidth(_,N-1,"Bottom")),qe=Math.max(Mt,g.cellBorderWidth(_-1,N,"Right")),nt=Math.max(Tt,g.cellBorderWidth(_,N+1,"Top")),tt=Math.max(Ce,g.cellBorderWidth(_+1,N,"Left"));a.fillStyle=te,Ue>0&&qe>0&&a.fillRect(Te-qe,De-Ue,qe,Ue),Ue>0&&tt>0&&a.fillRect(Te+Ne,De-Ue,tt,Ue),nt>0&&qe>0&&a.fillRect(Te-qe,De+Ve,qe,nt),nt>0&&tt>0&&a.fillRect(Te+Ne,De+Ve,tt,nt)}a.restore(),a.fillStyle=Be.headerBg,a.fillRect(ne,0,A-ne,ce);for(let N=it;N<=bt;N++){const _=ne+Ye[N]-I,Re=St[N];_+Re<ne||_>A||(Xe&&N>=Xe.startCol&&N<=Xe.endCol&&(a.fillStyle=Be.selectionBg,a.fillRect(_,0,Re,ce)),a.strokeStyle=Be.headerBorder,a.lineWidth=.5,a.strokeRect(_+.25,.25,Re-.5,ce-.5),Xe&&N>=Xe.startCol&&N<=Xe.endCol&&(a.strokeStyle=Be.activeCellBorder,a.lineWidth=2,a.beginPath(),a.moveTo(_,ce-1),a.lineTo(_+Re,ce-1),a.stroke()),a.fillStyle=Be.headerText,a.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',a.textAlign="center",a.textBaseline="middle",a.fillText(Je(N),_+Re/2,ce/2))}a.strokeStyle=Be.headerSep,a.lineWidth=1,a.beginPath(),a.moveTo(ne,ce+.5),a.lineTo(A,ce+.5),a.stroke(),a.fillStyle=Be.headerBg,a.fillRect(0,ce,ne,u-ce);for(let N=et;N<=yt;N++){const _=ce+Ke[N]-Q,Re=vt[N];_+Re<ce||_>u||(Xe&&N>=Xe.startRow&&N<=Xe.endRow&&(a.fillStyle=Be.selectionBg,a.fillRect(0,_,ne,Re)),a.strokeStyle=Be.headerBorder,a.lineWidth=.5,a.strokeRect(.25,_+.25,ne-.5,Re-.5),Xe&&N>=Xe.startRow&&N<=Xe.endRow&&(a.strokeStyle=Be.activeCellBorder,a.lineWidth=2,a.beginPath(),a.moveTo(ne-1,_),a.lineTo(ne-1,_+Re),a.stroke()),a.fillStyle=Be.headerText,a.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',a.textAlign="center",a.textBaseline="middle",a.fillText(String(N+1),ne/2,_+Re/2+.5))}a.strokeStyle=Be.headerSep,a.lineWidth=1,a.beginPath(),a.moveTo(ne+.5,ce),a.lineTo(ne+.5,u),a.stroke(),a.fillStyle=Be.headerBg,a.fillRect(0,0,ne,ce),a.strokeStyle=Be.headerSep,a.lineWidth=1,a.strokeRect(.5,.5,ne-.5,ce-.5)}const w=t.computed(()=>Je(e.activeCell.value.col)+String(e.activeCell.value.row+1)),re=t.computed(()=>e.editingCell.value?e.editValue.value:e.getCellRaw(e.activeCell.value.col,e.activeCell.value.row));function L(){e.editingCell.value||(e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.editValue.value=e.getCellRaw(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(),f())}function m(l){e.editValue.value=l.target.value}function ve(l){var s,M;l.key==="Enter"?(l.preventDefault(),e.commitEdit(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),(s=n.formulaBarRef.value)==null||s.blur(),f(),n.focusEditInput()):l.key==="Escape"&&(l.preventDefault(),e.cancelEdit(),(M=n.formulaBarRef.value)==null||M.blur(),f(),n.focusEditInput())}function pe(){setTimeout(()=>{e.editingCell.value&&(e.commitEdit(),f())},0)}const ye=t.ref(null),U=t.ref("");function P(l){ye.value===null&&(n.switchSheet(l),f())}function he(l){l!==n.activeSheetIndex.value&&(n.saveSheet(),n.loadSheet(l),f()),ye.value=l,U.value=n.sheets.value[l].name,t.nextTick(()=>{const s=document.querySelector(".tab-rename-input");s==null||s.focus(),s==null||s.select()})}function F(){ye.value!==null&&(n.renameSheet(ye.value,U.value),t.nextTick(()=>n.emitModelData())),ye.value=null,U.value=""}function j(){ye.value=null,U.value=""}function be(l){l.key==="Enter"?(l.preventDefault(),F()):l.key==="Escape"&&(l.preventDefault(),j())}const we=t.ref(null);let le=null;function c(){le&&(document.removeEventListener("click",le),le=null)}function p(l,s,M){c();const A=140,u=M.length*28+8,I=window.innerWidth,Q=window.innerHeight;l+A>I&&(l-=A),s+u>Q&&(s-=u),we.value={x:l,y:s,items:M},le=()=>{we.value=null,c()},setTimeout(()=>document.addEventListener("click",le,{once:!0}),0)}const Ae=t.ref(!1);function xe(l,s){if(!s.children){Ae.value=!1;return}const A=l.currentTarget.querySelector(".context-submenu");if(!A){Ae.value=!1;return}const u=A.getBoundingClientRect();Ae.value=u.right>window.innerWidth}function ie(l,s){l.preventDefault(),l.stopPropagation(),p(l.clientX,l.clientY,[{label:G(e.locale.value,"insert"),action:()=>{n.addSheet(),f()}},{label:G(e.locale.value,"copy"),action:()=>{n.dupSheet(s)}},{label:G(e.locale.value,"rename"),action:()=>{he(s)}},{label:G(e.locale.value,"delete"),action:()=>{n.removeSheet(s),f()},disabled:n.sheetCount.value<=1},{label:G(e.locale.value,"moveSheetLeft"),action:()=>{n.moveSheet(s,-1)},disabled:s===0},{label:G(e.locale.value,"moveSheetRight"),action:()=>{n.moveSheet(s,1)},disabled:s===n.sheets.value.length-1}])}function r(l){l.preventDefault(),!(l.target.closest(".tab-item")||l.target.closest(".tab-bar__add-btn"))&&p(l.clientX,l.clientY,[{label:G(e.locale.value,"insert"),action:()=>{n.addSheet(),f()}}])}function y(l){l.preventDefault(),e.selectAll(),f(),p(l.clientX,l.clientY,[{label:G(e.locale.value,"cut"),action:()=>{g.cutSelected(),n.emitModelData()}},{label:G(e.locale.value,"copy"),action:()=>g.copyToClipboard()},{label:G(e.locale.value,"paste"),action:()=>{h.saveUndo(),g.pasteFromClipboard().then(()=>{f(),t.nextTick(()=>n.emitModelData())})}},{label:G(e.locale.value,"delete"),action:()=>{h.saveUndo(),g.clearSelected();for(let s=0;s<e.colCount;s++)e.colWidths.value[s]=100;for(let s=0;s<e.rowCount;s++)e.rowHeights.value[s]=void 0;f(),n.emitModelData()}}])}function T(l,s){l.preventDefault();const M=l.clientX,A=l.clientY,u=e.selection.value;u&&u.startCol===0&&u.endCol===e.colCount-1&&s>=u.startRow&&s<=u.endRow||(e.selectRange(0,s,e.colCount-1,s),f());const I=e.selection.value;p(l.clientX,l.clientY,[{label:G(e.locale.value,"insert"),action:()=>{h.saveUndo(),n.insertRows(I.startRow,I.endRow),f(),n.emitModelData()},disabled:I.endRow>=e.rowCount-1},{label:G(e.locale.value,"cut"),action:()=>{h.saveUndo(),g.copyRowCol();for(let Q=I.startRow;Q<=I.endRow;Q++)for(let ne=0;ne<e.colCount;ne++)e.delCell(e.cellKey(ne,Q));f(),n.emitModelData()}},{label:G(e.locale.value,"copy"),action:()=>g.copyRowCol()},{label:G(e.locale.value,"paste"),action:()=>{h.saveUndo(),g.pasteFromClipboard().then(()=>{f(),t.nextTick(()=>n.emitModelData())})}},{label:G(e.locale.value,"delete"),action:()=>{h.saveUndo(),n.deleteRows(I.startRow,I.endRow),f(),n.emitModelData()}},{label:`${G(e.locale.value,"rowHeight")}...`,action:()=>fe("row",M,A)},{label:G(e.locale.value,"autoRowHeight"),action:()=>n.resetRowHeight()}])}function H(l,s){l.preventDefault();const M=l.clientX,A=l.clientY,u=e.selection.value;u&&u.startRow===0&&u.endRow===e.rowCount-1&&s>=u.startCol&&s<=u.endCol||(e.selectRange(s,0,s,e.rowCount-1),f());const I=e.selection.value;p(l.clientX,l.clientY,[{label:G(e.locale.value,"insert"),action:()=>{h.saveUndo(),n.insertCols(I.startCol,I.endCol),f(),n.emitModelData()},disabled:I.endCol>=e.colCount-1},{label:G(e.locale.value,"cut"),action:()=>{h.saveUndo(),g.copyRowCol();for(let Q=I.startCol;Q<=I.endCol;Q++)for(let ne=0;ne<e.rowCount;ne++)e.delCell(e.cellKey(Q,ne));f(),n.emitModelData()}},{label:G(e.locale.value,"copy"),action:()=>g.copyRowCol()},{label:G(e.locale.value,"paste"),action:()=>{h.saveUndo(),g.pasteFromClipboard().then(()=>{f(),t.nextTick(()=>n.emitModelData())})}},{label:G(e.locale.value,"delete"),action:()=>{h.saveUndo(),n.deleteCols(I.startCol,I.endCol),f(),n.emitModelData()}},{label:`${G(e.locale.value,"colWidth")}...`,action:()=>fe("col",M,A)},{label:G(e.locale.value,"defaultColWidth"),action:()=>n.resetColWidth()}])}function C(l,s,M){l.preventDefault(),e.isSelected(s,M)||(e.selectCell(s,M),f());const A=e.selection.value,u=!!(A&&A.startCol===A.endCol&&A.startRow===A.endRow);p(l.clientX,l.clientY,[{label:G(e.locale.value,"cut"),action:()=>{g.cutSelected(),n.emitModelData()}},{label:G(e.locale.value,"copy"),action:()=>g.copyToClipboard()},{label:G(e.locale.value,"paste"),action:()=>{h.saveUndo(),g.pasteFromClipboard().then(()=>{f(),t.nextTick(()=>n.emitModelData())})}},{label:G(e.locale.value,"delete"),action:()=>{h.saveUndo(),g.clearSelected(),f(),n.emitModelData()}},{label:G(e.locale.value,"calculate"),children:[{label:G(e.locale.value,"sum"),action:g.sumSelected,disabled:u}]}])}const k=t.ref(null),B=t.ref(null);let o=null;function v(){o&&(document.removeEventListener("mousedown",o),o=null)}function fe(l,s,M){v();const A=e.selection.value;let u="";if(A){const Be=l==="row"?e.getRowHeight(A.startRow):e.colWidths.value[A.startCol];u=Be!=null&&Be>0?String(Math.round(Be)):""}const I=220,Q=118;let ne=s,ce=M;ne+I>window.innerWidth&&(ne=window.innerWidth-I-8),ce+Q>window.innerHeight&&(ce=window.innerHeight-Q-8),ne<8&&(ne=8),ce<8&&(ce=8),B.value={type:l,x:ne,y:ce,value:u,error:""},o=()=>{B.value=null},setTimeout(()=>document.addEventListener("mousedown",o,{once:!0}),0),t.nextTick(()=>{const Be=k.value;Be&&(Be.focus(),Be.select())})}function Me(l){const s=B.value;if(!s)return;const M=l.target,A=M.value,u=A.replace(/[^\d]/g,"");s.value=u,A!==u&&(M.value=u),s.error=""}function Se(l){l.key==="Enter"?(l.preventDefault(),ge()):l.key==="Escape"&&(l.preventDefault(),Le())}function Fe(){const l=B.value;if(!l)return;const s=l.value.trim(),M=Number(s),A=l.type==="row",u=A?24:30,I=A?500:1e3;if(s===""||!Number.isFinite(M)){Le();return}const Q=Math.max(u,Math.min(I,Math.round(M)));l.value=String(Q),l.error=""}function ge(){const l=B.value,s=e.selection.value;if(!l||!s)return;const M=l.value.trim(),A=Number(M),u=l.type==="row",I=u?24:30,Q=u?500:1e3;if(M===""||!Number.isFinite(A)){l.error=G(e.locale.value,"dimNumberError");return}if(A<I||A>Q){l.error=G(e.locale.value,"dimRangeError").replace("{min}",String(I)).replace("{max}",String(Q));return}const ne=A;if(h.saveUndo(),u)for(let ce=s.startRow;ce<=s.endRow;ce++)e.rowHeights.value[ce]=ne;else for(let ce=s.startCol;ce<=s.endCol;ce++)e.colWidths.value[ce]=ne;f(),n.emitModelData(),Le()}function Le(){v(),B.value=null}const D=t.computed(()=>{var $t;const l=!e.editingCell.value,s=e.editingCell.value??e.activeCell.value,M=s.col,A=s.row,u=($t=e.cells[e.cellKey(M,A)])==null?void 0:$t.style,I=e.cellFontSize(M,A),Q=typeof(u==null?void 0:u.fontFamily)=="string"&&u.fontFamily?u.fontFamily:Kt,ne=(u==null?void 0:u.fontWeight)==="bold"?"bold":"normal",ce=(u==null?void 0:u.fontStyle)==="italic"?"italic":"normal",Be=(u==null?void 0:u.underline)==="underline"?"underline":(u==null?void 0:u.strikethrough)==="line-through"?"line-through":"none",Ye=(u==null?void 0:u.underline)==="underline"&&(u==null?void 0:u.strikethrough)==="line-through"?"underline line-through":Be,Ke=typeof(u==null?void 0:u.color)=="string"?u.color:void 0,St=typeof(u==null?void 0:u.backgroundColor)=="string"?u.backgroundColor:void 0,vt=typeof(u==null?void 0:u.textAlign)=="string"?u.textAlign:"left",it=typeof(u==null?void 0:u.verticalAlign)=="string"?u.verticalAlign:"top",Ct=e.findMerge(M,A),bt=Ct?e.colPositions.value[Ct.range.endCol+1]-e.colPositions.value[M]:e.colWidths.value[M],et=Ct?e.rowPositions.value[Ct.range.endRow+1]-e.rowPositions.value[A]:e.getRowHeight(A),jt=2,{ascent:yt,descent:wt}=e.measureFontMetrics(Q,I,ne,ce),kt=yt+wt,ft=(e.editValue.value?e.editValue.value.split(`
8
+ `).length:1)*kt,zt=e.BASE_CELL_VPAD-jt;let ct=0,mt=0;return it==="middle"?(ct=Math.floor((et-ft)/2),mt=Math.max(0,et-ft-ct)):it==="top"?(ct=zt,mt=Math.max(0,et-ft-ct)):it==="bottom"&&(mt=zt,ct=Math.max(0,et-ft-mt)),{left:`${52+e.colPositions.value[M]-e.scrollX.value}px`,top:`${24+e.rowPositions.value[A]-e.scrollY.value}px`,width:`${bt}px`,height:`${et}px`,fontFamily:Q,fontSize:`${I}px`,lineHeight:1,fontWeight:ne,fontStyle:ce,textDecoration:Ye,textAlign:vt,paddingTop:`${ct}px`,paddingRight:"3px",paddingBottom:`${mt}px`,paddingLeft:"3px",opacity:l?0:1,pointerEvents:l?"none":"auto",color:l?"transparent":Ke,caretColor:l?"transparent":void 0,borderColor:l?"transparent":void 0,background:l?"transparent":St,boxShadow:l?"none":void 0}});function O(){return Math.max(0,n.viewSize.w-52-11)}function K(){return Math.max(0,n.viewSize.h-24-11)}const oe=t.computed(()=>O()),me=t.computed(()=>K()),$=t.computed(()=>Math.max(0,oe.value-11*2)),se=t.computed(()=>Math.max(0,me.value-11*2)),ke=t.computed(()=>n.maxScrollX.value<=0?$.value:Math.max(24,O()/e.totalWidth.value*$.value)),He=t.computed(()=>n.maxScrollX.value<=0?0:e.scrollX.value/n.maxScrollX.value*($.value-ke.value)),Qe=t.computed(()=>n.maxScrollY.value<=0?se.value:Math.max(24,K()/e.totalHeight.value*se.value)),lt=t.computed(()=>n.maxScrollY.value<=0?0:e.scrollY.value/n.maxScrollY.value*(se.value-Qe.value));let Ge=null,je=0,dt=0;function Nt(l){l.preventDefault(),Ge="v",je=l.clientY,dt=e.scrollY.value,document.addEventListener("mousemove",R),document.addEventListener("mouseup",x)}function Pe(l){l.preventDefault(),Ge="h",je=l.clientX,dt=e.scrollX.value,document.addEventListener("mousemove",R),document.addEventListener("mouseup",x)}function R(l){if(Ge==="v"){const M=(l.clientY-je)/(se.value-Qe.value);n.clampScroll(null,dt+M*n.maxScrollY.value),f()}else if(Ge==="h"){const M=(l.clientX-je)/($.value-ke.value);n.clampScroll(dt+M*n.maxScrollX.value,null),f()}}function x(){Ge=null,document.removeEventListener("mousemove",R),document.removeEventListener("mouseup",x)}function S(l){if(Ge)return;const s=l.currentTarget.getBoundingClientRect(),M=l.clientY-s.top;M<lt.value?n.clampScroll(null,e.scrollY.value-K()):M>lt.value+Qe.value&&n.clampScroll(null,e.scrollY.value+K()),f()}function Y(l){if(Ge)return;const s=l.currentTarget.getBoundingClientRect(),M=l.clientX-s.left;M<He.value?n.clampScroll(e.scrollX.value-O(),null):M>He.value+ke.value&&n.clampScroll(e.scrollX.value+O(),null),f()}let Z=!1,ae=0,de=0,i=!1,b=!1,W=0,z=0,J=0,ee=0,q=0,ue=0,Ee=0,We=0,Ie=!1,$e=!1,Oe=0,_e=0,ot="cell",Lt=0,Yt=-1,Ot=-1;function Xt(l){if(l.button!==0)return;l.preventDefault(),we.value=null;const s=ht(l,n.canvasRef.value);if(s.y<24&&s.x>=52){const u=s.x-52+e.scrollX.value,I=e.hitCol(u);if(I>=0&&Math.abs(s.x-(52+e.colPositions.value[I+1]-e.scrollX.value))<=4){h.saveUndo(),i=!0,W=I,J=e.colWidths.value[I],ee=u,f();return}}if(s.x<52&&s.y>=24){const u=s.y-24+e.scrollY.value,I=e.hitRow(u);if(I>=0&&Math.abs(s.y-(24+e.rowPositions.value[I+1]-e.scrollY.value))<=4){h.saveUndo(),b=!0,z=I,J=e.getRowHeight(I),ee=u,f();return}}if(s.x<52||s.y<24){if(e.commitEdit(),s.y<24&&s.x>=52){const u=e.hitCol(s.x-52+e.scrollX.value);u>=0&&(e.selectRange(u,0,u,e.rowCount-1),Z=!0,ae=u,de=0)}else if(s.x<52&&s.y>=24){const u=e.hitRow(s.y-24+e.scrollY.value);u>=0&&(e.selectRange(0,u,e.colCount-1,u),Z=!0,ae=0,de=u)}else s.x<52&&s.y<24&&e.selectAll();f();return}const M=e.hitCol(s.x-52+e.scrollX.value),A=e.hitRow(s.y-24+e.scrollY.value);if(!(M<0||A<0)){if(e.commitEdit(),l.shiftKey&&e.selection.value){const u=e.selection.value;e.selectRange(u.startCol,u.startRow,M,A)}else e.selectCell(M,A);Z=!0,ae=M,de=A,n.focusEditInput(),f()}}function nl(l){if(i){const I=ht(l,n.canvasRef.value).x-52+e.scrollX.value-ee,Q=J+I;Q>=30&&Q<=1e3?e.colWidths.value[W]=Q:Q<30?e.colWidths.value[W]=30:e.colWidths.value[W]=1e3,f();return}if(b){const I=ht(l,n.canvasRef.value).y-24+e.scrollY.value-ee,Q=J+I;Q>=24&&Q<=500?e.rowHeights.value[z]=Q:Q<24?e.rowHeights.value[z]=24:e.rowHeights.value[z]=500,f();return}if(!Z){const u=n.canvasRef.value;if(!u)return;if(h.paintFmt.value){u.style.cursor="copy";return}const I=ht(l,u);if(I.y<24&&I.x>=52){const Q=e.hitCol(I.x-52+e.scrollX.value);if(Q>=0&&Math.abs(I.x-(52+e.colPositions.value[Q+1]-e.scrollX.value))<=4){u.style.cursor="col-resize";return}}if(I.x<52&&I.y>=24){const Q=e.hitRow(I.y-24+e.scrollY.value);if(Q>=0&&Math.abs(I.y-(24+e.rowPositions.value[Q+1]-e.scrollY.value))<=4){u.style.cursor="row-resize";return}}u.style.cursor="cell";return}const s=ht(l,n.canvasRef.value);if(ae<0||de<0)return;if(s.x<52||s.y<24){if(s.y<24&&s.x>=52){const u=e.hitCol(s.x-52+e.scrollX.value);u>=0&&e.selectRange(Math.min(ae,u),0,Math.max(ae,u),e.rowCount-1)}else if(s.x<52&&s.y>=24){const u=e.hitRow(s.y-24+e.scrollY.value);u>=0&&e.selectRange(0,Math.min(de,u),e.colCount-1,Math.max(de,u))}f();return}const M=e.hitCol(s.x-52+e.scrollX.value),A=e.hitRow(s.y-24+e.scrollY.value);M<0||A<0||(de===0&&ae>=0&&e.selection.value&&e.selection.value.startRow===0&&e.selection.value.endRow===e.rowCount-1?e.selectRange(Math.min(ae,M),0,Math.max(ae,M),e.rowCount-1):ae===0&&de>=0&&e.selection.value&&e.selection.value.startCol===0&&e.selection.value.endCol===e.colCount-1?e.selectRange(0,Math.min(de,A),e.colCount-1,Math.max(de,A)):e.selectRange(ae,de,M,A),f())}function ut(l){const s=i||b;Z=!1,i=!1,b=!1,s&&n.scheduleOptEmit(),h.paintFmt.value&&h.applyPaintFormat()}function xt(){const l=i||b;Z=!1,i=!1,b=!1,l&&n.scheduleOptEmit()}function Vt(l){l.preventDefault();const s=ht(l,n.canvasRef.value);if(s.x<52&&s.y<24){y(l);return}if(s.y<24&&s.x>=52){const M=e.hitCol(s.x-52+e.scrollX.value);M>=0&&H(l,M);return}if(s.x<52&&s.y>=24){const M=e.hitRow(s.y-24+e.scrollY.value);M>=0&&T(l,M);return}if(s.x>=52&&s.y>=24){const M=e.hitCol(s.x-52+e.scrollX.value),A=e.hitRow(s.y-24+e.scrollY.value);M>=0&&A>=0&&C(l,M,A)}}function ml(l){const s=ht(l,n.canvasRef.value);if(s.x<52||s.y<24)return;const M=e.hitCol(s.x-52+e.scrollX.value),A=e.hitRow(s.y-24+e.scrollY.value);M<0||A<0||(e.selectCell(M,A),e.ensureVisible(M,A),e.startEdit(),f(),n.focusEditInput())}function Ln(l){n.clampScroll(e.scrollX.value+l.deltaX,e.scrollY.value+l.deltaY),f()}function On(l){if(l.touches.length!==1){Ie=!1;return}const s=l.touches[0],M=n.canvasRef.value;if(!M)return;const A=M.getBoundingClientRect(),u=s.clientX-A.left,I=s.clientY-A.top;u>=52&&I>=24?(l.preventDefault(),Ie=!0,$e=!1,ot="cell",q=u,ue=I,Ee=e.scrollX.value,We=e.scrollY.value,Oe=e.hitCol(u-52+e.scrollX.value),_e=e.hitRow(I-24+e.scrollY.value)):u>=0&&I>=0&&(u<52||I<24)&&(l.preventDefault(),Ie=!0,$e=!1,q=u,ue=I,Ee=e.scrollX.value,We=e.scrollY.value,I<24&&u>=52?(ot="col",Oe=e.hitCol(u-52+e.scrollX.value),_e=-1):u<52&&I>=24?(ot="row",_e=e.hitRow(I-24+e.scrollY.value),Oe=-1):(ot="all",Oe=-1,_e=-1))}function Vn(l){if(!Ie||l.touches.length!==1)return;const s=l.touches[0],M=n.canvasRef.value;if(!M)return;const A=M.getBoundingClientRect(),u=s.clientX-A.left,I=s.clientY-A.top;(Math.abs(u-q)>8||Math.abs(I-ue)>8)&&($e=!0,l.preventDefault(),n.clampScroll(Ee+(q-u),We+(ue-I)),f())}function Wn(){if(Ie&&(Ie=!1,!$e))if(ot==="cell"&&Oe>=0&&_e>=0){const l=Date.now();Oe===Yt&&_e===Ot&&l-Lt<300?(e.selectCell(Oe,_e),e.startEdit(),f(),n.focusEditInput(),Lt=0):(e.commitEdit(),e.selectCell(Oe,_e),f(),Lt=l),Yt=Oe,Ot=_e,n.focusEditInput()}else ot==="col"&&Oe>=0?(e.commitEdit(),e.selectRange(Oe,0,Oe,e.rowCount-1),f()):ot==="row"&&_e>=0?(e.commitEdit(),e.selectRange(0,_e,e.colCount-1,_e),f()):ot==="all"&&(e.commitEdit(),e.selectAll(),f())}function rl(l){return l.isComposing||l.key==="Process"||l.keyCode===229}function pl(l){return l.key.length===1&&!l.ctrlKey&&!l.metaKey&&!l.altKey}function gl(l){if(e.editingCell.value)return;const s=l.ctrlKey||l.metaKey,M=l.shiftKey;switch(!0){case(s&&(l.key==="c"||l.key==="C")):l.preventDefault(),g.copyToClipboard();return;case(s&&(l.key==="x"||l.key==="X")):l.preventDefault(),g.cutSelected();return;case(s&&(l.key==="z"||l.key==="Z")):l.preventDefault(),h.undo();return;case(s&&(l.key==="y"||l.key==="Y")):l.preventDefault(),h.redo();return;case(s&&(l.key==="v"||l.key==="V")):l.preventDefault(),h.saveUndo(),g.pasteFromClipboard().then(()=>{f(),t.nextTick(()=>n.emitModelData())});return;case(s&&(l.key==="a"||l.key==="A")):l.preventDefault(),e.selectAll(),f();return;case(s&&l.key==="Home"):l.preventDefault(),e.selectCell(0,0),e.ensureVisible(0,0),f();return;case(s&&l.key==="End"):l.preventDefault(),e.selectCell(e.colCount-1,e.rowCount-1),e.ensureVisible(e.colCount-1,e.rowCount-1),f();return;case l.key==="Home":l.preventDefault(),e.selectCell(0,e.activeCell.value.row),e.ensureVisible(0,e.activeCell.value.row),f();return;case l.key==="End":l.preventDefault(),e.selectCell(e.colCount-1,e.activeCell.value.row),e.ensureVisible(e.colCount-1,e.activeCell.value.row),f();return;case l.key==="ArrowUp":l.preventDefault(),e.moveActive(0,-1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),f();return;case l.key==="ArrowDown":l.preventDefault(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),f();return;case l.key==="ArrowLeft":l.preventDefault(),e.moveActive(-1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),f();return;case l.key==="ArrowRight":l.preventDefault(),e.moveActive(1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),f();return;case l.key==="Tab":l.preventDefault(),e.moveActive(M?-1:1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),f();return;case l.key==="Enter":l.preventDefault(),e.moveActive(0,M?-1:1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),f();return;case l.key==="F2":l.preventDefault(),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(),f(),n.focusEditInput();return;case l.key==="Delete":case l.key==="Backspace":l.preventDefault(),h.saveUndo(),g.clearSelected(),f();return;case l.key==="Escape":l.preventDefault(),e.cancelEdit(),h.paintFmt.value=null,f();return;case pl(l):if(rl(l)){e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(""),f(),n.focusEditInput();return}l.preventDefault(),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(l.key),f(),t.nextTick(()=>{const A=n.editInputRef.value;A&&(A.focus(),A.setSelectionRange(1,1))});return}}let al=!1,il=!1;function zn(l){const s=l.target.value;if(!e.editingCell.value){e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(s),f();return}e.editValue.value=s}function $n(){al=!0,e.editingCell.value||(e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(""),f())}function _n(l){al=!1,il=!0,setTimeout(()=>{il=!1},0),e.editValue.value=l.target.value}function Gn(l){if(!e.editingCell.value){if(pl(l)||rl(l))return;gl(l);return}if(!(al||rl(l))&&!(il&&(l.key==="Enter"||l.key==="Escape")))if(l.key==="Enter"&&(l.altKey||l.metaKey)){l.preventDefault();const s=n.editInputRef.value;if(!s)return;const M=s.selectionStart??s.value.length,A=s.selectionEnd??s.value.length,u=s.value,I=u.slice(0,M)+`
9
+ `+u.slice(A);e.editValue.value=I,s.value=I,s.selectionStart=s.selectionEnd=M+1,f()}else l.key==="Enter"?(l.preventDefault(),e.commitEdit(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),f(),n.focusEditInput()):l.key==="Tab"?(l.preventDefault(),e.commitEdit(),e.moveActive(l.shiftKey?-1:1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),f(),n.focusEditInput()):l.key==="Escape"&&(l.preventDefault(),e.cancelEdit(),f(),n.focusEditInput())}function Kn(l){e.editingCell.value}function Un(){setTimeout(()=>{e.editingCell.value&&(e.commitEdit(),f())},0)}let Ze=null;function Wt(){var s;const l=(s=n.wrapperRef.value)==null?void 0:s.getBoundingClientRect();if(l){const M=gt(e.props.width),A=gt(e.props.height);M!=null?n.viewSize.w=M:n.viewSize.w=l.width,A!=null?n.viewSize.h=A:n.viewSize.h=l.height}n.clampScroll(null,null),f()}function Pn(){t.onMounted(()=>{const l=gt(e.props.width),s=gt(e.props.height);(l==null||s==null)&&(Ze=new ResizeObserver(()=>Wt()),n.wrapperRef.value&&Ze.observe(n.wrapperRef.value)),t.nextTick(()=>{Wt(),n.focusEditInput()}),e.selectCell(0,0),n.modelData.value&&n.modelData.value.length>0&&(d.value=JSON.stringify(n.modelData.value),n.sheets.value=n.modelData.value.map(M=>{const A=n.mkSheet(M.name);for(const[u,I]of Object.entries(M.cells))A.cells[u]={value:I.value,style:I.style??null};if(M.colWidths)for(const[u,I]of Object.entries(M.colWidths)){const Q=Number(u);Q>=0&&Q<e.colCount&&I>=30&&(A.colWidths[Q]=I)}if(M.rowHeights)for(const[u,I]of Object.entries(M.rowHeights)){const Q=Number(u);Q>=0&&Q<e.rowCount&&I>=24&&(A.rowHeights[Q]=I)}if(M.merges)for(const[u,I]of Object.entries(M.merges))A.merges[u]={...I};return A}),n.sheets.value.length>0&&n.loadSheet(0))}),t.watch(()=>[e.props.width,e.props.height],()=>{const l=gt(e.props.width),s=gt(e.props.height);l!=null&&s!=null?(Ze==null||Ze.disconnect(),Ze=null):!Ze&&n.wrapperRef.value&&(Ze=new ResizeObserver(()=>Wt()),Ze.observe(n.wrapperRef.value)),t.nextTick(()=>Wt())}),t.watch(()=>e.props.theme,()=>f()),t.watch(()=>({...e.cells}),()=>t.nextTick(()=>n.emitModelData()),{deep:!1}),t.watch(()=>({...e.merges}),()=>{t.nextTick(()=>n.emitModelData()),f()},{deep:!1}),t.watch(n.activeSheetIndex,()=>t.nextTick(()=>n.emitModelData())),t.watch(()=>n.modelData.value,l=>{if(!l||l.length===0)return;const s=JSON.stringify(l);if(s===d.value)return;d.value=s;const M=e.selection.value?{...e.selection.value}:null,A={...e.activeCell.value};n.sheets.value=l.map(u=>{const I=n.mkSheet(u.name);for(const[Q,ne]of Object.entries(u.cells))I.cells[Q]={value:ne.value,style:ne.style??null};if(u.colWidths)for(const[Q,ne]of Object.entries(u.colWidths)){const ce=Number(Q);ce>=0&&ce<e.colCount&&ne>=30&&(I.colWidths[ce]=ne)}if(u.rowHeights)for(const[Q,ne]of Object.entries(u.rowHeights)){const ce=Number(Q);ce>=0&&ce<e.rowCount&&ne>=24&&(I.rowHeights[ce]=ne)}if(u.merges)for(const[Q,ne]of Object.entries(u.merges))I.merges[Q]={...ne};return I}),n.sheets.value.length>0&&n.loadSheet(0),M&&(e.selection.value=M),e.activeCell.value=A,f()},{deep:!0}),t.onBeforeUnmount(()=>{Ze==null||Ze.disconnect()})}return{scheduleRender:f,render:X,activeCellLabel:w,formulaBarDisplay:re,onFormulaBarFocus:L,onFormulaBarInput:m,onFormulaBarKeydown:ve,onFormulaBarBlur:pe,renTab:ye,renTabVal:U,onTabClick:P,onTabDblClick:he,commitTabRename:F,cclTabRename:j,onTabRenameKd:be,ctxMenu:we,ctxSubmenuLeft:Ae,onCtxItemEnter:xe,onTabCtxMenu:ie,onTabBarCtx:r,onCornerCtx:y,onRowHdrCtx:T,onColHdrCtx:H,onCellCtx:C,dimInputRef:k,dimPanel:B,openDimPanel:fe,onDimInput:Me,onDimKeydown:Se,onDimBlur:Fe,applyDimPanel:ge,closeDimPanel:Le,editInputStyle:D,hScrollbarW:oe,vScrollbarH:me,hTrackW:$,vTrackH:se,hThumbW:ke,hThumbL:He,vThumbH:Qe,vThumbT:lt,onVStart:Nt,onHStart:Pe,onSbMove:R,onSbUp:x,onVTrk:S,onHTrk:Y,onMouseDown:Xt,onMouseMove:nl,onMouseUp:ut,onMouseLeave:xt,onCanvasCtx:Vt,onDblClick:ml,onWheel:Ln,onTouchStart:On,onTouchMove:Vn,onTouchEnd:Wn,onKeydown:gl,onEditInput:zn,onEditCompositionStart:$n,onEditCompositionEnd:_n,onEditKd:Gn,onEditPaste:Kn,onEditBlur:Un,applySize:Wt,setupLifecycle:Pn}}const kn={class:"formula-bar"},En={class:"formula-bar__cell-label"},Bn=["value"],Rn=["value"],xn={key:2,class:"sb-corner"},Sn=["onClick","onMouseenter"],Mn={class:"context-menu__label"},Tn={key:0,class:"context-menu__arrow"},Dn=["onClick"],Hn={class:"dim-panel__title"},An={class:"dim-panel__body"},In=["value"],Fn={key:0,class:"dim-panel__error"},Nn={class:"dim-panel__footer"},fl=pt(t.defineComponent({__name:"spreader",props:t.mergeModels({rowCount:{default:200},colCount:{default:26},width:{},height:{},theme:{default:"light"},locale:{default:"zh-CN"}},{data:{default:()=>[]},dataModifiers:{}}),emits:["update:data"],setup(e){const h=e,g=t.useModel(e,"data"),n={value:""},d=gn(h,{rowCount:h.rowCount,colCount:h.colCount,theme:h.theme,locale:h.locale}),E={sheets:t.ref([]),activeSheetIndex:t.ref(0),saveSheet:()=>{},loadSheet:le=>{},mkSheet:le=>({id:"",name:le,cells:{},merges:{},selection:null,activeCell:{col:0,row:0},scrollX:0,scrollY:0,colWidths:[],rowHeights:[]})},a=hn(d,E),V=Cn(d,a);vn(a,{borderMenuOpen:V.borderMenuOpen,mergeMenuOpen:V.mergeMenuOpen});const f=yn(d,a,g);E.sheets=f.sheets,E.activeSheetIndex=f.activeSheetIndex,E.saveSheet=f.saveSheet,E.loadSheet=f.loadSheet,E.mkSheet=f.mkSheet;const te=wn(d,a,V,f,n);te.setupLifecycle();const X=t.reactive(d),w=t.reactive(a),re=t.reactive(V),L=t.reactive(f),m=t.reactive(te);function ve(le){a.fontSizeMenuOpen.value=le}function pe(le){a.textColorMenuOpen.value=le}function ye(le){a.fillColorMenuOpen.value=le}function U(le){te.renTabVal.value=le}function P(){te.ctxMenu.value=null}const he=le=>{f.formulaBarRef.value=le},F=le=>{f.wrapperRef.value=le},j=le=>{f.canvasRef.value=le},be=le=>{f.editInputRef.value=le},we=le=>{te.dimInputRef.value=le};return(le,c)=>(t.openBlock(),t.createElementBlock("div",{class:"spreadsheet-outer",style:t.normalizeStyle(L.outerStyle)},[t.createVNode(tn,{locale:X.locale,"can-undo":w.canUndo,"can-redo":w.canRedo,"paint-fmt-active":w.paintFmt!==null,"has-selection":w.hasSelection,"font-family-options":w.fontFamilyOptions,"font-size-options":w.fontSizeOptions,"sel-font-family":w.selFontFamily,"sel-font-size":w.selFontSize,"font-size-input":w.fontSizeInput,"font-size-menu-open":w.fontSizeMenuOpen,"sel-font-weight":w.selFontWeight,"sel-font-style":w.selFontStyle,"sel-underline":w.selUnderline,"sel-strikethrough":w.selStrikethrough,"sel-text-color":w.selTextColor,"text-color-menu-open":w.textColorMenuOpen,"sel-fill-color":w.selFillColor,"fill-color-menu-open":w.fillColorMenuOpen,"cached-text-color":w.cachedTextColor,"cached-fill-color":w.cachedFillColor,"border-menu-open":re.borderMenuOpen,"cached-border":re.cachedBorder,"h-align-options":w.hAlignOptions,"v-align-options":w.vAlignOptions,"sel-h-align":w.selHAlign,"sel-v-align":w.selVAlign,"sel-wrap":w.selWrap,"merge-menu-open":re.mergeMenuOpen,"theme-vars":L.toolbarThemeVars,onUndo:c[0]||(c[0]=p=>w.undo()),onRedo:c[1]||(c[1]=p=>w.redo()),onPaintFormat:w.onPaintFormat,onClearFormat:c[2]||(c[2]=p=>w.clearFormat()),onFontFamilyChange:c[3]||(c[3]=p=>w.onFontFamilyChange(p)),onFontSizeInput:c[4]||(c[4]=p=>w.onFontSizeInput(p)),onFontSizeBlur:w.onFontSizeBlur,onFontSizeKeydown:c[5]||(c[5]=p=>w.onFontSizeKeydown(p)),onFontSizeChange:c[6]||(c[6]=p=>w.onFontSizeChange(p)),"onUpdate:fontSizeMenuOpen":c[7]||(c[7]=p=>ve(p)),onFontSizeToggle:c[8]||(c[8]=p=>w.toggleFontSizeMenu()),onFontSizeStepUp:w.onFontSizeStepUp,onFontSizeStepDown:w.onFontSizeStepDown,onBoldToggle:w.toggleFontWeight,onItalicToggle:w.toggleFontStyle,onUnderlineToggle:w.toggleUnderline,onStrikethroughToggle:w.toggleStrikethrough,onTextColorChange:c[9]||(c[9]=p=>w.onTextColorChange(p)),"onUpdate:textColorMenuOpen":c[10]||(c[10]=p=>pe(p)),onFillColorChange:c[11]||(c[11]=p=>w.onFillColorChange(p)),"onUpdate:fillColorMenuOpen":c[12]||(c[12]=p=>ye(p)),onApplyTextColor:w.applyCachedTextColor,onApplyFillColor:w.applyCachedFillColor,"onUpdate:borderMenuOpen":c[13]||(c[13]=p=>w.onBorderMenuToggle(p)),onBorderChange:c[14]||(c[14]=p=>re.onBorderChange(p)),onApplyBorder:re.applyCachedBorder,onHAlignChange:c[15]||(c[15]=p=>w.onHAlignChange(p)),onVAlignChange:c[16]||(c[16]=p=>w.onVAlignChange(p)),onWrapToggle:w.onWrapToggle,"onUpdate:mergeMenuOpen":c[17]||(c[17]=p=>re.onMergeMenuToggle(p)),onMergeChange:c[18]||(c[18]=p=>re.onMergeChange(p)),onApplyMerge:re.onApplyMerge},null,8,["locale","can-undo","can-redo","paint-fmt-active","has-selection","font-family-options","font-size-options","sel-font-family","sel-font-size","font-size-input","font-size-menu-open","sel-font-weight","sel-font-style","sel-underline","sel-strikethrough","sel-text-color","text-color-menu-open","sel-fill-color","fill-color-menu-open","cached-text-color","cached-fill-color","border-menu-open","cached-border","h-align-options","v-align-options","sel-h-align","sel-v-align","sel-wrap","merge-menu-open","theme-vars","onPaintFormat","onFontSizeBlur","onFontSizeStepUp","onFontSizeStepDown","onBoldToggle","onItalicToggle","onUnderlineToggle","onStrikethroughToggle","onApplyTextColor","onApplyFillColor","onApplyBorder","onWrapToggle","onApplyMerge"]),t.createElementVNode("div",kn,[t.createElementVNode("div",En,t.toDisplayString(m.activeCellLabel),1),t.createElementVNode("input",{ref:he,class:"formula-bar__input",value:m.formulaBarDisplay,onFocus:c[19]||(c[19]=(...p)=>m.onFormulaBarFocus&&m.onFormulaBarFocus(...p)),onInput:c[20]||(c[20]=(...p)=>m.onFormulaBarInput&&m.onFormulaBarInput(...p)),onKeydown:c[21]||(c[21]=(...p)=>m.onFormulaBarKeydown&&m.onFormulaBarKeydown(...p)),onBlur:c[22]||(c[22]=(...p)=>m.onFormulaBarBlur&&m.onFormulaBarBlur(...p))},null,40,Bn)]),t.createElementVNode("div",{ref:F,class:"spreadsheet-wrapper"},[t.createElementVNode("canvas",{ref:j,class:"grid-canvas",tabindex:"0",onMousedown:c[23]||(c[23]=(...p)=>m.onMouseDown&&m.onMouseDown(...p)),onMousemove:c[24]||(c[24]=(...p)=>m.onMouseMove&&m.onMouseMove(...p)),onMouseup:c[25]||(c[25]=(...p)=>m.onMouseUp&&m.onMouseUp(...p)),onMouseleave:c[26]||(c[26]=(...p)=>m.onMouseLeave&&m.onMouseLeave(...p)),onDblclick:c[27]||(c[27]=(...p)=>m.onDblClick&&m.onDblClick(...p)),onWheel:c[28]||(c[28]=t.withModifiers((...p)=>m.onWheel&&m.onWheel(...p),["prevent"])),onFocus:c[29]||(c[29]=(...p)=>L.onCanvasFocus&&L.onCanvasFocus(...p)),onKeydown:c[30]||(c[30]=(...p)=>m.onKeydown&&m.onKeydown(...p)),onContextmenu:c[31]||(c[31]=(...p)=>m.onCanvasCtx&&m.onCanvasCtx(...p)),onTouchstart:c[32]||(c[32]=t.withModifiers((...p)=>m.onTouchStart&&m.onTouchStart(...p),["prevent"])),onTouchmove:c[33]||(c[33]=t.withModifiers((...p)=>m.onTouchMove&&m.onTouchMove(...p),["prevent"])),onTouchend:c[34]||(c[34]=(...p)=>m.onTouchEnd&&m.onTouchEnd(...p))},null,32),t.createElementVNode("textarea",{ref:be,class:"cell-editor",value:X.editValue,style:t.normalizeStyle(m.editInputStyle),onInput:c[35]||(c[35]=(...p)=>m.onEditInput&&m.onEditInput(...p)),onKeydown:c[36]||(c[36]=(...p)=>m.onEditKd&&m.onEditKd(...p)),onCompositionstart:c[37]||(c[37]=(...p)=>m.onEditCompositionStart&&m.onEditCompositionStart(...p)),onCompositionend:c[38]||(c[38]=(...p)=>m.onEditCompositionEnd&&m.onEditCompositionEnd(...p)),onBlur:c[39]||(c[39]=(...p)=>m.onEditBlur&&m.onEditBlur(...p)),onPaste:c[40]||(c[40]=(...p)=>m.onEditPaste&&m.onEditPaste(...p))},null,44,Rn),L.maxScrollY>0?(t.openBlock(),t.createElementBlock("div",{key:0,class:"v-scrollbar",style:t.normalizeStyle({top:t.unref(24)+"px",height:`calc(100% - ${t.unref(24)+t.unref(11)}px)`})},[t.createElementVNode("button",{class:"sb-btn sb-btn--up",title:"",onMousedown:c[41]||(c[41]=t.withModifiers(p=>{L.clampScroll(null,X.scrollY-50),m.scheduleRender()},["prevent"]))},[...c[64]||(c[64]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--up"},null,-1)])],32),t.createElementVNode("div",{class:"sb-track sb-track--v",onMousedown:c[43]||(c[43]=(...p)=>m.onVTrk&&m.onVTrk(...p))},[t.createElementVNode("div",{class:"sb-thumb sb-thumb--v",style:t.normalizeStyle({top:m.vThumbT+"px",height:m.vThumbH+"px"}),onMousedown:c[42]||(c[42]=(...p)=>m.onVStart&&m.onVStart(...p))},null,36)],32),t.createElementVNode("button",{class:"sb-btn sb-btn--down",onMousedown:c[44]||(c[44]=t.withModifiers(p=>{L.clampScroll(null,X.scrollY+50),m.scheduleRender()},["prevent"]))},[...c[65]||(c[65]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--down"},null,-1)])],32)],4)):t.createCommentVNode("",!0),L.maxScrollX>0?(t.openBlock(),t.createElementBlock("div",{key:1,class:"h-scrollbar",style:t.normalizeStyle({left:t.unref(52)+"px",width:`calc(100% - ${t.unref(52)+t.unref(11)}px)`})},[t.createElementVNode("button",{class:"sb-btn sb-btn--left",onMousedown:c[45]||(c[45]=t.withModifiers(p=>{L.clampScroll(X.scrollX-50,null),m.scheduleRender()},["prevent"]))},[...c[66]||(c[66]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--left"},null,-1)])],32),t.createElementVNode("div",{class:"sb-track sb-track--h",onMousedown:c[47]||(c[47]=(...p)=>m.onHTrk&&m.onHTrk(...p))},[t.createElementVNode("div",{class:"sb-thumb sb-thumb--h",style:t.normalizeStyle({left:m.hThumbL+"px",width:m.hThumbW+"px"}),onMousedown:c[46]||(c[46]=(...p)=>m.onHStart&&m.onHStart(...p))},null,36)],32),t.createElementVNode("button",{class:"sb-btn sb-btn--right",onMousedown:c[48]||(c[48]=t.withModifiers(p=>{L.clampScroll(X.scrollX+50,null),m.scheduleRender()},["prevent"]))},[...c[67]||(c[67]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--right"},null,-1)])],32)],4)):t.createCommentVNode("",!0),L.maxScrollX>0&&L.maxScrollY>0?(t.openBlock(),t.createElementBlock("div",xn)):t.createCommentVNode("",!0)]),t.createVNode(cn,{locale:X.locale,sheets:L.sheets,"active-sheet-index":L.activeSheetIndex,"ren-tab":m.renTab,"ren-tab-val":m.renTabVal,onTabClick:c[49]||(c[49]=p=>m.onTabClick(p)),onTabDblclick:c[50]||(c[50]=p=>m.onTabDblClick(p)),onTabContextmenu:c[51]||(c[51]=p=>m.onTabCtxMenu(p.ev,p.i)),onTabRenameInput:c[52]||(c[52]=p=>U(p)),onTabRenameKeydown:c[53]||(c[53]=p=>m.onTabRenameKd(p)),onTabRenameCommit:m.commitTabRename,onTabbarContextmenu:c[54]||(c[54]=p=>m.onTabBarCtx(p)),onAddSheet:c[55]||(c[55]=p=>{L.addSheet(),m.scheduleRender()})},null,8,["locale","sheets","active-sheet-index","ren-tab","ren-tab-val","onTabRenameCommit"]),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[m.ctxMenu?(t.openBlock(),t.createElementBlock("div",{key:0,class:"context-menu",style:t.normalizeStyle({left:m.ctxMenu.x+"px",top:m.ctxMenu.y+"px"}),onClick:c[56]||(c[56]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.ctxMenu.items,(p,Ae)=>(t.openBlock(),t.createElementBlock("div",{key:Ae,class:t.normalizeClass(["context-menu__item",{"context-menu__item--disabled":p.disabled}]),onClick:xe=>!p.disabled&&p.action&&(p.action(),P()),onMouseenter:xe=>m.onCtxItemEnter(xe,p)},[t.createElementVNode("span",Mn,t.toDisplayString(p.label),1),p.children?(t.openBlock(),t.createElementBlock("span",Tn)):t.createCommentVNode("",!0),p.children?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["context-submenu",{"context-submenu--left":m.ctxSubmenuLeft}])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.children,(xe,ie)=>(t.openBlock(),t.createElementBlock("div",{key:ie,class:t.normalizeClass(["context-menu__item",{"context-menu__item--disabled":xe.disabled}]),onClick:t.withModifiers(r=>!xe.disabled&&xe.action&&(xe.action(),P()),["stop"])},t.toDisplayString(xe.label),11,Dn))),128))],2)):t.createCommentVNode("",!0)],42,Sn))),128))],4)):t.createCommentVNode("",!0)]),_:1})])),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[m.dimPanel?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dim-panel",style:t.normalizeStyle({left:m.dimPanel.x+"px",top:m.dimPanel.y+"px"}),onMousedown:c[62]||(c[62]=t.withModifiers(()=>{},["stop"])),onClick:c[63]||(c[63]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",Hn,t.toDisplayString(m.dimPanel.type==="row"?"行高":"列宽"),1),t.createElementVNode("div",An,[t.createElementVNode("input",{ref:we,class:t.normalizeClass(["dim-panel__input",{"dim-panel__input--error":m.dimPanel.error}]),type:"number",step:"1",min:"1",inputmode:"numeric",value:m.dimPanel.value,onInput:c[57]||(c[57]=(...p)=>m.onDimInput&&m.onDimInput(...p)),onKeydown:c[58]||(c[58]=(...p)=>m.onDimKeydown&&m.onDimKeydown(...p)),onBlur:c[59]||(c[59]=(...p)=>m.onDimBlur&&m.onDimBlur(...p))},null,42,In),c[68]||(c[68]=t.createElementVNode("span",{class:"dim-panel__unit"},"px",-1))]),m.dimPanel.error?(t.openBlock(),t.createElementBlock("div",Fn,t.toDisplayString(m.dimPanel.error),1)):t.createCommentVNode("",!0),t.createElementVNode("div",Nn,[t.createElementVNode("button",{class:"dim-panel__btn dim-panel__btn--primary",onClick:c[60]||(c[60]=(...p)=>m.applyDimPanel&&m.applyDimPanel(...p))}," 确定 "),t.createElementVNode("button",{class:"dim-panel__btn",onClick:c[61]||(c[61]=(...p)=>m.closeDimPanel&&m.closeDimPanel(...p))}," 取消 ")])],36)):t.createCommentVNode("",!0)]),_:1})]))],4))}}),[["__scopeId","data-v-ef18f895"]]);st.Spreader=fl,st.default=fl,Object.defineProperties(st,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});