xiaodao-spreader 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ZH.md +459 -0
- package/README.md +409 -44
- package/dist/style.css +1 -1
- package/dist/types/components/spreader/{dropdown.vue.d.ts → components/dropdown.vue.d.ts} +11 -5
- package/dist/types/components/spreader/{borderPicker.vue.d.ts → components/pickers/borderPicker.vue.d.ts} +3 -0
- package/dist/types/components/spreader/{colorPicker.vue.d.ts → components/pickers/colorPicker.vue.d.ts} +6 -4
- package/dist/types/components/spreader/components/pickers/mergePicker.vue.d.ts +27 -0
- package/dist/types/components/spreader/{spreader.vue.d.ts → components/spreadsheet.vue.d.ts} +2 -8
- package/dist/types/components/spreader/{tabbar.vue.d.ts → components/tabbar.vue.d.ts} +11 -11
- package/dist/types/components/spreader/components/toolbar.vue.d.ts +111 -0
- package/dist/types/components/spreader/composables/borders-merge.d.ts +48 -0
- package/dist/types/components/spreader/composables/core-state.d.ts +98 -0
- package/dist/types/components/spreader/composables/interactions.d.ts +87 -0
- package/dist/types/components/spreader/composables/sheets-ops.d.ts +45 -0
- package/dist/types/components/spreader/composables/undo-styles.d.ts +86 -0
- package/dist/types/components/spreader/core/constants.d.ts +42 -0
- package/dist/types/components/spreader/{types.d.ts → core/types.d.ts} +2 -0
- package/dist/types/components/spreader/index.d.ts +8 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/xiaodao-spreader.es.js +3507 -2442
- package/dist/xiaodao-spreader.umd.js +9 -4
- package/package.json +2 -1
- package/dist/types/components/spreader/constants.d.ts +0 -25
- package/dist/types/components/spreader/toolbar.vue.d.ts +0 -39
- /package/dist/types/components/spreader/{formula.d.ts → core/formula.d.ts} +0 -0
- /package/dist/types/components/spreader/{theme.d.ts → core/theme.d.ts} +0 -0
- /package/dist/types/components/spreader/{utils.d.ts → core/utils.d.ts} +0 -0
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
(function(De,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(De=typeof globalThis<"u"?globalThis:De||self,e(De.XiaoDaoSpreader={},De.Vue))})(this,function(De,e){"use strict";const fl={"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:"边框",borderBottom:"下框线",borderTop:"上框线",borderLeft:"左框线",borderRight:"右框线",borderNone:"无框线",borderAll:"所有框线",borderOuter:"外框线",borderThickOuter:"粗外框线",fontDefault:"默认",rowHeight:"行高",colWidth:"列宽",defaultRowHeight:"默认行高",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",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",defaultRowHeight:"Default 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 B(a,h){var c;return((c=fl[a])==null?void 0:c[h])??h}const vo='-apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif',Fe=10,ml=[{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'}],pl=[{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}],bl={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"},hl={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"],gl={class:"sp-dropdown__value"},yl=["disabled"],kl=["onClick"],El=["disabled"],wl=e.defineComponent({__name:"dropdown",props:{modelValue:{},options:{},width:{default:"auto"},visibleCount:{default:8},title:{default:""},modelOpen:{type:Boolean,default:void 0},hideTrigger:{type:Boolean,default:!1}},emits:["update:modelValue","change","update:modelOpen"],setup(a,{emit:h}){const c=a,m=h,s=e.ref(!1),C=e.ref(0),D=e.ref(null),v=e.ref(null),F=e.ref(null),E=e.ref({left:0,top:0,up:!1}),g=e.ref(0),H=e.ref(!1),L=e.computed(()=>c.options.find(p=>String(p.value)===String(c.modelValue))),M=e.computed(()=>Math.min(c.visibleCount,c.options.length)),W=e.computed(()=>c.options.slice(C.value,C.value+M.value)),x=e.computed(()=>C.value>0),R=e.computed(()=>C.value+M.value<c.options.length);function A(p){C.value=Math.max(0,Math.min(c.options.length-M.value,C.value+p))}function G(){s.value=!0,c.modelOpen!==void 0&&m("update:modelOpen",!0);const p=D.value;if(!p)return;const w=p.getBoundingClientRect(),I=M.value*26+2*15+8,ze=window.innerHeight-w.bottom-4<I&&w.top-4>I;E.value={left:w.left,top:ze?w.top-I-4:w.bottom+4,up:ze};const ie=c.options.findIndex(Te=>String(Te.value)===String(c.modelValue));C.value=ie>=0?Math.max(0,Math.min(ie-Math.floor(M.value/2),c.options.length-M.value)):0}function z(){s.value=!1,c.modelOpen!==void 0&&m("update:modelOpen",!1)}function J(){s.value?z():G()}function j(p){m("update:modelValue",p.value),m("change",p.value),z()}function Q(p){var I,Y;if(!s.value)return;const w=p.target;(I=D.value)!=null&&I.contains(w)||(Y=F.value)!=null&&Y.contains(w)||z()}function ke(p){s.value&&(p.preventDefault(),A(p.deltaY>0?1:-1))}e.watch(s,p=>{e.nextTick(()=>{var w,I;p?(w=v.value)==null||w.addEventListener("wheel",ke,{passive:!1}):(I=v.value)==null||I.removeEventListener("wheel",ke)})}),e.watch(()=>c.modelOpen,p=>{p!==void 0&&p!==s.value&&(p?G():z())});function Ve(p){s.value&&(g.value=p.touches[0].clientY,H.value=!0)}function N(p){if(!s.value||!H.value)return;const w=p.touches[0].clientY-g.value;Math.abs(w)>5&&(A(w<0?1:-1),g.value=p.touches[0].clientY)}function V(){H.value=!1}function d(p){p.key==="Escape"&&z()}return e.onMounted(()=>{document.addEventListener("mousedown",Q),window.addEventListener("resize",z),window.addEventListener("scroll",z,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",Q),window.removeEventListener("resize",z),window.removeEventListener("scroll",z,!0)}),(p,w)=>{var I;return e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:D,class:"sp-dropdown",style:e.normalizeStyle(typeof a.width=="number"?{width:a.width+"px"}:{width:a.width})},[a.hideTrigger?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(["sp-dropdown__trigger",{"sp-dropdown__trigger--open":s.value}]),title:a.title,onClick:J},[e.createElementVNode("span",gl,e.toDisplayString(((I=L.value)==null?void 0:I.label)??""),1),w[2]||(w[2]=e.createElementVNode("svg",{class:"sp-dropdown__caret",viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"menu-pop"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"menuRef",ref:F,class:e.normalizeClass(["sp-dropdown__menu",{"sp-dropdown__menu--up":E.value.up}]),style:e.normalizeStyle({left:E.value.left+"px",top:E.value.top+"px",width:typeof a.width=="number"?a.width+"px":a.width}),onKeydown:d},[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["sp-dropdown__nav",{"sp-dropdown__nav--disabled":!x.value}]),disabled:!x.value,onClick:w[0]||(w[0]=Y=>A(-1))},[...w[3]||(w[3]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,yl),e.createElementVNode("div",{ref_key:"listRef",ref:v,class:"sp-dropdown__list",onTouchstart:Ve,onTouchmove:N,onTouchend:V},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(W.value,Y=>(e.openBlock(),e.createElementBlock("button",{key:String(Y.value),type:"button",class:e.normalizeClass(["sp-dropdown__item",{"sp-dropdown__item--active":String(Y.value)===String(a.modelValue)}]),onClick:ze=>j(Y)},e.toDisplayString(Y.label),11,kl))),128))],544),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["sp-dropdown__nav",{"sp-dropdown__nav--disabled":!R.value}]),disabled:!R.value,onClick:w[1]||(w[1]=Y=>A(1))},[...w[4]||(w[4]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,El)],38)):e.createCommentVNode("",!0)]),_:1})]))],4)}}}),Ye=(a,h)=>{const c=a.__vccOpts||a;for(const[m,s]of h)c[m]=s;return c},go=Ye(wl,[["__scopeId","data-v-47e5c681"]]),Bl=["title","onClick"],yo=Ye(e.defineComponent({__name:"colorPicker",props:{modelOpen:{type:Boolean,default:void 0},colorKey:{default:"text"},currentColor:{default:""},locale:{default:"zh-CN"}},emits:["update:modelValue","change","update:modelOpen"],setup(a,{expose:h,emit:c}){const m=a,s=c,C=[[{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"}]],D=[[{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=e.computed(()=>m.colorKey==="fill"?D:C);function F(A){return B(m.locale,A)}function E(A){const G=m.currentColor;return!G&&!A?!0:G?G.toLowerCase()===A.toLowerCase():!1}const g=e.ref(!1),H=e.ref(null),L=e.ref(null);e.watch(()=>m.modelOpen,A=>{A!==void 0&&A!==g.value&&(A?W():x())});function M(A){const G=H.value;G&&!G.contains(A.target)&&x()}function W(){g.value=!0,m.modelOpen!==void 0&&s("update:modelOpen",!0),e.nextTick(()=>{document.addEventListener("mousedown",M)})}function x(){g.value=!1,m.modelOpen!==void 0&&s("update:modelOpen",!1),document.removeEventListener("mousedown",M)}function R(A){s("update:modelValue",A),s("change",A),x()}return e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",M)}),h({open:g,openMenu:W,close:x}),(A,G)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:H,class:"color-picker"},[e.createVNode(e.Transition,{name:"menu-pop"},{default:e.withCtx(()=>[g.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"menuRef",ref:L,class:"color-picker__menu",onMousedown:G[0]||(G[0]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(z,J)=>(e.openBlock(),e.createElementBlock("div",{key:J,class:"color-picker__row"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z,j=>(e.openBlock(),e.createElementBlock("button",{key:j.value,class:e.normalizeClass(["color-picker__swatch",{"color-picker__swatch--selected":E(j.value)}]),title:F(j.key),style:e.normalizeStyle({background:j.value||"transparent",border:j.value?"1px solid rgba(0,0,0,0.15)":"1px dashed #999"}),onClick:Q=>R(j.value)},null,14,Bl))),128))]))),128))],544)):e.createCommentVNode("",!0)]),_:1})],512))}}),[["__scopeId","data-v-c262a5e5"]]),Cl=["title","onClick"],xl={viewBox:"0 0 30 30",class:"border-picker__icon"},Sl=["x1","y1","x2","y2","stroke-width","stroke-dasharray","stroke-linecap"],Dl={class:"border-picker__label"},Tl=Ye(e.defineComponent({__name:"borderPicker",props:{modelOpen:{type:Boolean,default:void 0},locale:{default:"zh-CN"},currentBorder:{default:"none"}},emits:["update:modelOpen","change"],setup(a,{expose:h,emit:c}){const m=a,s=c,C=[{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"}],D=[{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 E(R,A){return F[R].includes(A)?"thick":v[R].includes(A)?"solid":"dashed"}const g=e.ref(!1),H=e.ref(null);e.watch(()=>m.modelOpen,R=>{R!==void 0&&R!==g.value&&(R?M():W())});function L(R){const A=H.value;A&&!A.contains(R.target)&&W()}function M(){g.value=!0,m.modelOpen!==void 0&&s("update:modelOpen",!0),e.nextTick(()=>{document.addEventListener("mousedown",L)})}function W(){g.value=!1,m.modelOpen!==void 0&&s("update:modelOpen",!1),document.removeEventListener("mousedown",L)}function x(R){s("change",R),W()}return e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",L)}),h({open:g,openMenu:M,close:W}),(R,A)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:H,class:"border-picker"},[e.createVNode(e.Transition,{name:"menu-pop"},{default:e.withCtx(()=>[g.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"border-picker__menu",onMousedown:A[0]||(A[0]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(C,G=>e.createElementVNode("button",{key:G.key,class:"border-picker__item",title:e.unref(B)(a.locale,G.i18nKey),onClick:z=>x(G.key)},[(e.openBlock(),e.createElementBlock("svg",xl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(D,z=>e.createElementVNode("line",{key:z.name,x1:z.x1,y1:z.y1,x2:z.x2,y2:z.y2,stroke:"currentColor","stroke-width":E(G.key,z.name)==="thick"?3:1.5,"stroke-dasharray":E(G.key,z.name)==="dashed"?"0 4":"none","stroke-linecap":E(G.key,z.name)==="dashed"?"round":"square"},null,8,Sl)),64))])),e.createElementVNode("span",Dl,e.toDisplayString(e.unref(B)(a.locale,G.i18nKey)),1)],8,Cl)),64))],32)):e.createCommentVNode("",!0)]),_:1})],512))}}),[["__scopeId","data-v-c9b0ba80"]]),Hl={class:"tb-item","data-key":"undo"},Rl=["title","disabled"],Ml={class:"tb-item","data-key":"redo"},Nl=["title","disabled"],Fl={class:"tb-item","data-key":"paint"},Il=["title","disabled"],Al={class:"tb-item","data-key":"clear"},Vl=["title","disabled"],zl={class:"tb-item","data-key":"font"},Ol={class:"tb-item","data-key":"fontSize"},Ll={class:"toolbar-font-size"},Wl=["value","title"],$l=["title"],_l=["title","disabled"],Gl=["title","disabled"],Pl={class:"tb-item","data-key":"bold"},Ul=["title","disabled"],Yl={class:"tb-item","data-key":"italic"},Kl=["title","disabled"],Xl={class:"tb-item","data-key":"underline"},jl=["title","disabled"],Zl={class:"tb-item","data-key":"strike"},ql=["title","disabled"],Jl={class:"tb-item","data-key":"textColor"},Ql={class:"toolbar-split"},en=["title","disabled"],tn={viewBox:"0 0 1024 1024",fill:"currentColor"},on=["fill"],ln=["title","disabled"],nn={class:"tb-item","data-key":"fillColor"},rn={class:"toolbar-split"},an=["title","disabled"],sn={viewBox:"0 0 1024 1024",fill:"currentColor"},cn=["fill"],dn=["title","disabled"],un={class:"tb-item","data-key":"border"},fn={class:"toolbar-split"},mn=["title","disabled"],pn={viewBox:"0 0 30 30",fill:"none",stroke:"currentColor"},bn=["x1","y1","x2","y2","stroke-width","stroke-dasharray","stroke-linecap"],hn=["title","disabled"],Ot=2,vn=6,gn=34,yn=Ye(e.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:{}},emits:["undo","redo","paint-format","clear-format","font-family-change","font-size-input","font-size-blur","font-size-keydown","font-size-change","update:font-size-menu-open","font-size-toggle","font-size-step-up","font-size-step-down","bold-toggle","italic-toggle","underline-toggle","strikethrough-toggle","text-color-change","update:text-color-menu-open","fill-color-change","update:fill-color-menu-open","apply-text-color","apply-fill-color","update:border-menu-open","border-change","apply-border"],setup(a,{emit:h}){const c=[{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}],m={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"]},s={bottom:[],top:[],left:[],right:[],none:[],all:[],outer:[],thickOuter:["top","bottom","left","right"]};function C(V,d){return s[V].includes(d)?"thick":m[V].includes(d)?"solid":"dashed"}const D=["undo","redo","paint","clear","sep1","font","fontSize","sep2","bold","italic","underline","strike","sep3","textColor","fillColor","border"],v=e.ref(null),F=e.ref(null),E=e.ref(null),g=e.ref(new Set),H=e.ref(!1),L=e.ref(!1),M=new Map,W=e.computed(()=>g.value.size>0);function x(V){return g.value.has(V)}function R(){if(!v.value)return;v.value.querySelectorAll(".tb-item").forEach(d=>{const p=d.dataset.key;p&&M.set(p,d.offsetWidth)})}function A(V,d){if(V.size!==d.size)return!1;for(const p of V)if(!d.has(p))return!1;return!0}function G(){if(!v.value)return;const V=v.value.clientWidth-vn*2;if(V<=0)return;M.size===0&&R();let d=0;for(const w of D)d+=(M.get(w)??0)+Ot;const p=new Set;if(d>V){const w=V-gn-Ot;let I=0;for(let Y=0;Y<D.length;Y++){const ze=D[Y],ie=(M.get(ze)??0)+Ot;if(I+ie>w){for(let Te=Y;Te<D.length;Te++)p.add(D[Te]);break}I+=ie}}A(p,g.value)||(g.value=p,p.size===0&&(H.value=!1))}let z=null;const J=e.ref(0),j=e.computed(()=>{const V=E.value;if(!V)return{position:"fixed",top:"0px",right:"0px"};J.value;const d=V.getBoundingClientRect();return{position:"fixed",top:`${d.bottom+4}px`,right:`${window.innerWidth-d.right}px`}});function Q(){H.value&&(J.value++,e.nextTick(()=>G()))}function ke(V){var p,w;if(!H.value)return;const d=V.target;(p=F.value)!=null&&p.contains(d)||(w=E.value)!=null&&w.contains(d)||(L.value=!0,H.value=!1,e.nextTick(()=>{L.value=!1}))}function Ve(){H.value=!H.value}e.onMounted(()=>{e.nextTick(()=>{R(),G()}),v.value&&(z=new ResizeObserver(()=>{H.value||G()}),z.observe(v.value)),document.addEventListener("mousedown",ke,!0),window.addEventListener("resize",Q)}),e.onBeforeUnmount(()=>{z==null||z.disconnect(),document.removeEventListener("mousedown",ke,!0),window.removeEventListener("resize",Q)});const N=h;return(V,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{ref_key:"rootEl",ref:v,class:"toolbar"},[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("undo"),to:F.value??void 0},[e.createElementVNode("div",Hl,[e.createElementVNode("button",{class:e.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!a.canUndo}]),title:e.unref(B)(a.locale,"undo"),disabled:!a.canUndo,onClick:d[0]||(d[0]=p=>N("undo"))},[...d[32]||(d[32]=[e.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,Rl)])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("redo"),to:F.value??void 0},[e.createElementVNode("div",Ml,[e.createElementVNode("button",{class:e.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!a.canRedo}]),title:e.unref(B)(a.locale,"redo"),disabled:!a.canRedo,onClick:d[1]||(d[1]=p=>N("redo"))},[...d[33]||(d[33]=[e.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,Nl)])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("paint"),to:F.value??void 0},[e.createElementVNode("div",Fl,[e.createElementVNode("button",{class:e.normalizeClass(["toolbar-btn",{"toolbar-btn--active":a.paintFmtActive}]),title:e.unref(B)(a.locale,"paintFormat"),disabled:!a.hasSelection,onClick:d[2]||(d[2]=p=>N("paint-format"))},[...d[34]||(d[34]=[e.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,Il)])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("clear"),to:F.value??void 0},[e.createElementVNode("div",Al,[e.createElementVNode("button",{class:e.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!a.hasSelection}]),title:e.unref(B)(a.locale,"clearFormat"),disabled:!a.hasSelection,onClick:d[3]||(d[3]=p=>N("clear-format"))},[...d[35]||(d[35]=[e.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,Vl)])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("sep1"),to:F.value??void 0},[d[36]||(d[36]=e.createElementVNode("div",{class:"tb-item","data-key":"sep1"},[e.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("font"),to:F.value??void 0},[e.createElementVNode("div",zl,[e.createVNode(go,{class:"toolbar-font","model-value":a.selFontFamily,options:a.fontFamilyOptions,width:110,"visible-count":8,title:e.unref(B)(a.locale,"fontFamily"),onChange:d[4]||(d[4]=p=>N("font-family-change",p))},null,8,["model-value","options","title"])])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("fontSize"),to:F.value??void 0},[e.createElementVNode("div",Ol,[e.createElementVNode("div",Ll,[e.createElementVNode("input",{class:"toolbar-font-size__input",type:"text",value:a.fontSizeInput,title:e.unref(B)(a.locale,"fontSize"),onInput:d[5]||(d[5]=p=>N("font-size-input",p.target.value)),onBlur:d[6]||(d[6]=p=>N("font-size-blur")),onKeydown:d[7]||(d[7]=p=>N("font-size-keydown",p))},null,40,Wl),e.createVNode(go,{class:"toolbar-font-size__dropdown","model-value":a.selFontSize,options:a.fontSizeOptions,width:56,"visible-count":9,title:e.unref(B)(a.locale,"fontSize"),"hide-trigger":!0,"model-open":a.fontSizeMenuOpen,"onUpdate:modelOpen":d[8]||(d[8]=p=>N("update:font-size-menu-open",p)),onChange:d[9]||(d[9]=p=>N("font-size-change",p))},null,8,["model-value","options","title","model-open"]),e.createElementVNode("button",{class:"toolbar-font-size__btn",type:"button",title:e.unref(B)(a.locale,"fontSize"),onMousedown:d[10]||(d[10]=e.withModifiers(()=>{},["prevent"])),onClick:d[11]||(d[11]=p=>N("font-size-toggle"))},[...d[37]||(d[37]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,$l),e.createElementVNode("button",{class:"toolbar-btn toolbar-btn--step",type:"button",title:e.unref(B)(a.locale,"fontSizeDecrease"),disabled:!a.hasSelection,onMousedown:d[12]||(d[12]=e.withModifiers(()=>{},["prevent"])),onClick:d[13]||(d[13]=p=>N("font-size-step-down"))},[...d[38]||(d[38]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,_l),e.createElementVNode("button",{class:"toolbar-btn toolbar-btn--step",type:"button",title:e.unref(B)(a.locale,"fontSizeIncrease"),disabled:!a.hasSelection,onMousedown:d[14]||(d[14]=e.withModifiers(()=>{},["prevent"])),onClick:d[15]||(d[15]=p=>N("font-size-step-up"))},[...d[39]||(d[39]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,Gl)])])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("sep2"),to:F.value??void 0},[d[40]||(d[40]=e.createElementVNode("div",{class:"tb-item","data-key":"sep2"},[e.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("bold"),to:F.value??void 0},[e.createElementVNode("div",Pl,[e.createElementVNode("button",{class:e.normalizeClass(["toolbar-btn",{"toolbar-btn--active":a.selFontWeight}]),title:e.unref(B)(a.locale,"bold"),disabled:!a.hasSelection,onClick:d[16]||(d[16]=p=>N("bold-toggle"))},[...d[41]||(d[41]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[e.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,Ul)])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("italic"),to:F.value??void 0},[e.createElementVNode("div",Yl,[e.createElementVNode("button",{class:e.normalizeClass(["toolbar-btn",{"toolbar-btn--active":a.selFontStyle}]),title:e.unref(B)(a.locale,"italic"),disabled:!a.hasSelection,onClick:d[17]||(d[17]=p=>N("italic-toggle"))},[...d[42]||(d[42]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[e.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,Kl)])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("underline"),to:F.value??void 0},[e.createElementVNode("div",Xl,[e.createElementVNode("button",{class:e.normalizeClass(["toolbar-btn",{"toolbar-btn--active":a.selUnderline}]),title:e.unref(B)(a.locale,"underline"),disabled:!a.hasSelection,onClick:d[18]||(d[18]=p=>N("underline-toggle"))},[...d[43]||(d[43]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[e.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,jl)])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("strike"),to:F.value??void 0},[e.createElementVNode("div",Zl,[e.createElementVNode("button",{class:e.normalizeClass(["toolbar-btn",{"toolbar-btn--active":a.selStrikethrough}]),title:e.unref(B)(a.locale,"strikethrough"),disabled:!a.hasSelection,onClick:d[19]||(d[19]=p=>N("strikethrough-toggle"))},[...d[44]||(d[44]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[e.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,ql)])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("sep3"),to:F.value??void 0},[d[45]||(d[45]=e.createElementVNode("div",{class:"tb-item","data-key":"sep3"},[e.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("textColor"),to:F.value??void 0},[e.createElementVNode("div",Jl,[e.createElementVNode("div",Ql,[e.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:e.unref(B)(a.locale,"fontColor"),disabled:!a.hasSelection,onClick:d[20]||(d[20]=p=>N("apply-text-color"))},[(e.openBlock(),e.createElementBlock("svg",tn,[d[46]||(d[46]=e.createElementVNode("g",{transform:"translate(102.4, 102.4) scale(0.8)"},[e.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)),e.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:a.cachedTextColor||"#000000"},null,8,on)]))],8,en),e.createElementVNode("button",{class:"toolbar-btn toolbar-split__arrow",title:e.unref(B)(a.locale,"fontColor"),disabled:!a.hasSelection,onClick:d[21]||(d[21]=p=>N("update:text-color-menu-open",!a.textColorMenuOpen))},[...d[47]||(d[47]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,ln),e.createVNode(yo,{"model-open":a.textColorMenuOpen,"color-key":"text","current-color":a.selTextColor,locale:a.locale,"onUpdate:modelOpen":d[22]||(d[22]=p=>N("update:text-color-menu-open",p)),onChange:d[23]||(d[23]=p=>N("text-color-change",p))},null,8,["model-open","current-color","locale"])])])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("fillColor"),to:F.value??void 0},[e.createElementVNode("div",nn,[e.createElementVNode("div",rn,[e.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:e.unref(B)(a.locale,"fillColor"),disabled:!a.hasSelection,onClick:d[24]||(d[24]=p=>N("apply-fill-color"))},[(e.openBlock(),e.createElementBlock("svg",sn,[d[48]||(d[48]=e.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)),e.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:a.cachedFillColor||"currentColor"},null,8,cn)]))],8,an),e.createElementVNode("button",{class:"toolbar-btn toolbar-split__arrow",title:e.unref(B)(a.locale,"fillColor"),disabled:!a.hasSelection,onClick:d[25]||(d[25]=p=>N("update:fill-color-menu-open",!a.fillColorMenuOpen))},[...d[49]||(d[49]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,dn),e.createVNode(yo,{"model-open":a.fillColorMenuOpen,"color-key":"fill","current-color":a.selFillColor,locale:a.locale,"onUpdate:modelOpen":d[26]||(d[26]=p=>N("update:fill-color-menu-open",p)),onChange:d[27]||(d[27]=p=>N("fill-color-change",p))},null,8,["model-open","current-color","locale"])])])],8,["disabled","to"])),(e.openBlock(),e.createBlock(e.Teleport,{disabled:!x("border"),to:F.value??void 0},[e.createElementVNode("div",un,[e.createElementVNode("div",fn,[e.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:e.unref(B)(a.locale,"borders"),disabled:!a.hasSelection,onClick:d[28]||(d[28]=p=>N("apply-border"))},[(e.openBlock(),e.createElementBlock("svg",pn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,p=>e.createElementVNode("line",{key:p.name,x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,"stroke-width":C(a.cachedBorder,p.name)==="thick"?3:1.5,"stroke-dasharray":C(a.cachedBorder,p.name)==="dashed"?"0 4":"none","stroke-linecap":C(a.cachedBorder,p.name)==="dashed"?"round":"square"},null,8,bn)),64))]))],8,mn),e.createElementVNode("button",{class:"toolbar-btn toolbar-split__arrow",title:e.unref(B)(a.locale,"borders"),disabled:!a.hasSelection,onClick:d[29]||(d[29]=p=>N("update:border-menu-open",!a.borderMenuOpen))},[...d[50]||(d[50]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.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,hn),e.createVNode(Tl,{"model-open":a.borderMenuOpen,locale:a.locale,"current-border":a.cachedBorder,"onUpdate:modelOpen":d[30]||(d[30]=p=>N("update:border-menu-open",p)),onChange:d[31]||(d[31]=p=>N("border-change",p))},null,8,["model-open","locale","current-border"])])])],8,["disabled","to"])),W.value?(e.openBlock(),e.createElementBlock("button",{key:0,ref_key:"moreBtnEl",ref:E,class:e.normalizeClass(["toolbar-more",{"toolbar-more--active":H.value}]),type:"button",onClick:Ve},[...d[51]||(d[51]=[e.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[e.createElementVNode("circle",{cx:"512",cy:"160",r:"96"}),e.createElementVNode("circle",{cx:"512",cy:"512",r:"96"}),e.createElementVNode("circle",{cx:"512",cy:"864",r:"96"})],-1)])],2)):e.createCommentVNode("",!0)],512),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"menu-pop"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"overflowMenuEl",ref:F,class:e.normalizeClass(["overflow-menu",{"no-anim":L.value}]),style:e.normalizeStyle(j.value)},null,6),[[e.vShow,H.value]])]),_:1})]))],64))}}),[["__scopeId","data-v-69401a37"]]),kn={class:"tab-list"},En=["onClick","onDblclick","onContextmenu"],wn=["value"],Bn={key:1,class:"tab-item__name"},Cn=["title"],xn=Ye(e.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","tabbar-contextmenu","add-sheet"],setup(a,{emit:h}){const c=h;return(m,s)=>(e.openBlock(),e.createElementBlock("div",{class:"tab-bar",onContextmenu:s[5]||(s[5]=C=>c("tabbar-contextmenu",C))},[e.createElementVNode("div",kn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.sheets,(C,D)=>(e.openBlock(),e.createElementBlock("div",{key:C.id,class:e.normalizeClass(["tab-item",{"tab-item--active":D===a.activeSheetIndex}]),onClick:v=>c("tab-click",D),onDblclick:e.withModifiers(v=>c("tab-dblclick",D),["prevent"]),onContextmenu:v=>c("tab-contextmenu",{ev:v,i:D})},[a.renTab===D?(e.openBlock(),e.createElementBlock("input",{key:0,class:"tab-rename-input",value:a.renTabVal,onInput:s[0]||(s[0]=v=>c("tab-rename-input",v.target.value)),onKeydown:s[1]||(s[1]=v=>c("tab-rename-keydown",v)),onBlur:s[2]||(s[2]=v=>c("tab-rename-commit")),onClick:s[3]||(s[3]=e.withModifiers(()=>{},["stop"]))},null,40,wn)):(e.openBlock(),e.createElementBlock("span",Bn,e.toDisplayString(C.name),1))],42,En))),128))]),e.createElementVNode("button",{class:"tab-bar__add-btn",title:e.unref(B)(a.locale,"addSheet"),onClick:s[4]||(s[4]=C=>c("add-sheet"))}," + ",8,Cn)],32))}}),[["__scopeId","data-v-49f54625"]]);function ue(a){let h="",c=a;do h=String.fromCharCode(65+c%26)+h,c=Math.floor(c/26)-1;while(c>=0);return h}function Lt(a){let h=0;for(let c=0;c<a.length;c++)h=h*26+(a.toUpperCase().charCodeAt(c)-64);return h-1}function Ie(a){if(a==null)return null;if(typeof a=="number")return a;if(typeof a=="string"){const h=parseFloat(a);return a.endsWith("%")||isNaN(h)?null:h}return null}function Wt(a){navigator.clipboard.writeText(a).catch(()=>{const h=document.createElement("textarea");h.value=a,h.style.position="fixed",h.style.opacity="0",document.body.appendChild(h),h.select(),document.execCommand("copy"),document.body.removeChild(h)})}function Ke(a,h){return`${a},${h}`}function pt(a,h,c){const m=a.match(/^\$?([A-Z]+)\$?(\d+)$/i);if(!m)return null;const s=Lt(m[1]),C=parseInt(m[2],10)-1;return s<0||s>=h||C<0||C>=c?null:{col:s,row:C}}function Ae(a,h){if(!h)return{x:0,y:0};const c=h.getBoundingClientRect();return{x:a.clientX-c.left,y:a.clientY-c.top}}function Sn(a,h,c){const m=a.split(":");if(m.length!==2)return null;const s=pt(m[0],h,c),C=pt(m[1],h,c);return!s||!C?null:{sc:Math.min(s.col,C.col),sr:Math.min(s.row,C.row),ec:Math.max(s.col,C.col),er:Math.max(s.row,C.row)}}function Dn(a,h,c,m,s){const C=c[Ke(a,h)];if(!C)return 0;const D=C.value;if(D.startsWith("="))return Eo(Ke(a,h),c,m,s)??0;const v=parseFloat(D);return isNaN(v)?0:v}const Xe=new Map;function ko(){Xe.clear()}function Eo(a,h,c,m){return Tn(a,h,c,m)}function Tn(a,h,c,m,s){if(Xe.has(a))return NaN;Xe.set(a,NaN);const C=h[a];if(!C)return NaN;const D=C.value;if(!D.startsWith("=")){const E=parseFloat(D),g=isNaN(E)?0:E;return Xe.set(a,g),g}const v=D.slice(1).trim();if(v.toUpperCase().startsWith("SUM(")&&v.endsWith(")")){const E=v.slice(4,-1).trim(),g=Sn(E,c,m);if(g){let H=0;for(let L=g.sc;L<=g.ec;L++)for(let M=g.sr;M<=g.er;M++)H+=Dn(L,M,h,c,m);return isNaN(H)?NaN:(Xe.set(a,H),H)}return NaN}return NaN}function wo(a,h,c){const m=[],s=/(\$?[A-Z]+\$?\d+)(?::(\$?[A-Z]+\$?\d+))?/gi;let C;for(;(C=s.exec(a))!==null;){const D=pt(C[1],h,c);if(D)if(C[2]){const v=pt(C[2],h,c);if(!v)continue;for(let F=Math.min(D.col,v.col);F<=Math.max(D.col,v.col);F++)for(let E=Math.min(D.row,v.row);E<=Math.max(D.row,v.row);E++)m.push(Ke(F,E))}else m.push(Ke(D.col,D.row))}return m}function Hn(a,h,c,m,s){const C=c[Ke(a,h)];if(!C)return"";const D=C.value;if(!D.startsWith("="))return D;const v=Eo(Ke(a,h),c,m,s);return isNaN(v)?"#ERROR":String(v)}function Rn(a,h,c,m,s,C){return h===0&&c===0?a:a.replace(/(\$?)([A-Z]+)(\$?)(\d+)/gi,(D,v,F,E,g)=>{const H=v?Lt(F):Lt(F)+h,L=E?parseInt(g,10)-1:parseInt(g,10)-1+c;let M;H<0?M="A":H>=m?M=C(m-1):M=C(H);let W;return L<0?W="1":L>=s?W=String(s):W=String(L+1),(v||"")+M+(E||"")+W})}class Mn{constructor(){this.deps=new Map,this.rev=new Map,this.dirty=new Set}clear(h){var m;const c=this.deps.get(h);if(c){for(const s of c)(m=this.rev.get(s))==null||m.delete(h);this.deps.delete(h)}}set(h,c){if(this.clear(h),c.length!==0){this.deps.set(h,c);for(const m of c)this.rev.has(m)||this.rev.set(m,new Set),this.rev.get(m).add(h)}}markDirty(h){const c=[h];for(;c.length>0;){const m=c.pop(),s=this.rev.get(m);if(s)for(const C of s)this.dirty.has(C)||(this.dirty.add(C),c.push(C))}}getDirtyAndClear(){const h=this.dirty;return this.dirty=new Set,h}rebuild(h,c,m){this.deps.clear(),this.rev.clear(),this.dirty.clear(),Xe.clear();for(const[s,C]of Object.entries(h))if(C.value.startsWith("=")){const D=wo(C.value.slice(1),c,m);this.set(s,D)}}}function Nn(a,h,c,m){const s={},C=m(h),D=m(c);return C!=null&&(s.width=`${C}px`),D!=null&&(s.height=`${D}px`),s["--sp-formula-bar-bg"]=a.formulaBarBg,s["--sp-formula-bar-border"]=a.formulaBarBorder,s["--sp-formula-bar-label-color"]=a.formulaBarLabelText,s["--sp-formula-bar-label-bg"]=a.formulaBarLabelBg,s["--sp-formula-bar-label-border"]=a.formulaBarLabelBorder,s["--sp-formula-bar-input-bg"]=a.formulaBarInputBg,s["--sp-formula-bar-input-border"]=a.formulaBarInputBorder,s["--sp-formula-bar-input-color"]=a.formulaBarInputText,s["--sp-formula-bar-input-focus-border"]=a.formulaBarInputFocusBorder,s["--sp-formula-bar-input-focus-shadow"]=a.formulaBarInputFocusShadow,s["--sp-wrapper-bg"]=a.wrapperBg,s["--sp-cell-editor-border"]=a.cellEditorBorder,s["--sp-cell-editor-color"]=a.cellEditorText,s["--sp-cell-editor-bg"]=a.cellEditorBg,s["--sp-cell-editor-shadow"]=a.cellEditorShadow,s["--sp-tab-bar-bg"]=a.tabBarBg,s["--sp-tab-bar-border"]=a.tabBarBorder,s["--sp-tab-active-bg"]=a.tabActiveBg,s["--sp-tab-active-color"]=a.tabActiveText,s["--sp-tab-active-border"]=a.tabActiveBorder,s["--sp-tab-inactive-bg"]=a.tabInactiveBg,s["--sp-tab-inactive-color"]=a.tabInactiveText,s["--sp-tab-inactive-border"]=a.tabInactiveBorder,s["--sp-tab-hover-bg"]=a.tabHoverBg,s["--sp-tab-add-btn-color"]=a.tabAddBtnColor,s["--sp-tab-add-btn-hover-bg"]=a.tabAddBtnHoverBg,s["--sp-tab-scroll-btn-color"]=a.tabScrollBtnColor,s["--sp-tab-scroll-btn-hover-bg"]=a.tabScrollBtnHoverBg,s["--sp-scroll-thumb"]=a.scrollbarThumb,s["--sp-scroll-thumb-hover"]=a.scrollbarThumbHover,s["--sp-scroll-btn-bg"]=a.scrollBtnBg,s["--sp-scroll-btn-color"]=a.scrollBtnColor,s["--sp-scroll-btn-hover-bg"]=a.scrollBtnHoverBg,s["--sp-scroll-btn-active-bg"]=a.scrollBtnActiveBg,s["--sp-scroll-track-bg"]=a.scrollTrackBg,s["--sp-toolbar-bg"]=a.toolbarBg,s["--sp-toolbar-border"]=a.toolbarBorder,s["--sp-toolbar-btn-color"]=a.toolbarBtnColor,s["--sp-toolbar-btn-hover-bg"]=a.toolbarBtnHoverBg,s["--sp-toolbar-btn-disabled-color"]=a.toolbarBtnDisabledColor,s["--sp-toolbar-btn-active-color"]=a.toolbarBtnActiveColor,s}const Fn={class:"formula-bar"},In={class:"formula-bar__cell-label"},An=["value"],Vn=["value"],zn=["title"],On=["title"],Ln=["title"],Wn=["title"],$n={key:2,class:"sb-corner"},_n=["onClick","onMouseenter"],Gn={class:"context-menu__label"},Pn={key:0,class:"context-menu__arrow"},Un=["onClick"],Yn={class:"dim-panel__title"},Kn={class:"dim-panel__body"},Xn=["value"],jn={key:0,class:"dim-panel__error"},Zn={class:"dim-panel__footer"},qn="\0",Bo="#444",Co=Ye(e.defineComponent({__name:"spreader",props:e.mergeModels({rowCount:{default:200},colCount:{default:26},width:{},height:{},theme:{default:"light"},locale:{default:"zh-CN"}},{data:{default:()=>[]},dataModifiers:{}}),emits:["update:data"],setup(a){const h=a,c=e.computed(()=>h.locale==="zh-CN"?"zh-CN":"en-US"),m=h.colCount,s=h.rowCount,C=e.useModel(a,"data");let D="";const v=e.reactive({}),F=new Mn,E=e.ref(null),g=e.ref({col:0,row:0}),H=e.ref(null),L=e.ref(""),M=e.ref(new Array(m).fill(100)),W=e.ref(new Array(s).fill(void 0)),x=e.ref(0),R=e.ref(0),A=(()=>{if(typeof window>"u")return 1;const t=window.devicePixelRatio||1;return t>1?Math.min(1.5,1+(t-1)*.25):1})();function G(t,o){var r;const l=(r=v[w(t,o)])==null?void 0:r.style;return typeof(l==null?void 0:l.fontSize)=="number"&&l.fontSize>0?l.fontSize:Fe}function z(t){return Math.round(t*A)}const J=e.computed(()=>{const t=[0];for(let o=0;o<m;o++)t.push(t[o]+M.value[o]);return t});function j(t){const o=W.value[t];if(o!=null&&o>0)return o;let l=Fe;for(let n=0;n<m;n++){const i=G(n,t);i>l&&(l=i)}const r=z(l);return Math.max(24,Math.round(r*1.2+8))}const Q=e.computed(()=>{const t=[0];for(let o=0;o<s;o++)t.push(t[o]+j(o));return t}),ke=e.computed(()=>J.value[m]),Ve=e.computed(()=>Q.value[s]);function N(t,o){g.value={col:t,row:o},E.value={startCol:t,startRow:o,endCol:t,endRow:o}}function V(t,o,l,r){g.value={col:t,row:o},E.value={startCol:Math.min(t,l),startRow:Math.min(o,r),endCol:Math.max(t,l),endRow:Math.max(o,r)}}function d(){V(0,0,m-1,s-1)}function p(t,o){const l=E.value;return l?t>=l.startCol&&t<=l.endCol&&o>=l.startRow&&o<=l.endRow:!1}function w(t,o){return`${t},${o}`}function I(t){Reflect.deleteProperty(v,t)}function Y(t,o){var l;return((l=v[w(t,o)])==null?void 0:l.value)??""}function ze(t,o){return ko(),Hn(t,o,v,m,s)}function ie(t,o,l){var u;const r=w(t,o);if(ko(),l===""||l==null){F.clear(r),I(r),F.markDirty(r);return}const n=String(l),i=((u=v[r])==null?void 0:u.style)??null;v[r]={value:n,style:i},n.startsWith("=")?F.set(r,wo(n.slice(1),m,s)):F.clear(r),F.markDirty(r)}function Te(t,o,l,r){for(let n=t;n<=o;n++)for(let i=l;i<=r;i++){const u=w(n,i);F.clear(u),I(u),F.markDirty(u)}}function He(t){H.value||(H.value={...g.value},L.value=t??Y(g.value.col,g.value.row))}function Re(){H.value&&($(),ie(H.value.col,H.value.row,L.value),H.value=null,L.value="")}function Oe(){H.value=null,L.value=""}function Ee(t,o){N(Math.max(0,Math.min(m-1,g.value.col+t)),Math.max(0,Math.min(s-1,g.value.row+o)))}function X(t,o){const l=Math.max(0,Z.w-52-11),r=Math.max(0,Z.h-24-11),n=J.value[t],i=Q.value[o],u=M.value[t],b=j(o);let k=x.value,T=R.value;n<k?k=n:n+u>k+l&&(k=n+u-l),i<T?T=i:i+b>T+r&&(T=i+b-r),ee(k,T)}function fe(t){const o=J.value;if(t<0||t>=o[m])return-1;let l=0,r=m-1;for(;l<r;){const n=l+r+1>>1;o[n]<=t?l=n:r=n-1}return l}function me(t){const o=Q.value;if(t<0||t>=o[s])return-1;let l=0,r=s-1;for(;l<r;){const n=l+r+1>>1;o[n]<=t?l=n:r=n-1}return l}const we=e.ref([]),at=e.ref([]);function xo(t){const o={};for(const[l,r]of Object.entries(t))o[l]={value:r.value,style:r.style};return o}function $t(){return je(),{sheets:_.value.map(t=>({id:t.id,name:t.name,cells:xo(t.cells),selection:t.selection?{...t.selection}:null,activeCell:t.activeCell?{...t.activeCell}:{col:0,row:0},scrollX:t.scrollX,scrollY:t.scrollY,colWidths:[...t.colWidths],rowHeights:[...t.rowHeights]})),activeSheetIndex:ne.value}}function So(t){_.value=t.sheets.map(o=>({...o,cells:xo(o.cells)})),Ne(Math.max(0,Math.min(t.activeSheetIndex,_.value.length-1))),F.rebuild(v,m,s)}function $(){const t=$t(),o=we.value[we.value.length-1];o&&JSON.stringify(o)===JSON.stringify(t)||(we.value.push(t),at.value=[],we.value.length>50&&we.value.shift())}function Do(){we.value.length&&(at.value.push($t()),So(we.value.pop()),y(),e.nextTick(P))}function To(){at.value.length&&(we.value.push($t()),So(at.value.pop()),y(),e.nextTick(P))}const Jn=e.computed(()=>we.value.length>0),Qn=e.computed(()=>at.value.length>0),er=e.computed(()=>!!E.value),Le=e.ref(null);function tr(){var l;const t=E.value;if(!t)return;const o={};for(let r=t.startCol;r<=t.endCol;r++)for(let n=t.startRow;n<=t.endRow;n++)o[`${r-t.startCol},${n-t.startRow}`]=((l=v[w(r,n)])==null?void 0:l.style)??null;Le.value={styles:o}}function or(){var l;const t=Le.value,o=E.value;if(!(!t||!o)){$();for(let r=o.startCol;r<=o.endCol;r++)for(let n=o.startRow;n<=o.endRow;n++){const i=t.styles[`${r-o.startCol},${n-o.startRow}`]??null,u=w(r,n),b=((l=v[u])==null?void 0:l.value)??"";b===""&&i===null?I(u):v[u]={value:b,style:i}}Le.value=null,y(),P()}}function lr(){var o;const t=E.value;if(t){$();for(let l=t.startCol;l<=t.endCol;l++)for(let r=t.startRow;r<=t.endRow;r++){const n=w(l,r),i=((o=v[n])==null?void 0:o.value)??"";i===""?I(n):v[n]={value:i,style:null}}y(),P()}}const nr=e.computed(()=>ml.map(t=>({...t,label:t.value===""?B(c.value,"fontDefault"):t.label}))),rr=e.computed(()=>pl.map(t=>({...t,label:String(t.value)}))),ar=e.computed(()=>{var r;const t=E.value;if(!t)return"";let o,l=!1;for(let n=t.startCol;n<=t.endCol&&!l;n++)for(let i=t.startRow;i<=t.endRow&&!l;i++){const u=(r=v[w(n,i)])==null?void 0:r.style,b=typeof(u==null?void 0:u.fontFamily)=="string"?u.fontFamily:"";o===void 0?o=b:b!==o&&(l=!0)}return l?qn:o??""}),Be=e.computed(()=>{const t=E.value;if(!t)return Fe;let o,l=!1;for(let r=t.startCol;r<=t.endCol&&!l;r++)for(let n=t.startRow;n<=t.endRow&&!l;n++){const i=G(r,n);o===void 0?o=i:i!==o&&(l=!0)}return l?0:o??Fe});function le(t,o){var r,n;const l=E.value;if(l){$();for(let i=l.startCol;i<=l.endCol;i++)for(let u=l.startRow;u<=l.endRow;u++){const b=w(i,u),k=((r=v[b])==null?void 0:r.value)??"",T=(n=v[b])!=null&&n.style?{...v[b].style}:{};o===""||o===null||o===void 0||o===0?delete T[t]:T[t]=o;const ve=Object.keys(T).length?T:null;k===""&&ve===null?I(b):v[b]={value:k,style:ve}}y(),P()}}function ir(t){le("fontFamily",t===""?"":t)}function sr(t){le("fontSize",t),We.value=!1}const Me=e.ref(""),We=e.ref(!1);e.watch(Be,t=>{Me.value=t===0?"":String(t)},{immediate:!0});function cr(t){const o=t.target;Me.value=o.value.replace(/[^\d]/g,"")}function dr(){const t=Me.value.trim();if(!t){Me.value=Be.value===0?"":String(Be.value);return}let o=parseInt(t,10);isNaN(o)&&(o=Fe),o=Math.max(5,Math.min(72,o)),Me.value=String(o),o!==Be.value&&le("fontSize",o)}function ur(t){t.key==="Enter"&&t.target.blur()}function fr(t){We.value=!We.value}function mr(){const t=Be.value===0?Fe:Be.value,o=Math.min(72,t+1);le("fontSize",o),Me.value=String(o),We.value=!1}function pr(){const t=Be.value===0?Fe:Be.value,o=Math.max(5,t-1);le("fontSize",o),Me.value=String(o),We.value=!1}function bt(t){var n;const o=E.value;if(!o)return!1;let l,r=!1;for(let i=o.startCol;i<=o.endCol&&!r;i++)for(let u=o.startRow;u<=o.endRow&&!r;u++){const b=(n=v[w(i,u)])==null?void 0:n.style,k=!!(b!=null&&b[t]);l===void 0?l=k:k!==l&&(r=!0)}return!r&&l===!0}const Ho=e.computed(()=>bt("fontWeight")),Ro=e.computed(()=>bt("fontStyle")),Mo=e.computed(()=>bt("underline")),No=e.computed(()=>bt("strikethrough"));function br(){le("fontWeight",Ho.value?"":"bold")}function hr(){le("fontStyle",Ro.value?"":"italic")}function vr(){le("underline",Mo.value?"":"underline")}function gr(){le("strikethrough",No.value?"":"line-through")}const ht=e.ref(""),vt=e.ref(""),_t=e.ref(!1),Gt=e.ref(!1);function yr(t){Fo.value=t,t&&(_t.value=!1,Gt.value=!1)}function kr(t){ht.value=t,le("color",t===""?"":t)}function Er(t){vt.value=t,le("backgroundColor",t===""?"":t)}function wr(){le("color",ht.value===""?"":ht.value)}function Br(){le("backgroundColor",vt.value===""?"":vt.value)}const Cr=e.computed(()=>{var r;const t=E.value;if(!t)return"";let o,l=!1;for(let n=t.startCol;n<=t.endCol&&!l;n++)for(let i=t.startRow;i<=t.endRow&&!l;i++){const u=(r=v[w(n,i)])==null?void 0:r.style,b=typeof(u==null?void 0:u.color)=="string"?u.color:"";o===void 0?o=b:b!==o&&(l=!0)}return l?"":o??""}),xr=e.computed(()=>{var r;const t=E.value;if(!t)return"";let o,l=!1;for(let n=t.startCol;n<=t.endCol&&!l;n++)for(let i=t.startRow;i<=t.endRow&&!l;i++){const u=(r=v[w(n,i)])==null?void 0:r.style,b=typeof(u==null?void 0:u.backgroundColor)=="string"?u.backgroundColor:"";o===void 0?o=b:b!==o&&(l=!0)}return l?"":o??""}),Pt=e.ref("none"),Fo=e.ref(!1);function Sr(t,o,l,r){const n=l===r.startRow,i=l===r.endRow,u=o===r.startCol,b=o===r.endCol,k={top:0,bottom:0,left:0,right:0};switch(t){case"none":return k;case"bottom":i&&(k.bottom=1);break;case"top":n&&(k.top=1);break;case"left":u&&(k.left=1);break;case"right":b&&(k.right=1);break;case"all":k.top=1,k.bottom=1,k.left=1,k.right=1;break;case"outer":n&&(k.top=1),i&&(k.bottom=1),u&&(k.left=1),b&&(k.right=1);break;case"thickOuter":n&&(k.top=2),i&&(k.bottom=2),u&&(k.left=2),b&&(k.right=2);break}return k}function Io(t){Pt.value=t;const o=E.value;if(o){if($(),t==="none")for(let l=o.startCol;l<=o.endCol;l++)for(let r=o.startRow;r<=o.endRow;r++)Ao(l,r,{top:0,bottom:0,left:0,right:0},!0);else for(let l=o.startCol;l<=o.endCol;l++)for(let r=o.startRow;r<=o.endRow;r++){const n=Sr(t,l,r,o);Ao(l,r,n,!1)}y(),P()}}function Ao(t,o,l,r=!0){var ge,Pe;const n=w(t,o),i=((ge=v[n])==null?void 0:ge.value)??"",u=(Pe=v[n])!=null&&Pe.style?{...v[n].style}:{},b=["Top","Bottom","Left","Right"],k=[l.top,l.bottom,l.left,l.right];for(let te=0;te<4;te++){const Ue=`border${b[te]}Width`;k[te]===0?r&&delete u[Ue]:(u[Ue]=k[te],u.borderColor=Bo)}b.some(te=>u[`border${te}Width`]!==void 0)||delete u.borderColor;const ve=Object.keys(u).length?u:null;i===""&&ve===null?I(n):v[n]={value:i,style:ve}}function Dr(){Io(Pt.value)}function Vo(t,o,l){var n;const r=(n=v[w(t,o)])==null?void 0:n.style;return(r==null?void 0:r[`border${l}Width`])||0}let zo=null;function gt(){const t=E.value;if(!t)return;zo={...t};const o=[];for(let l=t.startRow;l<=t.endRow;l++){const r=[];for(let n=t.startCol;n<=t.endCol;n++)r.push(Y(n,l));o.push(r.join(" "))}Wt(o.join(`
|
|
2
|
-
`))}function
|
|
3
|
-
`))
|
|
4
|
-
`))}}}async function it(){let t="";try{t=await navigator.clipboard.readText()}catch{return}if(!t&&t!=="")return;const o=t.split(/\r?\n/),l=g.value,r=zo;for(let n=0;n<o.length;n++){const i=o[n].split(" ");for(let u=0;u<i.length;u++){const b=l.col+u,k=l.row+n;if(b<m&&k<s){let T=i[u];T.startsWith("=")&&r&&(T=Rn(T,b-(r.startCol+u),k-(r.startRow+n),m,s,ue)),ie(b,k,T)}}}}function Ut(){if(gt(),E.value){const t=E.value;Te(t.startCol,t.endCol,t.startRow,t.endRow),y()}}function Yt(){if(E.value){const t=E.value;Te(t.startCol,t.endCol,t.startRow,t.endRow),y()}}function Tr(){const t=E.value;if(!t)return;$();const o=t.startCol,l=t.startRow,r=t.endCol,n=t.endRow;if(l===n)if(r+1<m){const i=`${ue(o)}${l+1}:${ue(r)}${l+1}`;ie(r+1,l,`=SUM(${i})`)}else{const i=`${ue(o)}${l+1}:${ue(r-1)}${l+1}`;ie(r,l,`=SUM(${i})`)}else for(let i=o;i<=r;i++)if(n+1<s){const u=`${ue(i)}${l+1}:${ue(i)}${n+1}`;ie(i,n+1,`=SUM(${u})`)}else{const u=`${ue(i)}${l+1}:${ue(i)}${n}`;ie(i,n,`=SUM(${u})`)}y(),P()}function Hr(t,o){const l=o-t+1;for(let r=t;r<=o;r++)for(let n=0;n<m;n++)I(w(n,r));for(let r=t;r<s-l;r++){for(let n=0;n<m;n++){const i=w(n,r+l),u=w(n,r);v[i]?(v[u]=v[i],I(i)):I(u)}W.value[r]=W.value[r+l]}for(let r=s-l;r<s;r++){for(let n=0;n<m;n++)I(w(n,r));W.value[r]=void 0}}function Rr(t,o){const l=o-t+1;if(!(o>=s-1)){for(let r=s-1;r>o;r--){for(let n=0;n<m;n++){const i=w(n,r-l),u=w(n,r);v[i]?v[u]=v[i]:I(u)}W.value[r]=W.value[r-l]}for(let r=o+1;r<=o+l;r++){for(let n=0;n<m;n++)I(w(n,r));W.value[r]=void 0}}}function Mr(t,o){const l=o-t+1;if(!(o>=m-1)){for(let r=m-1;r>o;r--){for(let n=0;n<s;n++){const i=w(r-l,n),u=w(r,n);v[i]?v[u]=v[i]:I(u)}M.value[r]=M.value[r-l]}for(let r=o+1;r<=o+l;r++){for(let n=0;n<s;n++)I(w(r,n));M.value[r]=100}}}function Nr(t,o){const l=o-t+1;for(let r=t;r<=o;r++)for(let n=0;n<s;n++)I(w(r,n));for(let r=t;r<m-l;r++){for(let n=0;n<s;n++){const i=w(r+l,n),u=w(r,n);v[i]?(v[u]=v[i],I(i)):I(u)}M.value[r]=M.value[r+l]}for(let r=m-l;r<m;r++){for(let n=0;n<s;n++)I(w(r,n));M.value[r]=100}}let Oo=0;function Lo(){return Oo++,`s_${Oo}`}function kt(t){return{id:Lo(),name:t,cells:{},selection:{startCol:0,startRow:0,endCol:0,endRow:0},activeCell:{col:0,row:0},scrollX:0,scrollY:0,colWidths:new Array(m).fill(100),rowHeights:new Array(s).fill(void 0)}}const _=e.ref([kt("Sheet1")]),ne=e.ref(0);function je(){const t=_.value[ne.value];t&&(t.cells={...v},t.selection=E.value?{...E.value}:null,t.activeCell={...g.value},t.scrollX=x.value,t.scrollY=R.value,t.colWidths=[...M.value],t.rowHeights=[...W.value])}function Ne(t){const o=_.value[t];o&&(Object.keys(v).forEach(l=>I(l)),Object.assign(v,o.cells),E.value=o.selection?{...o.selection}:null,g.value={...o.activeCell},x.value=o.scrollX,R.value=o.scrollY,M.value=[...o.colWidths],W.value=[...o.rowHeights],ne.value=t)}function Fr(t){t===ne.value||t<0||t>=_.value.length||(Oe(),je(),Ne(t))}function Kt(t){return $(),Oe(),je(),_.value.push(kt(`Sheet${_.value.length+1}`)),Ne(_.value.length-1),_.value.length-1}function Ir(t){return _.value.length<=1||($(),Oe(),_.value.splice(t,1),Ne(Math.min(t,_.value.length-1))),ne.value}function Ar(t,o){_.value[t]&&o.trim()&&($(),_.value[t].name=o.trim())}function Vr(t){$(),Oe(),je();const o=_.value[t];if(!o)return t;let l=o.name;const r=l.match(/^(.*?)\s*\((\d+)\)$/);let n=r?parseInt(r[2],10)+1:2;r&&(l=r[1]);let i=`${l} (${n})`;const u=new Set(_.value.map(k=>k.name));for(;u.has(i);)n++,i=`${l} (${n})`;const b={id:Lo(),name:i,cells:{...o.cells},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 _.value.splice(t+1,0,b),Ne(t+1),t+1}function Wo(t,o){const l=t+o;if(l<0||l>=_.value.length)return;$();const r=ne.value,n=_.value.splice(t,1)[0];_.value.splice(l,0,n),r===t?ne.value=l:t<r&&l>=r?ne.value=r-1:t>r&&l<=r&&(ne.value=r+1),y()}const zr=e.computed(()=>_.value.length);function P(){je();const t=_.value.map(l=>{const r={};for(const[b,k]of Object.entries(l.cells))r[b]={value:k.value},k.style&&(r[b].style=k.style);const n={name:l.name,cells:r},i={};for(let b=0;b<l.colWidths.length;b++)l.colWidths[b]!==100&&(i[b]=l.colWidths[b]);Object.keys(i).length&&(n.colWidths=i);const u={};for(let b=0;b<l.rowHeights.length;b++){const k=l.rowHeights[b];k!=null&&(u[b]=k)}return Object.keys(u).length&&(n.rowHeights=u),n}),o=JSON.stringify(t);o!==D&&(D=o,C.value=t)}let Xt=!1;function $o(){Xt||(Xt=!0,Promise.resolve().then(()=>{Xt=!1,P()}))}const _o=e.computed(()=>h.theme==="dark"?hl:bl),Or=e.computed(()=>Nn(_o.value,h.width,h.height,Ie)),$e=e.ref(null),pe=e.ref(null),jt=e.ref(null),Zt=e.ref(null),Z=e.reactive({w:800,h:600}),Ze=e.computed(()=>Math.max(0,ke.value-Math.max(0,Z.w-52-11))),qe=e.computed(()=>Math.max(0,Ve.value-Math.max(0,Z.h-24-11)));function ee(t,o){const l=Math.max(0,Z.w-52-11),r=Math.max(0,Z.h-24-11);x.value=Math.max(0,Math.min(t??x.value,Math.max(0,ke.value-l))),R.value=Math.max(0,Math.min(o??R.value,Math.max(0,Ve.value-r)))}function Lr(){var t;return typeof window>"u"?!1:!((t=window.matchMedia)!=null&&t.call(window,"(hover: none) and (pointer: coarse)").matches)}function re(t=!1){e.nextTick(()=>{const o=jt.value;if(o){if(!H.value&&!Lr()){document.activeElement===o&&o.blur();return}o.focus({preventScroll:!0}),t&&o.select()}})}function Wr(){re()}let qt=!1,f=null,st=1;function y(){qt||(qt=!0,requestAnimationFrame(()=>{qt=!1,$r()}))}function $r(){var al,il,sl;const t=pe.value;if(!t)return;const o=$e.value;if(!o||(f=t.getContext("2d"),!f))return;st=window.devicePixelRatio||1;const l=o.getBoundingClientRect(),r=l.width,n=l.height;Z.w=r,Z.h=n,t.width=r*st,t.height=n*st,t.style.width=r+"px",t.style.height=n+"px",f.setTransform(st,0,0,st,0,0);const i=x.value,u=R.value,b=52,k=24,T=_o.value,ve=J.value,ge=Q.value,Pe=M.value,te=[];for(let S=0;S<s;S++)te[S]=ge[S+1]-ge[S];const Ue=Math.max(0,fe(i));let nl=Ue;for(let S=Ue;S<m&&!(b+ve[S]-i>=r);S++)nl=S;const mo=nl,Rt=Math.max(0,me(u));let rl=Rt;for(let S=Rt;S<s&&!(k+ge[S]-u>=n);S++)rl=S;const po=rl;f.fillStyle=T.bg,f.fillRect(0,0,r,n),f.fillStyle=T.gridBg,f.fillRect(b,k,r-b,n-k),f.save(),f.beginPath(),f.rect(b+.5,k+.5,r-b-1,n-k-1),f.clip();const ce=E.value,bo=H.value;for(let S=Rt;S<=po;S++)for(let O=Ue;O<=mo;O++){const U=b+ve[O]-i,oe=k+ge[S]-u,xe=Pe[O],ye=te[S];if(U+xe<b||oe+ye<k||U>r||oe>n)continue;p(O,S)&&(f.fillStyle=T.selectionBg,f.fillRect(U,oe,xe,ye)),g.value.col===O&&g.value.row===S&&(f.strokeStyle=T.activeCellBorder,f.lineWidth=2,f.strokeRect(U+1,oe+1,xe-2,ye-2)),f.strokeStyle=T.gridLine,f.lineWidth=.5,f.strokeRect(U+.25,oe+.25,xe-.5,ye-.5);const Mt=(al=v[w(O,S)])==null?void 0:al.style,cl=typeof(Mt==null?void 0:Mt.backgroundColor)=="string"?Mt.backgroundColor:"";if(cl&&(f.fillStyle=cl,f.fillRect(U,oe,xe,ye)),!(bo&&bo.col===O&&bo.row===S)){const q=ze(O,S);if(q){const K=(il=v[w(O,S)])==null?void 0:il.style,dl=z(G(O,S)),Na=typeof(K==null?void 0:K.fontFamily)=="string"&&K.fontFamily?K.fontFamily:vo,Fa=(K==null?void 0:K.fontWeight)==="bold"?"bold":"normal",Ia=(K==null?void 0:K.fontStyle)==="italic"?"italic":"normal",Aa=(K==null?void 0:K.underline)==="underline",Va=(K==null?void 0:K.strikethrough)==="line-through",ho=typeof(K==null?void 0:K.color)=="string"?K.color:"";f.fillStyle=ho||T.cellText,f.font=`${Ia} ${Fa} ${dl}px ${Na}`,f.textBaseline="alphabetic",f.save(),f.beginPath(),f.rect(U+5,oe+1,xe-10,ye-2),f.clip();const Se=f.measureText(q),za=(Se.actualBoundingBoxAscent-Se.actualBoundingBoxDescent)/2,ft=U+5,Vt=oe+ye/2+za;if(f.fillText(q,ft,Vt),Aa){const mt=Se.actualBoundingBoxLeft??0,zt=Se.actualBoundingBoxDescent??0;f.strokeStyle=ho||T.cellText,f.lineWidth=1,f.beginPath(),f.moveTo(ft+mt,Vt+zt+1),f.lineTo(ft+mt+Se.width,Vt+zt+1),f.stroke()}if(Va){const mt=Se.actualBoundingBoxLeft??0,zt=Se.actualBoundingBoxDescent??0,Oa=Se.actualBoundingBoxAscent??dl;f.strokeStyle=ho||T.cellText,f.lineWidth=1;const ul=Vt-(Oa-zt)*.25;f.beginPath(),f.moveTo(ft+mt,ul),f.lineTo(ft+mt+Se.width,ul),f.stroke()}f.restore()}}const de=(sl=v[w(O,S)])==null?void 0:sl.style,Ra=(de==null?void 0:de.borderTopWidth)||0,Ma=(de==null?void 0:de.borderLeftWidth)||0,Nt=(de==null?void 0:de.borderBottomWidth)||0,Ft=(de==null?void 0:de.borderRightWidth)||0,It=Math.max(Ra,Vo(O,S-1,"Bottom")),At=Math.max(Ma,Vo(O-1,S,"Right"));if(It>0||At>0||Nt>0||Ft>0){if(f.strokeStyle=Bo,It>0){f.lineWidth=It,f.beginPath();const q=oe+It/2-.5;f.moveTo(U,q),f.lineTo(U+xe,q),f.stroke()}if(At>0){f.lineWidth=At,f.beginPath();const q=U+At/2-.5;f.moveTo(q,oe),f.lineTo(q,oe+ye),f.stroke()}if(S===po&&Nt>0){f.lineWidth=Nt,f.beginPath();const q=oe+ye-Nt/2+.5;f.moveTo(U,q),f.lineTo(U+xe,q),f.stroke()}if(O===mo&&Ft>0){f.lineWidth=Ft,f.beginPath();const q=U+xe-Ft/2+.5;f.moveTo(q,oe),f.lineTo(q,oe+ye),f.stroke()}}}f.restore(),f.fillStyle=T.headerBg,f.fillRect(b,0,r-b,k);for(let S=Ue;S<=mo;S++){const O=b+ve[S]-i,U=Pe[S];O+U<b||O>r||(ce&&S>=ce.startCol&&S<=ce.endCol&&(f.fillStyle=T.selectionBg,f.fillRect(O,0,U,k)),f.strokeStyle=T.headerBorder,f.lineWidth=.5,f.strokeRect(O+.25,.25,U-.5,k-.5),ce&&S>=ce.startCol&&S<=ce.endCol&&(f.strokeStyle=T.activeCellBorder,f.lineWidth=2,f.beginPath(),f.moveTo(O,k-1),f.lineTo(O+U,k-1),f.stroke()),f.fillStyle=T.headerText,f.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',f.textAlign="center",f.textBaseline="middle",f.fillText(ue(S),O+U/2,k/2))}f.strokeStyle=T.headerSep,f.lineWidth=1,f.beginPath(),f.moveTo(b,k+.5),f.lineTo(r,k+.5),f.stroke(),f.fillStyle=T.headerBg,f.fillRect(0,k,b,n-k);for(let S=Rt;S<=po;S++){const O=k+ge[S]-u,U=te[S];O+U<k||O>n||(ce&&S>=ce.startRow&&S<=ce.endRow&&(f.fillStyle=T.selectionBg,f.fillRect(0,O,b,U)),f.strokeStyle=T.headerBorder,f.lineWidth=.5,f.strokeRect(.25,O+.25,b-.5,U-.5),ce&&S>=ce.startRow&&S<=ce.endRow&&(f.strokeStyle=T.activeCellBorder,f.lineWidth=2,f.beginPath(),f.moveTo(b-1,O),f.lineTo(b-1,O+U),f.stroke()),f.fillStyle=T.headerText,f.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',f.textAlign="center",f.textBaseline="middle",f.fillText(String(S+1),b/2,O+U/2+.5))}f.strokeStyle=T.headerSep,f.lineWidth=1,f.beginPath(),f.moveTo(b+.5,k),f.lineTo(b+.5,n),f.stroke(),f.fillStyle=T.headerBg,f.fillRect(0,0,b,k),f.strokeStyle=T.headerSep,f.lineWidth=1,f.strokeRect(.5,.5,b-.5,k-.5)}const _r=e.computed(()=>ue(g.value.col)+String(g.value.row+1)),Gr=e.computed(()=>H.value?L.value:Y(g.value.col,g.value.row));function Pr(){H.value||(X(g.value.col,g.value.row),L.value=Y(g.value.col,g.value.row),He(),y())}function Ur(t){L.value=t.target.value}function Yr(t){var o,l;t.key==="Enter"?(t.preventDefault(),Re(),Ee(0,1),X(g.value.col,g.value.row),(o=Zt.value)==null||o.blur(),y(),re()):t.key==="Escape"&&(t.preventDefault(),Oe(),(l=Zt.value)==null||l.blur(),y(),re())}function Kr(){setTimeout(()=>{H.value&&(Re(),y())},0)}const _e=e.ref(null),Je=e.ref("");function Xr(t){_e.value===null&&(Fr(t),y())}function Go(t){t!==ne.value&&(je(),Ne(t),y()),_e.value=t,Je.value=_.value[t].name,e.nextTick(()=>{const o=document.querySelector(".tab-rename-input");o==null||o.focus(),o==null||o.select()})}function Po(){_e.value!==null&&(Ar(_e.value,Je.value),e.nextTick(P)),_e.value=null,Je.value=""}function jr(){_e.value=null,Je.value=""}function Zr(t){t.key==="Enter"?(t.preventDefault(),Po()):t.key==="Escape"&&(t.preventDefault(),jr())}const Ce=e.ref(null);let ct=null;function Uo(){ct&&(document.removeEventListener("click",ct),ct=null)}function Qe(t,o,l){Uo();const r=140,n=l.length*28+8,i=window.innerWidth,u=window.innerHeight;t+r>i&&(t-=r),o+n>u&&(o-=n),Ce.value={x:t,y:o,items:l},ct=()=>{Ce.value=null,Uo()},setTimeout(()=>document.addEventListener("click",ct,{once:!0}),0)}const Et=e.ref(!1);function qr(t,o){if(!o.children){Et.value=!1;return}const r=t.currentTarget.querySelector(".context-submenu");if(!r){Et.value=!1;return}const n=r.getBoundingClientRect();Et.value=n.right>window.innerWidth}function Jr(t,o){t.preventDefault(),t.stopPropagation(),Qe(t.clientX,t.clientY,[{label:B(c.value,"insert"),action:()=>{Kt(),y()}},{label:B(c.value,"copy"),action:()=>{Vr(o)}},{label:B(c.value,"rename"),action:()=>{Go(o)}},{label:B(c.value,"delete"),action:()=>{Ir(o),y()},disabled:zr.value<=1},{label:B(c.value,"moveSheetLeft"),action:()=>{Wo(o,-1)},disabled:o===0},{label:B(c.value,"moveSheetRight"),action:()=>{Wo(o,1)},disabled:o===_.value.length-1}])}function Qr(t){t.preventDefault(),!(t.target.closest(".tab-item")||t.target.closest(".tab-bar__add-btn"))&&Qe(t.clientX,t.clientY,[{label:B(c.value,"insert"),action:()=>{Kt(),y()}}])}function ea(t){t.preventDefault(),d(),y(),Qe(t.clientX,t.clientY,[{label:B(c.value,"cut"),action:()=>{Ut(),P()}},{label:B(c.value,"copy"),action:()=>gt()},{label:B(c.value,"paste"),action:()=>{$(),it().then(()=>{y(),e.nextTick(P)})}},{label:B(c.value,"delete"),action:()=>{$(),Yt();for(let o=0;o<m;o++)M.value[o]=100;for(let o=0;o<s;o++)W.value[o]=void 0;y(),P()}}])}function ta(t,o){t.preventDefault();const l=t.clientX,r=t.clientY,n=E.value;n&&n.startCol===0&&n.endCol===m-1&&o>=n.startRow&&o<=n.endRow||(V(0,o,m-1,o),y());const i=E.value;Qe(t.clientX,t.clientY,[{label:B(c.value,"insert"),action:()=>{$(),Rr(i.startRow,i.endRow),y(),P()},disabled:i.endRow>=s-1},{label:B(c.value,"cut"),action:()=>{$(),yt();for(let u=i.startRow;u<=i.endRow;u++)for(let b=0;b<m;b++)I(w(b,u));y(),P()}},{label:B(c.value,"copy"),action:()=>yt()},{label:B(c.value,"paste"),action:()=>{$(),it().then(()=>{y(),e.nextTick(P)})}},{label:B(c.value,"delete"),action:()=>{$(),Hr(i.startRow,i.endRow),y(),P()}},{label:`${B(c.value,"rowHeight")}...`,action:()=>Xo("row",l,r)},{label:B(c.value,"defaultRowHeight"),action:()=>aa()}])}function oa(t,o){t.preventDefault();const l=t.clientX,r=t.clientY,n=E.value;n&&n.startRow===0&&n.endRow===s-1&&o>=n.startCol&&o<=n.endCol||(V(o,0,o,s-1),y());const i=E.value;Qe(t.clientX,t.clientY,[{label:B(c.value,"insert"),action:()=>{$(),Mr(i.startCol,i.endCol),y(),P()},disabled:i.endCol>=m-1},{label:B(c.value,"cut"),action:()=>{$(),yt();for(let u=i.startCol;u<=i.endCol;u++)for(let b=0;b<s;b++)I(w(u,b));y(),P()}},{label:B(c.value,"copy"),action:()=>yt()},{label:B(c.value,"paste"),action:()=>{$(),it().then(()=>{y(),e.nextTick(P)})}},{label:B(c.value,"delete"),action:()=>{$(),Nr(i.startCol,i.endCol),y(),P()}},{label:`${B(c.value,"colWidth")}...`,action:()=>Xo("col",l,r)},{label:B(c.value,"defaultColWidth"),action:()=>ia()}])}function la(t,o,l){t.preventDefault(),p(o,l)||(N(o,l),y());const r=E.value,n=!!(r&&r.startCol===r.endCol&&r.startRow===r.endRow);Qe(t.clientX,t.clientY,[{label:B(c.value,"cut"),action:()=>{Ut(),P()}},{label:B(c.value,"copy"),action:()=>gt()},{label:B(c.value,"paste"),action:()=>{$(),it().then(()=>{y(),e.nextTick(P)})}},{label:B(c.value,"delete"),action:()=>{$(),Yt(),y(),P()}},{label:B(c.value,"calculate"),children:[{label:B(c.value,"sum"),action:Tr,disabled:n}]}])}const Yo=e.ref(null),ae=e.ref(null);let dt=null;function Ko(){dt&&(document.removeEventListener("mousedown",dt),dt=null)}function Xo(t,o,l){Ko();const r=E.value;let n="";if(r){const T=t==="row"?j(r.startRow):M.value[r.startCol];n=T!=null&&T>0?String(Math.round(T)):""}const i=220,u=118;let b=o,k=l;b+i>window.innerWidth&&(b=window.innerWidth-i-8),k+u>window.innerHeight&&(k=window.innerHeight-u-8),b<8&&(b=8),k<8&&(k=8),ae.value={type:t,x:b,y:k,value:n,error:""},dt=()=>{ae.value=null},setTimeout(()=>document.addEventListener("mousedown",dt,{once:!0}),0),e.nextTick(()=>{const T=Yo.value;T&&(T.focus(),T.select())})}function na(t){const o=ae.value;if(!o)return;const l=t.target,r=l.value,n=r.replace(/[^\d]/g,"");o.value=n,r!==n&&(l.value=n),o.error=""}function ra(t){t.key==="Enter"?(t.preventDefault(),jo()):t.key==="Escape"&&Jt()}function jo(){const t=ae.value,o=E.value;if(!t||!o)return;const l=t.value.trim(),r=Number(l),n=t.type==="row",i=n?24:30,u=n?500:1e3;if(l===""||!Number.isFinite(r)){t.error=B(c.value,"dimNumberError");return}if(r<i||r>u){t.error=B(c.value,"dimRangeError").replace("{min}",String(i)).replace("{max}",String(u));return}const b=r;if($(),n)for(let k=o.startRow;k<=o.endRow;k++)W.value[k]=b;else for(let k=o.startCol;k<=o.endCol;k++)M.value[k]=b;y(),P(),Jt()}function Jt(){Ko(),ae.value=null}function aa(){const t=E.value;if(t){$();for(let o=t.startRow;o<=t.endRow;o++)W.value[o]=void 0;y(),P()}}function ia(){const t=E.value;if(t){$();for(let o=t.startCol;o<=t.endCol;o++)M.value[o]=100;y(),P()}}const sa=e.computed(()=>{var te;const t=!H.value,o=H.value??g.value,l=o.col,r=o.row,n=(te=v[w(l,r)])==null?void 0:te.style,i=z(G(l,r)),u=typeof(n==null?void 0:n.fontFamily)=="string"&&n.fontFamily?n.fontFamily:vo,b=(n==null?void 0:n.fontWeight)==="bold"?"bold":"normal",k=(n==null?void 0:n.fontStyle)==="italic"?"italic":"normal",T=(n==null?void 0:n.underline)==="underline"?"underline":(n==null?void 0:n.strikethrough)==="line-through"?"line-through":"none",ve=(n==null?void 0:n.underline)==="underline"&&(n==null?void 0:n.strikethrough)==="line-through"?"underline line-through":T,ge=typeof(n==null?void 0:n.color)=="string"?n.color:void 0,Pe=typeof(n==null?void 0:n.backgroundColor)=="string"?n.backgroundColor:void 0;return{left:`${52+J.value[l]-x.value}px`,top:`${24+Q.value[r]-R.value}px`,width:`${M.value[l]}px`,height:`${j(r)}px`,fontFamily:u,fontSize:`${i}px`,fontWeight:b,fontStyle:k,textDecoration:ve,opacity:t?0:1,pointerEvents:t?"none":"auto",color:t?"transparent":ge,caretColor:t?"transparent":void 0,borderColor:t?"transparent":void 0,background:t?"transparent":Pe,boxShadow:t?"none":void 0}}),ca=e.computed(()=>Math.max(0,Z.w-52-11)),da=e.computed(()=>Math.max(0,Z.h-24-11)),wt=e.computed(()=>Math.max(0,ca.value-11*2)),Bt=e.computed(()=>Math.max(0,da.value-11*2));function Qt(){return Math.max(0,Z.w-52-11)}function eo(){return Math.max(0,Z.h-24-11)}const Ct=e.computed(()=>Ze.value<=0?wt.value:Math.max(24,Qt()/ke.value*wt.value)),to=e.computed(()=>Ze.value<=0?0:x.value/Ze.value*(wt.value-Ct.value)),xt=e.computed(()=>qe.value<=0?Bt.value:Math.max(24,eo()/Ve.value*Bt.value)),oo=e.computed(()=>qe.value<=0?0:R.value/qe.value*(Bt.value-xt.value));let Ge=null,St=0,Dt=0;function ua(t){t.preventDefault(),Ge="v",St=t.clientY,Dt=R.value,document.addEventListener("mousemove",lo),document.addEventListener("mouseup",no)}function fa(t){t.preventDefault(),Ge="h",St=t.clientX,Dt=x.value,document.addEventListener("mousemove",lo),document.addEventListener("mouseup",no)}function lo(t){if(Ge==="v"){const l=(t.clientY-St)/(Bt.value-xt.value);ee(null,Dt+l*qe.value),y()}else if(Ge==="h"){const l=(t.clientX-St)/(wt.value-Ct.value);ee(Dt+l*Ze.value,null),y()}}function no(){Ge=null,document.removeEventListener("mousemove",lo),document.removeEventListener("mouseup",no)}function ma(t){if(Ge)return;const o=t.currentTarget.getBoundingClientRect(),l=t.clientY-o.top;l<oo.value?ee(null,R.value-eo()):l>oo.value+xt.value&&ee(null,R.value+eo()),y()}function pa(t){if(Ge)return;const o=t.currentTarget.getBoundingClientRect(),l=t.clientX-o.left;l<to.value?ee(x.value-Qt(),null):l>to.value+Ct.value&&ee(x.value+Qt(),null),y()}let et=!1,be=0,he=0,tt=!1,ot=!1,Zo=0,qo=0,lt=0,Tt=0,ro=0,ao=0,Jo=0,Qo=0,ut=!1,io=!1,nt=0,rt=0,so=0,el=-1,tl=-1;function ba(t){if(t.button!==0)return;t.preventDefault(),Ce.value=null;const o=Ae(t,pe.value);if(o.y<24&&o.x>=52){const n=o.x-52+x.value,i=fe(n);if(i>=0&&Math.abs(o.x-(52+J.value[i+1]-x.value))<=4){$(),tt=!0,Zo=i,lt=M.value[i],Tt=n,y();return}}if(o.x<52&&o.y>=24){const n=o.y-24+R.value,i=me(n);if(i>=0&&Math.abs(o.y-(24+Q.value[i+1]-R.value))<=4){$(),ot=!0,qo=i,lt=j(i),Tt=n,y();return}}if(o.x<52||o.y<24){if(Re(),o.y<24&&o.x>=52){const n=fe(o.x-52+x.value);n>=0&&(V(n,0,n,s-1),et=!0,be=n,he=0)}else if(o.x<52&&o.y>=24){const n=me(o.y-24+R.value);n>=0&&(V(0,n,m-1,n),et=!0,be=0,he=n)}else o.x<52&&o.y<24&&d();y();return}const l=fe(o.x-52+x.value),r=me(o.y-24+R.value);if(!(l<0||r<0)){if(Re(),t.shiftKey&&E.value){const n=E.value;V(n.startCol,n.startRow,l,r)}else N(l,r);et=!0,be=l,he=r,re(),y()}}function ha(t){if(tt){const i=Ae(t,pe.value).x-52+x.value-Tt;lt+i>=30&&(M.value[Zo]=lt+i),y();return}if(ot){const i=Ae(t,pe.value).y-24+R.value-Tt;lt+i>=24&&(W.value[qo]=lt+i),y();return}if(!et){const n=pe.value;if(!n)return;if(Le.value){n.style.cursor="copy";return}const i=Ae(t,n);if(i.y<24&&i.x>=52){const u=fe(i.x-52+x.value);if(u>=0&&Math.abs(i.x-(52+J.value[u+1]-x.value))<=4){n.style.cursor="col-resize";return}}if(i.x<52&&i.y>=24){const u=me(i.y-24+R.value);if(u>=0&&Math.abs(i.y-(24+Q.value[u+1]-R.value))<=4){n.style.cursor="row-resize";return}}n.style.cursor="cell";return}const o=Ae(t,pe.value);if(be<0||he<0)return;if(o.x<52||o.y<24){if(o.y<24&&o.x>=52){const n=fe(o.x-52+x.value);n>=0&&V(Math.min(be,n),0,Math.max(be,n),s-1)}else if(o.x<52&&o.y>=24){const n=me(o.y-24+R.value);n>=0&&V(0,Math.min(he,n),m-1,Math.max(he,n))}y();return}const l=fe(o.x-52+x.value),r=me(o.y-24+R.value);l<0||r<0||(he===0&&be>=0&&E.value&&E.value.startRow===0&&E.value.endRow===s-1?V(Math.min(be,l),0,Math.max(be,l),s-1):be===0&&he>=0&&E.value&&E.value.startCol===0&&E.value.endCol===m-1?V(0,Math.min(he,r),m-1,Math.max(he,r)):V(be,he,l,r),y())}function va(t){const o=tt||ot;et=!1,tt=!1,ot=!1,o&&$o(),Le.value&&or()}function ga(){const t=tt||ot;et=!1,tt=!1,ot=!1,t&&$o()}function ya(t){t.preventDefault();const o=Ae(t,pe.value);if(o.x<52&&o.y<24){ea(t);return}if(o.y<24&&o.x>=52){const l=fe(o.x-52+x.value);l>=0&&oa(t,l);return}if(o.x<52&&o.y>=24){const l=me(o.y-24+R.value);l>=0&&ta(t,l);return}if(o.x>=52&&o.y>=24){const l=fe(o.x-52+x.value),r=me(o.y-24+R.value);l>=0&&r>=0&&la(t,l,r)}}function ka(t){const o=Ae(t,pe.value);if(o.x<52||o.y<24)return;const l=fe(o.x-52+x.value),r=me(o.y-24+R.value);l<0||r<0||(N(l,r),X(l,r),He(),y(),re())}function Ea(t){ee(x.value+t.deltaX,R.value+t.deltaY),y()}function wa(t){if(t.touches.length!==1){ut=!1;return}const o=t.touches[0],l=pe.value;if(!l)return;const r=l.getBoundingClientRect(),n=o.clientX-r.left,i=o.clientY-r.top;n>=52&&i>=24&&(t.preventDefault(),ut=!0,io=!1,ro=n,ao=i,Jo=x.value,Qo=R.value,nt=fe(n-52+x.value),rt=me(i-24+R.value))}function Ba(t){if(!ut||t.touches.length!==1)return;const o=t.touches[0],l=pe.value;if(!l)return;const r=l.getBoundingClientRect(),n=o.clientX-r.left,i=o.clientY-r.top;(Math.abs(n-ro)>8||Math.abs(i-ao)>8)&&(io=!0,t.preventDefault(),ee(Jo+(ro-n),Qo+(ao-i)),y())}function Ca(){if(ut&&(ut=!1,!io&&nt>=0&&rt>=0)){const t=Date.now();nt===el&&rt===tl&&t-so<300?(N(nt,rt),He(),y(),re(),so=0):(Re(),N(nt,rt),y(),so=t),el=nt,tl=rt,re()}}function co(t){return t.isComposing||t.key==="Process"||t.keyCode===229}function ol(t){return t.key.length===1&&!t.ctrlKey&&!t.metaKey&&!t.altKey}function ll(t){if(H.value)return;const o=t.ctrlKey||t.metaKey,l=t.shiftKey;switch(!0){case(o&&(t.key==="c"||t.key==="C")):t.preventDefault(),gt();return;case(o&&(t.key==="x"||t.key==="X")):t.preventDefault(),Ut();return;case(o&&(t.key==="z"||t.key==="Z")):t.preventDefault(),Do();return;case(o&&(t.key==="y"||t.key==="Y")):t.preventDefault(),To();return;case(o&&(t.key==="v"||t.key==="V")):t.preventDefault(),$(),it().then(()=>{y(),e.nextTick(P)});return;case(o&&(t.key==="a"||t.key==="A")):t.preventDefault(),d(),y();return;case(o&&t.key==="Home"):t.preventDefault(),N(0,0),X(0,0),y();return;case(o&&t.key==="End"):t.preventDefault(),N(m-1,s-1),X(m-1,s-1),y();return;case t.key==="Home":t.preventDefault(),N(0,g.value.row),X(0,g.value.row),y();return;case t.key==="End":t.preventDefault(),N(m-1,g.value.row),X(m-1,g.value.row),y();return;case t.key==="ArrowUp":t.preventDefault(),Ee(0,-1),X(g.value.col,g.value.row),y();return;case t.key==="ArrowDown":t.preventDefault(),Ee(0,1),X(g.value.col,g.value.row),y();return;case t.key==="ArrowLeft":t.preventDefault(),Ee(-1,0),X(g.value.col,g.value.row),y();return;case t.key==="ArrowRight":t.preventDefault(),Ee(1,0),X(g.value.col,g.value.row),y();return;case t.key==="Tab":t.preventDefault(),Ee(l?-1:1,0),X(g.value.col,g.value.row),y();return;case t.key==="Enter":t.preventDefault(),Ee(0,l?-1:1),X(g.value.col,g.value.row),y();return;case t.key==="F2":t.preventDefault(),X(g.value.col,g.value.row),He(),y(),re();return;case t.key==="Delete":case t.key==="Backspace":t.preventDefault(),$(),Yt(),y();return;case t.key==="Escape":t.preventDefault(),Oe(),Le.value=null,y();return;case ol(t):if(co(t)){X(g.value.col,g.value.row),He(""),y(),re();return}t.preventDefault(),X(g.value.col,g.value.row),He(t.key),y(),e.nextTick(()=>{const r=jt.value;r&&(r.focus(),r.setSelectionRange(1,1))});return}}let uo=!1,fo=!1;function xa(t){const o=t.target.value;if(!H.value){X(g.value.col,g.value.row),He(o),y();return}L.value=o}function Sa(){uo=!0,H.value||(X(g.value.col,g.value.row),He(""),y())}function Da(t){uo=!1,fo=!0,setTimeout(()=>{fo=!1},0),L.value=t.target.value}function Ta(t){if(!H.value){if(ol(t)||co(t))return;ll(t);return}uo||co(t)||fo&&(t.key==="Enter"||t.key==="Escape")||(t.key==="Enter"?(t.preventDefault(),Re(),Ee(0,1),X(g.value.col,g.value.row),y(),re()):t.key==="Tab"?(t.preventDefault(),Re(),Ee(t.shiftKey?-1:1,0),X(g.value.col,g.value.row),y(),re()):t.key==="Escape"&&(t.preventDefault(),Oe(),y(),re()))}function Ha(){setTimeout(()=>{H.value&&(Re(),y())},0)}function Ht(){var o;const t=(o=$e.value)==null?void 0:o.getBoundingClientRect();if(t){const l=Ie(h.width),r=Ie(h.height);l!=null?Z.w=l:Z.w=t.width,r!=null?Z.h=r:Z.h=t.height}ee(null,null),y()}let se=null;return e.onMounted(()=>{const t=Ie(h.width),o=Ie(h.height);(t==null||o==null)&&(se=new ResizeObserver(()=>Ht()),$e.value&&se.observe($e.value)),e.nextTick(()=>{Ht(),re()}),N(0,0),C.value&&C.value.length>0&&(D=JSON.stringify(C.value),_.value=C.value.map(l=>{const r=kt(l.name);for(const[n,i]of Object.entries(l.cells))r.cells[n]={value:i.value,style:i.style??null};if(l.colWidths)for(const[n,i]of Object.entries(l.colWidths)){const u=Number(n);u>=0&&u<m&&i>=30&&(r.colWidths[u]=i)}if(l.rowHeights)for(const[n,i]of Object.entries(l.rowHeights)){const u=Number(n);u>=0&&u<s&&i>=24&&(r.rowHeights[u]=i)}return r}),_.value.length>0&&Ne(0))}),e.watch(()=>[h.width,h.height],()=>{const t=Ie(h.width),o=Ie(h.height);t!=null&&o!=null?(se==null||se.disconnect(),se=null):!se&&$e.value&&(se=new ResizeObserver(()=>Ht()),se.observe($e.value)),e.nextTick(()=>Ht())}),e.watch(()=>h.theme,()=>y()),e.watch(()=>({...v}),()=>e.nextTick(P),{deep:!1}),e.watch(ne,()=>e.nextTick(P)),e.watch(()=>C.value,t=>{if(!t||t.length===0)return;const o=JSON.stringify(t);o!==D&&(D=o,_.value=t.map(l=>{const r=kt(l.name);for(const[n,i]of Object.entries(l.cells))r.cells[n]={value:i.value,style:i.style??null};if(l.colWidths)for(const[n,i]of Object.entries(l.colWidths)){const u=Number(n);u>=0&&u<m&&i>=30&&(r.colWidths[u]=i)}if(l.rowHeights)for(const[n,i]of Object.entries(l.rowHeights)){const u=Number(n);u>=0&&u<s&&i>=24&&(r.rowHeights[u]=i)}return r}),_.value.length>0&&Ne(0),y())},{deep:!0}),e.onBeforeUnmount(()=>{se==null||se.disconnect()}),(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:"spreadsheet-outer",style:e.normalizeStyle(Or.value)},[e.createVNode(yn,{locale:c.value,"can-undo":Jn.value,"can-redo":Qn.value,"paint-fmt-active":Le.value!==null,"has-selection":er.value,"font-family-options":nr.value,"font-size-options":rr.value,"sel-font-family":ar.value,"sel-font-size":Be.value,"font-size-input":Me.value,"font-size-menu-open":We.value,"sel-font-weight":Ho.value,"sel-font-style":Ro.value,"sel-underline":Mo.value,"sel-strikethrough":No.value,"sel-text-color":Cr.value,"text-color-menu-open":_t.value,"sel-fill-color":xr.value,"fill-color-menu-open":Gt.value,"cached-text-color":ht.value,"cached-fill-color":vt.value,"border-menu-open":Fo.value,"cached-border":Pt.value,onUndo:o[0]||(o[0]=l=>Do()),onRedo:o[1]||(o[1]=l=>To()),onPaintFormat:tr,onClearFormat:o[2]||(o[2]=l=>lr()),onFontFamilyChange:o[3]||(o[3]=l=>ir(l)),onFontSizeInput:o[4]||(o[4]=l=>cr(l)),onFontSizeBlur:dr,onFontSizeKeydown:o[5]||(o[5]=l=>ur(l)),onFontSizeChange:o[6]||(o[6]=l=>sr(l)),"onUpdate:fontSizeMenuOpen":o[7]||(o[7]=l=>We.value=l),onFontSizeToggle:o[8]||(o[8]=l=>fr()),onFontSizeStepUp:mr,onFontSizeStepDown:pr,onBoldToggle:br,onItalicToggle:hr,onUnderlineToggle:vr,onStrikethroughToggle:gr,onTextColorChange:o[9]||(o[9]=l=>kr(l)),"onUpdate:textColorMenuOpen":o[10]||(o[10]=l=>_t.value=l),onFillColorChange:o[11]||(o[11]=l=>Er(l)),"onUpdate:fillColorMenuOpen":o[12]||(o[12]=l=>Gt.value=l),onApplyTextColor:wr,onApplyFillColor:Br,"onUpdate:borderMenuOpen":o[13]||(o[13]=l=>yr(l)),onBorderChange:o[14]||(o[14]=l=>Io(l)),onApplyBorder:Dr},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"]),e.createElementVNode("div",Fn,[e.createElementVNode("div",In,e.toDisplayString(_r.value),1),e.createElementVNode("input",{ref_key:"formulaBarRef",ref:Zt,class:"formula-bar__input",value:Gr.value,onFocus:Pr,onInput:Ur,onKeydown:Yr,onBlur:Kr},null,40,An)]),e.createElementVNode("div",{ref_key:"wrapperRef",ref:$e,class:"spreadsheet-wrapper"},[e.createElementVNode("canvas",{ref_key:"canvasRef",ref:pe,class:"grid-canvas",tabindex:"0",onMousedown:ba,onMousemove:ha,onMouseup:va,onMouseleave:ga,onDblclick:ka,onWheel:e.withModifiers(Ea,["prevent"]),onFocus:Wr,onKeydown:ll,onContextmenu:ya,onTouchstart:e.withModifiers(wa,["prevent"]),onTouchmove:e.withModifiers(Ba,["prevent"]),onTouchend:Ca},null,544),e.createElementVNode("input",{ref_key:"editInputRef",ref:jt,class:"cell-editor",value:L.value,style:e.normalizeStyle(sa.value),onInput:xa,onKeydown:Ta,onCompositionstart:Sa,onCompositionend:Da,onBlur:Ha},null,44,Vn),qe.value>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"v-scrollbar",style:e.normalizeStyle({top:e.unref(24)+"px",height:`calc(100% - ${e.unref(24)+e.unref(11)}px)`})},[e.createElementVNode("button",{class:"sb-btn sb-btn--up",title:e.unref(B)(c.value,"scrollUp"),onMousedown:o[15]||(o[15]=e.withModifiers(l=>{ee(null,R.value-50),y()},["prevent"]))},[...o[29]||(o[29]=[e.createElementVNode("span",{class:"sb-arrow sb-arrow--up"},null,-1)])],40,zn),e.createElementVNode("div",{class:"sb-track sb-track--v",onMousedown:ma},[e.createElementVNode("div",{class:"sb-thumb sb-thumb--v",style:e.normalizeStyle({top:oo.value+"px",height:xt.value+"px"}),onMousedown:ua},null,36)],32),e.createElementVNode("button",{class:"sb-btn sb-btn--down",title:e.unref(B)(c.value,"scrollDown"),onMousedown:o[16]||(o[16]=e.withModifiers(l=>{ee(null,R.value+50),y()},["prevent"]))},[...o[30]||(o[30]=[e.createElementVNode("span",{class:"sb-arrow sb-arrow--down"},null,-1)])],40,On)],4)):e.createCommentVNode("",!0),Ze.value>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:"h-scrollbar",style:e.normalizeStyle({left:e.unref(52)+"px",width:`calc(100% - ${e.unref(52)+e.unref(11)}px)`})},[e.createElementVNode("button",{class:"sb-btn sb-btn--left",title:e.unref(B)(c.value,"scrollLeft"),onMousedown:o[17]||(o[17]=e.withModifiers(l=>{ee(x.value-50,null),y()},["prevent"]))},[...o[31]||(o[31]=[e.createElementVNode("span",{class:"sb-arrow sb-arrow--left"},null,-1)])],40,Ln),e.createElementVNode("div",{class:"sb-track sb-track--h",onMousedown:pa},[e.createElementVNode("div",{class:"sb-thumb sb-thumb--h",style:e.normalizeStyle({left:to.value+"px",width:Ct.value+"px"}),onMousedown:fa},null,36)],32),e.createElementVNode("button",{class:"sb-btn sb-btn--right",title:e.unref(B)(c.value,"scrollRight"),onMousedown:o[18]||(o[18]=e.withModifiers(l=>{ee(x.value+50,null),y()},["prevent"]))},[...o[32]||(o[32]=[e.createElementVNode("span",{class:"sb-arrow sb-arrow--right"},null,-1)])],40,Wn)],4)):e.createCommentVNode("",!0),Ze.value>0&&qe.value>0?(e.openBlock(),e.createElementBlock("div",$n)):e.createCommentVNode("",!0)],512),e.createVNode(xn,{locale:c.value,sheets:_.value,"active-sheet-index":ne.value,"ren-tab":_e.value,"ren-tab-val":Je.value,onTabClick:o[19]||(o[19]=l=>Xr(l)),onTabDblclick:o[20]||(o[20]=l=>Go(l)),onTabContextmenu:o[21]||(o[21]=l=>Jr(l.ev,l.i)),onTabRenameInput:o[22]||(o[22]=l=>Je.value=l),onTabRenameKeydown:o[23]||(o[23]=l=>Zr(l)),onTabRenameCommit:Po,onTabbarContextmenu:o[24]||(o[24]=l=>Qr(l)),onAddSheet:o[25]||(o[25]=l=>{Kt(),y()})},null,8,["locale","sheets","active-sheet-index","ren-tab","ren-tab-val"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"menu-pop"},{default:e.withCtx(()=>[Ce.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"context-menu",style:e.normalizeStyle({left:Ce.value.x+"px",top:Ce.value.y+"px"}),onClick:o[26]||(o[26]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Ce.value.items,(l,r)=>(e.openBlock(),e.createElementBlock("div",{key:r,class:e.normalizeClass(["context-menu__item",{"context-menu__item--disabled":l.disabled}]),onClick:n=>!l.disabled&&l.action&&(l.action(),Ce.value=null),onMouseenter:n=>qr(n,l)},[e.createElementVNode("span",Gn,e.toDisplayString(l.label),1),l.children?(e.openBlock(),e.createElementBlock("span",Pn)):e.createCommentVNode("",!0),l.children?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["context-submenu",{"context-submenu--left":Et.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.children,(n,i)=>(e.openBlock(),e.createElementBlock("div",{key:i,class:e.normalizeClass(["context-menu__item",{"context-menu__item--disabled":n.disabled}]),onClick:e.withModifiers(u=>!n.disabled&&n.action&&(n.action(),Ce.value=null),["stop"])},e.toDisplayString(n.label),11,Un))),128))],2)):e.createCommentVNode("",!0)],42,_n))),128))],4)):e.createCommentVNode("",!0)]),_:1})])),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"menu-pop"},{default:e.withCtx(()=>[ae.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dim-panel",style:e.normalizeStyle({left:ae.value.x+"px",top:ae.value.y+"px"}),onMousedown:o[27]||(o[27]=e.withModifiers(()=>{},["stop"])),onClick:o[28]||(o[28]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Yn,e.toDisplayString(ae.value.type==="row"?e.unref(B)(c.value,"rowHeight"):e.unref(B)(c.value,"colWidth")),1),e.createElementVNode("div",Kn,[e.createElementVNode("input",{ref_key:"dimInputRef",ref:Yo,class:e.normalizeClass(["dim-panel__input",{"dim-panel__input--error":ae.value.error}]),type:"number",step:"1",min:"1",inputmode:"numeric",value:ae.value.value,onInput:na,onKeydown:ra},null,42,Xn),o[33]||(o[33]=e.createElementVNode("span",{class:"dim-panel__unit"},"px",-1))]),ae.value.error?(e.openBlock(),e.createElementBlock("div",jn,e.toDisplayString(ae.value.error),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Zn,[e.createElementVNode("button",{class:"dim-panel__btn dim-panel__btn--primary",onClick:jo},e.toDisplayString(e.unref(B)(c.value,"ok")),1),e.createElementVNode("button",{class:"dim-panel__btn",onClick:Jt},e.toDisplayString(e.unref(B)(c.value,"cancel")),1)])],36)):e.createCommentVNode("",!0)]),_:1})]))],4))}}),[["__scopeId","data-v-59bd8e5f"]]);De.Spreader=Co,De.default=Co,Object.defineProperties(De,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
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 C;return((C=El[e])==null?void 0:C[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 C=e,n=v,u=t.ref(!1),k=t.ref(0),i=t.ref(null),I=t.ref(null),p=t.ref(null),q=t.ref({top:0,up:!1}),Y=t.ref(0),y=t.ref(!1),le=t.computed(()=>C.options.find(ie=>String(ie.value)===String(C.modelValue))),A=t.computed(()=>C.menuWidth),m=t.computed(()=>Math.min(C.visibleCount,C.options.length)),ge=t.computed(()=>C.options.slice(k.value,k.value+m.value)),fe=t.computed(()=>k.value>0),we=t.computed(()=>k.value+m.value<C.options.length),G=t.computed(()=>C.options.length>m.value);function U(ie){k.value=Math.max(0,Math.min(C.options.length-m.value,k.value+ie))}function me(){u.value=!0,C.modelOpen!==void 0&&n("update:modelOpen",!0);const ie=C.triggerEl??i.value;if(!ie)return;const r=ie.getBoundingClientRect(),f=m.value*22+(G.value?2*15:0)+8,o=window.innerHeight-r.bottom-4<f&&r.top-4>f;C.align==="right"?q.value={right:window.innerWidth-r.right,top:o?r.top-f-4:r.bottom+4,up:o}:q.value={left:r.left,top:o?r.top-f-4:r.bottom+4,up:o};const a=C.options.findIndex(O=>String(O.value)===String(C.modelValue));k.value=a>=0?Math.max(0,Math.min(a-Math.floor(m.value/2),C.options.length-m.value)):0}function M(){u.value=!1,C.modelOpen!==void 0&&n("update:modelOpen",!1)}function P(){u.value?M():me()}function be(ie){n("update:modelValue",ie.value),n("change",ie.value),M()}function ye(ie){var f,w;if(!u.value)return;const r=ie.target;(f=i.value)!=null&&f.contains(r)||(w=p.value)!=null&&w.contains(r)||M()}function J(ie){u.value&&(ie.preventDefault(),U(ie.deltaY>0?1:-1))}t.watch(u,ie=>{t.nextTick(()=>{var r,f;ie?(r=I.value)==null||r.addEventListener("wheel",J,{passive:!1}):(f=I.value)==null||f.removeEventListener("wheel",J)})}),t.watch(()=>C.modelOpen,ie=>{ie!==void 0&&ie!==u.value&&(ie?me():M())});function s(ie){u.value&&(Y.value=ie.touches[0].clientY,y.value=!0)}function h(ie){if(!u.value||!y.value)return;const r=ie.touches[0].clientY-Y.value;Math.abs(r)>5&&(U(r<0?1:-1),Y.value=ie.touches[0].clientY)}function De(){y.value=!1}function xe(ie){ie.key==="Escape"&&M()}return t.onMounted(()=>{document.addEventListener("mousedown",ye),window.addEventListener("resize",M),window.addEventListener("scroll",M,!0)}),t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",ye),window.removeEventListener("resize",M),window.removeEventListener("scroll",M,!0)}),(ie,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=le.value)!=null&&f.icon?(t.openBlock(),t.createElementBlock("span",{key:0,class:"sp-dropdown__icon",innerHTML:le.value.icon},null,8,Ol)):(t.openBlock(),t.createElementBlock("span",Vl,t.toDisplayString(((w=le.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:p,class:t.normalizeClass(["sp-dropdown__menu",{"sp-dropdown__menu--up":q.value.up}]),style:t.normalizeStyle({left:q.value.left!==void 0?q.value.left+"px":void 0,right:q.value.right!==void 0?q.value.right+"px":void 0,top:q.value.top+"px",minWidth:A.value!==void 0?typeof A.value=="number"?A.value+"px":A.value:void 0}),onKeydown:xe},[G.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["sp-dropdown__nav",{"sp-dropdown__nav--disabled":!fe.value}]),disabled:!fe.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:h,onTouchend:De},[(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 C=e.__vccOpts||e;for(const[n,u]of v)C[n]=u;return C},_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:C}){const n=e,u=C,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 p(G){return $(n.locale,G)}function q(G){const U=n.currentColor;return!U&&!G?!0:U?U.toLowerCase()===G.toLowerCase():!1}const Y=t.ref(!1),y=t.ref(null),le=t.ref(null),A=t.ref({top:0});t.watch(()=>n.modelOpen,G=>{G!==void 0&&G!==Y.value&&(G?ge():fe())});function m(G){const U=y.value,me=le.value,M=G.target;U&&U.contains(M)||me&&me.contains(M)||fe()}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(),me=150,M=120;let P=window.innerWidth-U.right,be=U.bottom+4,ye;U.left-M<4&&(P=void 0,ye=Math.max(4,U.left)),be+me>window.innerHeight-4&&(be=U.top-me-4),be<4&&(be=4),A.value=P!==void 0?{right:P,top:be}:{left:ye,top:be}}document.addEventListener("mousedown",m)})}function fe(){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),fe()}return t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",m)}),v({open:Y,openMenu:ge,close:fe}),(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:le,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,(me,M)=>(t.openBlock(),t.createElementBlock("div",{key:M,class:"color-picker__row"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(me,P=>(t.openBlock(),t.createElementBlock("button",{key:P.value,class:t.normalizeClass(["color-picker__swatch",{"color-picker__swatch--selected":q(P.value)}]),title:p(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:C}){const n=e,u=C,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"]},p={bottom:[],top:[],left:[],right:[],none:[],all:[],outer:[],thickOuter:["top","bottom","left","right"]};function q(G,U){return p[G].includes(U)?"thick":I[G].includes(U)?"solid":"dashed"}const Y=t.ref(!1),y=t.ref(null),le=t.ref(null),A=t.ref({top:0});t.watch(()=>n.modelOpen,G=>{G!==void 0&&G!==Y.value&&(G?ge():fe())});function m(G){const U=y.value,me=le.value,M=G.target;U&&U.contains(M)||me&&me.contains(M)||fe()}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(),me=200,M=160;let P=window.innerWidth-U.right,be=U.bottom+4,ye;U.left-M<4&&(P=void 0,ye=Math.max(4,U.left)),be+me>window.innerHeight-4&&(be=U.top-me-4),be<4&&(be=4),A.value=P!==void 0?{right:P,top:be}:{left:ye,top:be}}document.addEventListener("mousedown",m)})}function fe(){Y.value=!1,n.modelOpen!==void 0&&u("update:modelOpen",!1),document.removeEventListener("mousedown",m)}function we(G){u("change",G),fe()}return t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",m)}),v({open:Y,openMenu:ge,close:fe}),(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:le,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,me=>t.createElementVNode("button",{key:me.key,class:"border-picker__item",title:t.unref($)(e.locale,me.i18nKey),onClick:M=>we(me.key)},[(t.openBlock(),t.createElementBlock("svg",Yl,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,M=>t.createElementVNode("line",{key:M.name,x1:M.x1,y1:M.y1,x2:M.x2,y2:M.y2,stroke:"currentColor","stroke-width":q(me.key,M.name)==="thick"?3:1.5,"stroke-dasharray":q(me.key,M.name)==="dashed"?"0 4":"none","stroke-linecap":q(me.key,M.name)==="dashed"?"round":"square"},null,8,Xl)),64))])),t.createElementVNode("span",jl,t.toDisplayString(t.unref($)(e.locale,me.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:C}){const n=e,u=C,k=t.ref(!1),i=t.ref(null),I=t.ref(null),p=t.ref({top:0});t.watch(()=>n.modelOpen,A=>{A!==void 0&&A!==k.value&&(A?Y():y())});function q(A){const m=i.value,ge=I.value,fe=A.target;m&&m.contains(fe)||ge&&ge.contains(fe)||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,fe=160;let we=window.innerWidth-m.right,G=m.bottom+4,U;m.left-fe<4&&(we=void 0,U=Math.max(4,m.left)),G+ge>window.innerHeight-4&&(G=m.top-ge-4),G<4&&(G=4),p.value=we!==void 0?{right:we,top:G}:{left:U,top:G}}document.addEventListener("mousedown",q)})}function y(){k.value=!1,n.modelOpen!==void 0&&u("update:modelOpen",!1),document.removeEventListener("mousedown",q)}function le(A){u("change",A),y()}return t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",q)}),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:p.value.left!==void 0?p.value.left+"px":void 0,right:p.value.right!==void 0?p.value.right+"px":void 0,top:p.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:fe=>le(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 C=[{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),p=t.ref(null),q=t.ref(null),Y=t.ref(null),y=t.ref(null),le=t.ref(null),A=t.ref(null),m=t.ref(null),ge=t.ref(new Set),fe=t.ref(!1),we=t.ref(!1),G=t.ref(0),U=new Map,me=t.computed(()=>ge.value.size>0);function M(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 D=0;for(let V=0;V<i.length;V++){const ne=i[V],ve=(U.get(ne)??0)+Jt;if(D+ve>O){for(let Re=V;Re<i.length;Re++)a.add(i[Re]);break}D+=ve}}be(a,ge.value)||(ge.value=a,G.value++,a.size===0&&(fe.value=!1))}let J=null;const s=t.ref(0),h=t.computed(()=>{const w=q.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 De(){fe.value&&(s.value++,t.nextTick(()=>ye()))}function xe(w){var a,O;if(!fe.value)return;const o=w.target;(a=p.value)!=null&&a.contains(o)||(O=q.value)!=null&&O.contains(o)||(we.value=!0,fe.value=!1,t.nextTick(()=>{we.value=!1}))}function ie(){fe.value=!fe.value}t.onMounted(()=>{t.nextTick(()=>{P(),ye()}),I.value&&(J=new ResizeObserver(()=>{fe.value||ye()}),J.observe(I.value)),document.addEventListener("mousedown",xe,!0),window.addEventListener("resize",De)}),t.onBeforeUnmount(()=>{J==null||J.disconnect(),document.removeEventListener("mousedown",xe,!0),window.removeEventListener("resize",De)});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:!M("undo"),to:p.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:!M("redo"),to:p.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:!M("paint"),to:p.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:!M("clear"),to:p.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:!M("sep1"),to:p.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:!M("font"),to:p.value??void 0},[t.createElementVNode("div",so,[t.createVNode(_t,{class:"toolbar-font","model-value":e.selFontFamily,options:e.fontFamilyOptions,width:M("font")?"100%":110,"menu-width":M("font")?120:void 0,"visible-count":8,title:t.unref($)(e.locale,"fontFamily"),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:!M("fontSize"),to:p.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:M("fontSize")?"100%":56,"menu-width":M("fontSize")?120:56,"visible-count":9,title:t.unref($)(e.locale,"fontSize"),"hide-trigger":!0,"model-open":e.fontSizeMenuOpen,"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:!M("sep2"),to:p.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:!M("bold"),to:p.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:!M("italic"),to:p.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:!M("underline"),to:p.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:!M("strike"),to:p.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:!M("sep3"),to:p.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:!M("textColor"),to:p.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:!M("fillColor"),to:p.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:!M("border"),to:p.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(C,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:le,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":le.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:!M("sep4"),to:p.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:!M("hAlign"),to:p.value??void 0},[t.createElementVNode("div",Go,[t.createVNode(_t,{class:"toolbar-align","model-value":e.selHAlign,options:e.hAlignOptions,width:M("hAlign")?"100%":44,"menu-width":M("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:!M("vAlign"),to:p.value??void 0},[t.createElementVNode("div",Ko,[t.createVNode(_t,{class:"toolbar-align","model-value":e.selVAlign,options:e.vAlignOptions,width:M("vAlign")?"100%":44,"menu-width":M("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:!M("merge"),to:p.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"])),me.value?(t.openBlock(),t.createElementBlock("button",{key:0,ref_key:"moreBtnEl",ref:q,class:t.normalizeClass(["toolbar-more",{"toolbar-more--active":fe.value}]),type:"button",onClick:ie},[...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:p,key:G.value,class:t.normalizeClass(["overflow-menu",{"no-anim":we.value}]),style:t.normalizeStyle(h.value)},null,6)),[[t.vShow,fe.value]])]),_:1})]))],64))}}),[["__scopeId","data-v-c472a142"]]),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 C=v;return(n,u)=>(t.openBlock(),t.createElementBlock("div",{class:"tab-bar",onContextmenu:u[5]||(u[5]=k=>C("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=>C("tab-click",i),onDblclick:t.withModifiers(I=>C("tab-dblclick",i),["prevent"]),onContextmenu:I=>C("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=>C("tab-rename-input",I.target.value)),onKeydown:u[1]||(u[1]=I=>C("tab-rename-keydown",I)),onBlur:u[2]||(u[2]=I=>C("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=>C("add-sheet"))}," + ",8,nn)],32))}}),[["__scopeId","data-v-454e1a12"]]);function Je(e){let v="",C=e;do v=String.fromCharCode(65+C%26)+v,C=Math.floor(C/26)-1;while(C>=0);return v}function Qt(e){let v=0;for(let C=0;C<e.length;C++)v=v*26+(e.toUpperCase().charCodeAt(C)-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,C){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>=C?null:{col:u,row:k}}function pt(e,v){if(!v)return{x:0,y:0};const C=v.getBoundingClientRect();return{x:e.clientX-C.left,y:e.clientY-C.top}}function an(e,v,C){const n=e.split(":");if(n.length!==2)return null;const u=Gt(n[0],v,C),k=Gt(n[1],v,C);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,C,n,u){const k=C[bt(e,v)];if(!k)return 0;const i=k.value;if(i.startsWith("="))return ul(bt(e,v),C,n,u)??0;const I=parseFloat(i);return isNaN(I)?0:I}const yt=new Map;function tl(){yt.clear()}function ul(e,v,C,n){return sn(e,v,C,n)}function sn(e,v,C,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 q=parseFloat(i),Y=isNaN(q)?0:q;return yt.set(e,Y),Y}const I=i.slice(1).trim();if(I.toUpperCase().startsWith("SUM(")&&I.endsWith(")")){const q=I.slice(4,-1).trim(),Y=an(q,C,n);if(Y){let y=0;for(let le=Y.sc;le<=Y.ec;le++)for(let A=Y.sr;A<=Y.er;A++)y+=cn(le,A,v,C,n);return isNaN(y)?NaN:(yt.set(e,y),y)}return NaN}return NaN}function ll(e,v,C){const n=[],u=/(\$?[A-Z]+\$?\d+)(?::(\$?[A-Z]+\$?\d+))?/gi;let k;for(;(k=u.exec(e))!==null;){const i=Gt(k[1],v,C);if(i)if(k[2]){const I=Gt(k[2],v,C);if(!I)continue;for(let p=Math.min(i.col,I.col);p<=Math.max(i.col,I.col);p++)for(let q=Math.min(i.row,I.row);q<=Math.max(i.row,I.row);q++)n.push(bt(p,q))}else n.push(bt(i.col,i.row))}return n}function dn(e,v,C,n,u){const k=C[bt(e,v)];if(!k)return"";const i=k.value;if(!i.startsWith("="))return i;const I=ul(bt(e,v),C,n,u);return isNaN(I)?"#ERROR":String(I)}function un(e,v,C,n,u,k){return v===0&&C===0?e:e.replace(/(\$?)([A-Z]+)(\$?)(\d+)/gi,(i,I,p,q,Y)=>{const y=I?Qt(p):Qt(p)+v,le=q?parseInt(Y,10)-1:parseInt(Y,10)-1+C;let A;y<0?A="A":y>=n?A=k(n-1):A=k(y);let m;return le<0?m="1":le>=u?m=String(u):m=String(le+1),(I||"")+A+(q||"")+m})}class fn{constructor(){this.deps=new Map,this.rev=new Map,this.dirty=new Set}clear(v){var n;const C=this.deps.get(v);if(C){for(const u of C)(n=this.rev.get(u))==null||n.delete(v);this.deps.delete(v)}}set(v,C){if(this.clear(v),C.length!==0){this.deps.set(v,C);for(const n of C)this.rev.has(n)||this.rev.set(n,new Set),this.rev.get(n).add(v)}}markDirty(v){const C=[v];for(;C.length>0;){const n=C.pop(),u=this.rev.get(n);if(u)for(const k of u)this.dirty.has(k)||(this.dirty.add(k),C.push(k))}}getDirtyAndClear(){const v=this.dirty;return this.dirty=new Set,v}rebuild(v,C,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),C,n);this.set(u,i)}}}function mn(e,v){const C={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},n=t.computed(()=>C.locale==="zh-CN"?"zh-CN":"en-US"),u=C.colCount,k=C.rowCount,i=t.reactive({}),I=t.reactive({}),p=new fn,q=t.ref(null),Y=t.ref({col:0,row:0}),y=t.ref(null),le=t.ref(""),A=t.ref(new Array(u).fill(100)),m=t.ref(new Array(k).fill(void 0)),ge=t.ref(0),fe=t.ref(0),we=(24-at)/2,G=new Map;let U=null;function me(E,B,R,K){const X=`${K} ${R} ${B}px ${E}`,oe=G.get(X);if(oe)return oe;U||(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,re=L||B*.2,ce=Math.max(W,B*.5),ee=Math.max(re,B*.15),pe={ascent:ce,descent:ee};return G.set(X,pe),pe}let M=(E,B)=>`${E},${B}`,P=()=>null,be=()=>at,ye=t.computed(()=>[0]),J=()=>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 h(E,B){var c;const R=(c=i[M(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,oe=(R==null?void 0:R.fontWeight)==="bold"?"bold":"normal",de=(R==null?void 0:R.fontStyle)==="italic"?"italic":"normal";return me(X,K,oe,de)}function De(E,B,R,K){if(!B)return[""];const X=B.split(`
|
|
2
|
+
`),oe=[];for(const de of X)if(!K||R<=0)oe.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?(oe.push(c),c=L):c=W}oe.push(c)}return oe}function xe(E,B){var K;const R=(K=i[M(E,B)])==null?void 0:K.style;return typeof(R==null?void 0:R.fontSize)=="number"&&R.fontSize>0?R.fontSize:at}be=xe;const ie=t.computed(()=>{const E=[0];for(let B=0;B<u;B++)E.push(E[B]+A.value[B]);return E});ye=ie;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,oe=1;const de=U?U.getContext("2d"):null;for(let re=0;re<u;re++){const ce=xe(re,E),ee=(W=i[M(re,E)])==null?void 0:W.style,pe=typeof(ee==null?void 0:ee.fontFamily)=="string"&&ee.fontFamily?ee.fontFamily:$t,Ae=(ee==null?void 0:ee.fontWeight)==="bold"?"bold":"normal",$e=(ee==null?void 0:ee.fontStyle)==="italic"?"italic":"normal",Fe=ue(re,E);if(Fe&&de){de.font=`${$e} ${Ae} ${ce}px ${pe}`;const We=Fe.split(`
|
|
3
|
+
`)[0]||Fe,Ue=de.measureText(We),et=Ue.actualBoundingBoxAscent,Ft=Ue.actualBoundingBoxDescent,Kt=et||ce*.8,Ut=Ft||ce*.2,Pt=Math.max(Kt,ce*.5),Yt=Math.max(Ut,ce*.15);Pt>K&&(K=Pt),Yt>X&&(X=Yt),ce>R&&(R=ce);const ol=(ee==null?void 0:ee.wrap)==="wrap";let dt;if(ol){const wt=P(re,E);let Nt;wt&&re===wt.range.startCol&&E===wt.range.startRow?Nt=ye.value[wt.range.endCol+1]-ye.value[re]:Nt=A.value[re],dt=De(de,Fe,Math.max(0,Nt-10),!0).length,dt>oe&&(oe=dt)}else dt=Fe.split(`
|
|
4
|
+
`).length,dt>oe&&(oe=dt)}else if(ce>R){R=ce;const We=me(pe,ce,Ae,$e);We.ascent>K&&(K=We.ascent),We.descent>X&&(X=We.descent)}}const c=R,b=we*2+oe*c;return Math.min(500,Math.max(24,Math.round(b)))}J=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]+J(B));return E}),O=t.computed(()=>ie.value[u]),D=t.computed(()=>a.value[k]);function V(E,B){return`${E},${B}`}M=V;function ne(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},q.value={...R.range}):(Y.value={col:E,row:B},q.value={startCol:E,startRow:B,endCol:E,endRow:B})}function Re(E,B,R,K){const X=P(E,B);Y.value=X?{col:X.range.startCol,row:X.range.startRow}:{col:E,row:B},q.value=s(E,B,R,K)}function He(){Re(0,0,u-1,k-1)}function Le(E,B){const R=q.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 Ve(E,B){return I[V(E,B)]!==void 0}function x(E,B){const R=P(E,B);if(R&&E===R.range.startCol&&B===R.range.startRow){const K=ie.value[R.range.endCol+1]-ie.value[E],X=a.value[R.range.endRow+1]-a.value[B];return{w:K,h:X}}return{w:A.value[E],h:J(B)}}function F(E,B,R,K){let X=Math.min(E,R),oe=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<=oe&&W.endCol>=X&&W.startRow<=c&&W.endRow>=de&&(W.startCol<X&&(X=W.startCol,b=!0),W.endCol>oe&&(oe=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:oe,endRow:c}}s=F;let _=()=>{};function Q(E,B){var R;return((R=i[V(E,B)])==null?void 0:R.value)??""}function ue(E,B){return tl(),dn(E,B,i,u,k)}function z(E,B,R){var de;const K=V(E,B);if(tl(),R===""||R==null){p.clear(K),ne(K),p.markDirty(K);return}const X=String(R),oe=((de=i[K])==null?void 0:de.style)??null;i[K]={value:X,style:oe},X.startsWith("=")?p.set(K,ll(X.slice(1),u,k)):p.clear(K),p.markDirty(K)}function se(E,B,R,K){for(let X=E;X<=B;X++)for(let oe=R;oe<=K;oe++){const de=V(X,oe);p.clear(de),ne(de),p.markDirty(de),_(X,oe)}}let ke=()=>{};function Te(E){y.value||(y.value={...Y.value},le.value=E??Q(Y.value.col,Y.value.row))}function Qe(){y.value&&(ke(),z(y.value.col,y.value.row,le.value),y.value=null,le.value="")}function lt(){y.value=null,le.value=""}function ze(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 oe=P(R.col,R.row),de=P(K,X);oe&&de&&oe.anchor===de.anchor&&(E>0?K=oe.range.endCol+1:E<0&&(K=oe.range.startCol-1),B>0?X=oe.range.endRow+1:B<0&&(X=oe.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=ie.value[E],oe=a.value[B],de=P(E,B),c=de?ie.value[de.range.endCol+1]-ie.value[E]:A.value[E],b=de?a.value[de.range.endRow+1]-a.value[B]:J(B);let L=ge.value,W=fe.value;X<L?L=X:X+c>L+R&&(L=X+c-R),oe<W?W=oe:oe+b>W+K&&(W=oe+b-K),f(L,W)}function st(E){const B=ie.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:C,locale:n,colCount:u,rowCount:k,cells:i,merges:I,formulaDeps:p,selection:q,activeCell:Y,editingCell:y,editValue:le,colWidths:A,rowHeights:m,scrollX:ge,scrollY:fe,BASE_CELL_VPAD:we,fontMetricsCache:G,fontMetricsCanvas:U,measureFontMetrics:me,_getFontMetricsForCell:h,getWrappedLines:De,cellFontSize:xe,colPositions:ie,getRowHeight:w,_isAutoRow:o,rowPositions:a,totalWidth:O,totalHeight:D,selectCell:ve,selectRange:Re,selectAll:He,isSelected:Le,cellKey:V,delCell:ne,findMerge:he,_isMergeAnchor:Ve,_mergedSpan:x,expandSelectionForMerges:F,getCellRaw:Q,getCellValue:ue,setCellValue:z,clearCellsInRange:se,startEdit:Te,commitEdit:Qe,cancelEdit:lt,moveActive:ze,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 C=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=C.value[C.value.length-1];b&&JSON.stringify(b)===JSON.stringify(c)||(C.value.push(c),n.value=[],C.value.length>50&&C.value.shift())}e.saveUndo=I;function p(){var c;C.value.length&&(n.value.push(k()),i(C.value.pop()),(c=e.scheduleRender)==null||c.call(e),t.nextTick(()=>{var b;return(b=e.emitModelData)==null?void 0:b.call(e)}))}function q(){var c;n.value.length&&(C.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(()=>C.value.length>0),y=t.computed(()=>n.value.length>0),le=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 re=c.startRow;re<=c.endRow;re++)b[`${W-c.startCol},${re-c.startRow}`]=((L=e.cells[e.cellKey(W,re)])==null?void 0:L.style)??null;A.value={styles:b}}function ge(){var L,W,re,ce;const c=A.value,b=e.selection.value;if(!(!c||!b)){I();for(let ee=b.startCol;ee<=b.endCol;ee++)for(let pe=b.startRow;pe<=b.endRow;pe++){const Ae=e.findMerge(ee,pe);if(Ae&&(ee!==Ae.range.startCol||pe!==Ae.range.startRow))continue;const $e=c.styles[`${ee-b.startCol},${pe-b.startRow}`]??null,Fe=e.cellKey(ee,pe),We=((L=e.cells[Fe])==null?void 0:L.value)??"";We===""&&$e===null?e.delCell(Fe):e.cells[Fe]={value:We,style:$e},(W=e.syncCellBorders)==null||W.call(e,ee,pe)}A.value=null,(re=e.scheduleRender)==null||re.call(e),(ce=e.emitModelData)==null||ce.call(e)}}function fe(){var b,L,W,re;const c=e.selection.value;if(c){I();for(let ce=c.startCol;ce<=c.endCol;ce++)for(let ee=c.startRow;ee<=c.endRow;ee++){const pe=e.findMerge(ce,ee);if(pe&&(ce!==pe.range.startCol||ee!==pe.range.startRow))continue;const Ae=e.cellKey(ce,ee),$e=((b=e.cells[Ae])==null?void 0:b.value)??"";$e===""?e.delCell(Ae):e.cells[Ae]={value:$e,style:null},(L=e.syncCellBorders)==null||L.call(e,ce,ee)}(W=e.scheduleRender)==null||W.call(e),(re=e.emitModelData)==null||re.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",me=t.computed(()=>{var W;const c=e.selection.value;if(!c)return"";let b,L=!1;for(let re=c.startCol;re<=c.endCol&&!L;re++)for(let ce=c.startRow;ce<=c.endRow&&!L;ce++){const ee=(W=e.cells[e.cellKey(re,ce)])==null?void 0:W.style,pe=typeof(ee==null?void 0:ee.fontFamily)=="string"?ee.fontFamily:"";b===void 0?b=pe:pe!==b&&(L=!0)}return L?U:b??""}),M=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 re=c.startRow;re<=c.endRow&&!L;re++){const ce=e.cellFontSize(W,re);b===void 0?b=ce:ce!==b&&(L=!0)}return L?0:b??at});function P(c,b){var W,re,ce,ee;const L=e.selection.value;if(L){I();for(let pe=L.startCol;pe<=L.endCol;pe++)for(let Ae=L.startRow;Ae<=L.endRow;Ae++){const $e=e.findMerge(pe,Ae);if($e&&(pe!==$e.range.startCol||Ae!==$e.range.startRow))continue;const Fe=e.cellKey(pe,Ae),We=((W=e.cells[Fe])==null?void 0:W.value)??"",Ue=(re=e.cells[Fe])!=null&&re.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;We===""&&et===null?e.delCell(Fe):e.cells[Fe]={value:We,style:et}}(ce=e.scheduleRender)==null||ce.call(e),(ee=e.emitModelData)==null||ee.call(e)}}function be(c){P("fontFamily",c===""?"":c)}const ye=t.ref(!1),J=t.ref(!1),s=t.ref(!1),h=t.ref(!1),De=t.ref(!1);function xe(c){P("fontSize",c),ye.value=!1}const ie=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 D(){if(!e.selection.value)return;const b=o.value;P("wrap",b?void 0:"wrap")}const V=t.ref(""),ne=ye;t.watch(M,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!==M.value&&P("fontSize",L)}function Re(){const c=V.value.trim();if(!c){V.value=M.value===0?"":String(M.value);return}let b=parseInt(c,10);isNaN(b)?b=M.value===0?at:M.value:b=Math.max(5,Math.min(72,b)),V.value=String(b),b!==M.value&&P("fontSize",b)}function He(c){c.key==="Enter"&&c.target.blur()}function Le(c){c&&c.preventDefault(),ne.value=!ne.value,ne.value&&(s&&(s.value=!1),J&&(J.value=!1),h.value=!1,De.value=!1)}function he(){const c=M.value===0?at:M.value,b=Math.min(72,c+1);P("fontSize",b),V.value=String(b),ne.value=!1}function Ve(){const c=M.value===0?at:M.value,b=Math.max(5,c-1);P("fontSize",b),V.value=String(b),ne.value=!1}function x(c){var re;const b=e.selection.value;if(!b)return!1;let L,W=!1;for(let ce=b.startCol;ce<=b.endCol&&!W;ce++)for(let ee=b.startRow;ee<=b.endRow&&!W;ee++){const pe=(re=e.cells[e.cellKey(ce,ee)])==null?void 0:re.style,Ae=!!(pe!=null&&pe[c]);L===void 0?L=Ae:Ae!==L&&(W=!0)}return!W&&L===!0}const F=t.computed(()=>x("fontWeight")),_=t.computed(()=>x("fontStyle")),Q=t.computed(()=>x("underline")),ue=t.computed(()=>x("strikethrough"));function z(){P("fontWeight",F.value?"":"bold")}function se(){P("fontStyle",_.value?"":"italic")}function ke(){P("underline",Q.value?"":"underline")}function Te(){P("strikethrough",ue.value?"":"line-through")}const Qe=t.ref(""),lt=t.ref(""),ze=h,Xe=De;function st(){ze.value=!ze.value,Xe.value=!1,J&&(J.value=!1),s&&(s.value=!1)}function At(){Xe.value=!Xe.value,ze.value=!1,J&&(J.value=!1),s&&(s.value=!1)}function Ke(c){J&&(J.value=c),c&&(ze.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 re=c.startCol;re<=c.endCol&&!L;re++)for(let ce=c.startRow;ce<=c.endRow&&!L;ce++){const ee=(W=e.cells[e.cellKey(re,ce)])==null?void 0:W.style,pe=typeof(ee==null?void 0:ee.color)=="string"?ee.color:"";b===void 0?b=pe:pe!==b&&(L=!0)}return L?"":b??""}),oe=t.computed(()=>{var W;const c=e.selection.value;if(!c)return"";let b,L=!1;for(let re=c.startCol;re<=c.endCol&&!L;re++)for(let ce=c.startRow;ce<=c.endRow&&!L;ce++){const ee=(W=e.cells[e.cellKey(re,ce)])==null?void 0:W.style,pe=typeof(ee==null?void 0:ee.backgroundColor)=="string"?ee.backgroundColor:"";b===void 0?b=pe:pe!==b&&(L=!0)}return L?"":b??""});return{undoStack:C,redoStack:n,cloneCells:u,takeSnap:k,restoreSnap:i,saveUndo:I,undo:p,redo:q,canUndo:Y,canRedo:y,hasSelection:le,paintFmt:A,onPaintFormat:m,applyPaintFormat:ge,clearFormat:fe,fontFamilyOptions:we,fontSizeOptions:G,FONT_FAMILY_MIXED:U,selFontFamily:me,selFontSize:M,applyStyleToSelection:P,onFontFamilyChange:be,onFontSizeChange:xe,hAlignOptions:ie,vAlignOptions:r,selHAlign:f,selVAlign:w,selWrap:o,onHAlignChange:a,onVAlignChange:O,onWrapToggle:D,fontSizeInput:V,fontSizeMenuOpen:ne,onFontSizeInput:ve,onFontSizeBlur:Re,onFontSizeKeydown:He,toggleFontSizeMenu:Le,onFontSizeStepUp:he,onFontSizeStepDown:Ve,selFontWeight:F,selFontStyle:_,selUnderline:Q,selStrikethrough:ue,toggleFontWeight:z,toggleFontStyle:se,toggleUnderline:ke,toggleStrikethrough:Te,cachedTextColor:Qe,cachedFillColor:lt,textColorMenuOpen:ze,fillColorMenuOpen:Xe,_toggleTextColorMenu:st,_toggleFillColorMenu:At,onBorderMenuToggle:Ke,onTextColorChange:E,onFillColorChange:B,applyCachedTextColor:R,applyCachedFillColor:K,selTextColor:X,selFillColor:oe}}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 C=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,D=a?a.range.endRow:w,V=a?a.range.startCol:f,ve=(a?a.range.startRow:w)===o.startRow,Re=D===o.endRow,He=V===o.startCol,Le=O===o.endCol,he={top:0,bottom:0,left:0,right:0};switch(r){case"none":return he;case"bottom":Re&&(he.bottom=1);break;case"top":ve&&(he.top=1);break;case"left":He&&(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),Re&&(he.bottom=1),He&&(he.left=1),Le&&(he.right=1);break;case"thickOuter":ve&&(he.top=2),Re&&(he.bottom=2),He&&(he.left=2),Le&&(he.right=2);break}return he}function i(r,f,w,o,a){var he,Ve;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 D=O?O.anchor:e.cellKey(r,f),V=((he=e.cells[D])==null?void 0:he.value)??"",ne=(Ve=e.cells[D])!=null&&Ve.style?{...e.cells[D].style}:{},ve=`border${w}Width`;o===0?a&&Reflect.deleteProperty(ne,ve):(ne[ve]=o,ne.borderColor=u),["Top","Bottom","Left","Right"].some(x=>ne[`border${x}Width`]!==void 0)||Reflect.deleteProperty(ne,"borderColor");const Le=Object.keys(ne).length?ne:null;V===""&&Le===null?e.delCell(D):e.cells[D]={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,D=(a==null?void 0:a.borderBottomWidth)||0,V=(a==null?void 0:a.borderLeftWidth)||0,ne=(a==null?void 0:a.borderRightWidth)||0;i(r,f-1,"Bottom",O,!0),i(r,f+1,"Top",D,!0),i(r-1,f,"Right",V,!0),i(r+1,f,"Left",ne,!0)}e.syncCellBorders=I;function p(r,f,w,o=!0){var He,Le;const a=e.cellKey(r,f),O=((He=e.cells[a])==null?void 0:He.value)??"",D=(Le=e.cells[a])!=null&&Le.style?{...e.cells[a].style}:{},V=["Top","Bottom","Left","Right"],ne=[w.top,w.bottom,w.left,w.right];for(let he=0;he<4;he++){const Ve=`border${V[he]}Width`;ne[he]===0?o&&Reflect.deleteProperty(D,Ve):(D[Ve]=ne[he],D.borderColor=u)}V.some(he=>D[`border${he}Width`]!==void 0)||Reflect.deleteProperty(D,"borderColor");const Re=Object.keys(D).length?D:null;O===""&&Re===null?e.delCell(a):e.cells[a]={value:O,style:Re},I(r,f)}function q(r){var w,o;C.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 D=e.findMerge(a,O);D&&(a!==D.range.startCol||O!==D.range.startRow)||p(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 D=e.findMerge(a,O);if(D&&(a!==D.range.startCol||O!==D.range.startRow))continue;const V=k(r,a,O,f);p(a,O,V,!1)}(w=e.scheduleRender)==null||w.call(e),(o=e.emitModelData)==null||o.call(e)}}function Y(){q(C.value)}function y(r,f,w){var O,D;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=(D=e.cells[e.cellKey(r,f)])==null?void 0:D.style;return(a==null?void 0:a[`border${w}Width`])||0}const le=t.ref(!1);function A(r){le.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 D=e.merges[O];D&&D.startCol<=w&&D.endCol>=r&&D.startRow<=o&&D.endRow>=f&&a.push(O)}for(const O of a)Reflect.deleteProperty(e.merges,O)}function ge(){var a,O,D,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 ne=r.startCol;ne<=r.endCol;ne++)for(let ve=r.startRow;ve<=r.endRow;ve++)ne===r.startCol&&ve===r.startRow||e.clearCellsInRange(ne,ne,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),(D=e.scheduleRender)==null||D.call(e),(V=e.emitModelData)==null||V.call(e)}function fe(){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 D=r.startCol+1;D<=r.endCol;D++)e.clearCellsInRange(D,D,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 D=r.startRow;D<=r.endRow;D++)O===r.startCol&&D===r.startRow||e.clearCellsInRange(O,O,D,D);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 me(r){switch(r){case"mergeCenter":ge();break;case"mergeAcross":fe();break;case"mergeCells":we();break;case"unmergeCells":G();break}}let M=null,P=[];function be(r,f,w,o){var a;P=[];for(let O=w;O<=o;O++){const D=[];for(let V=r;V<=f;V++){const ne=(a=e.cells[e.cellKey(V,O)])==null?void 0:a.style;D.push(ne?{...ne}:null)}P.push(D)}}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 J(){const r=e.selection.value;if(!r)return;M={...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){M={...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){M={...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 h(){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=M,a=o&&P.length>0;for(let D=0;D<f.length;D++){const V=f[D].split(" ");for(let ne=0;ne<V.length;ne++){const ve=w.col+ne,Re=w.row+D;if(ve<e.colCount&&Re<e.rowCount){let He=V[ne];if(He.startsWith("=")&&o&&(He=un(He,ve-(o.startCol+ne),Re-(o.startRow+D),e.colCount,e.rowCount,Je)),a&&D<P.length&&ne<(((O=P[D])==null?void 0:O.length)??0)){const Le=P[D][ne]??null;ye(ve,Re,He,Le),I(ve,Re)}else e.setCellValue(ve,Re,He)}}}}function De(){var r;if(J(),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 xe(){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 ie(){var O,D;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 ne=`${Je(V)}${w+1}:${Je(V)}${a+1}`;e.setCellValue(V,a+1,`=SUM(${ne})`)}else{const ne=`${Je(V)}${w+1}:${Je(V)}${a}`;e.setCellValue(V,a,`=SUM(${ne})`)}(O=e.scheduleRender)==null||O.call(e),(D=e.emitModelData)==null||D.call(e)}return{cachedBorder:C,borderMenuOpen:n,BORDER_COLOR:u,borderTypeToWidths:k,onBorderChange:q,setCellBorderSide:i,syncCellBorders:I,applyBorderToCell:p,applyCachedBorder:Y,cellBorderWidth:y,mergeMenuOpen:le,onMergeMenuToggle:A,removeOverlappingMerges:m,mergeAndCenter:ge,mergeAcross:fe,mergeCells:we,unmergeCells:G,onApplyMerge:U,onMergeChange:me,copySourceRange:null,copySourceStyles:[],captureStyles:be,setCellWithStyle:ye,copyToClipboard:J,copyRowCol:s,pasteFromClipboard:h,cutSelected:De,clearSelected:xe,sumSelected:ie}}function vn(e,v,C,n){const u={},k=n(v),i=n(C);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,C,n){function u(x,F){var Q,ue;const _=F-x+1;for(let z=x;z<=F;z++)for(let se=0;se<e.colCount;se++)e.delCell(e.cellKey(se,z));for(let z=x;z<e.rowCount-_;z++){for(let se=0;se<e.colCount;se++){const ke=e.cellKey(se,z+_),Te=e.cellKey(se,z);e.cells[ke]?(e.cells[Te]=e.cells[ke],e.delCell(ke)):e.delCell(Te)}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(x>0)for(let z=0;z<e.colCount;z++)(Q=e.syncCellBorders)==null||Q.call(e,z,x-1),(ue=e.syncCellBorders)==null||ue.call(e,z,x)}function k(x,F){const _=F-x+1;if(!(F>=e.rowCount-1)){for(let Q=e.rowCount-1;Q>F;Q--){for(let ue=0;ue<e.colCount;ue++){const z=e.cellKey(ue,Q-_),se=e.cellKey(ue,Q);e.cells[z]?e.cells[se]=e.cells[z]:e.delCell(se)}e.rowHeights.value[Q]=e.rowHeights.value[Q-_]}for(let Q=F+1;Q<=F+_;Q++){for(let ue=0;ue<e.colCount;ue++)e.delCell(e.cellKey(ue,Q));e.rowHeights.value[Q]=void 0}}}function i(x,F){const _=F-x+1;if(!(F>=e.colCount-1)){for(let Q=e.colCount-1;Q>F;Q--){for(let ue=0;ue<e.rowCount;ue++){const z=e.cellKey(Q-_,ue),se=e.cellKey(Q,ue);e.cells[z]?e.cells[se]=e.cells[z]:e.delCell(se)}e.colWidths.value[Q]=e.colWidths.value[Q-_]}for(let Q=F+1;Q<=F+_;Q++){for(let ue=0;ue<e.rowCount;ue++)e.delCell(e.cellKey(Q,ue));e.colWidths.value[Q]=100}}}function I(x,F){var Q,ue;const _=F-x+1;for(let z=x;z<=F;z++)for(let se=0;se<e.rowCount;se++)e.delCell(e.cellKey(z,se));for(let z=x;z<e.colCount-_;z++){for(let se=0;se<e.rowCount;se++){const ke=e.cellKey(z+_,se),Te=e.cellKey(z,se);e.cells[ke]?(e.cells[Te]=e.cells[ke],e.delCell(ke)):e.delCell(Te)}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(x>0)for(let z=0;z<e.rowCount;z++)(Q=e.syncCellBorders)==null||Q.call(e,x-1,z),(ue=e.syncCellBorders)==null||ue.call(e,x,z)}let p=0;function q(){return p++,`s_${p}`}function Y(x){return{id:q(),name:x,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")]),le=t.ref(0);function A(){const x=y.value[le.value];x&&(x.cells={...e.cells},x.merges={...e.merges},x.selection=e.selection.value?{...e.selection.value}:null,x.activeCell={...e.activeCell.value},x.scrollX=e.scrollX.value,x.scrollY=e.scrollY.value,x.colWidths=[...e.colWidths.value],x.rowHeights=[...e.rowHeights.value])}function m(x){const F=y.value[x];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],le.value=x)}function ge(x){x===le.value||x<0||x>=y.value.length||(e.cancelEdit(),A(),m(x))}function fe(x){return v.saveUndo(),e.cancelEdit(),A(),y.value.push(Y(x??`Sheet${y.value.length+1}`)),m(y.value.length-1),y.value.length-1}function we(x){return y.value.length<=1||(v.saveUndo(),e.cancelEdit(),y.value.splice(x,1),m(Math.min(x,y.value.length-1))),le.value}function G(x,F){y.value[x]&&F.trim()&&(v.saveUndo(),y.value[x].name=F.trim())}function U(x){v.saveUndo(),e.cancelEdit(),A();const F=y.value[x];if(!F)return x;let _=F.name;const Q=_.match(/^(.*?)\s*\((\d+)\)$/);let ue=Q?parseInt(Q[2],10)+1:2;Q&&(_=Q[1]);let z=`${_} (${ue})`;const se=new Set(y.value.map(Te=>Te.name));for(;se.has(z);)ue++,z=`${_} (${ue})`;const ke={id:q(),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(x+1,0,ke),m(x+1),x+1}function me(x,F){var z;const _=x+F;if(_<0||_>=y.value.length)return;v.saveUndo();const Q=le.value,ue=y.value.splice(x,1)[0];y.value.splice(_,0,ue),Q===x?le.value=_:x<Q&&_>=Q?le.value=Q-1:x>Q&&_<=Q&&(le.value=Q+1),(z=e.scheduleRender)==null||z.call(e)}const M=t.computed(()=>y.value.length);let P="";const be=C;function ye(){A();const x=y.value.map(_=>{const Q={};for(const[ke,Te]of Object.entries(_.cells))Q[ke]={value:Te.value},Te.style&&(Q[ke].style=Te.style);const ue={name:_.name,cells:Q};_.merges&&Object.keys(_.merges).length&&(ue.merges={..._.merges});const z={};for(let ke=0;ke<_.colWidths.length;ke++)_.colWidths[ke]!==100&&(z[ke]=_.colWidths[ke]);Object.keys(z).length&&(ue.colWidths=z);const se={};for(let ke=0;ke<_.rowHeights.length;ke++){const Te=_.rowHeights[ke];Te!=null&&(se[ke]=Te)}return Object.keys(se).length&&(ue.rowHeights=se),ue}),F=JSON.stringify(x);F!==P&&(P=F,be.value=x)}e.emitModelData=ye;let J=!1;function s(){J||(J=!0,Promise.resolve().then(()=>{J=!1,ye()}))}const h=t.computed(()=>e.props.theme==="dark"?Il:Nl),De=t.computed(()=>vn(h.value,e.props.width,e.props.height,mt)),xe=t.computed(()=>{const x={};for(const[F,_]of Object.entries(De.value))F.startsWith("--")&&(x[F]=_);return x}),ie=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,x=>{e.viewSize&&(e.viewSize.w=x.w,e.viewSize.h=x.h)},{deep:!0});const a=48,O=28,D=11,V=t.computed(()=>Math.max(0,e.totalWidth.value-Math.max(0,o.w-a-D))),ne=t.computed(()=>Math.max(0,e.totalHeight.value-Math.max(0,o.h-O-D)));function ve(x,F){const _=Math.max(0,o.w-a-D),Q=Math.max(0,o.h-O-D);e.scrollX.value=Math.max(0,Math.min(x??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-Q)))}e.clampScroll=ve;function Re(){var x;return typeof window>"u"?!1:!((x=window.matchMedia)!=null&&x.call(window,"(hover: none) and (pointer: coarse)").matches)}function He(x=!1){t.nextTick(()=>{const F=f.value;if(F){if(!e.editingCell.value&&!Re()){document.activeElement===F&&F.blur();return}F.focus({preventScroll:!0}),x&&F.select()}})}function Le(){He()}function he(){var F;const x=e.selection.value;if(x){v.saveUndo();for(let _=x.startRow;_<=x.endRow;_++)e.rowHeights.value[_]=void 0;(F=e.scheduleRender)==null||F.call(e),ye()}}function Ve(){var F;const x=e.selection.value;if(x){v.saveUndo();for(let _=x.startCol;_<=x.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:le,saveSheet:A,loadSheet:m,switchSheet:ge,addSheet:fe,removeSheet:we,renameSheet:G,dupSheet:U,moveSheet:me,sheetCount:M,mkSheet:Y,emitModelData:ye,scheduleOptEmit:s,themeColors:h,outerStyle:De,toolbarThemeVars:xe,wrapperRef:ie,canvasRef:r,editInputRef:f,formulaBarRef:w,viewSize:o,maxScrollX:V,maxScrollY:ne,clampScroll:ve,canFocusHiddenEditor:Re,focusEditInput:He,onCanvasFocus:Le,resetRowHeight:he,resetColWidth:Ve,modelData:be}}function bn(e,v,C,n,u){let k=!1,i=null,I=1;function p(){k||(k=!0,requestAnimationFrame(()=>{k=!1,Y()}))}e.scheduleRender=p;const q="#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 S=d.getBoundingClientRect(),T=S.width,g=S.height;n.viewSize.w=T,n.viewSize.h=g,l.width=T*I,l.height=g*I,l.style.width=T+"px",l.style.height=g+"px",i.setTransform(I,0,0,I,0,0);const H=e.scrollX.value,j=e.scrollY.value,te=52,ae=24,Ee=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(H));let ht=ot;for(let N=ot;N<e.colCount&&!(te+Ye[N]-H>=T);N++)ht=N;const Et=ht,Ze=Math.max(0,e.hitRow(j));let Xt=Ze;for(let N=Ze;N<e.rowCount&&!(ae+_e[N]-j>=g);N++)Xt=N;const Bt=Xt;i.fillStyle=Ee.bg,i.fillRect(0,0,T,g),i.fillStyle=Ee.gridBg,i.fillRect(te,ae,T-te,g-ae),i.save(),i.beginPath(),i.rect(te,ae,T-te,g-ae),i.clip();const Pe=e.selection.value,Lt=e.editingCell.value;for(let N=Ze;N<=Bt;N++)for(let Z=ot;Z<=Et;Z++){const Be=e.findMerge(Z,N);if(Be&&!(Z===Be.range.startCol&&N===Be.range.startRow))continue;const Se=te+Ye[Z]-H,Me=ae+_e[N]-j;let Ne=kt[Z],Ie=gt[N];if(Be&&(Ne=Ye[Be.range.endCol+1]-Ye[Z],Ie=_e[Be.range.endRow+1]-_e[N]),Se+Ne<te||Me+Ie<ae||Se>T||Me>g)continue;const Oe=(il=e.cells[e.cellKey(Z,N)])==null?void 0:il.style,Rt=typeof(Oe==null?void 0:Oe.backgroundColor)=="string"?Oe.backgroundColor:"";if(Rt&&(i.fillStyle=Rt,i.fillRect(Se,Me,Ne,Ie)),e.isSelected(Z,N)&&(i.fillStyle=Ee.selectionBg,i.fillRect(Se,Me,Ne,Ie)),e.activeCell.value.col===Z&&e.activeCell.value.row===N&&(i.strokeStyle=Ee.activeCellBorder,i.lineWidth=2,i.strokeRect(Se+1,Me+1,Ne-2,Ie-2)),i.strokeStyle=Ee.gridLine,i.lineWidth=.5,i.strokeRect(Se+.25,Me+.25,Ne-.5,Ie-.5),!(Lt&&Lt.col===Z&&Lt.row===N)){const xt=e.getCellValue(Z,N);if(xt){const Ce=(vt=e.cells[e.cellKey(Z,N)])==null?void 0:vt.style,Ge=e.cellFontSize(Z,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||Ee.cellText,i.font=`${tt} ${nt} ${Ge}px ${qe}`,i.textBaseline="alphabetic",i.save(),i.beginPath(),i.rect(Se+5,Me+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=Me+(Ie-Pn)/2+Mt:kl==="bottom"?Zt=Me+Ie-e.BASE_CELL_VPAD-Ct-(Wt.length-1)*jt:Zt=Me+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=Se+Ne/2-Ht.width/2:wl==="right"?rt=Se+Ne-5-Ht.width:rt=Se+5,i.fillText(zt,rt,Dt),St&&(i.strokeStyle=cl||Ee.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||Ee.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 Z=ot;Z<=Et;Z++){const Be=e.findMerge(Z,N);if(Be&&!(Z===Be.range.startCol&&N===Be.range.startRow))continue;const Se=te+Ye[Z]-H,Me=ae+_e[N]-j;let Ne=kt[Z],Ie=gt[N];if(Be&&(Ne=Ye[Be.range.endCol+1]-Ye[Z],Ie=_e[Be.range.endRow+1]-_e[N]),Se+Ne<te||Me+Ie<ae||Se>T||Me>g)continue;const Oe=(Ot=e.cells[e.cellKey(Z,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,C.cellBorderWidth(Z,N-1,"Bottom")),nt=Math.max(xt,C.cellBorderWidth(Z-1,N,"Right")),tt=Math.max(Ce,C.cellBorderWidth(Z,N+1,"Top")),St=Math.max(Ge,C.cellBorderWidth(Z+1,N,"Left"));(qe>0||nt>0||tt>0||St>0)&&(i.fillStyle=q,qe>0&&i.fillRect(Se,Me,Ne,qe),tt>0&&i.fillRect(Se,Me+Ie-tt,Ne,tt),nt>0&&i.fillRect(Se,Me,nt,Ie),St>0&&i.fillRect(Se+Ne-St,Me,St,Ie))}for(let N=Ze;N<=Bt;N++)for(let Z=ot;Z<=Et;Z++){const Be=e.findMerge(Z,N);if(Be&&!(Z===Be.range.startCol&&N===Be.range.startRow))continue;const Se=te+Ye[Z]-H,Me=ae+_e[N]-j;let Ne=kt[Z],Ie=gt[N];if(Be&&(Ne=Ye[Be.range.endCol+1]-Ye[Z],Ie=_e[Be.range.endRow+1]-_e[N]),Se+Ne<te||Me+Ie<ae||Se>T||Me>g)continue;const Oe=((ut=(it=e.cells[e.cellKey(Z,N)])==null?void 0:it.style)==null?void 0:ut.borderTopWidth)||0,Rt=((hl=(Vt=e.cells[e.cellKey(Z,N)])==null?void 0:Vt.style)==null?void 0:hl.borderLeftWidth)||0,xt=((Cl=(vl=e.cells[e.cellKey(Z,N)])==null?void 0:vl.style)==null?void 0:Cl.borderBottomWidth)||0,Ce=((yl=(bl=e.cells[e.cellKey(Z,N)])==null?void 0:bl.style)==null?void 0:yl.borderRightWidth)||0,Ge=Math.max(Oe,C.cellBorderWidth(Z,N-1,"Bottom")),qe=Math.max(Rt,C.cellBorderWidth(Z-1,N,"Right")),nt=Math.max(xt,C.cellBorderWidth(Z,N+1,"Top")),tt=Math.max(Ce,C.cellBorderWidth(Z+1,N,"Left"));i.fillStyle=q,Ge>0&&qe>0&&i.fillRect(Se-qe,Me-Ge,qe,Ge),Ge>0&&tt>0&&i.fillRect(Se+Ne,Me-Ge,tt,Ge),nt>0&&qe>0&&i.fillRect(Se-qe,Me+Ie,qe,nt),nt>0&&tt>0&&i.fillRect(Se+Ne,Me+Ie,tt,nt)}i.restore(),i.fillStyle=Ee.headerBg,i.fillRect(te,0,T-te,ae);for(let N=ot;N<=Et;N++){const Z=te+Ye[N]-H,Be=kt[N];Z+Be<te||Z>T||(Pe&&N>=Pe.startCol&&N<=Pe.endCol&&(i.fillStyle=Ee.selectionBg,i.fillRect(Z,0,Be,ae)),i.strokeStyle=Ee.headerBorder,i.lineWidth=.5,i.strokeRect(Z+.25,.25,Be-.5,ae-.5),Pe&&N>=Pe.startCol&&N<=Pe.endCol&&(i.strokeStyle=Ee.activeCellBorder,i.lineWidth=2,i.beginPath(),i.moveTo(Z,ae-1),i.lineTo(Z+Be,ae-1),i.stroke()),i.fillStyle=Ee.headerText,i.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',i.textAlign="center",i.textBaseline="middle",i.fillText(Je(N),Z+Be/2,ae/2))}i.strokeStyle=Ee.headerSep,i.lineWidth=1,i.beginPath(),i.moveTo(te,ae+.5),i.lineTo(T,ae+.5),i.stroke(),i.fillStyle=Ee.headerBg,i.fillRect(0,ae,te,g-ae);for(let N=Ze;N<=Bt;N++){const Z=ae+_e[N]-j,Be=gt[N];Z+Be<ae||Z>g||(Pe&&N>=Pe.startRow&&N<=Pe.endRow&&(i.fillStyle=Ee.selectionBg,i.fillRect(0,Z,te,Be)),i.strokeStyle=Ee.headerBorder,i.lineWidth=.5,i.strokeRect(.25,Z+.25,te-.5,Be-.5),Pe&&N>=Pe.startRow&&N<=Pe.endRow&&(i.strokeStyle=Ee.activeCellBorder,i.lineWidth=2,i.beginPath(),i.moveTo(te-1,Z),i.lineTo(te-1,Z+Be),i.stroke()),i.fillStyle=Ee.headerText,i.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',i.textAlign="center",i.textBaseline="middle",i.fillText(String(N+1),te/2,Z+Be/2+.5))}i.strokeStyle=Ee.headerSep,i.lineWidth=1,i.beginPath(),i.moveTo(te+.5,ae),i.lineTo(te+.5,g),i.stroke(),i.fillStyle=Ee.headerBg,i.fillRect(0,0,te,ae),i.strokeStyle=Ee.headerSep,i.lineWidth=1,i.strokeRect(.5,.5,te-.5,ae-.5)}const y=t.computed(()=>Je(e.activeCell.value.col)+String(e.activeCell.value.row+1)),le=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(),p())}function m(l){e.editValue.value=l.target.value}function ge(l){var d,S;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(),p(),n.focusEditInput()):l.key==="Escape"&&(l.preventDefault(),e.cancelEdit(),(S=n.formulaBarRef.value)==null||S.blur(),p(),n.focusEditInput())}function fe(){setTimeout(()=>{e.editingCell.value&&(e.commitEdit(),p())},0)}const we=t.ref(null),G=t.ref("");function U(l){we.value===null&&(n.switchSheet(l),p())}function me(l){l!==n.activeSheetIndex.value&&(n.saveSheet(),n.loadSheet(l),p()),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 M(){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(),M()):l.key==="Escape"&&(l.preventDefault(),P())}const ye=t.ref(null);let J=null;function s(){J&&(document.removeEventListener("click",J),J=null)}function h(l,d,S){s();const T=140,g=S.length*28+8,H=window.innerWidth,j=window.innerHeight;l+T>H&&(l-=T),d+g>j&&(d-=g),ye.value={x:l,y:d,items:S},J=()=>{ye.value=null,s()},setTimeout(()=>document.addEventListener("click",J,{once:!0}),0)}const De=t.ref(!1);function xe(l,d){if(!d.children){De.value=!1;return}const T=l.currentTarget.querySelector(".context-submenu");if(!T){De.value=!1;return}const g=T.getBoundingClientRect();De.value=g.right>window.innerWidth}function ie(l,d){l.preventDefault(),l.stopPropagation(),h(l.clientX,l.clientY,[{label:$(e.locale.value,"insert"),action:()=>{n.addSheet(),p()}},{label:$(e.locale.value,"copy"),action:()=>{n.dupSheet(d)}},{label:$(e.locale.value,"rename"),action:()=>{me(d)}},{label:$(e.locale.value,"delete"),action:()=>{n.removeSheet(d),p()},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"))&&h(l.clientX,l.clientY,[{label:$(e.locale.value,"insert"),action:()=>{n.addSheet(),p()}}])}function f(l){l.preventDefault(),e.selectAll(),p(),h(l.clientX,l.clientY,[{label:$(e.locale.value,"cut"),action:()=>{C.cutSelected(),n.emitModelData()}},{label:$(e.locale.value,"copy"),action:()=>C.copyToClipboard()},{label:$(e.locale.value,"paste"),action:()=>{v.saveUndo(),C.pasteFromClipboard().then(()=>{p(),t.nextTick(()=>n.emitModelData())})}},{label:$(e.locale.value,"delete"),action:()=>{v.saveUndo(),C.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;p(),n.emitModelData()}}])}function w(l,d){l.preventDefault();const S=l.clientX,T=l.clientY,g=e.selection.value;g&&g.startCol===0&&g.endCol===e.colCount-1&&d>=g.startRow&&d<=g.endRow||(e.selectRange(0,d,e.colCount-1,d),p());const H=e.selection.value;h(l.clientX,l.clientY,[{label:$(e.locale.value,"insert"),action:()=>{v.saveUndo(),n.insertRows(H.startRow,H.endRow),p(),n.emitModelData()},disabled:H.endRow>=e.rowCount-1},{label:$(e.locale.value,"cut"),action:()=>{v.saveUndo(),C.copyRowCol();for(let j=H.startRow;j<=H.endRow;j++)for(let te=0;te<e.colCount;te++)e.delCell(e.cellKey(te,j));p(),n.emitModelData()}},{label:$(e.locale.value,"copy"),action:()=>C.copyRowCol()},{label:$(e.locale.value,"paste"),action:()=>{v.saveUndo(),C.pasteFromClipboard().then(()=>{p(),t.nextTick(()=>n.emitModelData())})}},{label:$(e.locale.value,"delete"),action:()=>{v.saveUndo(),n.deleteRows(H.startRow,H.endRow),p(),n.emitModelData()}},{label:`${$(e.locale.value,"rowHeight")}...`,action:()=>ve("row",S,T)},{label:$(e.locale.value,"autoRowHeight"),action:()=>n.resetRowHeight()}])}function o(l,d){l.preventDefault();const S=l.clientX,T=l.clientY,g=e.selection.value;g&&g.startRow===0&&g.endRow===e.rowCount-1&&d>=g.startCol&&d<=g.endCol||(e.selectRange(d,0,d,e.rowCount-1),p());const H=e.selection.value;h(l.clientX,l.clientY,[{label:$(e.locale.value,"insert"),action:()=>{v.saveUndo(),n.insertCols(H.startCol,H.endCol),p(),n.emitModelData()},disabled:H.endCol>=e.colCount-1},{label:$(e.locale.value,"cut"),action:()=>{v.saveUndo(),C.copyRowCol();for(let j=H.startCol;j<=H.endCol;j++)for(let te=0;te<e.rowCount;te++)e.delCell(e.cellKey(j,te));p(),n.emitModelData()}},{label:$(e.locale.value,"copy"),action:()=>C.copyRowCol()},{label:$(e.locale.value,"paste"),action:()=>{v.saveUndo(),C.pasteFromClipboard().then(()=>{p(),t.nextTick(()=>n.emitModelData())})}},{label:$(e.locale.value,"delete"),action:()=>{v.saveUndo(),n.deleteCols(H.startCol,H.endCol),p(),n.emitModelData()}},{label:`${$(e.locale.value,"colWidth")}...`,action:()=>ve("col",S,T)},{label:$(e.locale.value,"defaultColWidth"),action:()=>n.resetColWidth()}])}function a(l,d,S){l.preventDefault(),e.isSelected(d,S)||(e.selectCell(d,S),p());const T=e.selection.value,g=!!(T&&T.startCol===T.endCol&&T.startRow===T.endRow);h(l.clientX,l.clientY,[{label:$(e.locale.value,"cut"),action:()=>{C.cutSelected(),n.emitModelData()}},{label:$(e.locale.value,"copy"),action:()=>C.copyToClipboard()},{label:$(e.locale.value,"paste"),action:()=>{v.saveUndo(),C.pasteFromClipboard().then(()=>{p(),t.nextTick(()=>n.emitModelData())})}},{label:$(e.locale.value,"delete"),action:()=>{v.saveUndo(),C.clearSelected(),p(),n.emitModelData()}},{label:$(e.locale.value,"calculate"),children:[{label:$(e.locale.value,"sum"),action:C.sumSelected,disabled:g}]}])}const O=t.ref(null),D=t.ref(null);let V=null;function ne(){V&&(document.removeEventListener("mousedown",V),V=null)}function ve(l,d,S){ne();const T=e.selection.value;let g="";if(T){const Ee=l==="row"?e.getRowHeight(T.startRow):e.colWidths.value[T.startCol];g=Ee!=null&&Ee>0?String(Math.round(Ee)):""}const H=220,j=118;let te=d,ae=S;te+H>window.innerWidth&&(te=window.innerWidth-H-8),ae+j>window.innerHeight&&(ae=window.innerHeight-j-8),te<8&&(te=8),ae<8&&(ae=8),D.value={type:l,x:te,y:ae,value:g,error:""},V=()=>{D.value=null},setTimeout(()=>document.addEventListener("mousedown",V,{once:!0}),0),t.nextTick(()=>{const Ee=O.value;Ee&&(Ee.focus(),Ee.select())})}function Re(l){const d=D.value;if(!d)return;const S=l.target,T=S.value,g=T.replace(/[^\d]/g,"");d.value=g,T!==g&&(S.value=g),d.error=""}function He(l){l.key==="Enter"?(l.preventDefault(),he()):l.key==="Escape"&&(l.preventDefault(),Ve())}function Le(){const l=D.value;if(!l)return;const d=l.value.trim(),S=Number(d),T=l.type==="row",g=T?24:30,H=T?500:1e3;if(d===""||!Number.isFinite(S)){Ve();return}const j=Math.max(g,Math.min(H,Math.round(S)));l.value=String(j),l.error=""}function he(){const l=D.value,d=e.selection.value;if(!l||!d)return;const S=l.value.trim(),T=Number(S),g=l.type==="row",H=g?24:30,j=g?500:1e3;if(S===""||!Number.isFinite(T)){l.error=$(e.locale.value,"dimNumberError");return}if(T<H||T>j){l.error=$(e.locale.value,"dimRangeError").replace("{min}",String(H)).replace("{max}",String(j));return}const te=T;if(v.saveUndo(),g)for(let ae=d.startRow;ae<=d.endRow;ae++)e.rowHeights.value[ae]=te;else for(let ae=d.startCol;ae<=d.endCol;ae++)e.colWidths.value[ae]=te;p(),n.emitModelData(),Ve()}function Ve(){ne(),D.value=null}const x=t.computed(()=>{var Vt;const l=!e.editingCell.value,d=e.editingCell.value??e.activeCell.value,S=d.col,T=d.row,g=(Vt=e.cells[e.cellKey(S,T)])==null?void 0:Vt.style,H=e.cellFontSize(S,T),j=typeof(g==null?void 0:g.fontFamily)=="string"&&g.fontFamily?g.fontFamily:$t,te=(g==null?void 0:g.fontWeight)==="bold"?"bold":"normal",ae=(g==null?void 0:g.fontStyle)==="italic"?"italic":"normal",Ee=(g==null?void 0:g.underline)==="underline"?"underline":(g==null?void 0:g.strikethrough)==="line-through"?"line-through":"none",Ye=(g==null?void 0:g.underline)==="underline"&&(g==null?void 0:g.strikethrough)==="line-through"?"underline line-through":Ee,_e=typeof(g==null?void 0:g.color)=="string"?g.color:void 0,kt=typeof(g==null?void 0:g.backgroundColor)=="string"?g.backgroundColor:void 0,gt=typeof(g==null?void 0:g.textAlign)=="string"?g.textAlign:"left",ot=typeof(g==null?void 0:g.verticalAlign)=="string"?g.verticalAlign:"top",ht=e.findMerge(S,T),Et=ht?e.colPositions.value[ht.range.endCol+1]-e.colPositions.value[S]:e.colWidths.value[S],Ze=ht?e.rowPositions.value[ht.range.endRow+1]-e.rowPositions.value[T]:e.getRowHeight(T),Xt=2,{ascent:Bt,descent:Pe}=e.measureFontMetrics(j,H,te,ae),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[S]-e.scrollX.value}px`,top:`${24+e.rowPositions.value[T]-e.scrollY.value}px`,width:`${Et}px`,height:`${Ze}px`,fontFamily:j,fontSize:`${H}px`,lineHeight:1,fontWeight:te,fontStyle:ae,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 Q=t.computed(()=>F()),ue=t.computed(()=>_()),z=t.computed(()=>Math.max(0,Q.value-11*2)),se=t.computed(()=>Math.max(0,ue.value-11*2)),ke=t.computed(()=>n.maxScrollX.value<=0?z.value:Math.max(24,F()/e.totalWidth.value*z.value)),Te=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 ze=null,Xe=0,st=0;function At(l){l.preventDefault(),ze="v",Xe=l.clientY,st=e.scrollY.value,document.addEventListener("mousemove",E),document.addEventListener("mouseup",B)}function Ke(l){l.preventDefault(),ze="h",Xe=l.clientX,st=e.scrollX.value,document.addEventListener("mousemove",E),document.addEventListener("mouseup",B)}function E(l){if(ze==="v"){const S=(l.clientY-Xe)/(se.value-Qe.value);n.clampScroll(null,st+S*n.maxScrollY.value),p()}else if(ze==="h"){const S=(l.clientX-Xe)/(z.value-ke.value);n.clampScroll(st+S*n.maxScrollX.value,null),p()}}function B(){ze=null,document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",B)}function R(l){if(ze)return;const d=l.currentTarget.getBoundingClientRect(),S=l.clientY-d.top;S<lt.value?n.clampScroll(null,e.scrollY.value-_()):S>lt.value+Qe.value&&n.clampScroll(null,e.scrollY.value+_()),p()}function K(l){if(ze)return;const d=l.currentTarget.getBoundingClientRect(),S=l.clientX-d.left;S<Te.value?n.clampScroll(e.scrollX.value-F(),null):S>Te.value+ke.value&&n.clampScroll(e.scrollX.value+F(),null),p()}let X=!1,oe=0,de=0,c=!1,b=!1,L=0,W=0,re=0,ce=0,ee=0,pe=0,Ae=0,$e=0,Fe=!1,We=!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 g=d.x-52+e.scrollX.value,H=e.hitCol(g);if(H>=0&&Math.abs(d.x-(52+e.colPositions.value[H+1]-e.scrollX.value))<=4){v.saveUndo(),c=!0,L=H,re=e.colWidths.value[H],ce=g,p();return}}if(d.x<52&&d.y>=24){const g=d.y-24+e.scrollY.value,H=e.hitRow(g);if(H>=0&&Math.abs(d.y-(24+e.rowPositions.value[H+1]-e.scrollY.value))<=4){v.saveUndo(),b=!0,W=H,re=e.getRowHeight(H),ce=g,p();return}}if(d.x<52||d.y<24){if(e.commitEdit(),d.y<24&&d.x>=52){const g=e.hitCol(d.x-52+e.scrollX.value);g>=0&&(e.selectRange(g,0,g,e.rowCount-1),X=!0,oe=g,de=0)}else if(d.x<52&&d.y>=24){const g=e.hitRow(d.y-24+e.scrollY.value);g>=0&&(e.selectRange(0,g,e.colCount-1,g),X=!0,oe=0,de=g)}else d.x<52&&d.y<24&&e.selectAll();p();return}const S=e.hitCol(d.x-52+e.scrollX.value),T=e.hitRow(d.y-24+e.scrollY.value);if(!(S<0||T<0)){if(e.commitEdit(),l.shiftKey&&e.selection.value){const g=e.selection.value;e.selectRange(g.startCol,g.startRow,S,T)}else e.selectCell(S,T);X=!0,oe=S,de=T,n.focusEditInput(),p()}}function Yt(l){if(c){const H=pt(l,n.canvasRef.value).x-52+e.scrollX.value-ce,j=re+H;j>=30&&j<=1e3?e.colWidths.value[L]=j:j<30?e.colWidths.value[L]=30:e.colWidths.value[L]=1e3,p();return}if(b){const H=pt(l,n.canvasRef.value).y-24+e.scrollY.value-ce,j=re+H;j>=24&&j<=500?e.rowHeights.value[W]=j:j<24?e.rowHeights.value[W]=24:e.rowHeights.value[W]=500,p();return}if(!X){const g=n.canvasRef.value;if(!g)return;if(v.paintFmt.value){g.style.cursor="copy";return}const H=pt(l,g);if(H.y<24&&H.x>=52){const j=e.hitCol(H.x-52+e.scrollX.value);if(j>=0&&Math.abs(H.x-(52+e.colPositions.value[j+1]-e.scrollX.value))<=4){g.style.cursor="col-resize";return}}if(H.x<52&&H.y>=24){const j=e.hitRow(H.y-24+e.scrollY.value);if(j>=0&&Math.abs(H.y-(24+e.rowPositions.value[j+1]-e.scrollY.value))<=4){g.style.cursor="row-resize";return}}g.style.cursor="cell";return}const d=pt(l,n.canvasRef.value);if(oe<0||de<0)return;if(d.x<52||d.y<24){if(d.y<24&&d.x>=52){const g=e.hitCol(d.x-52+e.scrollX.value);g>=0&&e.selectRange(Math.min(oe,g),0,Math.max(oe,g),e.rowCount-1)}else if(d.x<52&&d.y>=24){const g=e.hitRow(d.y-24+e.scrollY.value);g>=0&&e.selectRange(0,Math.min(de,g),e.colCount-1,Math.max(de,g))}p();return}const S=e.hitCol(d.x-52+e.scrollX.value),T=e.hitRow(d.y-24+e.scrollY.value);S<0||T<0||(de===0&&oe>=0&&e.selection.value&&e.selection.value.startRow===0&&e.selection.value.endRow===e.rowCount-1?e.selectRange(Math.min(oe,S),0,Math.max(oe,S),e.rowCount-1):oe===0&&de>=0&&e.selection.value&&e.selection.value.startCol===0&&e.selection.value.endCol===e.colCount-1?e.selectRange(0,Math.min(de,T),e.colCount-1,Math.max(de,T)):e.selectRange(oe,de,S,T),p())}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 S=e.hitCol(d.x-52+e.scrollX.value);S>=0&&o(l,S);return}if(d.x<52&&d.y>=24){const S=e.hitRow(d.y-24+e.scrollY.value);S>=0&&w(l,S);return}if(d.x>=52&&d.y>=24){const S=e.hitCol(d.x-52+e.scrollX.value),T=e.hitRow(d.y-24+e.scrollY.value);S>=0&&T>=0&&a(l,S,T)}}function Nt(l){const d=pt(l,n.canvasRef.value);if(d.x<52||d.y<24)return;const S=e.hitCol(d.x-52+e.scrollX.value),T=e.hitRow(d.y-24+e.scrollY.value);S<0||T<0||(e.selectCell(S,T),e.ensureVisible(S,T),e.startEdit(),p(),n.focusEditInput())}function ml(l){n.clampScroll(e.scrollX.value+l.deltaX,e.scrollY.value+l.deltaY),p()}function Nn(l){if(l.touches.length!==1){Fe=!1;return}const d=l.touches[0],S=n.canvasRef.value;if(!S)return;const T=S.getBoundingClientRect(),g=d.clientX-T.left,H=d.clientY-T.top;g>=52&&H>=24&&(l.preventDefault(),Fe=!0,We=!1,ee=g,pe=H,Ae=e.scrollX.value,$e=e.scrollY.value,Ue=e.hitCol(g-52+e.scrollX.value),et=e.hitRow(H-24+e.scrollY.value))}function In(l){if(!Fe||l.touches.length!==1)return;const d=l.touches[0],S=n.canvasRef.value;if(!S)return;const T=S.getBoundingClientRect(),g=d.clientX-T.left,H=d.clientY-T.top;(Math.abs(g-ee)>8||Math.abs(H-pe)>8)&&(We=!0,l.preventDefault(),n.clampScroll(Ae+(ee-g),$e+(pe-H)),p())}function Ln(){if(Fe&&(Fe=!1,!We&&Ue>=0&&et>=0)){const l=Date.now();Ue===Kt&&et===Ut&&l-Ft<300?(e.selectCell(Ue,et),e.startEdit(),p(),n.focusEditInput(),Ft=0):(e.commitEdit(),e.selectCell(Ue,et),p(),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,S=l.shiftKey;switch(!0){case(d&&(l.key==="c"||l.key==="C")):l.preventDefault(),C.copyToClipboard();return;case(d&&(l.key==="x"||l.key==="X")):l.preventDefault(),C.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(),C.pasteFromClipboard().then(()=>{p(),t.nextTick(()=>n.emitModelData())});return;case(d&&(l.key==="a"||l.key==="A")):l.preventDefault(),e.selectAll(),p();return;case(d&&l.key==="Home"):l.preventDefault(),e.selectCell(0,0),e.ensureVisible(0,0),p();return;case(d&&l.key==="End"):l.preventDefault(),e.selectCell(e.colCount-1,e.rowCount-1),e.ensureVisible(e.colCount-1,e.rowCount-1),p();return;case l.key==="Home":l.preventDefault(),e.selectCell(0,e.activeCell.value.row),e.ensureVisible(0,e.activeCell.value.row),p();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),p();return;case l.key==="ArrowUp":l.preventDefault(),e.moveActive(0,-1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),p();return;case l.key==="ArrowDown":l.preventDefault(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),p();return;case l.key==="ArrowLeft":l.preventDefault(),e.moveActive(-1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),p();return;case l.key==="ArrowRight":l.preventDefault(),e.moveActive(1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),p();return;case l.key==="Tab":l.preventDefault(),e.moveActive(S?-1:1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),p();return;case l.key==="Enter":l.preventDefault(),e.moveActive(0,S?-1:1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),p();return;case l.key==="F2":l.preventDefault(),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(),p(),n.focusEditInput();return;case l.key==="Delete":case l.key==="Backspace":l.preventDefault(),v.saveUndo(),C.clearSelected(),p();return;case l.key==="Escape":l.preventDefault(),e.cancelEdit(),v.paintFmt.value=null,p();return;case pl(l):if(nl(l)){e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(""),p(),n.focusEditInput();return}l.preventDefault(),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(l.key),p(),t.nextTick(()=>{const T=n.editInputRef.value;T&&(T.focus(),T.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),p();return}e.editValue.value=d}function Vn(){rl=!0,e.editingCell.value||(e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(""),p())}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 S=d.selectionStart??d.value.length,T=d.selectionEnd??d.value.length,g=d.value,H=g.slice(0,S)+`
|
|
9
|
+
`+g.slice(T);e.editValue.value=H,d.value=H,d.selectionStart=d.selectionEnd=S+1,p()}else l.key==="Enter"?(l.preventDefault(),e.commitEdit(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),p(),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),p(),n.focusEditInput()):l.key==="Escape"&&(l.preventDefault(),e.cancelEdit(),p(),n.focusEditInput())}function $n(l){e.editingCell.value}function _n(){setTimeout(()=>{e.editingCell.value&&(e.commitEdit(),p())},0)}let je=null;function It(){var d;const l=(d=n.wrapperRef.value)==null?void 0:d.getBoundingClientRect();if(l){const S=mt(e.props.width),T=mt(e.props.height);S!=null?n.viewSize.w=S:n.viewSize.w=l.width,T!=null?n.viewSize.h=T:n.viewSize.h=l.height}n.clampScroll(null,null),p()}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(S=>{const T=n.mkSheet(S.name);for(const[g,H]of Object.entries(S.cells))T.cells[g]={value:H.value,style:H.style??null};if(S.colWidths)for(const[g,H]of Object.entries(S.colWidths)){const j=Number(g);j>=0&&j<e.colCount&&H>=30&&(T.colWidths[j]=H)}if(S.rowHeights)for(const[g,H]of Object.entries(S.rowHeights)){const j=Number(g);j>=0&&j<e.rowCount&&H>=24&&(T.rowHeights[j]=H)}return T}),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,()=>p()),t.watch(()=>({...e.cells}),()=>t.nextTick(()=>n.emitModelData()),{deep:!1}),t.watch(()=>({...e.merges}),()=>{t.nextTick(()=>n.emitModelData()),p()},{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 S=e.selection.value?{...e.selection.value}:null,T={...e.activeCell.value};n.sheets.value=l.map(g=>{const H=n.mkSheet(g.name);for(const[j,te]of Object.entries(g.cells))H.cells[j]={value:te.value,style:te.style??null};if(g.colWidths)for(const[j,te]of Object.entries(g.colWidths)){const ae=Number(j);ae>=0&&ae<e.colCount&&te>=30&&(H.colWidths[ae]=te)}if(g.rowHeights)for(const[j,te]of Object.entries(g.rowHeights)){const ae=Number(j);ae>=0&&ae<e.rowCount&&te>=24&&(H.rowHeights[ae]=te)}if(g.merges)for(const[j,te]of Object.entries(g.merges))H.merges[j]={...te};return H}),n.sheets.value.length>0&&n.loadSheet(0),S&&(e.selection.value=S),e.activeCell.value=T,p()},{deep:!0}),t.onBeforeUnmount(()=>{je==null||je.disconnect()})}return{scheduleRender:p,render:Y,activeCellLabel:y,formulaBarDisplay:le,onFormulaBarFocus:A,onFormulaBarInput:m,onFormulaBarKeydown:ge,onFormulaBarBlur:fe,renTab:we,renTabVal:G,onTabClick:U,onTabDblClick:me,commitTabRename:M,cclTabRename:P,onTabRenameKd:be,ctxMenu:ye,ctxSubmenuLeft:De,onCtxItemEnter:xe,onTabCtxMenu:ie,onTabBarCtx:r,onCornerCtx:f,onRowHdrCtx:w,onColHdrCtx:o,onCellCtx:a,dimInputRef:O,dimPanel:D,openDimPanel:ve,onDimInput:Re,onDimKeydown:He,onDimBlur:Le,applyDimPanel:he,closeDimPanel:Ve,editInputStyle:x,hScrollbarW:Q,vScrollbarH:ue,hTrackW:z,vTrackH:se,hThumbW:ke,hThumbL:Te,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:"spreadsheet",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,C=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:J=>{},mkSheet:J=>({id:"",name:J,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 p=Cn(u,i,C);k.sheets=p.sheets,k.activeSheetIndex=p.activeSheetIndex,k.saveSheet=p.saveSheet,k.loadSheet=p.loadSheet,k.mkSheet=p.mkSheet;const q=bn(u,i,I,p,n);q.setupLifecycle();const Y=t.reactive(u),y=t.reactive(i),le=t.reactive(I),A=t.reactive(p),m=t.reactive(q);function ge(J){i.fontSizeMenuOpen.value=J}function fe(J){i.textColorMenuOpen.value=J}function we(J){i.fillColorMenuOpen.value=J}function G(J){q.renTabVal.value=J}function U(){q.ctxMenu.value=null}const me=J=>{p.formulaBarRef.value=J},M=J=>{p.wrapperRef.value=J},P=J=>{p.canvasRef.value=J},be=J=>{p.editInputRef.value=J},ye=J=>{q.dimInputRef.value=J};return(J,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":le.borderMenuOpen,"cached-border":le.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":le.mergeMenuOpen,"theme-vars":A.toolbarThemeVars,onUndo:s[0]||(s[0]=h=>y.undo()),onRedo:s[1]||(s[1]=h=>y.redo()),onPaintFormat:y.onPaintFormat,onClearFormat:s[2]||(s[2]=h=>y.clearFormat()),onFontFamilyChange:s[3]||(s[3]=h=>y.onFontFamilyChange(h)),onFontSizeInput:s[4]||(s[4]=h=>y.onFontSizeInput(h)),onFontSizeBlur:y.onFontSizeBlur,onFontSizeKeydown:s[5]||(s[5]=h=>y.onFontSizeKeydown(h)),onFontSizeChange:s[6]||(s[6]=h=>y.onFontSizeChange(h)),"onUpdate:fontSizeMenuOpen":s[7]||(s[7]=h=>ge(h)),onFontSizeToggle:s[8]||(s[8]=h=>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]=h=>y.onTextColorChange(h)),"onUpdate:textColorMenuOpen":s[10]||(s[10]=h=>fe(h)),onFillColorChange:s[11]||(s[11]=h=>y.onFillColorChange(h)),"onUpdate:fillColorMenuOpen":s[12]||(s[12]=h=>we(h)),onApplyTextColor:y.applyCachedTextColor,onApplyFillColor:y.applyCachedFillColor,"onUpdate:borderMenuOpen":s[13]||(s[13]=h=>y.onBorderMenuToggle(h)),onBorderChange:s[14]||(s[14]=h=>le.onBorderChange(h)),onApplyBorder:le.applyCachedBorder,onHAlignChange:s[15]||(s[15]=h=>y.onHAlignChange(h)),onVAlignChange:s[16]||(s[16]=h=>y.onVAlignChange(h)),onWrapToggle:y.onWrapToggle,"onUpdate:mergeMenuOpen":s[17]||(s[17]=h=>le.onMergeMenuToggle(h)),onMergeChange:s[18]||(s[18]=h=>le.onMergeChange(h)),onApplyMerge:le.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:me,class:"formula-bar__input",value:m.formulaBarDisplay,onFocus:s[19]||(s[19]=(...h)=>m.onFormulaBarFocus&&m.onFormulaBarFocus(...h)),onInput:s[20]||(s[20]=(...h)=>m.onFormulaBarInput&&m.onFormulaBarInput(...h)),onKeydown:s[21]||(s[21]=(...h)=>m.onFormulaBarKeydown&&m.onFormulaBarKeydown(...h)),onBlur:s[22]||(s[22]=(...h)=>m.onFormulaBarBlur&&m.onFormulaBarBlur(...h))},null,40,kn)]),t.createElementVNode("div",{ref:M,class:"spreadsheet-wrapper"},[t.createElementVNode("canvas",{ref:P,class:"grid-canvas",tabindex:"0",onMousedown:s[23]||(s[23]=(...h)=>m.onMouseDown&&m.onMouseDown(...h)),onMousemove:s[24]||(s[24]=(...h)=>m.onMouseMove&&m.onMouseMove(...h)),onMouseup:s[25]||(s[25]=(...h)=>m.onMouseUp&&m.onMouseUp(...h)),onMouseleave:s[26]||(s[26]=(...h)=>m.onMouseLeave&&m.onMouseLeave(...h)),onDblclick:s[27]||(s[27]=(...h)=>m.onDblClick&&m.onDblClick(...h)),onWheel:s[28]||(s[28]=t.withModifiers((...h)=>m.onWheel&&m.onWheel(...h),["prevent"])),onFocus:s[29]||(s[29]=(...h)=>A.onCanvasFocus&&A.onCanvasFocus(...h)),onKeydown:s[30]||(s[30]=(...h)=>m.onKeydown&&m.onKeydown(...h)),onContextmenu:s[31]||(s[31]=(...h)=>m.onCanvasCtx&&m.onCanvasCtx(...h)),onTouchstart:s[32]||(s[32]=t.withModifiers((...h)=>m.onTouchStart&&m.onTouchStart(...h),["prevent"])),onTouchmove:s[33]||(s[33]=t.withModifiers((...h)=>m.onTouchMove&&m.onTouchMove(...h),["prevent"])),onTouchend:s[34]||(s[34]=(...h)=>m.onTouchEnd&&m.onTouchEnd(...h))},null,32),t.createElementVNode("textarea",{ref:be,class:"cell-editor",value:Y.editValue,style:t.normalizeStyle(m.editInputStyle),onInput:s[35]||(s[35]=(...h)=>m.onEditInput&&m.onEditInput(...h)),onKeydown:s[36]||(s[36]=(...h)=>m.onEditKd&&m.onEditKd(...h)),onCompositionstart:s[37]||(s[37]=(...h)=>m.onEditCompositionStart&&m.onEditCompositionStart(...h)),onCompositionend:s[38]||(s[38]=(...h)=>m.onEditCompositionEnd&&m.onEditCompositionEnd(...h)),onBlur:s[39]||(s[39]=(...h)=>m.onEditBlur&&m.onEditBlur(...h)),onPaste:s[40]||(s[40]=(...h)=>m.onEditPaste&&m.onEditPaste(...h))},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(h=>{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]=(...h)=>m.onVTrk&&m.onVTrk(...h))},[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]=(...h)=>m.onVStart&&m.onVStart(...h))},null,36)],32),t.createElementVNode("button",{class:"sb-btn sb-btn--down",onMousedown:s[44]||(s[44]=t.withModifiers(h=>{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(h=>{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]=(...h)=>m.onHTrk&&m.onHTrk(...h))},[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]=(...h)=>m.onHStart&&m.onHStart(...h))},null,36)],32),t.createElementVNode("button",{class:"sb-btn sb-btn--right",onMousedown:s[48]||(s[48]=t.withModifiers(h=>{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]=h=>m.onTabClick(h)),onTabDblclick:s[50]||(s[50]=h=>m.onTabDblClick(h)),onTabContextmenu:s[51]||(s[51]=h=>m.onTabCtxMenu(h.ev,h.i)),onTabRenameInput:s[52]||(s[52]=h=>G(h)),onTabRenameKeydown:s[53]||(s[53]=h=>m.onTabRenameKd(h)),onTabRenameCommit:m.commitTabRename,onTabbarContextmenu:s[54]||(s[54]=h=>m.onTabBarCtx(h)),onAddSheet:s[55]||(s[55]=h=>{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,(h,De)=>(t.openBlock(),t.createElementBlock("div",{key:De,class:t.normalizeClass(["context-menu__item",{"context-menu__item--disabled":h.disabled}]),onClick:xe=>!h.disabled&&h.action&&(h.action(),U()),onMouseenter:xe=>m.onCtxItemEnter(xe,h)},[t.createElementVNode("span",xn,t.toDisplayString(h.label),1),h.children?(t.openBlock(),t.createElementBlock("span",Sn)):t.createCommentVNode("",!0),h.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(h.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(),U()),["stop"])},t.toDisplayString(xe.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]=(...h)=>m.onDimInput&&m.onDimInput(...h)),onKeydown:s[58]||(s[58]=(...h)=>m.onDimKeydown&&m.onDimKeydown(...h)),onBlur:s[59]||(s[59]=(...h)=>m.onDimBlur&&m.onDimBlur(...h))},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]=(...h)=>m.applyDimPanel&&m.applyDimPanel(...h))}," 确定 "),t.createElementVNode("button",{class:"dim-panel__btn",onClick:s[61]||(s[61]=(...h)=>m.closeDimPanel&&m.closeDimPanel(...h))}," 取消 ")])],36)):t.createCommentVNode("",!0)]),_:1})]))],4))}}),[["__scopeId","data-v-a5861b41"]]);ct.Spreader=fl,ct.default=fl,Object.defineProperties(ct,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|