xiaodao-spreader 0.1.26 → 0.1.28
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 +15 -19
- package/README.md +15 -19
- package/dist/style.css +1 -1
- package/dist/types/components/spreader/components/dropdown.vue.d.ts +3 -0
- package/dist/types/components/spreader/components/pickers/sortConfirmDialog.vue.d.ts +5 -5
- package/dist/types/components/spreader/components/toolbar.vue.d.ts +4 -0
- package/dist/types/components/spreader/composables/core-state.d.ts +38 -1
- package/dist/types/components/spreader/composables/interactions.d.ts +3 -0
- package/dist/types/components/spreader/composables/sheets-ops.d.ts +5 -1
- package/dist/types/components/spreader/composables/undo-styles.d.ts +4 -1
- package/dist/types/components/spreader/core/types.d.ts +27 -0
- package/dist/xiaodao-spreader.es.js +5041 -4567
- package/dist/xiaodao-spreader.umd.js +9 -9
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
(function(Ut,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(Ut=typeof globalThis<"u"?globalThis:Ut||self,t(Ut.XiaoDaoSpreader={},Ut.Vue))})(this,function(Ut,t){"use strict";const Nn={"zh-CN":{insert:"插入",delete:"删除",rename:"重命名",moveLeft:"左移",moveRight:"右移",cut:"剪切",copy:"复制",paste:"粘贴",addSheet:"新建工作表",sheetList:"工作表列表",moveSheetLeft:"左移",moveSheetRight:"右移",scrollUp:"向上滚动",scrollDown:"向下滚动",scrollLeft:"向左滚动",scrollRight:"向右滚动",calculate:"计算",sum:"求和",avg:"平均值",count:"计数",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:"默认列宽",sort:"排序",sortAsc:"升序排序",sortDesc:"降序排序",sortReminderTitle:"排序提醒",sortReminderMessage:"选定区域的左侧或右侧还有相邻数据,这些数据未被选中,将不参与排序。是否将其一并纳入排序?",sortExpandSelection:"扩展选定区域",sortCurrentSelection:"仅对选定区域排序",insertFunctionTitle:"插入函数",insertFunctionSelectLabel:"函数",insertFunctionPlaceholder:"请选择函数",insertFunctionSearchPlaceholder:"搜索函数",insertFunctionFormulaLabel:"公式",insertFunctionBtn:"插入",fnDescSum:"计算单元格区域中所有数值的和",fnDescAverage:"计算单元格区域中数值的算术平均值",fnDescCount:"统计单元格区域中包含数值的单元格个数",fnDescIf:"根据指定条件判断真假,返回对应的两个值之一",fnDescVlookup:"在区域首列查找指定值,返回同一行中指定列的值",fnDescConcatenate:"将多个文本连接合并为一个文本",fnDescMax:"返回单元格区域中所有数值的最大值",fnDescMin:"返回单元格区域中所有数值的最小值",fnDescSin:"返回给定角度(弧度)的正弦值",fnDescSumif:"对区域中满足指定条件的单元格对应的数值求和",fnDescPmt:"计算基于固定利率及等额分期付款的贷款每期还款额",fnDescStdev:"估算基于样本的标准偏差(忽略文本与逻辑值)",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:"墨绿",numberFormat:"数字格式",nfGeneral:"常规",nfText:"文本",nfNumber:"数字",nfPercent:"百分比",nfScientific:"科学计数法",nfAccounting:"会计专用",nfFinancial:"财务数值",nfCurrency:"货币",nfCurrencyRounded:"货币取整",nfDate:"日期",nfTime:"时间",nfDateTime:"日期和时间",nfDuration:"持续时间",nfCustom:"其他数字格式…",nfMixed:"混合",nfIncreaseDecimals:"增加小数位数",nfDecreaseDecimals:"减少小数位数",nfDialogTitle:"设置单元格格式",nfCategory:"分类",nfCatCustom:"自定义",nfDecimals:"小数位数",nfThousands:"使用千位分隔符",nfSymbol:"货币符号",nfDateFormat:"日期格式",nfTimeFormat:"时间格式",nfCustomCode:"自定义格式代码",nfPreview:"预览",nfPreviewSample:"示例",find:"查找",findReplace:"查找和替换",findPlaceholder:"查找内容",replacePlaceholder:"替换为",findPrev:"上一个",findNext:"下一个",replace:"替换",replaceAll:"全部替换",findScope:"范围",scopeSheet:"当前工作表",scopeWorkbook:"整个工作簿",scopeSelection:"当前选区",matchCase:"区分大小写",matchEntireCell:"完整匹配",findNoResult:"未找到",findNeedSelection:"请先选择范围",findReplacedAll:"已替换 {n} 处",findClose:"关闭"},"en-US":{insert:"Insert",delete:"Delete",rename:"Rename",moveLeft:"Move Left",moveRight:"Move Right",cut:"Cut",copy:"Copy",paste:"Paste",addSheet:"Add new sheet",sheetList:"Sheet list",moveSheetLeft:"Move Left",moveSheetRight:"Move Right",scrollUp:"Scroll up",scrollDown:"Scroll down",scrollLeft:"Scroll left",scrollRight:"Scroll right",calculate:"Calculate",sum:"Sum",avg:"Average",count:"Count",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",sort:"Sort",sortAsc:"Sort Ascending",sortDesc:"Sort Descending",sortReminderTitle:"Sort Warning",sortReminderMessage:"There is adjacent data to the left or right of your selection. It is not selected and will not be sorted. Include it in the sort?",sortExpandSelection:"Expand the selection",sortCurrentSelection:"Sort the current selection only",insertFunctionTitle:"Insert Function",insertFunctionSelectLabel:"Function",insertFunctionPlaceholder:"Select a function",insertFunctionSearchPlaceholder:"Search a function",insertFunctionFormulaLabel:"Formula",insertFunctionBtn:"Insert",fnDescSum:"Adds all the numbers in a range of cells",fnDescAverage:"Returns the arithmetic mean of the numbers in a range",fnDescCount:"Counts the cells that contain numbers in a range",fnDescIf:"Checks a condition and returns one of two values",fnDescVlookup:"Looks up a value in the first column of a range and returns a value in the same row",fnDescConcatenate:"Joins several text strings into one text string",fnDescMax:"Returns the largest numeric value in a range of cells",fnDescMin:"Returns the smallest numeric value in a range of cells",fnDescSin:"Returns the sine of a given angle (in radians)",fnDescSumif:"Sums the values in a range that meet a specified condition",fnDescPmt:"Calculates the periodic payment for a loan with constant payments and interest",fnDescStdev:"Estimates the sample standard deviation of a supplied set of values",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",numberFormat:"Number Format",nfGeneral:"General",nfText:"Text",nfNumber:"Number",nfPercent:"Percentage",nfScientific:"Scientific",nfAccounting:"Accounting",nfFinancial:"Financial",nfCurrency:"Currency",nfCurrencyRounded:"Currency Rounded",nfDate:"Date",nfTime:"Time",nfDateTime:"Date & Time",nfDuration:"Duration",nfCustom:"Other Number Formats…",nfMixed:"Mixed",nfIncreaseDecimals:"Increase Decimal",nfDecreaseDecimals:"Decrease Decimal",nfDialogTitle:"Format Cells",nfCategory:"Category",nfCatCustom:"Custom",nfDecimals:"Decimal places",nfThousands:"Use 1000 separator",nfSymbol:"Currency symbol",nfDateFormat:"Date format",nfTimeFormat:"Time format",nfCustomCode:"Custom format code",nfPreview:"Preview",nfPreviewSample:"Sample",find:"Find",findReplace:"Find & Replace",findPlaceholder:"Find what",replacePlaceholder:"Replace with",findPrev:"Previous",findNext:"Next",replace:"Replace",replaceAll:"Replace All",findScope:"Scope",scopeSheet:"Current sheet",scopeWorkbook:"Entire workbook",scopeSelection:"Current selection",matchCase:"Match case",matchEntireCell:"Match entire cell",findNoResult:"No results",findNeedSelection:"Select a range first",findReplacedAll:"Replaced {n} occurrence(s)",findClose:"Close"}};function T(e,o){var n;return((n=Nn[e])==null?void 0:n[o])??o}const sl='-apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif',Ht=10,Tn=[{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'}],An=[{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}],Vn='<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>',In='<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>',Fn='<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>',On='<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>',Hn='<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>',Ln='<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>',$n=[{value:"left",labelKey:"alignLeft",icon:Vn},{value:"center",labelKey:"alignCenter",icon:In},{value:"right",labelKey:"alignRight",icon:Fn}],_n=[{value:"top",labelKey:"alignTop",icon:On},{value:"middle",labelKey:"alignMiddle",icon:Hn},{value:"bottom",labelKey:"alignBottom",icon:Ln}],Yl=[{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>'}],zn={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",findMatchBg:"rgba(255, 213, 79, 0.45)",findActiveBg:"rgba(255, 179, 0, 0.75)"},Wn={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",findMatchBg:"rgba(255, 213, 79, 0.35)",findActiveBg:"rgba(255, 179, 0, 0.6)"},Lt="__nf_custom__",Dt="",$t="",vt="@",Bl="__NF_INVALID__",Dl=2958465,Nl=0;function Ct(e){return e==null||e===""?!0:e.toUpperCase()==="GENERAL"}function Tl(e){return e==="zh-CN"?"¥":"$"}function Un(e){return e.replace(/\*/g,"").replace(/_.|_\b/g,"")}function Xl(e){return e.replace(/"([^"]*)"/g,"$1")}function Kn(e){let o=e,n;const l=o.match(/^\[([^\]]+)\]/);l&&(n=l[1].toLowerCase(),o=o.slice(l[0].length)),o=Un(o);const a=/E[+-]/i.test(o),i=o.includes("%"),r=o.search(/[0#?]/);if(r===-1)return{hasDigits:!1,decimals:0,minDecimals:0,minIntDigits:0,thousands:!1,scale:i?100:1,scientific:!1,prefix:o,suffix:"",color:n};let m=-1;for(let P=o.length-1;P>=0;P--){const ee=o[P];if(ee==="0"||ee==="#"||ee==="?"||ee==="E"){m=P;break}}m<0&&(m=r);const c=r>0?o.slice(0,r):"",g=m<o.length-1?o.slice(m+1):"",k=o.slice(r,m+1),S=/[0#?]/.test(k),y=k.includes(",");let E=k.replace(/,/g,"");if(a){const P=E.search(/E/i);P>=0&&(E=E.slice(0,P))}const j=E.indexOf("."),Z=j>=0?E.slice(0,j):E,te=j>=0?E.slice(j+1):"",K=(te.match(/[0#?]/g)||[]).length,b=(te.match(/0/g)||[]).length,le=(Z.match(/0/g)||[]).length;return{hasDigits:S,decimals:K,minDecimals:b,minIntDigits:le,thousands:y,scale:i?100:1,scientific:a,prefix:c,suffix:g,color:n}}function Pn(e){const o=[];let n=!1;const l=/\[h\]|\[mm\]|\[ss\]|yyyy|yy|y|mmmm|mmm|mm|m|dddd|ddd|dd|d|hh|h|ss|s|AM\/PM|am\/pm|"[^"]*"|\/|-|:|\s+|[^\s]/g;let a;for(;(a=l.exec(e))!==null;){const i=a[0];switch(i){case"[h]":n=!0,o.push({type:"hour",len:0});break;case"[mm]":n=!0,o.push({type:"minute",len:2});break;case"[ss]":n=!0,o.push({type:"second",len:2});break;case"yyyy":o.push({type:"year",len:4});break;case"yy":case"y":o.push({type:"year",len:2});break;case"mmmm":o.push(n?{type:"minute",len:4}:{type:"monthName",len:4});break;case"mmm":o.push(n?{type:"minute",len:3}:{type:"monthName",len:3});break;case"mm":o.push(n?{type:"minute",len:2}:{type:"month",len:2});break;case"m":o.push(n?{type:"minute",len:1}:{type:"month",len:1});break;case"dddd":o.push({type:"weekday",len:4});break;case"ddd":o.push({type:"weekday",len:3});break;case"dd":o.push({type:"day",len:2});break;case"d":o.push({type:"day",len:1});break;case"hh":o.push({type:"hour",len:2});break;case"h":o.push({type:"hour",len:1});break;case"ss":o.push({type:"second",len:2});break;case"s":o.push({type:"second",len:1});break;case"AM/PM":case"am/pm":o.push({type:"ampm",len:2});break;default:i.startsWith('"')?o.push({type:"literal",text:Xl(i),len:0}):o.push({type:"literal",text:i,len:0})}}return{tokens:o,isDuration:n}}const jl=new Map;function Gn(e){const o=e.replace(/\[[^\]]*\]/gi,i=>/^\[(h|mm|ss)\]$/i.test(i)?i:"");if(/[ydhs]/.test(o)||/AM\/PM/i.test(o)||/\[h\]/i.test(o)){const i=e.split(";")[0]??e,{tokens:r,isDuration:m}=Pn(i);return{kind:m?"duration":"date",sections:[],tokens:r,isDuration:m,raw:e}}return{kind:"number",sections:e.split(";").map(i=>Kn(i)),tokens:[],isDuration:!1,raw:e}}function _t(e){const o=jl.get(e);if(o)return o;const n=Gn(e);return jl.set(e,n),n}function Zl(e,o,n,l,a){const i=Math.pow(10,o),r=Math.round((e+Number.EPSILON)*i)/i,m=r<0,c=Math.abs(r);let k=new Intl.NumberFormat("en-US",{useGrouping:l,minimumIntegerDigits:a,minimumFractionDigits:o,maximumFractionDigits:o}).format(c);if(n<o&&o>0){const y=k.indexOf(".");if(y>=0){const v=k.substring(0,y);let E=k.substring(y+1);E=E.replace(/0+$/,""),E.length<n&&(E=E+"0".repeat(n-E.length)),k=E?`${v}.${E}`:v}}return`${m?"-":""}${k}`}function ql(e,o){if(e===0)return(o>0?"0."+"0".repeat(o):"0")+"E+00";const n=Math.floor(Math.log10(Math.abs(e))),l=e/Math.pow(10,n),a=Zl(l,o,o,!1,1),i=(n>=0?"+":"-")+String(Math.abs(n)).padStart(2,"0");return`${a}E${i}`}function Yn(e,o,n){if(!n.hasDigits)return Xl(n.prefix+n.suffix);const l=n.scale===100?e*100:e,a=n.scientific?ql(l,n.decimals):Zl(l,n.decimals,n.minDecimals,n.thousands,n.minIntDigits);return o+n.prefix+a+n.suffix}function Xn(e,o){const n=o.sections;if(n.length===0)return String(e);let l,a,i="";return e>0?(l=n[0],a=e):e<0?n[1]?(l=n[1],a=-e):(l=n[0],a=-e,i="-"):(l=n[2]??n[0],a=0),Yn(a,i,l)}function jn(e){return new Date((e-25569)*864e5)}const Zn=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],qn=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],Jl=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],Jn=["January","February","March","April","May","June","July","August","September","October","November","December"],Qn=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Ql=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function tl(e,o){return String(e).padStart(o,"0")}function eo(e,o,n,l){const a=e.getUTCFullYear(),i=e.getUTCMonth()+1,r=e.getUTCDate(),m=e.getUTCDay(),c=n==="zh-CN";let g="",k=!1;for(const S of o)switch(S.type){case"literal":g+=S.text??"";break;case"year":g+=S.len>=4?String(a):String(a%100).padStart(2,"0");break;case"month":g+=tl(k?e.getUTCMinutes():i,S.len);break;case"monthName":g+=S.len>=4?c?Zn[i-1]:Jn[i-1]:c?qn[i-1]:Qn[i-1];break;case"day":g+=tl(r,S.len);break;case"weekday":g+=S.len>=4?c?Jl[m]:Ql[m]:c?Jl[m].slice(2):Ql[m].slice(0,3);break;case"hour":{let y=e.getUTCHours();if(S.len===0){const v=Math.floor(l*86400);y=Math.floor(v/3600)}g+=String(y),k=!0;break}case"minute":g+=tl(e.getUTCMinutes(),S.len);break;case"second":g+=tl(e.getUTCSeconds(),S.len);break;case"ampm":{const y=e.getUTCHours();g+=y<12?c?"上午":"AM":c?"下午":"PM";break}}return g}function to(e,o){const n=Math.floor(e*86400),l=Math.floor(n/3600),a=Math.floor(n%3600/60),i=n%60;let r="";for(const m of o)switch(m.type){case"literal":r+=m.text??"";break;case"hour":r+=String(l);break;case"minute":r+=tl(a,m.len||2);break;case"second":r+=tl(i,m.len||2);break;default:r+=""}return r}function lo(e){if(e==="")return e;const o=Number(e);if(!isNaN(o)&&e.trim()!==""){const n=Math.abs(o);return n!==0&&(n>=1e15||n<1e-9)?ql(o,9):e}return e}function Zt(e,o,n){if(Ct(o))return lo(e);if(o==null||o===vt)return e;const l=_t(o);if(l.kind==="date"||l.kind==="duration"){const i=Number(e);if(!isFinite(i))return e;if(l.kind==="date"){if(i<Nl||i>Dl)return Bl}else if(i<0)return Bl;return l.kind==="duration"?to(i,l.tokens):eo(jn(i),l.tokens,n,i)}const a=Number(e);return isNaN(a)?e:Xn(a,l)}const no=["general","text","number","percent","scientific","accounting","financial","currency","currencyRounded","date","time","dateTime","duration","custom"];function en(e,o){if(o===vt||o==="@")return!1;if(Ct(o)){if(e==null||e===""||e.trim()==="")return!1;const l=Number(e);return!Number.isNaN(l)&&Number.isFinite(l)}const n=_t(o);return!!(n.kind==="number"&&tn(n))}function tn(e){return e.sections.some(o=>o.hasDigits)}function oo(e){if(e==null||Ct(e)||e===vt||e==="@")return!1;const o=_t(e);return!!(o.kind==="date"||o.kind==="duration"||o.kind==="number"&&tn(o))}function ro(e,o){if(o==null||Ct(o)||o===vt||o==="@")return!1;const n=_t(o),l=Number(e);return Number.isFinite(l)?n.kind==="date"?l<Nl||l>Dl:n.kind==="duration"?l<0:!1:!1}const Al=30,Vl=0;function dl(e){if(e==null||e===""||e.trim()==="")return!1;const o=Number(e);return!Number.isNaN(o)&&Number.isFinite(o)}function ln(e,o){if(e==null||e===Dt||Ct(e))return dl(o);if(e===vt)return!1;const n=_t(e);return n.kind==="date"||n.kind==="duration"?!1:n.sections.some(l=>l.hasDigits)}function ao(e){if(!dl(e))return 0;const o=String(Number(e));return o.indexOf(".")<0||/e/i.test(o)?0:o.slice(o.indexOf(".")+1).length}function io(e,o){if(!ln(e,o))return-1;if(e==null||e===Dt||Ct(e))return ao(o);const l=_t(e).sections.find(a=>a.hasDigits);return l?l.decimals:-1}function co(e,o){let n=0;const l=/\[[^\]]*\]/g;let a;for(;(a=l.exec(e))!==null&&!/^\[(h|mm|ss)\]$/i.test(a[0]);)n=a.index+a[0].length;const i=e.slice(0,n),r=e.slice(n),m=r.search(/[0#?]/);if(m===-1)return e;let c=-1;for(let Z=r.length-1;Z>=0;Z--){const te=r[Z];if(te==="0"||te==="#"||te==="?"||te==="E"){c=Z;break}}if(c<m)return e;const g=r.slice(m,c+1),k=g.search(/E[+-]/i),S=k>=0?g.slice(0,k):g,y=S.indexOf("."),v=y>=0?(S.slice(y+1).match(/[0#?]/g)||[]).length:0;if(v===o)return e;let E;if(y<0)E=o>0?S+"."+"0".repeat(o):S;else if(o>v)E=S+"0".repeat(o-v);else{let Z=v-o;const te=S.split("");for(let K=te.length-1;K>=0&&Z>0;K--){const b=te[K];(b==="0"||b==="#"||b==="?")&&(te.splice(K,1),Z--)}E=te.join(""),o===0&&E.endsWith(".")&&(E=E.slice(0,-1))}const j=E+(k>=0?g.slice(k):"");return i+r.slice(0,m)+j+r.slice(c+1)}function so(e,o){if(!Number.isInteger(o)||o<Vl||o>Al||e===Dt)return null;if(e==null||Ct(e))return o>0?"0."+"0".repeat(o):"0";if(e===vt)return null;const n=_t(e);return n.kind==="date"||n.kind==="duration"||!n.sections.some(l=>l.hasDigits)?null:e.split(";").map(l=>co(l,o)).join(";")}const Il=["¥","$","€","£"];function nn(e,o){if(e==null||e===Dt)return e??$t;if(Ct(e))return $t;if(e===vt||e==="@")return vt;const n=Tl(o),l=o==="zh-CN"?'yyyy"年"m"月"d"日"':"m/d/yyyy",a=o==="zh-CN"?'yyyy"年"m"月"d"日" h:mm:ss':"m/d/yyyy h:mm:ss",i=`${n}#,##0.00;(${n}#,##0.00);${n}"-"`,r="#,##0.00;[Red](#,##0.00)";if(on(o).some(v=>v.value===e))return e;const c=e.replace(/\[[^\]]*\]/gi,v=>/^\[(h|mm|ss)\]$/i.test(v)?v:"");if(/\[(h|mm|ss)\]/i.test(c)&&!/[yd]/i.test(c))return"[h]:mm:ss";const g=/[yd]/i.test(c),k=/h|s|AM\/PM/i.test(c);if(g&&k)return a;if(g||/AM\/PM/i.test(c))return l;if(k)return"h:mm:ss";if(e.includes("%"))return"0.00%";if(/E[+-]/i.test(e))return"0.00E+00";if(e.includes("[Red]("))return r;const S=Il.find(v=>e.startsWith(v));if(S)return e.includes("(")?i:/\.\d/.test(e.slice(S.length))?n+"#,##0.00":n+"#,##0";const y=_t(e);return y.kind==="number"&&y.sections.some(v=>v.hasDigits)?"#,##0.00":Lt}function uo(e,o){return new Date(Date.UTC(e,o,0)).getUTCDate()}function fo(e,o,n){const l=Date.UTC(e,o-1,n)/864e5+25569;return l<=60?l-1:l}function Fl(e,o,n=new Date){const l=e.trim();if(!l||l.startsWith("=")||dl(l))return null;const a=o==="zh-CN"?'yyyy"年"m"月"d"日"':"m/d/yyyy",i=o==="zh-CN"?'yyyy"年"m"月"d"日" h:mm:ss':"m/d/yyyy h:mm:ss",r="h:mm:ss";function m(y){const v=/^(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/.exec(y);if(!v)return null;const E=Number(v[1]),j=Number(v[2]),Z=v[3]!==void 0?Number(v[3]):0;return E>23||j>59||Z>59?null:(E*3600+j*60+Z)/86400}function c(y){let v=/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$/.exec(y),E,j,Z;if(v)E=Number(v[1]),j=Number(v[2]),Z=Number(v[3]);else if(v=/^(\d{4})年(\d{1,2})月(\d{1,2})日$/.exec(y))E=Number(v[1]),j=Number(v[2]),Z=Number(v[3]);else if(v=/^(\d{1,2})[-/](\d{1,2})$/.exec(y))E=n.getUTCFullYear(),j=Number(v[1]),Z=Number(v[2]);else return null;if(E<1900||E>9999||j<1||j>12||Z<1||Z>uo(E,j))return null;const te=fo(E,j,Z);return te>=Nl&&te<=Dl?te:null}const g=m(l);if(g!==null)return{serial:g,format:r};const k=/^(.+?)[T ](\d{1,2}:\d{1,2}(?::\d{1,2})?)$/.exec(l);if(k){const y=c(k[1].trim()),v=m(k[2]);if(y!==null&&v!==null)return{serial:y+v,format:i}}const S=c(l);return S!==null?{serial:S,format:a}:null}function mo(e,o){const n=e.trim();if(!n||n.startsWith("=")||!(n.includes(",")||n.includes("%")||Il.some(K=>n.startsWith(K)))||Fl(n,o))return null;const a=Il.find(K=>n.startsWith(K)),i=a?n.slice(a.length).trim():n;if(!i)return null;const r=/^([+-]?)(\d{1,3}(?:,\d{3})+)(?:\.(\d+))?(%?)$/.exec(i)||/^([+-]?)(\d+)(?:\.(\d+))?(%?)$/.exec(i);if(!r)return null;const m=r[1]==="-"?-1:1,c=r[2].replace(/,/g,""),g=r[3],k=(r[4]??"")==="%",S=g?g.length:0,y=+(c+(g?"."+g:""));if(!Number.isFinite(y))return null;const E=i.includes(",")?"#,##0":"0",j=S>0?"."+"0".repeat(S):"",Z=(a??"")+E+j+(k?"%":"");let te=y*m;return k&&(te=te/100),te=Math.round(te*1e12)/1e12,{num:te,format:Z}}function po(e,o,n,l){const a=Tl(e),i=l?"#,##0":"0",r=n>0?"."+"0".repeat(n):"",m=i+r;switch(o){case"general":return"";case"text":return vt;case"custom":return"";case"number":return m;case"percent":return m+"%";case"scientific":return"0."+"0".repeat(n)+"E+00";case"currency":return a+m;case"currencyRounded":return a+(l?"#,##0":"0");case"accounting":return`${a}${m};(${a}${m});${a}"-"`;case"financial":return`${m};[Red](${m})`;case"date":return e==="zh-CN"?'yyyy"年"m"月"d"日"':"m/d/yyyy";case"time":return"h:mm:ss";case"dateTime":return e==="zh-CN"?'yyyy"年"m"月"d"日" h:mm:ss':"m/d/yyyy h:mm:ss";case"duration":return"[h]:mm:ss";default:return""}}function on(e){const o=Tl(e);return[{label:T(e,"nfGeneral"),value:$t},{label:T(e,"nfText"),value:vt},{label:T(e,"nfNumber"),value:"#,##0.00"},{label:T(e,"nfPercent"),value:"0.00%"},{label:T(e,"nfScientific"),value:"0.00E+00"},{label:T(e,"nfAccounting"),value:`${o}#,##0.00;(${o}#,##0.00);${o}"-"`},{label:T(e,"nfFinancial"),value:"#,##0.00;[Red](#,##0.00)"},{label:T(e,"nfCurrency"),value:o+"#,##0.00"},{label:T(e,"nfCurrencyRounded"),value:o+"#,##0"},{label:T(e,"nfDate"),value:e==="zh-CN"?'yyyy"年"m"月"d"日"':"m/d/yyyy"},{label:T(e,"nfTime"),value:"h:mm:ss"},{label:T(e,"nfDateTime"),value:e==="zh-CN"?'yyyy"年"m"月"d"日" h:mm:ss':"m/d/yyyy h:mm:ss"},{label:T(e,"nfDuration"),value:"[h]:mm:ss"},{label:T(e,"nfCustom"),value:Lt}]}const ho=["title"],go=["innerHTML"],bo={key:1,class:"sp-dropdown__value"},yo=["disabled"],vo=["placeholder"],Co=["onClick"],wo=["innerHTML"],ko={class:"sp-dropdown__item-label"},Eo={key:2,class:"sp-dropdown__empty"},So=["disabled"],xo=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},fallbackLabel:{default:""},searchable:{type:Boolean,default:!1},searchPlaceholder:{default:""}},emits:["update:modelValue","change","update:modelOpen"],setup(e,{emit:o}){const n=e,l=o,a=t.ref(!1),i=t.ref(0),r=t.ref(null),m=t.ref(null),c=t.ref(null),g=t.ref({top:0,up:!1}),k=t.ref(void 0),S=t.ref(0),y=t.ref(!1),v=t.ref(""),E=t.ref(null),j=t.computed(()=>n.options.find(p=>String(p.value)===String(n.modelValue))),Z=t.computed(()=>n.menuWidth!==void 0?n.menuWidth:k.value),te=t.computed(()=>{if(!n.searchable||!v.value.trim())return n.options;const p=v.value.trim().toLowerCase();return n.options.filter(D=>String(D.label??"").toLowerCase().includes(p))}),K=t.computed(()=>te.value.length>0),b=t.computed(()=>Math.min(n.visibleCount,te.value.length)),le=t.computed(()=>te.value.slice(i.value,i.value+b.value)),P=t.computed(()=>i.value>0),ee=t.computed(()=>i.value+b.value<te.value.length),Ce=t.computed(()=>te.value.length>b.value);function Me(p){i.value=Math.max(0,Math.min(te.value.length-b.value,i.value+p))}function ge(){a.value=!0,n.searchable&&(v.value=""),n.modelOpen!==void 0&&l("update:modelOpen",!0);const p=n.triggerEl??r.value;if(!p)return;const D=p.getBoundingClientRect();k.value=D.width;const I=b.value*22+(Ce.value?2*15:0)+8+(n.searchable?34:0),x=window.innerHeight-D.bottom-4<I&&D.top-4>I;n.align==="right"?g.value={right:window.innerWidth-D.right,top:x?D.top-I-4:D.bottom+4,up:x}:g.value={left:D.left,top:x?D.top-I-4:D.bottom+4,up:x};const s=te.value.findIndex(u=>String(u.value)===String(n.modelValue));i.value=s>=0?Math.max(0,Math.min(s-Math.floor(b.value/2),te.value.length-b.value)):0,n.searchable&&t.nextTick(()=>{var u;return(u=E.value)==null?void 0:u.focus()})}function se(){a.value=!1,v.value="",n.modelOpen!==void 0&&l("update:modelOpen",!1)}function Re(){a.value?se():ge()}function Ke(p){l("update:modelValue",p.value),l("change",p.value),se()}function we(p){var I,U;if(!a.value)return;const D=p.target;(I=r.value)!=null&&I.contains(D)||(U=c.value)!=null&&U.contains(D)||se()}function me(p){a.value&&(p.preventDefault(),Me(p.deltaY>0?1:-1))}t.watch(a,p=>{t.nextTick(()=>{var D,I;p?((D=m.value)==null||D.addEventListener("wheel",me,{passive:!1}),document.addEventListener("keydown",ye)):((I=m.value)==null||I.removeEventListener("wheel",me),document.removeEventListener("keydown",ye))})});function ye(p){a.value&&p.key==="Escape"&&se()}t.watch(()=>n.modelOpen,p=>{p!==void 0&&p!==a.value&&(p?ge():se())});function Le(p){a.value&&(S.value=p.touches[0].clientY,y.value=!0)}function $e(p){if(!a.value||!y.value)return;const D=p.touches[0].clientY-S.value;Math.abs(D)>5&&(Me(D<0?1:-1),S.value=p.touches[0].clientY)}function G(){y.value=!1}function pe(p){p.key==="Escape"&&(p.stopPropagation(),se())}return t.onMounted(()=>{document.addEventListener("pointerdown",we),window.addEventListener("resize",se),window.addEventListener("scroll",se,!0)}),t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",we),document.removeEventListener("keydown",ye),window.removeEventListener("resize",se),window.removeEventListener("scroll",se,!0)}),(p,D)=>{var I,U;return t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:r,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":a.value}]),title:e.title,onClick:Re},[(I=j.value)!=null&&I.icon?(t.openBlock(),t.createElementBlock("span",{key:0,class:"sp-dropdown__icon",innerHTML:j.value.icon},null,8,go)):(t.openBlock(),t.createElementBlock("span",bo,t.toDisplayString(((U=j.value)==null?void 0:U.label)??e.fallbackLabel),1)),D[5]||(D[5]=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,ho)),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[a.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:c,class:t.normalizeClass(["sp-dropdown__menu",{"sp-dropdown__menu--up":g.value.up}]),style:t.normalizeStyle({left:g.value.left!==void 0?g.value.left+"px":void 0,right:g.value.right!==void 0?g.value.right+"px":void 0,top:g.value.top+"px",minWidth:Z.value!==void 0?typeof Z.value=="number"?Z.value+"px":Z.value:void 0}),onKeydown:pe,onMousedown:D[4]||(D[4]=t.withModifiers(()=>{},["prevent"]))},[Ce.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["sp-dropdown__nav",{"sp-dropdown__nav--disabled":!P.value}]),disabled:!P.value,onClick:D[0]||(D[0]=x=>Me(-1))},[...D[6]||(D[6]=[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,yo)):t.createCommentVNode("",!0),e.searchable?t.withDirectives((t.openBlock(),t.createElementBlock("input",{key:1,ref_key:"searchInputRef",ref:E,"onUpdate:modelValue":D[1]||(D[1]=x=>v.value=x),class:"sp-dropdown__search",type:"text",placeholder:e.searchPlaceholder,onMousedown:D[2]||(D[2]=t.withModifiers(()=>{},["stop"]))},null,40,vo)),[[t.vModelText,v.value]]):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"listRef",ref:m,class:"sp-dropdown__list",onTouchstart:Le,onTouchmove:$e,onTouchend:G},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(le.value,x=>(t.openBlock(),t.createElementBlock("button",{key:String(x.value),type:"button",class:t.normalizeClass(["sp-dropdown__item",{"sp-dropdown__item--active":String(x.value)===String(e.modelValue)}]),onClick:s=>Ke(x)},[x.icon?(t.openBlock(),t.createElementBlock("span",{key:0,class:"sp-dropdown__item-icon",innerHTML:x.icon},null,8,wo)):t.createCommentVNode("",!0),t.createElementVNode("span",ko,t.toDisplayString(x.label),1)],10,Co))),128))],544),e.searchable&&!K.value?(t.openBlock(),t.createElementBlock("div",Eo," 无匹配 ")):t.createCommentVNode("",!0),Ce.value?(t.openBlock(),t.createElementBlock("button",{key:3,type:"button",class:t.normalizeClass(["sp-dropdown__nav",{"sp-dropdown__nav--disabled":!ee.value}]),disabled:!ee.value,onClick:D[3]||(D[3]=x=>Me(1))},[...D[7]||(D[7]=[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,So)):t.createCommentVNode("",!0)],38)):t.createCommentVNode("",!0)]),_:1})]))],4)}}}),ht=(e,o)=>{const n=e.__vccOpts||e;for(const[l,a]of o)n[l]=a;return n},gt=ht(xo,[["__scopeId","data-v-ee298762"]]),Ro=["title","onClick"],rn=ht(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:o,emit:n}){const l=e,a=n,i=[[{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"}]],r=[[{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"}]],m=t.computed(()=>l.colorKey==="fill"?r:i);function c(K){return T(l.locale,K)}function g(K){const b=l.currentColor;return!b&&!K?!0:b?b.toLowerCase()===K.toLowerCase():!1}const k=t.ref(!1),S=t.ref(null),y=t.ref(null),v=t.ref({top:0});t.watch(()=>l.modelOpen,K=>{K!==void 0&&K!==k.value&&(K?j():Z())});function E(K){const b=S.value,le=y.value,P=K.target;b&&b.contains(P)||le&&le.contains(P)||Z()}function j(){k.value=!0,l.modelOpen!==void 0&&a("update:modelOpen",!0),t.nextTick(()=>{const K=l.triggerEl??S.value;if(K){const b=K.getBoundingClientRect(),le=150,P=120;let ee=window.innerWidth-b.right,Ce=b.bottom+4,Me;b.left-P<4&&(ee=void 0,Me=Math.max(4,b.left)),Ce+le>window.innerHeight-4&&(Ce=b.top-le-4),Ce<4&&(Ce=4),v.value=ee!==void 0?{right:ee,top:Ce}:{left:Me,top:Ce}}document.addEventListener("pointerdown",E)})}function Z(){k.value=!1,l.modelOpen!==void 0&&a("update:modelOpen",!1),document.removeEventListener("pointerdown",E)}function te(K){a("update:modelValue",K),a("change",K),Z()}return t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",E)}),o({open:k,openMenu:j,close:Z}),(K,b)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:S,class:"color-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:y,class:"color-picker__menu",style:t.normalizeStyle({left:v.value.left!==void 0?v.value.left+"px":void 0,right:v.value.right!==void 0?v.value.right+"px":void 0,top:v.value.top+"px"}),onMousedown:b[0]||(b[0]=t.withModifiers(()=>{},["stop","prevent"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.value,(le,P)=>(t.openBlock(),t.createElementBlock("div",{key:P,class:"color-picker__row"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(le,ee=>(t.openBlock(),t.createElementBlock("button",{key:ee.value,class:t.normalizeClass(["color-picker__swatch",{"color-picker__swatch--selected":g(ee.value)}]),title:c(ee.key),style:t.normalizeStyle({background:ee.value||"transparent",border:ee.value?"1px solid rgba(0,0,0,0.15)":"1px dashed #999"}),onClick:Ce=>te(ee.value)},null,14,Ro))),128))]))),128))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-70f3dfdc"]]),Mo=["title","onClick"],Bo={viewBox:"0 0 30 30",class:"border-picker__icon"},Do=["x1","y1","x2","y2","stroke-width","stroke-dasharray","stroke-linecap"],No={class:"border-picker__label"},To=ht(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:o,emit:n}){const l=e,a=n,i=[{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"}],r=[{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"]},c={bottom:[],top:[],left:[],right:[],none:[],all:[],outer:[],thickOuter:["top","bottom","left","right"]};function g(K,b){return c[K].includes(b)?"thick":m[K].includes(b)?"solid":"dashed"}const k=t.ref(!1),S=t.ref(null),y=t.ref(null),v=t.ref({top:0});t.watch(()=>l.modelOpen,K=>{K!==void 0&&K!==k.value&&(K?j():Z())});function E(K){const b=S.value,le=y.value,P=K.target;b&&b.contains(P)||le&&le.contains(P)||Z()}function j(){k.value=!0,l.modelOpen!==void 0&&a("update:modelOpen",!0),t.nextTick(()=>{const K=l.triggerEl??S.value;if(K){const b=K.getBoundingClientRect(),le=200,P=160;let ee=window.innerWidth-b.right,Ce=b.bottom+4,Me;b.left-P<4&&(ee=void 0,Me=Math.max(4,b.left)),Ce+le>window.innerHeight-4&&(Ce=b.top-le-4),Ce<4&&(Ce=4),v.value=ee!==void 0?{right:ee,top:Ce}:{left:Me,top:Ce}}document.addEventListener("pointerdown",E)})}function Z(){k.value=!1,l.modelOpen!==void 0&&a("update:modelOpen",!1),document.removeEventListener("pointerdown",E)}function te(K){a("change",K),Z()}return t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",E)}),o({open:k,openMenu:j,close:Z}),(K,b)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:S,class:"border-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:y,class:"border-picker__menu",style:t.normalizeStyle({left:v.value.left!==void 0?v.value.left+"px":void 0,right:v.value.right!==void 0?v.value.right+"px":void 0,top:v.value.top+"px"}),onMousedown:b[0]||(b[0]=t.withModifiers(()=>{},["stop","prevent"]))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,le=>t.createElementVNode("button",{key:le.key,class:"border-picker__item",title:t.unref(T)(e.locale,le.i18nKey),onClick:P=>te(le.key)},[(t.openBlock(),t.createElementBlock("svg",Bo,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(r,P=>t.createElementVNode("line",{key:P.name,x1:P.x1,y1:P.y1,x2:P.x2,y2:P.y2,stroke:"currentColor","stroke-width":g(le.key,P.name)==="thick"?3:1.5,"stroke-dasharray":g(le.key,P.name)==="dashed"?"0 4":"none","stroke-linecap":g(le.key,P.name)==="dashed"?"round":"square"},null,8,Do)),64))])),t.createElementVNode("span",No,t.toDisplayString(t.unref(T)(e.locale,le.i18nKey)),1)],8,Mo)),64))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-551c0ffe"]]),Ao=["title","onClick"],Vo={viewBox:"0 0 1024 1024",class:"sort-picker__icon",fill:"none",stroke:"currentColor","stroke-width":"64","stroke-linecap":"round","stroke-linejoin":"round"},Io=["x1","y1","x2","y2"],Fo=["d"],Oo={class:"sort-picker__label"},Ho=ht(t.defineComponent({__name:"sortPicker",props:{modelOpen:{type:Boolean,default:void 0},locale:{default:"zh-CN"},currentSort:{default:"asc"},triggerEl:{default:null}},emits:["update:modelOpen","change"],setup(e,{expose:o,emit:n}){const l=e,a=n,i=[{key:"asc",i18nKey:"sortAsc"},{key:"desc",i18nKey:"sortDesc"}],r=[{name:"bar1",x1:96,y1:224,x2:352,y2:224},{name:"bar2",x1:96,y1:512,x2:512,y2:512},{name:"bar3",x1:96,y1:800,x2:672,y2:800}],m={asc:"M832 800V288M672 448l160-160 160 160",desc:"M832 224v512M672 576l160 160 160-160"},c=t.ref(!1),g=t.ref(null),k=t.ref(null),S=t.ref({top:0});t.watch(()=>l.modelOpen,Z=>{Z!==void 0&&Z!==c.value&&(Z?v():E())});function y(Z){const te=g.value,K=k.value,b=Z.target;te&&te.contains(b)||K&&K.contains(b)||E()}function v(){c.value=!0,l.modelOpen!==void 0&&a("update:modelOpen",!0),t.nextTick(()=>{const Z=l.triggerEl??g.value;if(Z){const te=Z.getBoundingClientRect(),K=84,b=160;let le=window.innerWidth-te.right,P=te.bottom+4,ee;te.left-b<4&&(le=void 0,ee=Math.max(4,te.left)),P+K>window.innerHeight-4&&(P=te.top-K-4),P<4&&(P=4),S.value=le!==void 0?{right:le,top:P}:{left:ee,top:P}}document.addEventListener("pointerdown",y)})}function E(){c.value=!1,l.modelOpen!==void 0&&a("update:modelOpen",!1),document.removeEventListener("pointerdown",y)}function j(Z){a("change",Z),E()}return t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",y)}),o({open:c,openMenu:v,close:E}),(Z,te)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:g,class:"sort-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[c.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:k,class:"sort-picker__menu",style:t.normalizeStyle({left:S.value.left!==void 0?S.value.left+"px":void 0,right:S.value.right!==void 0?S.value.right+"px":void 0,top:S.value.top+"px"}),onMousedown:te[0]||(te[0]=t.withModifiers(()=>{},["stop","prevent"]))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,K=>t.createElementVNode("button",{key:K.key,class:"sort-picker__item",title:t.unref(T)(e.locale,K.i18nKey),onClick:b=>j(K.key)},[(t.openBlock(),t.createElementBlock("svg",Vo,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(r,b=>t.createElementVNode("line",{key:b.name,x1:b.x1,y1:b.y1,x2:b.x2,y2:b.y2},null,8,Io)),64)),t.createElementVNode("path",{d:m[K.key]},null,8,Fo)])),t.createElementVNode("span",Oo,t.toDisplayString(t.unref(T)(e.locale,K.i18nKey)),1)],8,Ao)),64))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-45929b74"]]),Lo=["title","onClick"],$o=["innerHTML"],_o={class:"merge-picker__label"},zo=ht(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:o,emit:n}){const l=e,a=n,i=t.ref(!1),r=t.ref(null),m=t.ref(null),c=t.ref({top:0});t.watch(()=>l.modelOpen,v=>{v!==void 0&&v!==i.value&&(v?k():S())});function g(v){const E=r.value,j=m.value,Z=v.target;E&&E.contains(Z)||j&&j.contains(Z)||S()}function k(){i.value=!0,l.modelOpen!==void 0&&a("update:modelOpen",!0),t.nextTick(()=>{const v=l.triggerEl??r.value;if(v){const E=v.getBoundingClientRect(),j=Yl.length*30+12,Z=160;let te=window.innerWidth-E.right,K=E.bottom+4,b;E.left-Z<4&&(te=void 0,b=Math.max(4,E.left)),K+j>window.innerHeight-4&&(K=E.top-j-4),K<4&&(K=4),c.value=te!==void 0?{right:te,top:K}:{left:b,top:K}}document.addEventListener("pointerdown",g)})}function S(){i.value=!1,l.modelOpen!==void 0&&a("update:modelOpen",!1),document.removeEventListener("pointerdown",g)}function y(v){a("change",v),S()}return t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",g)}),o({open:i,openMenu:k,close:S}),(v,E)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:r,class:"merge-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[i.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:m,class:"merge-picker__menu",style:t.normalizeStyle({left:c.value.left!==void 0?c.value.left+"px":void 0,right:c.value.right!==void 0?c.value.right+"px":void 0,top:c.value.top+"px"}),onMousedown:E[0]||(E[0]=t.withModifiers(()=>{},["stop","prevent"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Yl),j=>(t.openBlock(),t.createElementBlock("button",{key:j.key,class:"merge-picker__item",title:t.unref(T)(e.locale,j.labelKey),onClick:Z=>y(j.key)},[t.createElementVNode("span",{class:"merge-picker__icon",innerHTML:j.icon},null,8,$o),t.createElementVNode("span",_o,t.toDisplayString(t.unref(T)(e.locale,j.labelKey)),1)],8,Lo))),128))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-edd36208"]]),Wo=["disabled","title","onClick"],Uo={class:"calc-picker__label"},Ko=ht(t.defineComponent({__name:"calcPicker",props:{modelOpen:{type:Boolean,default:void 0},locale:{default:"zh-CN"},triggerEl:{default:null},disabled:{type:Boolean,default:!1}},emits:["update:modelOpen","change"],setup(e,{expose:o,emit:n}){const l=e,a=n,i=[{key:"sum",labelKey:"sum"},{key:"avg",labelKey:"avg"},{key:"count",labelKey:"count"}],r=t.ref(!1),m=t.ref(null),c=t.ref(null),g=t.ref({top:0});t.watch(()=>l.modelOpen,E=>{E!==void 0&&E!==r.value&&(E?S():y())});function k(E){const j=m.value,Z=c.value,te=E.target;j&&j.contains(te)||Z&&Z.contains(te)||y()}function S(){r.value=!0,l.modelOpen!==void 0&&a("update:modelOpen",!0),t.nextTick(()=>{const E=l.triggerEl??m.value;if(E){const j=E.getBoundingClientRect(),Z=i.length*30+12,te=160;let K=window.innerWidth-j.right,b=j.bottom+4,le;j.left-te<4&&(K=void 0,le=Math.max(4,j.left)),b+Z>window.innerHeight-4&&(b=j.top-Z-4),b<4&&(b=4),g.value=K!==void 0?{right:K,top:b}:{left:le,top:b}}document.addEventListener("pointerdown",k)})}function y(){r.value=!1,l.modelOpen!==void 0&&a("update:modelOpen",!1),document.removeEventListener("pointerdown",k)}function v(E){l.disabled||(a("change",E),y())}return t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",k)}),o({open:r,openMenu:S,close:y}),(E,j)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:m,class:"calc-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[r.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:c,class:"calc-picker__menu",style:t.normalizeStyle({left:g.value.left!==void 0?g.value.left+"px":void 0,right:g.value.right!==void 0?g.value.right+"px":void 0,top:g.value.top+"px"}),onMousedown:j[0]||(j[0]=t.withModifiers(()=>{},["stop","prevent"]))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,Z=>t.createElementVNode("button",{key:Z.key,class:t.normalizeClass(["calc-picker__item",{"calc-picker__item--disabled":e.disabled}]),disabled:e.disabled,title:t.unref(T)(e.locale,Z.labelKey),onClick:te=>v(Z.key)},[t.createElementVNode("span",Uo,t.toDisplayString(t.unref(T)(e.locale,Z.labelKey)),1)],10,Wo)),64))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-01a18e00"]]),Po={class:"tb-item","data-key":"undo"},Go=["title","disabled"],Yo={class:"tb-item","data-key":"redo"},Xo=["title","disabled"],jo={class:"tb-item","data-key":"paint"},Zo=["title","disabled"],qo={class:"tb-item","data-key":"clear"},Jo=["title","disabled"],Qo={class:"tb-item","data-key":"font"},er={class:"tb-item","data-key":"fontSize"},tr={class:"toolbar-font-size"},lr=["value","title"],nr=["title"],or=["title","disabled"],rr=["title","disabled"],ar={class:"tb-item","data-key":"bold"},ir=["title","disabled"],cr={class:"tb-item","data-key":"italic"},sr=["title","disabled"],dr={class:"tb-item","data-key":"underline"},ur=["title","disabled"],fr={class:"tb-item","data-key":"strike"},mr=["title","disabled"],pr={class:"tb-item","data-key":"textColor"},hr={class:"toolbar-split"},gr=["title","disabled"],br={viewBox:"0 0 1024 1024",fill:"currentColor"},yr=["fill"],vr=["title","disabled"],Cr={class:"tb-item","data-key":"fillColor"},wr={class:"toolbar-split"},kr=["title","disabled"],Er={viewBox:"0 0 1024 1024",fill:"currentColor"},Sr=["fill"],xr=["title","disabled"],Rr={class:"tb-item","data-key":"border"},Mr={class:"toolbar-split"},Br=["title","disabled"],Dr={viewBox:"0 0 30 30",fill:"none",stroke:"currentColor"},Nr=["x1","y1","x2","y2","stroke-width","stroke-dasharray","stroke-linecap"],Tr=["title","disabled"],Ar={class:"tb-item","data-key":"hAlign"},Vr={class:"tb-item","data-key":"vAlign"},Ir={class:"tb-item","data-key":"wrap"},Fr=["title"],Or={class:"tb-item","data-key":"merge"},Hr={class:"toolbar-split"},Lr=["title","disabled"],$r=["title","disabled"],_r={class:"tb-item","data-key":"numFmt"},zr={class:"toolbar-number-format-group"},Wr=["title","disabled"],Ur=["title","disabled"],Kr={class:"tb-item","data-key":"calc"},Pr={class:"toolbar-split"},Gr=["title","disabled"],Yr=["title","disabled"],Xr={class:"tb-item","data-key":"sort"},jr={class:"toolbar-split"},Zr=["title","disabled"],qr={viewBox:"0 0 1024 1024",fill:"none",stroke:"currentColor","stroke-width":"64","stroke-linecap":"round","stroke-linejoin":"round"},Jr=["x1","y1","x2","y2"],Qr=["d"],ea=["title","disabled"],ta={class:"tb-item","data-key":"find"},la=["title"],Ol=2,na=6,oa=34,ra=ht(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:{},sortMenuOpen:{type:Boolean},cachedSortOrder:{},canSort:{type:Boolean},selHAlign:{},selVAlign:{},selWrap:{type:Boolean},hAlignOptions:{},vAlignOptions:{},mergeMenuOpen:{type:Boolean},calcMenuOpen:{type:Boolean},isSingleCell:{type:Boolean},themeVars:{},selNumberFormat:{},nfOptions:{},canIncreaseDecimals:{type:Boolean},canDecreaseDecimals:{type:Boolean}},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","apply-sort","wrap-toggle","apply-merge","calc-sum","calc-avg","calc-count","find","increase-decimals","decrease-decimals","font-family-change","font-size-change","h-align-change","v-align-change","font-size-input","text-color-change","fill-color-change","number-format-change","font-size-keydown","update:font-size-menu-open","update:text-color-menu-open","update:fill-color-menu-open","update:border-menu-open","update:sort-menu-open","update:merge-menu-open","update:calc-menu-open","border-change","sort-change","merge-change"],setup(e,{emit:o}){const n=[{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}],l={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"]},a={bottom:[],top:[],left:[],right:[],none:[],all:[],outer:[],thickOuter:["top","bottom","left","right"]};function i(Ee,h){return a[Ee].includes(h)?"thick":l[Ee].includes(h)?"solid":"dashed"}const r=[{name:"bar1",x1:96,y1:224,x2:352,y2:224},{name:"bar2",x1:96,y1:512,x2:512,y2:512},{name:"bar3",x1:96,y1:800,x2:672,y2:800}],m={asc:"M832 800V288M672 448l160-160 160 160",desc:"M832 224v512M672 576l160 160 160-160"},c=["undo","redo","paint","clear","sep1","font","fontSize","sep2","bold","italic","underline","strike","sep3","textColor","fillColor","border","sep4","hAlign","vAlign","wrap","merge","sep6","numFmt","sep7","calc","sort","find"],g=t.ref(null),k=t.ref(null),S=t.ref(null),y=t.ref(null),v=t.ref(null),E=t.ref(null),j=t.ref(null),Z=t.ref(null),te=t.ref(null),K=t.ref(null),b=t.ref(new Set),le=t.ref(!1),P=t.ref(!1),ee=t.ref(0),Ce=new Map,Me=t.computed(()=>b.value.size>0);function ge(Ee){return b.value.has(Ee)}const se=t.computed(()=>{const Ee=k.value;return Ee instanceof HTMLElement?Ee:void 0});function Re(Ee){return se.value?!ge(Ee):!0}function Ke(){for(const Ee of c){const h=Ce.get(Ee);if(h===void 0||h===0)return!0}return!1}function we(){if(!g.value)return;g.value.querySelectorAll(".tb-item").forEach(h=>{const B=h.dataset.key;if(!B)return;const Be=h.offsetWidth;Be>0?Ce.set(B,Be):Ce.has(B)||Ce.set(B,0)})}function me(Ee,h){if(Ee.size!==h.size)return!1;for(const B of Ee)if(!h.has(B))return!1;return!0}let ye=0,Le=0;function $e(){ye&&cancelAnimationFrame(ye),!(Le>60)&&(Le++,ye=requestAnimationFrame(()=>requestAnimationFrame(G)))}function G(){if(!g.value)return;const Ee=g.value.clientWidth-na*2;if(Ee<=0){$e();return}Le=0,(Ce.size===0||Ke())&&we();let h=0;for(const Be of c)h+=(Ce.get(Be)??0)+Ol;const B=new Set;if(h>Ee){const Be=Ee-oa-Ol;let je=0;for(let it=0;it<c.length;it++){const ie=c[it],Te=(Ce.get(ie)??0)+Ol;if(je+Te>Be){for(let Fe=it;Fe<c.length;Fe++)B.add(c[Fe]);break}je+=Te}}me(B,b.value)||(b.value=B,ee.value++,B.size===0&&(le.value=!1))}let pe=null;const p=t.ref(0),D=t.computed(()=>{const Ee=S.value,h={position:"fixed",top:"0px",right:"0px"};if(!Ee)return{...u.themeVars,...h};p.value;const B=Ee.getBoundingClientRect();return{...u.themeVars,position:"fixed",top:`${B.bottom+4}px`,right:`${window.innerWidth-B.right}px`}});function I(){le.value&&(p.value++,t.nextTick(()=>G()))}function U(Ee){var B,Be;if(!le.value)return;const h=Ee.target;(B=k.value)!=null&&B.contains(h)||(Be=S.value)!=null&&Be.contains(h)||(P.value=!0,le.value=!1,t.nextTick(()=>{P.value=!1}))}function x(){le.value=!le.value}function s(){le.value=!1,O("find")}t.onMounted(()=>{$e(),g.value&&(pe=new ResizeObserver(()=>{le.value||$e()}),pe.observe(g.value)),document.addEventListener("pointerdown",U,!0),window.addEventListener("resize",I),window.addEventListener("load",$e),window.addEventListener("orientationchange",$e)}),t.onBeforeUnmount(()=>{ye&&cancelAnimationFrame(ye),pe==null||pe.disconnect(),document.removeEventListener("pointerdown",U,!0),window.removeEventListener("resize",I),window.removeEventListener("load",$e),window.removeEventListener("orientationchange",$e)});const u=e,O=o,ke=t.computed(()=>u.selNumberFormat===Dt?T(u.locale,"nfMixed"):"");return(Ee,h)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{ref_key:"rootEl",ref:g,class:"toolbar",onMousedown:h[51]||(h[51]=t.withModifiers(()=>{},["prevent"]))},[(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("undo"),to:se.value},[t.createElementVNode("div",Po,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.canUndo}]),title:t.unref(T)(e.locale,"undo"),disabled:!e.canUndo,onClick:h[0]||(h[0]=B=>O("undo"))},[...h[53]||(h[53]=[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,Go)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("redo"),to:se.value},[t.createElementVNode("div",Yo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.canRedo}]),title:t.unref(T)(e.locale,"redo"),disabled:!e.canRedo,onClick:h[1]||(h[1]=B=>O("redo"))},[...h[54]||(h[54]=[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,Xo)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("paint"),to:se.value},[t.createElementVNode("div",jo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.paintFmtActive}]),title:t.unref(T)(e.locale,"paintFormat"),disabled:!e.hasSelection,onClick:h[2]||(h[2]=B=>O("paint-format"))},[...h[55]||(h[55]=[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,Zo)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("clear"),to:se.value},[t.createElementVNode("div",qo,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.hasSelection}]),title:t.unref(T)(e.locale,"clearFormat"),disabled:!e.hasSelection,onClick:h[3]||(h[3]=B=>O("clear-format"))},[...h[56]||(h[56]=[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,Jo)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("sep1"),to:se.value},[h[57]||(h[57]=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:Re("font"),to:se.value},[t.createElementVNode("div",Qo,[t.createVNode(gt,{class:"toolbar-font","model-value":e.selFontFamily,options:e.fontFamilyOptions,width:ge("font")?"100%":110,"menu-width":ge("font")?120:void 0,"visible-count":8,title:t.unref(T)(e.locale,"fontFamily"),align:"right",onChange:h[4]||(h[4]=B=>O("font-family-change",B))},null,8,["model-value","options","width","menu-width","title"])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("fontSize"),to:se.value},[t.createElementVNode("div",er,[t.createElementVNode("div",tr,[t.createElementVNode("input",{class:"toolbar-font-size__input",type:"number",min:"5",max:"72",step:"1",value:e.fontSizeInput,title:t.unref(T)(e.locale,"fontSize"),onMousedown:h[5]||(h[5]=t.withModifiers(()=>{},["stop"])),onInput:h[6]||(h[6]=B=>O("font-size-input",B.target.value)),onBlur:h[7]||(h[7]=B=>O("font-size-blur")),onKeydown:h[8]||(h[8]=B=>O("font-size-keydown",B))},null,40,lr),t.createVNode(gt,{class:"toolbar-font-size__dropdown","model-value":e.selFontSize,options:e.fontSizeOptions,width:ge("fontSize")?"100%":56,"menu-width":ge("fontSize")?120:56,"visible-count":9,title:t.unref(T)(e.locale,"fontSize"),"hide-trigger":!0,"model-open":e.fontSizeMenuOpen,align:"right","trigger-el":K.value,"onUpdate:modelOpen":h[9]||(h[9]=B=>O("update:font-size-menu-open",B)),onChange:h[10]||(h[10]=B=>O("font-size-change",B))},null,8,["model-value","options","width","menu-width","title","model-open","trigger-el"]),t.createElementVNode("button",{ref_key:"fontSizeArrowRef",ref:K,class:"toolbar-font-size__btn",type:"button",title:t.unref(T)(e.locale,"fontSize"),onMousedown:h[11]||(h[11]=t.withModifiers(()=>{},["prevent"])),onClick:h[12]||(h[12]=B=>O("font-size-toggle"))},[...h[58]||(h[58]=[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,nr),t.createElementVNode("button",{class:"toolbar-btn toolbar-btn--step",type:"button",title:t.unref(T)(e.locale,"fontSizeDecrease"),disabled:!e.hasSelection,onMousedown:h[13]||(h[13]=t.withModifiers(()=>{},["prevent"])),onClick:h[14]||(h[14]=B=>O("font-size-step-down"))},[...h[59]||(h[59]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M675.2 184.533333h260.266667a12.8 12.8 0 0 1 12.8 12.8v21.333334a12.8 12.8 0 0 1-12.8 12.8H675.2a12.8 12.8 0 0 1-12.8-12.8v-21.333334a12.8 12.8 0 0 1 12.8-12.8zM687.744 739.413333l87.722667 197.717334a12.8 12.8 0 0 0 11.733333 7.594666h54.016a12.8 12.8 0 0 0 11.605333-18.133333l-7.466666-16.213333-131.2-287.829334-35.413334-77.653333-166.570666-365.525333a36.266667 36.266667 0 0 0-66.432 0.938666l-154.154667 365.482667-34.688 82.261333-34.688 82.218667-84.778667 201.045333-6.570666 15.658667a12.8 12.8 0 0 0 11.776 17.749333h57.557333a12.8 12.8 0 0 0 11.904-8.106666l102.4-258.474667 343.466667-4.010667 29.781333 65.28zM480.426667 284.672l132.352 290.261333 12.288 27.050667-279.808 3.242667 13.184-31.232 122.026666-289.28z"})],-1)])],40,or),t.createElementVNode("button",{class:"toolbar-btn toolbar-btn--step",type:"button",title:t.unref(T)(e.locale,"fontSizeIncrease"),disabled:!e.hasSelection,onMousedown:h[15]||(h[15]=t.withModifiers(()=>{},["prevent"])),onClick:h[16]||(h[16]=B=>O("font-size-step-up"))},[...h[60]||(h[60]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M769.066667 77.952v93.781333h-93.866667a12.8 12.8 0 0 0-12.8 12.8v46.933334a12.8 12.8 0 0 0 12.8 12.8h93.866667v93.952a12.8 12.8 0 0 0 12.8 12.8h46.933333a12.8 12.8 0 0 0 12.8-12.8V244.266667h93.866667a12.8 12.8 0 0 0 12.8-12.8v-46.933334a12.8 12.8 0 0 0-12.8-12.8h-93.866667V77.952a12.8 12.8 0 0 0-12.8-12.8h-46.933333a12.8 12.8 0 0 0-12.8 12.8zM687.744 739.413333l87.722667 197.717334a12.8 12.8 0 0 0 11.733333 7.594666h54.016a12.8 12.8 0 0 0 11.605333-18.133333l-7.466666-16.213333-131.2-287.829334-35.413334-77.653333-166.570666-365.525333a36.266667 36.266667 0 0 0-66.432 0.938666l-154.154667 365.482667-34.688 82.261333-34.688 82.218667-84.778667 201.045333-6.570666 15.658667a12.8 12.8 0 0 0 11.776 17.749333h57.557333a12.8 12.8 0 0 0 11.904-8.106666l102.4-258.474667 343.466667-4.010667 29.781333 65.28zM480.426667 284.672l132.352 290.261333 12.288 27.050667-279.808 3.242667 13.184-31.232 122.026666-289.28z"})],-1)])],40,rr)])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("sep2"),to:se.value},[h[61]||(h[61]=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:Re("bold"),to:se.value},[t.createElementVNode("div",ar,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selFontWeight}]),title:t.unref(T)(e.locale,"bold"),disabled:!e.hasSelection,onClick:h[17]||(h[17]=B=>O("bold-toggle"))},[...h[62]||(h[62]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M214.857 889.143v-68.571h68.571V203.429H214.857v-68.571h411.429v1.257c96.114 10.629 171.429 87.383 171.429 181.6 0 58.971-29.486 111.086-75.109 144.457 72.069 39.291 120.823 113.234 120.823 198.4 0 119.291-95.634 216.594-217.12 227.543l-0.286.029H214.857z m388.572-388.571H352v320h251.429c95.086 0 171.429-72.091 171.429-160s-76.343-160-171.429-160z m0-297.143H352v228.571h251.429l5.211-0.091c67.52-2.515 120.503-53.235 120.503-114.195 0-62.537-55.749-114.285-125.714-114.285z"})],-1)])],10,ir)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("italic"),to:se.value},[t.createElementVNode("div",cr,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selFontStyle}]),title:t.unref(T)(e.locale,"italic"),disabled:!e.hasSelection,onClick:h[18]||(h[18]=B=>O("italic-toggle"))},[...h[63]||(h[63]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M730.143 127.714v64.286h-112.329l-166.521 621.429h128.871v64.286H276.286v-64.286h108.45l166.5-621.429H426.286V127.714h303.857z"})],-1)])],10,sr)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("underline"),to:se.value},[t.createElementVNode("div",dr,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selUnderline}]),title:t.unref(T)(e.locale,"underline"),disabled:!e.hasSelection,onClick:h[19]||(h[19]=B=>O("underline-toggle"))},[...h[64]||(h[64]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M512 123.639a36.409 36.409 0 0 1 33.642 22.525l230.59 558.27a36.409 36.409 0 1 1-67.284 27.768L638.072 560.545H385.928l-70.876 171.656a36.409 36.409 0 1 1-67.332-27.768l230.59-558.27A36.409 36.409 0 0 1 512 123.639z m-95.974 364.089h191.948L512 255.439l-95.974 232.289zM769.289 827.544c19.418 0 38.836 14.564 38.836 38.836 0 19.418-14.564 33.982-29.127 33.982H259.565c-19.418 0-38.836-14.564-38.836-38.836 0-19.418 14.564-33.982 29.127-33.982h519.433z"})],-1)])],10,ur)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("strike"),to:se.value},[t.createElementVNode("div",fr,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selStrikethrough}]),title:t.unref(T)(e.locale,"strikethrough"),disabled:!e.hasSelection,onClick:h[20]||(h[20]=B=>O("strikethrough-toggle"))},[...h[65]||(h[65]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M182.044 490.667h659.911a34.133 34.133 0 0 1 4.642 67.948l-4.597 0.319h-135.395c40.05 37 60.803 81.601 60.803 133.575 0 128.569-147.092 211.171-307.382 192.512-101.717-11.833-173.352-52.565-210.944-122.971a34.133 34.133 0 0 1 60.211-32.176c25.942 48.606 77.46 77.915 158.606 87.381 124.837 14.473 231.242-45.283 231.242-124.746 0-53.339-36.636-96.802-116.736-131.345l-5.279-2.23H182.044a34.133 34.133 0 0 1-33.815-29.492L147.911 524.8a34.133 34.133 0 0 1 29.491-33.815l4.642-0.318z m68.767-176.447c6.918-128.796 128.432-203.343 287.812-184.82 99.579 11.56 175.81 47.923 226.737 109.636a34.133 34.133 0 1 1-52.657 43.463c-38.775-47.013-98.759-75.639-181.999-85.288-123.654-14.381-211.627 36.591-211.627 117.009 0 35.135 10.65 61.349 37.774 90.203l5.826 6.007c4.278 4.369 8.966 8.875 11.377 10.923l1.411 0.91H288.085l-1.092-1.729c-6.508-9.376-38.958-54.386-36.182-106.314z"})],-1)])],10,mr)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("sep3"),to:se.value},[h[66]||(h[66]=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:Re("textColor"),to:se.value},[t.createElementVNode("div",pr,[t.createElementVNode("div",hr,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(T)(e.locale,"fontColor"),disabled:!e.hasSelection,onClick:h[21]||(h[21]=B=>O("apply-text-color"))},[(t.openBlock(),t.createElementBlock("svg",br,[h[67]||(h[67]=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,yr)]))],8,gr),t.createElementVNode("button",{ref_key:"textColorArrowRef",ref:y,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"fontColor"),disabled:!e.hasSelection,onClick:h[22]||(h[22]=B=>O("update:text-color-menu-open",!e.textColorMenuOpen))},[...h[68]||(h[68]=[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,vr),t.createVNode(rn,{"model-open":e.textColorMenuOpen,"color-key":"text","current-color":e.selTextColor,locale:e.locale,"trigger-el":y.value,"onUpdate:modelOpen":h[23]||(h[23]=B=>O("update:text-color-menu-open",B)),onChange:h[24]||(h[24]=B=>O("text-color-change",B))},null,8,["model-open","current-color","locale","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("fillColor"),to:se.value},[t.createElementVNode("div",Cr,[t.createElementVNode("div",wr,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(T)(e.locale,"fillColor"),disabled:!e.hasSelection,onClick:h[25]||(h[25]=B=>O("apply-fill-color"))},[(t.openBlock(),t.createElementBlock("svg",Er,[h[69]||(h[69]=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,Sr)]))],8,kr),t.createElementVNode("button",{ref_key:"fillColorArrowRef",ref:v,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"fillColor"),disabled:!e.hasSelection,onClick:h[26]||(h[26]=B=>O("update:fill-color-menu-open",!e.fillColorMenuOpen))},[...h[70]||(h[70]=[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,xr),t.createVNode(rn,{"model-open":e.fillColorMenuOpen,"color-key":"fill","current-color":e.selFillColor,locale:e.locale,"trigger-el":v.value,"onUpdate:modelOpen":h[27]||(h[27]=B=>O("update:fill-color-menu-open",B)),onChange:h[28]||(h[28]=B=>O("fill-color-change",B))},null,8,["model-open","current-color","locale","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("border"),to:se.value},[t.createElementVNode("div",Rr,[t.createElementVNode("div",Mr,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(T)(e.locale,"borders"),disabled:!e.hasSelection,onClick:h[29]||(h[29]=B=>O("apply-border"))},[(t.openBlock(),t.createElementBlock("svg",Dr,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(n,B=>t.createElementVNode("line",{key:B.name,x1:B.x1,y1:B.y1,x2:B.x2,y2:B.y2,"stroke-width":i(e.cachedBorder,B.name)==="thick"?3:1.5,"stroke-dasharray":i(e.cachedBorder,B.name)==="dashed"?"0 4":"none","stroke-linecap":i(e.cachedBorder,B.name)==="dashed"?"round":"square"},null,8,Nr)),64))]))],8,Br),t.createElementVNode("button",{ref_key:"borderArrowRef",ref:E,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"borders"),disabled:!e.hasSelection,onClick:h[30]||(h[30]=B=>O("update:border-menu-open",!e.borderMenuOpen))},[...h[71]||(h[71]=[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,Tr),t.createVNode(To,{"model-open":e.borderMenuOpen,locale:e.locale,"current-border":e.cachedBorder,"trigger-el":E.value,"onUpdate:modelOpen":h[31]||(h[31]=B=>O("update:border-menu-open",B)),onChange:h[32]||(h[32]=B=>O("border-change",B))},null,8,["model-open","locale","current-border","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("sep4"),to:se.value},[h[72]||(h[72]=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:Re("hAlign"),to:se.value},[t.createElementVNode("div",Ar,[t.createVNode(gt,{class:"toolbar-align","model-value":e.selHAlign,options:e.hAlignOptions,width:ge("hAlign")?"100%":44,"menu-width":ge("hAlign")?120:void 0,"visible-count":3,align:"right",title:t.unref(T)(e.locale,"hAlign"),onChange:h[33]||(h[33]=B=>O("h-align-change",B))},null,8,["model-value","options","width","menu-width","title"])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("vAlign"),to:se.value},[t.createElementVNode("div",Vr,[t.createVNode(gt,{class:"toolbar-align","model-value":e.selVAlign,options:e.vAlignOptions,width:ge("vAlign")?"100%":44,"menu-width":ge("vAlign")?120:void 0,"visible-count":3,align:"right",title:t.unref(T)(e.locale,"vAlign"),onChange:h[34]||(h[34]=B=>O("v-align-change",B))},null,8,["model-value","options","width","menu-width","title"])]),t.createElementVNode("div",Ir,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selWrap}]),type:"button",title:t.unref(T)(e.locale,"wrap"),onClick:h[35]||(h[35]=B=>O("wrap-toggle"))},[...h[73]||(h[73]=[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,Fr)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("merge"),to:se.value},[t.createElementVNode("div",Or,[t.createElementVNode("div",Hr,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(T)(e.locale,"mergeCenter"),disabled:!e.hasSelection,onClick:h[36]||(h[36]=B=>O("apply-merge"))},[...h[74]||(h[74]=[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,Lr),t.createElementVNode("button",{ref_key:"mergeArrowRef",ref:Z,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"mergeCells"),disabled:!e.hasSelection,onClick:h[37]||(h[37]=B=>O("update:merge-menu-open",!e.mergeMenuOpen))},[...h[75]||(h[75]=[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,$r),t.createVNode(zo,{"model-open":e.mergeMenuOpen,locale:e.locale,"trigger-el":Z.value,"onUpdate:modelOpen":h[38]||(h[38]=B=>O("update:merge-menu-open",B)),onChange:h[39]||(h[39]=B=>O("merge-change",B))},null,8,["model-open","locale","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("sep6"),to:se.value},[h[76]||(h[76]=t.createElementVNode("div",{class:"tb-item","data-key":"sep6"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("numFmt"),to:se.value},[t.createElementVNode("div",_r,[t.createElementVNode("div",zr,[t.createVNode(gt,{class:"toolbar-number-format","model-value":e.selNumberFormat,options:e.nfOptions,width:ge("numFmt")?"auto":92,"menu-width":(ge("numFmt"),150),"visible-count":8,title:t.unref(T)(e.locale,"numberFormat"),"fallback-label":ke.value,align:"right",onChange:h[40]||(h[40]=B=>O("number-format-change",String(B)))},null,8,["model-value","options","width","menu-width","title","fallback-label"]),t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn toolbar-number-format__btn",{"toolbar-btn--disabled":!e.canIncreaseDecimals}]),title:t.unref(T)(e.locale,"nfIncreaseDecimals"),disabled:!e.canIncreaseDecimals,onClick:h[41]||(h[41]=B=>O("increase-decimals"))},[...h[77]||(h[77]=[t.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[t.createElementVNode("text",{x:"0.5",y:"16","font-size":"9","font-weight":"700","font-family":"Arial, sans-serif"},".00"),t.createElementVNode("path",{d:"M19 5.5l4.2 5.2h-2.7v7.8h-3v-7.8h-2.7z"})],-1)])],10,Wr),t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn toolbar-number-format__btn",{"toolbar-btn--disabled":!e.canDecreaseDecimals}]),title:t.unref(T)(e.locale,"nfDecreaseDecimals"),disabled:!e.canDecreaseDecimals,onClick:h[42]||(h[42]=B=>O("decrease-decimals"))},[...h[78]||(h[78]=[t.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[t.createElementVNode("text",{x:"0.5",y:"16","font-size":"9","font-weight":"700","font-family":"Arial, sans-serif"},".00"),t.createElementVNode("path",{d:"M19 18.5l-4.2-5.2h2.7V5.5h3v7.8h2.7z"})],-1)])],10,Ur)])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("sep7"),to:se.value},[h[79]||(h[79]=t.createElementVNode("div",{class:"tb-item","data-key":"sep7"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("calc"),to:se.value},[t.createElementVNode("div",Kr,[t.createElementVNode("div",Pr,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(T)(e.locale,"sum"),disabled:!e.hasSelection||e.isSingleCell,onClick:h[43]||(h[43]=B=>O("calc-sum"))},[...h[80]||(h[80]=[t.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[t.createElementVNode("path",{d:"M19 3H5l7 9-7 9h14v-2H8l5.5-7L8 5h11z"})],-1)])],8,Gr),t.createElementVNode("button",{ref_key:"calcArrowRef",ref:te,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"calculate"),disabled:!e.hasSelection,onClick:h[44]||(h[44]=B=>O("update:calc-menu-open",!e.calcMenuOpen))},[...h[81]||(h[81]=[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,Yr),t.createVNode(Ko,{"model-open":e.calcMenuOpen,locale:e.locale,"trigger-el":te.value,disabled:e.isSingleCell,"onUpdate:modelOpen":h[45]||(h[45]=B=>O("update:calc-menu-open",B)),onChange:h[46]||(h[46]=B=>O(`calc-${B}`))},null,8,["model-open","locale","trigger-el","disabled"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("sort"),to:se.value},[t.createElementVNode("div",Xr,[t.createElementVNode("div",jr,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:e.cachedSortOrder==="asc"?t.unref(T)(e.locale,"sortAsc"):t.unref(T)(e.locale,"sortDesc"),disabled:!e.canSort,onClick:h[47]||(h[47]=B=>O("apply-sort"))},[(t.openBlock(),t.createElementBlock("svg",qr,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(r,B=>t.createElementVNode("line",{key:B.name,x1:B.x1,y1:B.y1,x2:B.x2,y2:B.y2},null,8,Jr)),64)),t.createElementVNode("path",{d:m[e.cachedSortOrder]},null,8,Qr)]))],8,Zr),t.createElementVNode("button",{ref_key:"sortArrowRef",ref:j,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"sort"),disabled:!e.canSort,onClick:h[48]||(h[48]=B=>O("update:sort-menu-open",!e.sortMenuOpen))},[...h[82]||(h[82]=[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,ea),t.createVNode(Ho,{"model-open":e.sortMenuOpen,locale:e.locale,"current-sort":e.cachedSortOrder,"trigger-el":j.value,"onUpdate:modelOpen":h[49]||(h[49]=B=>O("update:sort-menu-open",B)),onChange:h[50]||(h[50]=B=>O("sort-change",B))},null,8,["model-open","locale","current-sort","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Re("find"),to:se.value},[t.createElementVNode("div",ta,[t.createElementVNode("button",{class:"toolbar-btn",title:t.unref(T)(e.locale,"find"),onClick:s},[...h[83]||(h[83]=[t.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M448 128a320 320 0 0 1 251.2 516.8l171.2 171.2a32 32 0 0 1-45.2 45.2L654 689.9A320 320 0 1 1 448 128zm0 64a256 256 0 1 0 0 512 256 256 0 0 0 0-512z"})],-1)])],8,la)])],8,["disabled","to"])),Me.value?(t.openBlock(),t.createElementBlock("button",{key:0,ref_key:"moreBtnEl",ref:S,class:t.normalizeClass(["toolbar-more",{"toolbar-more--active":le.value}]),type:"button",onClick:x},[...h[84]||(h[84]=[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)],544),(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:k,key:ee.value,class:t.normalizeClass(["overflow-menu",{"no-anim":P.value}]),style:t.normalizeStyle(D.value),onMousedown:h[52]||(h[52]=t.withModifiers(()=>{},["prevent"]))},null,38)),[[t.vShow,le.value]])]),_:1})]))],64))}}),[["__scopeId","data-v-4f17f13a"]]),aa=["title"],ia={class:"tab-list"},ca=["onClick","onDblclick","onContextmenu"],sa=["value"],da={key:1,class:"tab-item__name"},ua=["title"],fa=["disabled"],ma=["title","onClick"],pa={class:"tab-list-menu__name"},ha=["title","disabled","onClick"],ga=["disabled"],ba=8,ya=ht(t.defineComponent({__name:"tabbar",props:{locale:{},sheets:{},activeSheetIndex:{},renTab:{},renTabVal:{}},emits:["tab-click","tab-dblclick","delete-sheet","tab-contextmenu","tab-rename-input","tab-rename-keydown","tab-rename-commit","add-sheet","tabbar-contextmenu"],setup(e,{emit:o}){const n=e,l=o,a=t.ref(null),i=t.ref(!1),r=t.ref(0),m=t.ref({left:0,bottom:0}),c=t.ref(null),g=t.computed(()=>Math.min(ba,n.sheets.length)),k=t.computed(()=>n.sheets.slice(r.value,r.value+g.value)),S=t.computed(()=>r.value>0),y=t.computed(()=>r.value+g.value<n.sheets.length),v=t.computed(()=>n.sheets.length>g.value),E=t.computed(()=>n.sheets.length>1);t.watch(()=>n.sheets.length,()=>{if(!i.value)return;const we=Math.max(0,n.sheets.length-g.value);r.value>we&&(r.value=we)});function j(we){r.value=Math.max(0,Math.min(n.sheets.length-g.value,r.value+we))}function Z(){if(i.value){i.value=!1;return}const we=a.value;if(!we)return;const me=we.getBoundingClientRect();m.value={left:me.left,bottom:window.innerHeight-me.top+4};const ye=n.activeSheetIndex;r.value=ye>=0?Math.max(0,Math.min(ye-Math.floor(g.value/2),n.sheets.length-g.value)):0,i.value=!0}function te(we){l("tab-click",we),i.value=!1}function K(we){E.value&&l("delete-sheet",we)}function b(we){var Le;if(!i.value)return;const me=we.target;if((Le=a.value)!=null&&Le.contains(me))return;const ye=document.querySelector(".tab-list-menu");ye!=null&&ye.contains(me)||(i.value=!1)}function le(we){i.value&&we.key==="Escape"&&(i.value=!1)}function P(we){i.value&&(we.preventDefault(),j(we.deltaY>0?1:-1))}function ee(){i.value=!1}function Ce(we){!i.value||we.target===c.value||ee()}const Me=t.ref(0),ge=t.ref(!1);function se(we){i.value&&(Me.value=we.touches[0].clientY,ge.value=!0)}function Re(we){if(!i.value||!ge.value)return;const me=we.touches[0].clientY-Me.value;Math.abs(me)>5&&(j(me<0?1:-1),Me.value=we.touches[0].clientY)}function Ke(){ge.value=!1}return t.watch(i,we=>{t.nextTick(()=>{var me,ye;we?(me=c.value)==null||me.addEventListener("wheel",P,{passive:!1}):(ye=c.value)==null||ye.removeEventListener("wheel",P)})}),t.onMounted(()=>{document.addEventListener("pointerdown",b),document.addEventListener("keydown",le),window.addEventListener("resize",ee),window.addEventListener("scroll",Ce,!0)}),t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",b),document.removeEventListener("keydown",le),window.removeEventListener("resize",ee),window.removeEventListener("scroll",Ce,!0)}),(we,me)=>(t.openBlock(),t.createElementBlock("div",{class:"tab-bar",onContextmenu:me[8]||(me[8]=ye=>l("tabbar-contextmenu",ye))},[t.createElementVNode("button",{ref_key:"listBtnRef",ref:a,class:t.normalizeClass(["tab-bar__list-btn",{"tab-bar__list-btn--active":i.value}]),type:"button",title:t.unref(T)(e.locale,"sheetList"),onClick:Z},[...me[9]||(me[9]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M128 256h768a32 32 0 0 0 0-64H128a32 32 0 0 0 0 64z m0 256h768a32 32 0 0 0 0-64H128a32 32 0 0 0 0 64z m0 256h768a32 32 0 0 0 0-64H128a32 32 0 0 0 0 64z"})],-1)])],10,aa),t.createElementVNode("div",ia,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.sheets,(ye,Le)=>(t.openBlock(),t.createElementBlock("div",{key:ye.id,class:t.normalizeClass(["tab-item",{"tab-item--active":Le===e.activeSheetIndex}]),onClick:$e=>l("tab-click",Le),onDblclick:t.withModifiers($e=>l("tab-dblclick",Le),["prevent"]),onContextmenu:$e=>l("tab-contextmenu",{ev:$e,i:Le})},[e.renTab===Le?(t.openBlock(),t.createElementBlock("input",{key:0,class:"tab-rename-input",value:e.renTabVal,onInput:me[0]||(me[0]=$e=>l("tab-rename-input",$e.target.value)),onKeydown:me[1]||(me[1]=$e=>l("tab-rename-keydown",$e)),onBlur:me[2]||(me[2]=$e=>l("tab-rename-commit")),onClick:me[3]||(me[3]=t.withModifiers(()=>{},["stop"]))},null,40,sa)):(t.openBlock(),t.createElementBlock("span",da,t.toDisplayString(ye.name),1))],42,ca))),128))]),t.createElementVNode("button",{class:"tab-bar__add-btn",title:t.unref(T)(e.locale,"addSheet"),onClick:me[4]||(me[4]=ye=>l("add-sheet"))}," + ",8,ua),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[i.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"tab-list-menu",style:t.normalizeStyle({left:m.value.left+"px",bottom:m.value.bottom+"px"}),onMousedown:me[7]||(me[7]=t.withModifiers(()=>{},["prevent"]))},[v.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["tab-list-menu__nav",{"tab-list-menu__nav--disabled":!S.value}]),disabled:!S.value,onClick:me[5]||(me[5]=ye=>j(-1))},[...me[10]||(me[10]=[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,fa)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"listRef",ref:c,class:"tab-list-menu__list",onTouchstart:se,onTouchmove:Re,onTouchend:Ke},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.value,ye=>(t.openBlock(),t.createElementBlock("div",{key:ye.id,class:t.normalizeClass(["tab-list-menu__item",{"tab-list-menu__item--active":e.sheets.indexOf(ye)===e.activeSheetIndex}]),title:ye.name,onClick:Le=>te(e.sheets.indexOf(ye))},[t.createElementVNode("span",pa,t.toDisplayString(ye.name),1),t.createElementVNode("button",{type:"button",class:"tab-list-menu__del",title:t.unref(T)(e.locale,"delete"),disabled:!E.value,onClick:t.withModifiers(Le=>K(e.sheets.indexOf(ye)),["stop"])},[...me[11]||(me[11]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M571.733333 512l288.533334-288.533333c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0L512 452.266667 223.466667 164.266667c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733333L452.266667 512 164.266667 800c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 19.2 12.8 29.866666 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8L512 571.733333l288.533333 288.533334c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8 17.066667-17.066667 17.066667-42.666667 0-59.733334L571.733333 512z"})],-1)])],8,ha)],10,ma))),128))],544),v.value?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:t.normalizeClass(["tab-list-menu__nav",{"tab-list-menu__nav--disabled":!y.value}]),disabled:!y.value,onClick:me[6]||(me[6]=ye=>j(1))},[...me[12]||(me[12]=[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,ga)):t.createCommentVNode("",!0)],36)):t.createCommentVNode("",!0)]),_:1})]))],32))}}),[["__scopeId","data-v-ec10bade"]]),va=["placeholder","value"],Ca=["placeholder","value"],wa={class:"find-bar__chk"},ka=["checked"],Ea={class:"find-bar__chk"},Sa=["checked"],xa={class:"find-bar__count"},Ra=["title","disabled"],Ma=["title","disabled"],Ba=["disabled"],Da=["disabled"],Na=["title"],Ta=ht(t.defineComponent({__name:"find-replace-bar",props:{open:{type:Boolean},findText:{},replaceText:{},scope:{},matchCase:{type:Boolean},matchEntireCell:{type:Boolean},currentIndex:{},total:{},message:{},focusToken:{},locale:{},themeVars:{}},emits:["update:findText","update:replaceText","update:scope","update:matchCase","update:matchEntireCell","prev","next","replace","replace-all","close"],setup(e,{emit:o}){const n=e,l=o,a=t.ref(null),i=t.computed(()=>n.total>0?`${n.currentIndex+1}/${n.total}`:n.message||""),r=t.computed(()=>[{label:T(n.locale,"scopeSheet"),value:"sheet"},{label:T(n.locale,"scopeWorkbook"),value:"workbook"},{label:T(n.locale,"scopeSelection"),value:"selection"}]);t.watch(()=>n.focusToken,()=>{t.nextTick(()=>{var c;return(c=a.value)==null?void 0:c.focus()})});function m(c){c.key==="Enter"?(c.preventDefault(),c.shiftKey?l("prev"):l("next")):c.key==="Escape"&&(c.preventDefault(),l("close"))}return(c,g)=>e.open?(t.openBlock(),t.createElementBlock("div",{key:0,class:"find-bar",style:t.normalizeStyle(e.themeVars)},[t.createElementVNode("input",{ref_key:"findInputRef",ref:a,class:"find-bar__input",placeholder:t.unref(T)(e.locale,"findPlaceholder"),value:e.findText,onInput:g[0]||(g[0]=k=>l("update:findText",k.target.value)),onKeydown:m},null,40,va),t.createElementVNode("input",{class:"find-bar__input",placeholder:t.unref(T)(e.locale,"replacePlaceholder"),value:e.replaceText,onInput:g[1]||(g[1]=k=>l("update:replaceText",k.target.value)),onKeydown:m},null,40,Ca),t.createVNode(gt,{class:"find-bar__dropdown","model-value":e.scope,options:r.value,title:t.unref(T)(e.locale,"findScope"),"onUpdate:modelValue":g[2]||(g[2]=k=>c.$emit("update:scope",k))},null,8,["model-value","options","title"]),t.createElementVNode("label",wa,[t.createElementVNode("input",{class:"find-bar__chk-input",type:"checkbox",checked:e.matchCase,onChange:g[3]||(g[3]=k=>l("update:matchCase",k.target.checked))},null,40,ka),g[10]||(g[10]=t.createElementVNode("span",{class:"find-bar__chk-box"},[t.createElementVNode("svg",{class:"find-bar__chk-tick",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M405 697L195 487l58-58 152 152 304-304 58 58z"})])],-1)),t.createTextVNode(t.toDisplayString(t.unref(T)(e.locale,"matchCase")),1)]),t.createElementVNode("label",Ea,[t.createElementVNode("input",{class:"find-bar__chk-input",type:"checkbox",checked:e.matchEntireCell,onChange:g[4]||(g[4]=k=>l("update:matchEntireCell",k.target.checked))},null,40,Sa),g[11]||(g[11]=t.createElementVNode("span",{class:"find-bar__chk-box"},[t.createElementVNode("svg",{class:"find-bar__chk-tick",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M405 697L195 487l58-58 152 152 304-304 58 58z"})])],-1)),t.createTextVNode(t.toDisplayString(t.unref(T)(e.locale,"matchEntireCell")),1)]),t.createElementVNode("span",xa,t.toDisplayString(i.value),1),t.createElementVNode("button",{class:"find-bar__btn find-bar__btn--icon",title:t.unref(T)(e.locale,"findPrev"),disabled:e.total===0,onClick:g[5]||(g[5]=k=>l("prev"))},[...g[12]||(g[12]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M512 320a32 32 0 0 1 45.254 0l288 288a32 32 0 0 1-45.254 45.254L512 410.51 214.254 653.254A32 32 0 0 1 169 608l288-288z"})],-1)])],8,Ra),t.createElementVNode("button",{class:"find-bar__btn find-bar__btn--icon",title:t.unref(T)(e.locale,"findNext"),disabled:e.total===0,onClick:g[6]||(g[6]=k=>l("next"))},[...g[13]||(g[13]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M512 704a32 32 0 0 1-45.254 0l-288-288A32 32 0 0 1 214.254 370.746L512 613.49 809.746 370.746A32 32 0 0 1 855 416l-288 288z"})],-1)])],8,Ma),t.createElementVNode("button",{class:"find-bar__btn find-bar__btn--text",disabled:e.total===0,onClick:g[7]||(g[7]=k=>l("replace"))},t.toDisplayString(t.unref(T)(e.locale,"replace")),9,Ba),t.createElementVNode("button",{class:"find-bar__btn find-bar__btn--text",disabled:e.total===0,onClick:g[8]||(g[8]=k=>l("replace-all"))},t.toDisplayString(t.unref(T)(e.locale,"replaceAll")),9,Da),t.createElementVNode("button",{class:"find-bar__btn find-bar__btn--close",title:t.unref(T)(e.locale,"findClose"),onClick:g[9]||(g[9]=k=>l("close"))},[...g[14]||(g[14]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M571.733333 512l288.533334-288.533333c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0L512 452.266667 223.466667 164.266667c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733333L452.266667 512 164.266667 800c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 19.2 12.8 29.866666 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8L512 571.733333l288.533333 288.533334c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8 17.066667-17.066667 17.066667-42.666667 0-59.733334L571.733333 512z"})],-1)])],8,Na)],4)):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-3120909b"]]),Aa={class:"nf-dialog__header"},Va={class:"nf-dialog__title"},Ia={class:"nf-dialog__body"},Fa={class:"nf-field"},Oa={class:"nf-field__label"},Ha={key:0,class:"nf-field"},La={class:"nf-field__label"},$a={key:1,class:"nf-field nf-field--inline"},_a={class:"nf-checkbox"},za={key:2,class:"nf-field"},Wa={class:"nf-field__label"},Ua={key:3,class:"nf-field"},Ka={class:"nf-field__label"},Pa={key:4,class:"nf-field"},Ga={class:"nf-field__label"},Ya={key:5,class:"nf-field"},Xa={class:"nf-field__label"},ja={key:6,class:"nf-field"},Za={class:"nf-field__label"},qa={class:"nf-field"},Ja={class:"nf-field__label"},Qa={class:"nf-dialog__footer"},ei={class:"nf-preview"},ti={class:"nf-preview__label"},li={class:"nf-preview__value"},ni={class:"nf-dialog__actions"},oi=ht(t.defineComponent({__name:"numberFormatDialog",props:{modelOpen:{type:Boolean,default:!1},locale:{default:"zh-CN"},currentFormat:{default:""},isCustom:{type:Boolean,default:!1},sampleValue:{default:"1234.5"}},emits:["update:modelOpen","apply"],setup(e,{emit:o}){const n=e,l=o,a=t.ref(!1),i=t.ref("general"),r=t.ref(2),m=t.ref(!1),c=t.ref("$"),g=t.ref("m/d/yyyy"),k=t.ref("h:mm:ss"),S=t.ref("m/d/yyyy h:mm:ss"),y=t.ref("[h]:mm:ss"),v=t.ref(""),E=t.ref(null),j=[{label:"¥",value:"¥"},{label:"$",value:"$"},{label:"€",value:"€"},{label:"£",value:"£"}],Z=['yyyy"年"m"月"d"日"',"yyyy-mm-dd","yyyy/m/d",'m"月"d"日"'],te=["m/d/yyyy","mm/dd/yyyy","d-mmm-yyyy","mmmm d, yyyy"],K=['yyyy"年"m"月"d"日" h:mm:ss','yyyy"年"m"月"d"日" hh:mm',"yyyy-mm-dd hh:mm:ss","yyyy/m/d h:mm"],b=["m/d/yyyy h:mm:ss","m/d/yyyy hh:mm","mm/dd/yyyy h:mm AM/PM","d-mmm-yyyy hh:mm:ss"],le=t.computed(()=>n.locale==="zh-CN"?[...Z,...te]:[...te,...Z]),P=["h:mm:ss","h:mm","hh:mm:ss","h:mm AM/PM",'hh"时"mm"分"ss"秒"',"H:mm:ss"],ee=t.computed(()=>n.locale==="zh-CN"?[...K,...b]:[...b,...K]),Ce=["[h]:mm:ss","[h]:mm","mm:ss",'[h]"小时"mm"分"ss"秒"',"[h]:mm:ss.00",'d"天"h:mm:ss'],Me={general:"nfGeneral",text:"nfText",number:"nfNumber",percent:"nfPercent",scientific:"nfScientific",accounting:"nfAccounting",financial:"nfFinancial",currency:"nfCurrency",currencyRounded:"nfCurrencyRounded",date:"nfDate",time:"nfTime",dateTime:"nfDateTime",duration:"nfDuration",custom:"nfCatCustom"},ge=t.computed(()=>no.map(ie=>({label:T(n.locale,Me[ie]),value:ie}))),se=j.map(ie=>({label:ie.label,value:ie.value})),Re=t.computed(()=>le.value.map(ie=>({label:ie,value:ie}))),Ke=P.map(ie=>({label:ie,value:ie})),we=t.computed(()=>ee.value.map(ie=>({label:ie,value:ie}))),me=Ce.map(ie=>({label:ie,value:ie})),ye=t.computed(()=>["number","currency","currencyRounded","accounting","financial"].includes(i.value)),Le=t.computed(()=>["currency","currencyRounded","accounting"].includes(i.value)),$e=t.computed(()=>i.value==="date"),G=t.computed(()=>i.value==="time"),pe=t.computed(()=>i.value==="dateTime"),p=t.computed(()=>i.value==="duration"),D=t.computed(()=>["number","currency","accounting","financial","percent","scientific"].includes(i.value));function I(){if(i.value==="general")return $t;if(i.value==="text")return vt;if(i.value==="custom")return v.value;if(i.value==="date")return g.value;if(i.value==="time")return k.value;if(i.value==="dateTime")return S.value;if(i.value==="duration")return y.value;const ie=Math.max(0,Math.min(30,r.value));return i.value==="currency"||i.value==="currencyRounded"||i.value==="accounting"?U(i.value,ie,m.value,c.value):po(n.locale,i.value,ie,m.value)}function U(ie,Te,Fe,ot){const Je=Fe?"#,##0":"0";if(ie==="currencyRounded")return ot+Je;const qe=Te>0?"."+"0".repeat(Te):"",Qe=Je+qe;return ie==="currency"?ot+Qe:`${ot}${Qe};(${ot}${Qe});${ot}"-"`}function x(ie){if(v.value=ie,Ct(ie)){i.value="general";return}if(ie==="@"){i.value="text";return}const Te=ie.replace(/\[[^\]]*\]/gi,qe=>/\[h\]/i.test(qe)?qe:"");if(/\[h\]/i.test(Te)&&!/[yd]/i.test(Te)){i.value="duration",Ce.includes(ie)&&(y.value=ie);return}const Fe=/[yd]/i.test(Te),ot=/h|s|AM\/PM/i.test(Te);if(Fe&&ot){i.value="dateTime",ee.value.includes(ie)&&(S.value=ie);return}if(Fe||/AM\/PM/i.test(Te)){ot&&!Fe?(i.value="time",P.includes(ie)&&(k.value=ie)):(i.value="date",le.value.includes(ie)&&(g.value=ie));return}if(ie.includes("%")){i.value="percent",r.value=s(ie);return}if(/E[+-]/i.test(ie)){i.value="scientific",r.value=s(ie);return}const Je=j.find(qe=>ie.startsWith(qe.value));if(ie.includes("[Red](")){i.value="financial",m.value=ie.includes(","),r.value=s(ie);return}if(Je){ie.includes("(")?(i.value="accounting",c.value=Je.value,m.value=ie.includes(","),r.value=s(ie)):/\.\d/.test(ie.slice(Je.value.length))?(i.value="currency",c.value=Je.value,m.value=ie.includes(","),r.value=s(ie)):(i.value="currencyRounded",c.value=Je.value,m.value=ie.includes(","));return}i.value="number",m.value=ie.includes(","),r.value=s(ie)}function s(ie){const Te=ie.match(/\.([0#?]+)/);return Te?Te[1].length:0}function u(){i.value!=="custom"&&(v.value=I())}function O(){}function ke(){g.value=le.value[0],k.value=P[0],S.value=ee.value[0],y.value=Ce[0]}function Ee(){a.value=!0,n.modelOpen!==void 0&&l("update:modelOpen",!0),ke(),x(n.currentFormat??""),n.isCustom&&(i.value="custom"),t.nextTick(()=>{var ie;return(ie=E.value)==null?void 0:ie.focus()})}function h(){a.value=!1,n.modelOpen!==void 0&&l("update:modelOpen",!1)}function B(){l("apply",v.value),h()}function Be(){h()}function je(ie){ie.key==="Escape"&&h()}t.watch(()=>n.modelOpen,ie=>{ie&&!a.value?Ee():!ie&&a.value&&h()});const it=t.computed(()=>Zt(n.sampleValue,v.value,n.locale));return(ie,Te)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"nf-dialog"},{default:t.withCtx(()=>[a.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"nf-dialog__mask",onMousedown:Be,onKeydown:je},[t.createElementVNode("div",{class:t.normalizeClass(["nf-dialog",{"nf-dialog--zh":e.locale==="zh-CN"}]),onMousedown:Te[9]||(Te[9]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",Aa,[t.createElementVNode("span",Va,t.toDisplayString(t.unref(T)(e.locale,"nfDialogTitle")),1),t.createElementVNode("button",{class:"nf-dialog__close",type:"button",onClick:h},[...Te[10]||(Te[10]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M571.733333 512l288.533334-288.533333c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0L512 452.266667 223.466667 164.266667c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733333L452.266667 512 164.266667 800c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 19.2 12.8 29.866666 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8L512 571.733333l288.533333 288.533334c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8 17.066667-17.066667 17.066667-42.666667 0-59.733334L571.733333 512z"})],-1)])])]),t.createElementVNode("div",Ia,[t.createElementVNode("div",Fa,[t.createElementVNode("label",Oa,t.toDisplayString(t.unref(T)(e.locale,"nfCategory")),1),t.createVNode(gt,{class:"nf-field__dropdown","model-value":i.value,options:ge.value,"onUpdate:modelValue":Te[0]||(Te[0]=Fe=>i.value=Fe),onChange:u},null,8,["model-value","options"])]),D.value?(t.openBlock(),t.createElementBlock("div",Ha,[t.createElementVNode("label",La,t.toDisplayString(t.unref(T)(e.locale,"nfDecimals")),1),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":Te[1]||(Te[1]=Fe=>r.value=Fe),class:"nf-field__input",type:"number",min:"0",max:"30",onInput:u},null,544),[[t.vModelText,r.value,void 0,{number:!0}]])])):t.createCommentVNode("",!0),ye.value?(t.openBlock(),t.createElementBlock("div",$a,[t.createElementVNode("label",_a,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":Te[2]||(Te[2]=Fe=>m.value=Fe),type:"checkbox",onChange:u},null,544),[[t.vModelCheckbox,m.value]]),t.createElementVNode("span",null,t.toDisplayString(t.unref(T)(e.locale,"nfThousands")),1)])])):t.createCommentVNode("",!0),Le.value?(t.openBlock(),t.createElementBlock("div",za,[t.createElementVNode("label",Wa,t.toDisplayString(t.unref(T)(e.locale,"nfSymbol")),1),t.createVNode(gt,{class:"nf-field__dropdown","model-value":c.value,options:t.unref(se),"onUpdate:modelValue":Te[3]||(Te[3]=Fe=>c.value=Fe),onChange:u},null,8,["model-value","options"])])):t.createCommentVNode("",!0),$e.value?(t.openBlock(),t.createElementBlock("div",Ua,[t.createElementVNode("label",Ka,t.toDisplayString(t.unref(T)(e.locale,"nfDateFormat")),1),t.createVNode(gt,{class:"nf-field__dropdown","model-value":g.value,options:Re.value,"onUpdate:modelValue":Te[4]||(Te[4]=Fe=>g.value=Fe),onChange:u},null,8,["model-value","options"])])):t.createCommentVNode("",!0),G.value?(t.openBlock(),t.createElementBlock("div",Pa,[t.createElementVNode("label",Ga,t.toDisplayString(t.unref(T)(e.locale,"nfTimeFormat")),1),t.createVNode(gt,{class:"nf-field__dropdown","model-value":k.value,options:t.unref(Ke),"onUpdate:modelValue":Te[5]||(Te[5]=Fe=>k.value=Fe),onChange:u},null,8,["model-value","options"])])):t.createCommentVNode("",!0),pe.value?(t.openBlock(),t.createElementBlock("div",Ya,[t.createElementVNode("label",Xa,t.toDisplayString(t.unref(T)(e.locale,"nfDateTime")),1),t.createVNode(gt,{class:"nf-field__dropdown","model-value":S.value,options:we.value,"onUpdate:modelValue":Te[6]||(Te[6]=Fe=>S.value=Fe),onChange:u},null,8,["model-value","options"])])):t.createCommentVNode("",!0),p.value?(t.openBlock(),t.createElementBlock("div",ja,[t.createElementVNode("label",Za,t.toDisplayString(t.unref(T)(e.locale,"nfDuration")),1),t.createVNode(gt,{class:"nf-field__dropdown","model-value":y.value,options:t.unref(me),"onUpdate:modelValue":Te[7]||(Te[7]=Fe=>y.value=Fe),onChange:u},null,8,["model-value","options"])])):t.createCommentVNode("",!0),t.createElementVNode("div",qa,[t.createElementVNode("label",Ja,t.toDisplayString(t.unref(T)(e.locale,"nfCustomCode")),1),t.withDirectives(t.createElementVNode("textarea",{ref_key:"customCodeRef",ref:E,"onUpdate:modelValue":Te[8]||(Te[8]=Fe=>v.value=Fe),class:"nf-field__textarea",rows:"2",spellcheck:"false",onInput:O},null,544),[[t.vModelText,v.value]])])]),t.createElementVNode("div",Qa,[t.createElementVNode("div",ei,[t.createElementVNode("span",ti,t.toDisplayString(t.unref(T)(e.locale,"nfPreview")),1),t.createElementVNode("span",li,t.toDisplayString(it.value||"—"),1)]),t.createElementVNode("div",ni,[t.createElementVNode("button",{class:"nf-btn nf-btn--primary",type:"button",onClick:B},t.toDisplayString(t.unref(T)(e.locale,"ok")),1),t.createElementVNode("button",{class:"nf-btn",type:"button",onClick:h},t.toDisplayString(t.unref(T)(e.locale,"cancel")),1)])])],34)],32)):t.createCommentVNode("",!0)]),_:1})]))}}),[["__scopeId","data-v-c9c08f15"]]),ri={class:"sort-confirm__header"},ai={class:"sort-confirm__title"},ii={class:"sort-confirm__body"},ci={class:"sort-confirm__message"},si={class:"sort-confirm__options"},di={class:"sort-confirm__option"},ui={class:"sort-confirm__option"},fi={class:"sort-confirm__footer"},mi=ht(t.defineComponent({__name:"sortConfirmDialog",props:{modelOpen:{type:Boolean,default:!1},locale:{default:"zh-CN"}},emits:["update:modelOpen","confirm","cancel"],setup(e,{emit:o}){const n=e,l=o,a=t.ref(!1),i=t.ref(!0),r=t.ref(null);t.watch(()=>n.modelOpen,v=>{v&&!a.value?m():!v&&a.value&&c()});function m(){i.value=!0,a.value=!0,n.modelOpen!==void 0&&l("update:modelOpen",!0),t.nextTick(()=>{var E;const v=(E=r.value)==null?void 0:E.querySelector(".sort-confirm__btn--primary");v==null||v.focus()})}function c(){a.value=!1,n.modelOpen!==void 0&&l("update:modelOpen",!1)}function g(){y()}function k(v){v.key==="Escape"&&y()}function S(){l("confirm",i.value),c()}function y(){l("cancel"),c()}return(v,E)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"sort-confirm"},{default:t.withCtx(()=>[a.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"sort-confirm__mask",onMousedown:g,onKeydown:k},[t.createElementVNode("div",{ref_key:"dialogRef",ref:r,class:"sort-confirm",onMousedown:E[2]||(E[2]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",ri,[t.createElementVNode("span",ai,t.toDisplayString(t.unref(T)(e.locale,"sortReminderTitle")),1),t.createElementVNode("button",{class:"sort-confirm__close",type:"button",onClick:y},[...E[3]||(E[3]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M571.733333 512l288.533334-288.533333c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0L512 452.266667 223.466667 164.266667c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733333L452.266667 512 164.266667 800c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 19.2 12.8 29.866666 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8L512 571.733333l288.533333 288.533334c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8 17.066667-17.066667 17.066667-42.666667 0-59.733334L571.733333 512z"})],-1)])])]),t.createElementVNode("div",ii,[t.createElementVNode("p",ci,t.toDisplayString(t.unref(T)(e.locale,"sortReminderMessage")),1),t.createElementVNode("div",si,[t.createElementVNode("label",di,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":E[0]||(E[0]=j=>i.value=j),type:"radio",value:!0},null,512),[[t.vModelRadio,i.value]]),t.createElementVNode("span",null,t.toDisplayString(t.unref(T)(e.locale,"sortExpandSelection")),1)]),t.createElementVNode("label",ui,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":E[1]||(E[1]=j=>i.value=j),type:"radio",value:!1},null,512),[[t.vModelRadio,i.value]]),t.createElementVNode("span",null,t.toDisplayString(t.unref(T)(e.locale,"sortCurrentSelection")),1)])])]),t.createElementVNode("div",fi,[t.createElementVNode("button",{class:"sort-confirm__btn sort-confirm__btn--primary",type:"button",onClick:S},t.toDisplayString(t.unref(T)(e.locale,"sort")),1),t.createElementVNode("button",{class:"sort-confirm__btn",type:"button",onClick:y},t.toDisplayString(t.unref(T)(e.locale,"cancel")),1)])],544)],32)):t.createCommentVNode("",!0)]),_:1})]))}}),[["__scopeId","data-v-09f7a339"]]);function Xe(e){let o="",n=e;do o=String.fromCharCode(65+n%26)+o,n=Math.floor(n/26)-1;while(n>=0);return o}function Hl(e){let o=0;for(let n=0;n<e.length;n++)o=o*26+(e.toUpperCase().charCodeAt(n)-64);return o-1}function qt(e){if(e==null)return null;if(typeof e=="number")return e;if(typeof e=="string"){const o=parseFloat(e);return e.endsWith("%")||isNaN(o)?null:o}return null}function Ll(e){navigator.clipboard.writeText(e).catch(()=>{const o=document.createElement("textarea");o.value=e,o.style.position="fixed",o.style.opacity="0",document.body.appendChild(o),o.select(),document.execCommand("copy"),document.body.removeChild(o)})}function ll(e,o){return`${e},${o}`}function ul(e,o,n){const l=e.match(/^\$?([A-Z]+)\$?(\d+)$/i);if(!l)return null;const a=Hl(l[1]),i=parseInt(l[2],10)-1;return a<0||a>=o||i<0||i>=n?null:{col:a,row:i}}function Jt(e,o){if(!o)return{x:0,y:0};const n=o.getBoundingClientRect();return{x:e.clientX-n.left,y:e.clientY-n.top}}const an=[{name:"SUM",snippet:"SUM(A1:A10)"},{name:"AVERAGE",snippet:"AVERAGE(A1:A10)"},{name:"COUNT",snippet:"COUNT(A1:A10)"},{name:"IF",snippet:"IF(A1>0, B1, C1)"},{name:"VLOOKUP",snippet:"VLOOKUP(A1, B1:C10, 2, FALSE)"},{name:"CONCATENATE",snippet:"CONCATENATE(A1, B1)"},{name:"MAX",snippet:"MAX(A1:A10)"},{name:"MIN",snippet:"MIN(A1:A10)"},{name:"SIN",snippet:"SIN(A1)"},{name:"SUMIF",snippet:'SUMIF(A1:A10, ">0", B1:B10)'},{name:"PMT",snippet:"PMT(0.05/12, 360, 100000)"},{name:"STDEV",snippet:"STDEV(A1:A10)"}],pi={SUM:{min:1,max:1},AVERAGE:{min:1,max:1},COUNT:{min:1,max:1},IF:{min:3,max:3},VLOOKUP:{min:3,max:4},CONCATENATE:{min:1,max:1/0},MAX:{min:1,max:1},MIN:{min:1,max:1},SIN:{min:1,max:1},SUMIF:{min:2,max:3},PMT:{min:3,max:5},STDEV:{min:1,max:1}};function hi(e){let o=0,n=null;for(let l=0;l<e.length;l++){const a=e[l];if(n){a===n&&(e[l+1]===n?l++:n=null);continue}if(a==='"'||a==="'"){n=a;continue}if(a==="(")o++;else if(a===")"&&(o--,o<0))return!1}return o===0}function gi(e){const o=e.trim();if(!o.startsWith("="))return{ok:!1,name:null};const n=/^([A-Za-z_][A-Za-z0-9_]*)\s*\(([\s\S]*)\)$/.exec(o.slice(1).trim());if(!n)return{ok:!1,name:null};const l=n[1].toUpperCase(),a=pi[l];if(!a)return{ok:!1,name:l};const i=n[2];if(!hi(i))return{ok:!1,name:l};const r=Qt(i),m=r.length===1&&r[0].trim()===""?0:r.length;return m<a.min||m>a.max?{ok:!1,name:l}:r.some(c=>c.trim()==="")?{ok:!1,name:l}:{ok:!0,name:l}}function nl(e,o,n){const l=e.split(":");if(l.length!==2)return null;const a=ul(l[0],o,n),i=ul(l[1],o,n);return!a||!i?null:{sc:Math.min(a.col,i.col),sr:Math.min(a.row,i.row),ec:Math.max(a.col,i.col),er:Math.max(a.row,i.row)}}function cn(e){const o=e.trim();if(o==="")return"";const n=Number(o);return!isNaN(n)&&/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(o)?n:e}function Nt(e,o,n,l,a){const i=n[ll(e,o)];if(!i)return"";const r=i.value;return r.startsWith("=")?dn(ll(e,o),n,l,a):cn(r)}function sn(e,o,n,l,a){const i=Nt(e,o,n,l,a);if(i===null)return 0;if(typeof i=="number")return i;const r=parseFloat(String(i));return isNaN(r)?0:r}const fl=new Map,yl=new Set;function vl(){fl.clear(),yl.clear()}function dn(e,o,n,l){return bi(e,o,n,l,0)}function bi(e,o,n,l,a){if(yl.has(e))return null;if(fl.has(e))return fl.get(e);yl.add(e);const i=o[e];let r;if(!i)r=null;else{const m=i.value;if(!m.startsWith("="))r=cn(m);else{const c=m.slice(1).trim(),g=/^([A-Za-z_][A-Za-z0-9_]*)\s*\(([\s\S]*)\)$/.exec(c);r=g?pn(g[1].toUpperCase(),g[2],o,n,l,a+1):ut(c,o,n,l,a+1)}}return yl.delete(e),fl.set(e,r),r}function $l(e){return e===null||e===""?!1:typeof e=="number"?e!==0:!0}function un(e,o){return typeof e=="number"&&typeof o=="number"?e===o:String(e??"")===String(o??"")}function fn(e,o,n){let l;if(typeof e=="number"&&typeof o=="number")l=e<o?-1:e>o?1:0;else{const a=String(e??""),i=String(o??"");l=a<i?-1:a>i?1:0}switch(n){case"=":return l===0;case"<>":return l!==0;case"<":return l<0;case">":return l>0;case"<=":return l<=0;case">=":return l>=0}return!1}function mn(e,o,n,l){const a=e.trim();if(a.length>=2&&(a[0]==='"'&&a[a.length-1]==='"'||a[0]==="'"&&a[a.length-1]==="'"))return a.slice(1,-1);const i=Number(a);return!isNaN(i)&&/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(a)?i:a}function yi(e,o,n,l,a,i){let m=o.trim();m.length>=2&&(m[0]==='"'&&m[m.length-1]==='"'||m[0]==="'"&&m[m.length-1]==="'")&&(m=m.slice(1,-1));const c=/^([<>=]+)([\s\S]*)$/.exec(m);if(c){const k=c[1],S=mn(c[2]);return fn(e,S,k)}const g=mn(m);return un(e,g)}function vi(e,o,n,l,a){const i=e.trim(),r=["<=",">=","<>"];let m=null,c=-1,g=null,k=0;for(let y=0;y<i.length;y++){const v=i[y];if(g){v===g&&(i[y+1]===g?y++:g=null);continue}if(v==='"'||v==="'"){g=v;continue}if(v==="("&&k++,v===")"&&k--,k===0&&(v==="<"||v===">"||v==="=")){const E=i.slice(y,y+2);m=r.includes(E)?E:v,c=y;break}}if(m&&c>=0){const y=i.slice(0,c).trim(),v=i.slice(c+m.length).trim(),E=ut(y,o,n,l,a),j=ut(v,o,n,l,a);return fn(E,j,m)}const S=ut(i,o,n,l,a);return $l(S)}function Qt(e){const o=[];let n=0,l=null,a="";for(let i=0;i<e.length;i++){const r=e[i];if(l){a+=r,r===l&&(e[i+1]===l?(i++,a+=l):l=null);continue}if(r==='"'||r==="'"){l=r,a+=r;continue}if(r==="("&&n++,r===")"&&n--,r===","&&n===0){o.push(a),a="";continue}a+=r}return o.push(a),o}function ut(e,o,n,l,a){if(a>20)return null;const i=e.trim();if(i==="")return null;const r=i.toUpperCase();if(r==="TRUE")return 1;if(r==="FALSE")return 0;const m=Ci(i);if(m.length===0)return null;let c=0;const g=()=>{let v=k();for(;c<m.length;){const E=m[c];if(E.type==="op"&&(E.val==="+"||E.val==="-"))c++,v=_l(v,k(),E.val);else break}return v},k=()=>{let v=S();for(;c<m.length;){const E=m[c];if(E.type==="op"&&(E.val==="*"||E.val==="/"))c++,v=_l(v,S(),E.val);else break}return v},S=()=>{const v=m[c];return v&&v.type==="op"&&v.val==="-"?(c++,_l(0,S(),"-")):v&&v.type==="op"&&v.val==="+"?(c++,S()):y()},y=()=>{const v=m[c];if(!v)return null;if(v.type==="num")return c++,Number(v.val);if(v.type==="str")return c++,v.val;if(v.type==="lp"){c++;const E=g();return m[c]&&m[c].type==="rp"&&c++,E}if(v.type==="ref"){c++;const E=ul(v.val,n,l);return E?Nt(E.col,E.row,o,n,l):null}if(v.type==="func"){const E=v.val.toUpperCase();if(c++,m[c]&&m[c].type==="lp"){const j=m[c];let Z=0,te=null,K=c;for(;K<m.length;K++)if(m[K].type==="lp")Z++;else if(m[K].type==="rp"&&(Z--,Z===0)){te=m[K];break}if(te){const b=i.slice(j.start+1,te.start);return c=K+1,pn(E,b,o,n,l,a+1)}}return null}return c++,null};return g()}function Ci(e){const o=[];let n=0;for(;n<e.length;){const l=e[n];if(/\s/.test(l)){n++;continue}if(l==='"'||l==="'"){const a=l,i=n;n++;let r="";for(;n<e.length;){if(e[n]===a){if(e[n+1]===a){r+=a,n+=2;continue}n++;break}r+=e[n],n++}o.push({type:"str",val:r,start:i});continue}if(/[0-9]/.test(l)||l==="."){const a=n;let i="";for(l==="."&&(i+=".",n++);n<e.length&&/[0-9]/.test(e[n]);)i+=e[n],n++;if(e[n]===".")for(i+=".",n++;n<e.length&&/[0-9]/.test(e[n]);)i+=e[n],n++;if(e[n]==="e"||e[n]==="E")for(i+=e[n],n++,(e[n]==="+"||e[n]==="-")&&(i+=e[n],n++);n<e.length&&/[0-9]/.test(e[n]);)i+=e[n],n++;o.push({type:"num",val:i,start:a});continue}if(/[A-Za-z_]/.test(l)){const a=n;let i="";for(;n<e.length&&/[A-Za-z0-9_]/.test(e[n]);)i+=e[n],n++;e[n]==="("?o.push({type:"func",val:i,start:a}):o.push({type:"ref",val:i,start:a});continue}if(l==="("){o.push({type:"lp",val:l,start:n}),n++;continue}if(l===")"){o.push({type:"rp",val:l,start:n}),n++;continue}if(l===","){o.push({type:"comma",val:l,start:n}),n++;continue}if(l==="+"||l==="-"||l==="*"||l==="/"){o.push({type:"op",val:l,start:n}),n++;continue}n++}return o}function _l(e,o,n){if(typeof e!="number"||typeof o!="number")return null;switch(n){case"+":return e+o;case"-":return e-o;case"*":return e*o;case"/":return o===0?null:e/o}return null}function pn(e,o,n,l,a,i){switch(e){case"SUM":case"AVERAGE":case"COUNT":{const r=nl(o.trim(),l,a);if(!r)return null;if(e==="COUNT"){let c=0;for(let g=r.sc;g<=r.ec;g++)for(let k=r.sr;k<=r.er;k++)typeof Nt(g,k,n,l,a)=="number"&&c++;return c}let m=0;for(let c=r.sc;c<=r.ec;c++)for(let g=r.sr;g<=r.er;g++)m+=sn(c,g,n,l,a);if(isNaN(m))return null;if(e==="AVERAGE"){const c=(r.ec-r.sc+1)*(r.er-r.sr+1);return c===0?null:m/c}return m}case"IF":{const r=Qt(o);if(r.length<3)return null;const m=vi(r[0],n,l,a,i);return ut(m?r[1]:r[2],n,l,a,i)}case"VLOOKUP":{const r=Qt(o);if(r.length<3)return null;const m=ut(r[0],n,l,a,i),c=nl(r[1].trim(),l,a);if(!c)return null;const g=ut(r[2],n,l,a,i),k=typeof g=="number"?g:parseFloat(String(g));if(isNaN(k))return null;const S=c.sc+(k-1);if(S<c.sc||S>c.ec)return null;if(r.length>=4?$l(ut(r[3],n,l,a,i)):!1){let v=-1,E=-1/0;for(let j=c.sr;j<=c.er;j++){const Z=Nt(c.sc,j,n,l,a);typeof Z=="number"&&typeof m=="number"&&Z<=m&&Z>E&&(E=Z,v=j)}return v>=0?Nt(S,v,n,l,a):null}for(let v=c.sr;v<=c.er;v++){const E=Nt(c.sc,v,n,l,a);if(un(E,m))return Nt(S,v,n,l,a)}return null}case"CONCATENATE":{const r=Qt(o);let m="";for(const c of r){const g=ut(c,n,l,a,i);m+=g===null?"":typeof g=="number"?String(g):g}return m}case"MAX":case"MIN":{const r=nl(o.trim(),l,a);if(!r)return null;const m=[];for(let c=r.sc;c<=r.ec;c++)for(let g=r.sr;g<=r.er;g++){const k=Nt(c,g,n,l,a);typeof k=="number"&&m.push(k)}return m.length===0?null:e==="MAX"?Math.max(...m):Math.min(...m)}case"STDEV":{const r=nl(o.trim(),l,a);if(!r)return null;const m=[];for(let S=r.sc;S<=r.ec;S++)for(let y=r.sr;y<=r.er;y++){const v=Nt(S,y,n,l,a);typeof v=="number"&&m.push(v)}const c=m.length;if(c<2)return null;const g=m.reduce((S,y)=>S+y,0)/c,k=m.reduce((S,y)=>S+Math.pow(y-g,2),0)/(c-1);return Math.sqrt(k)}case"SIN":{const r=Qt(o);if(r.length!==1)return null;const m=ut(r[0],n,l,a,i);return typeof m!="number"?null:Math.sin(m)}case"SUMIF":{const r=Qt(o);if(r.length<2||r.length>3)return null;const m=nl(r[0].trim(),l,a);if(!m)return null;const c=r.length===3?nl(r[2].trim(),l,a):m;if(!c)return null;let g=0;for(let k=m.sr;k<=m.er;k++)for(let S=m.sc;S<=m.ec;S++){const y=Nt(S,k,n,l,a);yi(y,r[1])&&(g+=sn(c.sc+(S-m.sc),c.sr+(k-m.sr),n,l,a))}return g}case"PMT":{const r=Qt(o);if(r.length<3||r.length>5)return null;const m=ut(r[0],n,l,a,i),c=ut(r[1],n,l,a,i),g=ut(r[2],n,l,a,i);if(typeof m!="number"||typeof c!="number"||typeof g!="number")return null;const k=r.length>=4?ut(r[3],n,l,a,i):0,S=typeof k=="number"?k:0,y=r.length>=5?ut(r[4],n,l,a,i):0,v=$l(y)?1:0;if(m===0)return c===0?null:-(g+S)/c;const E=Math.pow(1+m,c);return-(S+g*E)*m/((1+m*v)*(E-1))}default:return null}}function zl(e,o,n){const l=[],a=/(\$?[A-Z]+\$?\d+)(?::(\$?[A-Z]+\$?\d+))?/gi;let i;for(;(i=a.exec(e))!==null;){const r=ul(i[1],o,n);if(r)if(i[2]){const m=ul(i[2],o,n);if(!m)continue;for(let c=Math.min(r.col,m.col);c<=Math.max(r.col,m.col);c++)for(let g=Math.min(r.row,m.row);g<=Math.max(r.row,m.row);g++)l.push(ll(c,g))}else l.push(ll(r.col,r.row))}return l}function hn(e,o,n,l,a){const i=n[ll(e,o)];if(!i)return"";const r=i.value;if(!r.startsWith("="))return r;const m=dn(ll(e,o),n,l,a);return m===null?"#ERROR":String(m)}function wi(e,o,n,l,a,i){return o===0&&n===0?e:e.replace(/(\$?)([A-Z]+)(\$?)(\d+)/gi,(r,m,c,g,k)=>{const S=m?Hl(c):Hl(c)+o,y=g?parseInt(k,10)-1:parseInt(k,10)-1+n;let v;S<0?v="A":S>=l?v=i(l-1):v=i(S);let E;return y<0?E="1":y>=a?E=String(a):E=String(y+1),(m||"")+v+(g||"")+E})}class ki{constructor(){this.deps=new Map,this.rev=new Map,this.dirty=new Set}clear(o){var l;const n=this.deps.get(o);if(n){for(const a of n)(l=this.rev.get(a))==null||l.delete(o);this.deps.delete(o)}}set(o,n){if(this.clear(o),n.length!==0){this.deps.set(o,n);for(const l of n)this.rev.has(l)||this.rev.set(l,new Set),this.rev.get(l).add(o)}}markDirty(o){const n=[o];for(;n.length>0;){const l=n.pop(),a=this.rev.get(l);if(a)for(const i of a)this.dirty.has(i)||(this.dirty.add(i),n.push(i))}}getDirtyAndClear(){const o=this.dirty;return this.dirty=new Set,o}rebuild(o,n,l){this.deps.clear(),this.rev.clear(),this.dirty.clear(),fl.clear();for(const[a,i]of Object.entries(o))if(i.value.startsWith("=")){const r=zl(i.value.slice(1),n,l);this.set(a,r)}}}const Ei={class:"ifn-dialog__header"},Si={class:"ifn-dialog__title"},xi={class:"ifn-dialog__body"},Ri={class:"ifn-dialog__field"},Mi={class:"ifn-dialog__label"},Bi={key:0,class:"ifn-dialog__desc"},Di={class:"ifn-dialog__field"},Ni={class:"ifn-dialog__label"},Ti={class:"ifn-dialog__footer"},Ai=["disabled"],Vi=ht(t.defineComponent({__name:"insertFunctionDialog",props:{modelOpen:{type:Boolean,default:!1},locale:{default:"zh-CN"}},emits:["update:modelOpen","insert","cancel"],setup(e,{emit:o}){const n=e,l=o,a=t.ref(!1),i=t.ref(""),r=t.ref(""),m=t.ref(null),c=t.ref(null),g={SUM:"fnDescSum",AVERAGE:"fnDescAverage",COUNT:"fnDescCount",IF:"fnDescIf",VLOOKUP:"fnDescVlookup",CONCATENATE:"fnDescConcatenate",MAX:"fnDescMax",MIN:"fnDescMin",SIN:"fnDescSin",SUMIF:"fnDescSumif",PMT:"fnDescPmt",STDEV:"fnDescStdev"},k=t.computed(()=>an.map(P=>({label:P.name,value:P.name}))),S=t.computed(()=>{const P=String(i.value??"");return P?T(n.locale,g[P]??""):""}),y=t.computed(()=>gi(r.value)),v=t.computed(()=>i.value===""||i.value===null||!r.value.trim()||!y.value.ok?!1:y.value.name===String(i.value).toUpperCase());t.watch(()=>n.modelOpen,P=>{P&&!a.value?E():!P&&a.value&&j()});function E(){r.value="",i.value="",a.value=!0,n.modelOpen!==void 0&&l("update:modelOpen",!0),t.nextTick(()=>{const P=m.value;if(P)try{P.focus({preventScroll:!0}),P.setSelectionRange(P.value.length,P.value.length)}catch{}})}function j(){a.value=!1,n.modelOpen!==void 0&&l("update:modelOpen",!1)}function Z(P){i.value=P;const ee=an.find(Ce=>Ce.name===String(P));ee&&(r.value="",te(ee.snippet))}function te(P){const ee=r.value,Ce=m.value,Me=Ce?Ce.selectionStart??ee.length:ee.length,ge=Ce?Ce.selectionEnd??ee.length:ee.length,se=ee.trim()?P:"="+P;r.value=ee.slice(0,Me)+se+ee.slice(ge),t.nextTick(()=>{const Re=m.value;if(!Re)return;const Ke=Me+se.length;try{Re.focus({preventScroll:!0}),Re.setSelectionRange(Ke,Ke)}catch{}})}function K(){l("insert",r.value),j()}function b(){l("cancel"),j()}function le(P){P.key==="Escape"&&(P.stopPropagation(),b())}return(P,ee)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"ifn-dialog"},{default:t.withCtx(()=>[a.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ifn-dialog__mask",onMousedown:t.withModifiers(b,["self"]),onKeydown:le},[t.createElementVNode("div",{ref_key:"dialogRef",ref:c,class:"ifn-dialog",onMousedown:ee[1]||(ee[1]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",Ei,[t.createElementVNode("span",Si,t.toDisplayString(t.unref(T)(e.locale,"insertFunctionTitle")),1),t.createElementVNode("button",{class:"ifn-dialog__close",type:"button",onClick:b},[...ee[2]||(ee[2]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M571.733333 512l288.533334-288.533333c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0L512 452.266667 223.466667 164.266667c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733333L452.266667 512 164.266667 800c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 19.2 12.8 29.866666 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8L512 571.733333l288.533333 288.533334c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8 17.066667-17.066667 17.066667-42.666667 0-59.733334L571.733333 512z"})],-1)])])]),t.createElementVNode("div",xi,[t.createElementVNode("div",Ri,[t.createElementVNode("label",Mi,t.toDisplayString(t.unref(T)(e.locale,"insertFunctionSelectLabel")),1),t.createVNode(gt,{class:"ifn-dialog__dropdown","model-value":i.value,options:k.value,searchable:!0,"search-placeholder":t.unref(T)(e.locale,"insertFunctionSearchPlaceholder"),"fallback-label":t.unref(T)(e.locale,"insertFunctionPlaceholder"),title:t.unref(T)(e.locale,"insertFunctionSelectLabel"),"onUpdate:modelValue":Z},null,8,["model-value","options","search-placeholder","fallback-label","title"]),S.value?(t.openBlock(),t.createElementBlock("div",Bi,t.toDisplayString(S.value),1)):t.createCommentVNode("",!0)]),t.createElementVNode("div",Di,[t.createElementVNode("label",Ni,t.toDisplayString(t.unref(T)(e.locale,"insertFunctionFormulaLabel")),1),t.withDirectives(t.createElementVNode("textarea",{ref_key:"textareaRef",ref:m,"onUpdate:modelValue":ee[0]||(ee[0]=Ce=>r.value=Ce),class:"ifn-dialog__textarea",spellcheck:"false"},null,512),[[t.vModelText,r.value]])])]),t.createElementVNode("div",Ti,[t.createElementVNode("button",{class:"ifn-dialog__btn ifn-dialog__btn--primary",type:"button",disabled:!v.value,onClick:K},t.toDisplayString(t.unref(T)(e.locale,"insertFunctionBtn")),9,Ai),t.createElementVNode("button",{class:"ifn-dialog__btn",type:"button",onClick:b},t.toDisplayString(t.unref(T)(e.locale,"cancel")),1)])],544)],32)):t.createCommentVNode("",!0)]),_:1})]))}}),[["__scopeId","data-v-2eec9073"]]);class Ii{constructor(o){if(o&&o.length>0){this.styles=o,this.index=new Map;for(let n=0;n<this.styles.length;n++){const l=this.stableKey(this.styles[n]);this.index.set(l,n)}}else this.styles=[{}],this.index=new Map,this.index.set(this.stableKey({}),0)}stableKey(o){const n=Object.keys(o).sort(),l={};for(const a of n)l[a]=o[a];return JSON.stringify(l)}get(o){const n=this.styles[o];return n?o===0?n:Object.freeze(n):{}}getId(o){if(!o||Object.keys(o).length===0)return 0;const n=this.stableKey(o),l=this.index.get(n);if(l!==void 0)return l;const a=this.styles.length,i=Object.freeze({...o});return this.styles.push(i),this.index.set(n,a),a}getStyles(){return[...this.styles]}setStyles(o){this.styles=o,this.index=new Map;for(let n=0;n<this.styles.length;n++){const l=this.stableKey(this.styles[n]);this.index.set(l,n)}}compactStyles(o){const n=new Set;n.add(0);for(const r in o){const m=o[r].styleId??0;n.add(m)}const l=new Map,a=[{}];l.set(0,0);const i=Array.from(n).sort((r,m)=>r-m);for(const r of i)if(r!==0&&r<this.styles.length){const m=a.length;l.set(r,m),a.push(this.styles[r])}for(const r in o){const m=o[r],c=m.styleId??0,g=l.get(c);g!==void 0&&g!==c&&(m.styleId=g)}this.styles=a,this.index=new Map;for(let r=0;r<this.styles.length;r++){const m=this.stableKey(this.styles[r]);this.index.set(m,r)}return a}}function Fi(e,o){if(!e)return null;const n=e.styleId;return n===void 0||n===0?null:o[n]??null}function gn(e){const o=new Ii,n={};for(const[l,a]of Object.entries(e)){const i={value:a.value};a.styleId!==void 0&&a.styleId>0&&(i.styleId=a.styleId),a.style&&Object.keys(a.style).length>0&&(i.styleId=o.getId(a.style)),i.styleId===0&&delete i.styleId,n[l]=i}return{cells:n,styles:o.getStyles()}}function Oi(e){const o={};for(const[n,l]of Object.entries(e)){const a={value:l.value};l.styleId!==void 0&&l.styleId>0&&(a.styleId=l.styleId),o[n]=a}return o}class Hi{constructor(o){if(o&&o.length>0){this.borders=o,this.index=new Map;for(let n=0;n<this.borders.length;n++){const l=this.stableKey(this.borders[n]);this.index.set(l,n)}}else this.borders=[{}],this.index=new Map,this.index.set(this.stableKey({}),0)}stableKey(o){const n=["top","right","bottom","left"],l={};for(const a of n){const i=o[a];if(i&&(i.width!==void 0||i.color!==void 0||i.style!==void 0)){const r={};i.width!==void 0&&(r.width=i.width),i.color!==void 0&&(r.color=i.color),i.style!==void 0&&(r.style=i.style),l[a]=r}}return JSON.stringify(l)}get(o){const n=this.borders[o];return n?o===0?n:Object.freeze(n):{}}getId(o){if(!o||this.isEmptyBorder(o))return 0;const n=this.stableKey(o),l=this.index.get(n);if(l!==void 0)return l;const a=this.borders.length,i=Object.freeze(this.deepCloneBorder(o));return this.borders.push(i),this.index.set(n,a),a}isEmptyBorder(o){return!o.top&&!o.right&&!o.bottom&&!o.left}deepCloneBorder(o){const n={};return o.top&&(n.top={...o.top}),o.right&&(n.right={...o.right}),o.bottom&&(n.bottom={...o.bottom}),o.left&&(n.left={...o.left}),n}getBorders(){return[...this.borders]}setBorders(o){this.borders=o,this.index=new Map;for(let n=0;n<this.borders.length;n++){const l=this.stableKey(this.borders[n]);this.index.set(l,n)}}compactBorders(o){const n=new Set;n.add(0);for(const r of o){const m=r.borderId??0;n.add(m)}const l=new Map,a=[{}];l.set(0,0);const i=Array.from(n).sort((r,m)=>r-m);for(const r of i)if(r!==0&&r<this.borders.length){const m=a.length;l.set(r,m),a.push(this.borders[r])}for(const r of o){const m=r.borderId??0,c=l.get(m);c!==void 0&&c!==m&&(r.borderId=c)}this.borders=a,this.index=new Map;for(let r=0;r<this.borders.length;r++){const m=this.stableKey(this.borders[r]);this.index.set(m,r)}return a}}function Li(e,o,n,l){if(!e)return;const a=e.styleId??0,i=n[a];if(!i)return;const r=i.borderId??0;if(r===0)return;const m=l.get(r);if(m)return m[o]}function $i(e,o,n,l,a,i){const r=l[e.styleId??0]??{},m=r.borderId??0,c=m>0?a.get(m):{},g={top:c.top?{...c.top}:void 0,right:c.right?{...c.right}:void 0,bottom:c.bottom?{...c.bottom}:void 0,left:c.left?{...c.left}:void 0};n?g[o]={...n}:g[o]=void 0;const k=a.getId(g),S={...r};k===0?delete S.borderId:S.borderId=k,delete S.borderTopWidth,delete S.borderBottomWidth,delete S.borderLeftWidth,delete S.borderRightWidth,delete S.borderColor,Object.keys(S).length===0?e.styleId=0:e.styleId=i(S)}function bn(e){const o=new Hi,n=[];for(const l of e){if(!(l.borderTopWidth!==void 0||l.borderBottomWidth!==void 0||l.borderLeftWidth!==void 0||l.borderRightWidth!==void 0)){n.push(l);continue}const i=typeof l.borderColor=="string"?l.borderColor:void 0,r={};l.borderTopWidth!==void 0&&l.borderTopWidth>0&&(r.top={width:l.borderTopWidth,color:i}),l.borderBottomWidth!==void 0&&l.borderBottomWidth>0&&(r.bottom={width:l.borderBottomWidth,color:i}),l.borderLeftWidth!==void 0&&l.borderLeftWidth>0&&(r.left={width:l.borderLeftWidth,color:i}),l.borderRightWidth!==void 0&&l.borderRightWidth>0&&(r.right={width:l.borderRightWidth,color:i});const m=o.getId(r),c={...l};delete c.borderTopWidth,delete c.borderBottomWidth,delete c.borderLeftWidth,delete c.borderRightWidth,delete c.borderColor,m>0?c.borderId=m:delete c.borderId,n.push(c)}return{styles:n,borders:o.getBorders()}}function _i(e,o){const n=t.reactive({rowCount:e.rowCount??o.rowCount,colCount:e.colCount??o.colCount,width:e.width,height:e.height,theme:e.theme??o.theme,locale:e.locale??o.locale});t.watchEffect(()=>{n.rowCount=e.rowCount??o.rowCount,n.colCount=e.colCount??o.colCount,n.width=e.width,n.height=e.height,n.theme=e.theme??o.theme,n.locale=e.locale??o.locale});const l=t.computed(()=>n.locale==="zh-CN"?"zh-CN":"en-US"),a=n.colCount,i=n.rowCount,r=t.reactive({}),m=t.reactive([{}]),c=t.reactive([{}]);let g=new Map;g.set("{}",0);let k=new Map;k.set("{}",0);function S(C){const V=Object.keys(C).sort(),F={};for(const Q of V)F[Q]=C[Q];return JSON.stringify(F)}function y(C){const V=["top","right","bottom","left"],F={};for(const Q of V){const oe=C[Q];if(oe&&(oe.width!==void 0||oe.color!==void 0||oe.style!==void 0)){const d={};oe.width!==void 0&&(d.width=oe.width),oe.color!==void 0&&(d.color=oe.color),oe.style!==void 0&&(d.style=oe.style),F[Q]=d}}return JSON.stringify(F)}function v(C){if(!C||Object.keys(C).length===0)return 0;const V=S(C),F=g.get(V);if(F!==void 0)return F;const Q=m.length;return m.push(Object.freeze({...C})),g.set(V,Q),Q}function E(C){return Fi(C,m)}function j(){g=new Map;for(let C=0;C<m.length;C++)g.set(S(m[C]),C)}function Z(C){m.splice(0,m.length,...C),j()}function te(C){if(!C||!C.top&&!C.right&&!C.bottom&&!C.left)return 0;const V=y(C),F=k.get(V);if(F!==void 0)return F;const Q=c.length;return c.push(Object.freeze({top:C.top?Object.freeze({...C.top}):void 0,right:C.right?Object.freeze({...C.right}):void 0,bottom:C.bottom?Object.freeze({...C.bottom}):void 0,left:C.left?Object.freeze({...C.left}):void 0})),k.set(V,Q),Q}function K(C){return c[C]??{}}function b(){k=new Map;for(let C=0;C<c.length;C++)k.set(y(c[C]),C)}function le(C){c.splice(0,c.length,...C),b()}function P(C,V){return Li(C,V,m,{get:F=>c[F]??{}})}function ee(C,V){const F=x(C,V);return F?F.anchor:null}function Ce(C,V,F,Q){const oe=x(C,V),d=x(F,Q);return!oe||!d?!1:oe.anchor===d.anchor}const Me=t.reactive({}),ge=new ki,se=t.ref(null),Re=t.ref("cell"),Ke=t.ref({col:0,row:0}),we=t.ref(null),me=t.ref(""),ye=t.ref(new Array(a).fill(100)),Le=t.ref(new Array(i).fill(void 0)),$e=t.ref(0),G=t.ref(0),pe=(24-Ht)/2,p=new Map;let D=null;function I(C,V,F,Q){const oe=`${Q} ${F} ${V}px ${C}`,d=p.get(oe);if(d)return d;if(!D){if(typeof document>"u")return{ascent:V*.88,descent:V*.28};D=document.createElement("canvas")}const R=D.getContext("2d");if(!R)return{ascent:V*.88,descent:V*.28};R.font=oe;const _=R.measureText(" "),$=_.fontBoundingBoxAscent,z=_.fontBoundingBoxDescent;if(typeof $=="number"&&typeof z=="number"&&$>0&&z>0){const at={ascent:$,descent:z};return p.set(oe,at),at}const H=["M","中","y","Ä","0"];let ne=0,ae=0;for(const at of H){const wt=R.measureText(at),Vt=wt.actualBoundingBoxAscent||0,kt=wt.actualBoundingBoxDescent||0;Vt>ne&&(ne=Vt),kt>ae&&(ae=kt)}const ze=Math.max(ne,V*.88),lt=Math.max(ae,V*.28),rt={ascent:ze,descent:lt};return p.set(oe,rt),rt}let U=(C,V)=>`${C},${V}`,x=()=>null,s=()=>Ht,u=t.computed(()=>[0]),O=()=>24,ke=(C,V,F,Q)=>({startCol:Math.min(C,F),startRow:Math.min(V,Q),endCol:Math.max(C,F),endRow:Math.max(V,Q)});function Ee(C,V){const F=E(r[U(C,V)]),Q=s(C,V),oe=typeof(F==null?void 0:F.fontFamily)=="string"&&F.fontFamily?F.fontFamily:sl,d=(F==null?void 0:F.fontWeight)==="bold"?"bold":"normal",R=(F==null?void 0:F.fontStyle)==="italic"?"italic":"normal";return I(oe,Q,d,R)}function h(C,V,F,Q){if(!V)return[""];const oe=V.split(`
|
|
2
|
-
`),
|
|
3
|
-
`).length,Gt>oe&&(oe=Gt)}}const _=F+Q,$=pe*2+oe*_;return Math.min(500,Math.max(24,Math.round($)))}O=ie;function Te(C){return Le.value[C]===void 0}const Fe=t.computed(()=>{const C=[0];for(let V=0;V<i;V++)C.push(C[V]+O(V));return C}),ot=t.computed(()=>Be.value[a]),Je=t.computed(()=>Fe.value[i]);function qe(C,V){return`${C},${V}`}U=qe;function Qe(C){Reflect.deleteProperty(r,C)}function ct(C,V){Re.value="cell";const F=x(C,V);F?(Ke.value={col:F.range.startCol,row:F.range.startRow},se.value={...F.range}):(Ke.value={col:C,row:V},se.value={startCol:C,startRow:V,endCol:C,endRow:V})}function bt(C,V,F,Q,oe="cell"){const d=x(C,V);if(Ke.value=d?{col:d.range.startCol,row:d.range.startRow}:{col:C,row:V},Re.value=oe,oe==="row"||oe==="col"){const R=Math.min(C,F),_=Math.max(C,F),$=Math.min(V,Q),z=Math.max(V,Q);se.value={startCol:R,startRow:$,endCol:_,endRow:z}}else se.value=ke(C,V,F,Q)}function yt(){bt(0,0,a-1,i-1,"all")}function Tt(C,V){const F=se.value;return F?(Re.value==="cell"||Re.value==="all",C>=F.startCol&&C<=F.endCol&&V>=F.startRow&&V<=F.endRow):!1}function At(C,V){return Tt(C,V)}function xt(C,V){for(const F in Me){const Q=Me[F];if(Q&&C>=Q.startCol&&C<=Q.endCol&&V>=Q.startRow&&V<=Q.endRow)return{range:Q,anchor:F}}return null}x=xt;function mt(C,V){return Me[qe(C,V)]!==void 0}function Rt(C,V){const F=x(C,V);if(F&&C===F.range.startCol&&V===F.range.startRow){const Q=Be.value[F.range.endCol+1]-Be.value[C],oe=Fe.value[F.range.endRow+1]-Fe.value[V];return{w:Q,h:oe}}return{w:ye.value[C],h:O(V)}}function Mt(C,V,F,Q){let oe=Math.min(C,F),d=Math.max(C,F),R=Math.min(V,Q),_=Math.max(V,Q),$=!0;for(;$;){$=!1;for(const z in Me){const H=Me[z];if(!H)continue;H.startCol<=d&&H.endCol>=oe&&H.startRow<=_&&H.endRow>=R&&(H.startCol<oe&&(oe=H.startCol,$=!0),H.endCol>d&&(d=H.endCol,$=!0),H.startRow<R&&(R=H.startRow,$=!0),H.endRow>_&&(_=H.endRow,$=!0))}}return{startCol:oe,startRow:R,endCol:d,endRow:_}}ke=Mt;function Kt(C,V){var F;return((F=r[qe(C,V)])==null?void 0:F.value)??""}function Pt(C,V){return vl(),hn(C,V,r,a,i)}function A(C,V,F){var _,$;const Q=qe(C,V);if(vl(),F===""||F==null){ge.clear(Q);const z=(_=r[Q])==null?void 0:_.styleId;z!==void 0&&z>0?r[Q]={value:"",styleId:z}:Qe(Q),ge.markDirty(Q);return}const oe=String(F);if(!oe.startsWith("=")){const z=E(r[Q]),H=typeof(z==null?void 0:z.numberFormat)=="string"?z.numberFormat:"";if(Ct(H)){const ne=Fl(oe,l.value);if(ne){const ze={...z??{},numberFormat:ne.format};r[Q]={value:String(ne.serial),styleId:v(ze)},ge.clear(Q),ge.markDirty(Q);return}const ae=mo(oe,l.value);if(ae){const ze={...z??{},numberFormat:ae.format};r[Q]={value:String(ae.num),styleId:v(ze)},ge.clear(Q),ge.markDirty(Q);return}}}const d=($=r[Q])==null?void 0:$.styleId,R={value:oe};d!==void 0&&d>0&&(R.styleId=d),r[Q]=R,oe.startsWith("=")?ge.set(Q,zl(oe.slice(1),a,i)):ge.clear(Q),ge.markDirty(Q)}function N(C,V,F,Q){for(let oe=C;oe<=V;oe++)for(let d=F;d<=Q;d++){const R=qe(oe,d);ge.clear(R),Qe(R),ge.markDirty(R)}}let W=()=>{};function ue(C){we.value||(we.value={...Ke.value},C!==void 0?me.value=C:me.value||(me.value=Kt(Ke.value.col,Ke.value.row)))}function L(){we.value&&(W(),A(we.value.col,we.value.row,me.value),we.value=null,me.value="")}function X(){we.value=null,me.value=""}function fe(C,V){const F=Ke.value;let Q=Math.max(0,Math.min(a-1,F.col+C)),oe=Math.max(0,Math.min(i-1,F.row+V));const d=x(F.col,F.row),R=x(Q,oe);d&&R&&d.anchor===R.anchor&&(C>0?Q=d.range.endCol+1:C<0&&(Q=d.range.startCol-1),V>0?oe=d.range.endRow+1:V<0&&(oe=d.range.startRow-1),Q=Math.max(0,Math.min(a-1,Q)),oe=Math.max(0,Math.min(i-1,oe))),ct(Q,oe)}function re(C,V){const F=Math.max(0,je.w-52-11),Q=Math.max(0,je.h-24-11),oe=Be.value[C],d=Fe.value[V],R=x(C,V),_=R?Be.value[R.range.endCol+1]-Be.value[C]:ye.value[C],$=R?Fe.value[R.range.endRow+1]-Fe.value[V]:O(V);let z=$e.value,H=G.value;oe<z?z=oe:oe+_>z+F&&(z=oe+_-F),d<H?H=d:d+$>H+Q&&(H=d+$-Q),it(z,H)}function Se(C){const V=Be.value;if(C<0||C>=V[a])return-1;let F=0,Q=a-1;for(;F<Q;){const oe=F+Q+1>>1;V[oe]<=C?F=oe:Q=oe-1}return F}function Ie(C){const V=Fe.value;if(C<0||C>=V[i])return-1;let F=0,Q=i-1;for(;F<Q;){const oe=F+Q+1>>1;V[oe]<=C?F=oe:Q=oe-1}return F}const Oe={props:n,locale:l,colCount:a,rowCount:i,cells:r,styles:m,borders:c,merges:Me,formulaDeps:ge,selection:se,activeCell:Ke,editingCell:we,editValue:me,colWidths:ye,rowHeights:Le,scrollX:$e,scrollY:G,BASE_CELL_VPAD:pe,fontMetricsCache:p,fontMetricsCanvas:D,measureFontMetrics:I,_getFontMetricsForCell:Ee,getWrappedLines:h,cellFontSize:B,colPositions:Be,getRowHeight:ie,_isAutoRow:Te,rowPositions:Fe,totalWidth:ot,totalHeight:Je,selectCell:ct,selectRange:bt,selectAll:yt,isSelected:Tt,isCellSelected:At,selectionMode:Re,cellKey:qe,delCell:Qe,findMerge:xt,_isMergeAnchor:mt,_mergedSpan:Rt,expandSelectionForMerges:Mt,getCellRaw:Kt,getCellValue:Pt,setCellValue:A,clearCellsInRange:N,startEdit:ue,commitEdit:L,cancelEdit:X,moveActive:fe,ensureVisible:re,hitCol:Se,hitRow:Ie,registerStyle:v,resolveStyle:E,rebuildStyleIndex:j,syncStyles:Z,registerBorder:te,resolveBorder:K,rebuildBorderIndex:b,syncBorders:le,getCellBorderSide:P,getMergeOwner:ee,isSameMergeInternal:Ce,viewSize:je,findHighlight:(C,V)=>null};return W=()=>{var C;return(C=Oe.saveUndo)==null?void 0:C.call(Oe)},it=(C,V)=>{var F;return(F=Oe.clampScroll)==null?void 0:F.call(Oe,C,V)},Oe}function zi(e,o){const n=t.ref([]),l=t.ref([]);function a(d){return Oi(d)}function i(){return o.saveSheet(),{sheets:o.sheets.value.map(d=>({id:d.id,name:d.name,cells:a(d.cells),styles:[...d.styles],borders:d.borders?[...d.borders]:[{}],merges:d.merges?{...d.merges}:{},selection:d.selection?{...d.selection}:null,activeCell:d.activeCell?{...d.activeCell}:{col:0,row:0},scrollX:d.scrollX,scrollY:d.scrollY,colWidths:[...d.colWidths],rowHeights:[...d.rowHeights]})),styles:[...e.styles],activeSheetIndex:o.activeSheetIndex.value}}function r(d){o.sheets.value=d.sheets.map(R=>({...R,cells:a(R.cells),styles:[...R.styles],borders:R.borders?[...R.borders]:[{}]})),o.loadSheet(Math.max(0,Math.min(d.activeSheetIndex,o.sheets.value.length-1))),e.formulaDeps.rebuild(e.cells,e.colCount,e.rowCount)}function m(){const d=i(),R=n.value[n.value.length-1];R&&JSON.stringify(R)===JSON.stringify(d)||(n.value.push(d),l.value=[],n.value.length>50&&n.value.shift())}e.saveUndo=m;function c(){var d;n.value.length&&(l.value.push(i()),r(n.value.pop()),(d=e.scheduleRender)==null||d.call(e),t.nextTick(()=>{var R;return(R=e.emitModelData)==null?void 0:R.call(e)}))}function g(){var d;l.value.length&&(n.value.push(i()),r(l.value.pop()),(d=e.scheduleRender)==null||d.call(e),t.nextTick(()=>{var R;return(R=e.emitModelData)==null?void 0:R.call(e)}))}const k=t.computed(()=>n.value.length>0),S=t.computed(()=>l.value.length>0),y=t.computed(()=>!!e.selection.value),v=t.ref(null);function E(){var _;const d=e.selection.value;if(!d)return;const R={};for(let $=d.startCol;$<=d.endCol;$++)for(let z=d.startRow;z<=d.endRow;z++)R[`${$-d.startCol},${z-d.startRow}`]=((_=e.cells[e.cellKey($,z)])==null?void 0:_.styleId)??0;v.value={styles:R}}function j(){var _,$,z;const d=v.value,R=e.selection.value;if(!(!d||!R)){m();for(let H=R.startCol;H<=R.endCol;H++)for(let ne=R.startRow;ne<=R.endRow;ne++){const ae=e.findMerge(H,ne);if(ae&&(H!==ae.range.startCol||ne!==ae.range.startRow))continue;const ze=d.styles[`${H-R.startCol},${ne-R.startRow}`]??0,lt=e.cellKey(H,ne),rt=((_=e.cells[lt])==null?void 0:_.value)??"";if(rt===""&&ze===0)e.delCell(lt);else{const at={value:rt};ze>0&&(at.styleId=ze),e.cells[lt]=at}}v.value=null,($=e.scheduleRender)==null||$.call(e),(z=e.emitModelData)==null||z.call(e)}}function Z(){var R,_,$;const d=e.selection.value;if(d){m();for(let z=d.startCol;z<=d.endCol;z++)for(let H=d.startRow;H<=d.endRow;H++){const ne=e.findMerge(z,H);if(ne&&(z!==ne.range.startCol||H!==ne.range.startRow))continue;const ae=e.cellKey(z,H),ze=((R=e.cells[ae])==null?void 0:R.value)??"";ze===""?e.delCell(ae):e.cells[ae]={value:ze}}(_=e.scheduleRender)==null||_.call(e),($=e.emitModelData)==null||$.call(e)}}const te=t.computed(()=>Tn.map(d=>({...d,label:d.value===""?T(e.locale.value,"fontDefault"):d.label}))),K=t.computed(()=>An.map(d=>({...d,label:String(d.value)}))),b="\0",le=t.computed(()=>{const d=e.selection.value;if(!d)return"";let R,_=!1;for(let $=d.startCol;$<=d.endCol&&!_;$++)for(let z=d.startRow;z<=d.endRow&&!_;z++){const H=e.findMerge($,z);if(H&&($!==H.range.startCol||z!==H.range.startRow))continue;const ne=e.resolveStyle(e.cells[e.cellKey($,z)]),ae=typeof(ne==null?void 0:ne.fontFamily)=="string"?ne.fontFamily:"";R===void 0?R=ae:ae!==R&&(_=!0)}return _?b:R??""}),P=t.computed(()=>{const d=e.selection.value;if(!d)return Ht;let R,_=!1;for(let $=d.startCol;$<=d.endCol&&!_;$++)for(let z=d.startRow;z<=d.endRow&&!_;z++){const H=e.findMerge($,z);if(H&&($!==H.range.startCol||z!==H.range.startRow))continue;const ne=e.cellFontSize($,z);R===void 0?R=ne:ne!==R&&(_=!0)}return _?0:R??Ht});function ee(d,R){var $,z,H;const _=e.selection.value;if(_){m();for(let ne=_.startCol;ne<=_.endCol;ne++)for(let ae=_.startRow;ae<=_.endRow;ae++){const ze=e.findMerge(ne,ae);if(ze&&(ne!==ze.range.startCol||ae!==ze.range.startRow))continue;const lt=e.cellKey(ne,ae),rt=(($=e.cells[lt])==null?void 0:$.value)??"";let wt={...e.resolveStyle(e.cells[lt])??{}};if(R===""||R===null||R===void 0||R===0){const{[d]:kt,...ml}=wt;wt=ml}else wt[d]=R;const Vt=Object.keys(wt).length?e.registerStyle(wt):0;if(rt===""&&Vt===0)e.delCell(lt);else{const kt={value:rt};Vt>0&&(kt.styleId=Vt),e.cells[lt]=kt}}(z=e.scheduleRender)==null||z.call(e),(H=e.emitModelData)==null||H.call(e)}}function Ce(d){ee("fontFamily",d===""?"":d)}const Me=t.ref(!1),ge=t.ref(!1),se=t.ref(!1),Re=t.ref(!1),Ke=t.ref(!1);function we(d){ee("fontSize",d),Me.value=!1}const me=t.computed(()=>$n.map(d=>({label:T(e.locale.value,d.labelKey),value:d.value,icon:d.icon}))),ye=t.computed(()=>_n.map(d=>({label:T(e.locale.value,d.labelKey),value:d.value,icon:d.icon}))),Le=t.computed(()=>{const d=e.selection.value;if(!d)return"left";const R=e.resolveStyle(e.cells[e.cellKey(d.startCol,d.startRow)]),_=typeof(R==null?void 0:R.textAlign)=="string"?R.textAlign:"";return _==="center"||_==="right"?_:"left"}),$e=t.computed(()=>{const d=e.selection.value;if(!d)return"top";const R=e.resolveStyle(e.cells[e.cellKey(d.startCol,d.startRow)]),_=typeof(R==null?void 0:R.verticalAlign)=="string"?R.verticalAlign:"";return _==="middle"||_==="bottom"?_:"top"}),G=t.computed(()=>{const d=e.selection.value;if(!d)return!1;const R=e.resolveStyle(e.cells[e.cellKey(d.startCol,d.startRow)]);return(R==null?void 0:R.wrap)==="wrap"});function pe(d){ee("textAlign",d)}function p(d){ee("verticalAlign",d)}function D(){if(!e.selection.value)return;const R=G.value;ee("wrap",R?void 0:"wrap")}const I=t.ref(""),U=Me;t.watch(P,d=>{I.value=d===0?"":String(d)},{immediate:!0});function x(d){const R=d.replace(/[^\d]/g,"");I.value=R;const _=parseInt(R,10);!isNaN(_)&&_>=5&&_<=72&&_!==P.value&&ee("fontSize",_)}function s(){const d=I.value.trim();if(!d){I.value=P.value===0?"":String(P.value);return}let R=parseInt(d,10);isNaN(R)?R=P.value===0?Ht:P.value:R=Math.max(5,Math.min(72,R)),I.value=String(R),R!==P.value&&ee("fontSize",R)}function u(d){d.key==="Enter"&&d.target.blur()}function O(d){d&&d.preventDefault(),U.value=!U.value,U.value&&(se&&(se.value=!1),ge&&(ge.value=!1),Re.value=!1,Ke.value=!1)}function ke(){const d=P.value===0?Ht:P.value,R=Math.min(72,d+1);ee("fontSize",R),I.value=String(R),U.value=!1}function Ee(){const d=P.value===0?Ht:P.value,R=Math.max(5,d-1);ee("fontSize",R),I.value=String(R),U.value=!1}function h(d){const R=e.selection.value;if(!R)return!1;let _,$=!1;for(let z=R.startCol;z<=R.endCol&&!$;z++)for(let H=R.startRow;H<=R.endRow&&!$;H++){const ne=e.findMerge(z,H);if(ne&&(z!==ne.range.startCol||H!==ne.range.startRow))continue;const ae=e.resolveStyle(e.cells[e.cellKey(z,H)]),ze=!!(ae!=null&&ae[d]);_===void 0?_=ze:ze!==_&&($=!0)}return!$&&_===!0}const B=t.computed(()=>h("fontWeight")),Be=t.computed(()=>h("fontStyle")),je=t.computed(()=>h("underline")),it=t.computed(()=>h("strikethrough"));function ie(){ee("fontWeight",B.value?"":"bold")}function Te(){ee("fontStyle",Be.value?"":"italic")}function Fe(){ee("underline",je.value?"":"underline")}function ot(){ee("strikethrough",it.value?"":"line-through")}const Je=t.ref(""),qe=t.ref(""),Qe=Re,ct=Ke;function bt(){Qe.value=!Qe.value,ct.value=!1,ge&&(ge.value=!1),se&&(se.value=!1)}function yt(){ct.value=!ct.value,Qe.value=!1,ge&&(ge.value=!1),se&&(se.value=!1)}function Tt(d){ge&&(ge.value=d),d&&(Qe.value=!1,ct.value=!1,se&&(se.value=!1))}function At(d){Je.value=d,ee("color",d===""?"":d)}function xt(d){qe.value=d,ee("backgroundColor",d===""?"":d)}function mt(){ee("color",Je.value===""?"":Je.value)}function Rt(){ee("backgroundColor",qe.value===""?"":qe.value)}const Mt=t.computed(()=>{const d=e.selection.value;if(!d)return"";let R,_=!1;for(let $=d.startCol;$<=d.endCol&&!_;$++)for(let z=d.startRow;z<=d.endRow&&!_;z++){const H=e.findMerge($,z);if(H&&($!==H.range.startCol||z!==H.range.startRow))continue;const ne=e.resolveStyle(e.cells[e.cellKey($,z)]),ae=typeof(ne==null?void 0:ne.color)=="string"?ne.color:"";R===void 0?R=ae:ae!==R&&(_=!0)}return _?"":R??""}),Kt=t.computed(()=>{const d=e.selection.value;if(!d)return"";let R,_=!1;for(let $=d.startCol;$<=d.endCol&&!_;$++)for(let z=d.startRow;z<=d.endRow&&!_;z++){const H=e.findMerge($,z);if(H&&($!==H.range.startCol||z!==H.range.startRow))continue;const ne=e.resolveStyle(e.cells[e.cellKey($,z)]),ae=typeof(ne==null?void 0:ne.backgroundColor)=="string"?ne.backgroundColor:"";R===void 0?R=ae:ae!==R&&(_=!0)}return _?"":R??""}),Pt=t.computed(()=>on(e.locale.value)),A=t.ref(!1),N=t.computed(()=>{const d=e.selection.value;if(!d)return $t;let R,_=!1;for(let $=d.startCol;$<=d.endCol&&!_;$++)for(let z=d.startRow;z<=d.endRow&&!_;z++){const H=e.findMerge($,z);if(H&&($!==H.range.startCol||z!==H.range.startRow))continue;const ne=e.resolveStyle(e.cells[e.cellKey($,z)]),ae=(ne==null?void 0:ne.numberFormatCategory)==="custom"?Lt:typeof(ne==null?void 0:ne.numberFormat)=="string"?ne.numberFormat:"";R===void 0?R=ae:ae!==R&&(_=!0)}return _?Dt:R??$t});function W(d){if((d==null?void 0:d.numberFormatCategory)==="custom")return Lt;const R=typeof(d==null?void 0:d.numberFormat)=="string"?d.numberFormat:"";return nn(R,e.locale.value)}const ue=t.computed(()=>{const d=N.value;if(d!==Dt)return d===Lt?Lt:nn(d,e.locale.value);const R=e.selection.value;if(!R)return $t;let _,$=!1;for(let z=R.startCol;z<=R.endCol&&!$;z++)for(let H=R.startRow;H<=R.endRow&&!$;H++){const ne=e.findMerge(z,H);if(ne&&(z!==ne.range.startCol||H!==ne.range.startRow))continue;const ae=W(e.resolveStyle(e.cells[e.cellKey(z,H)]));_===void 0?_=ae:ae!==_&&($=!0)}return $?Dt:_??$t});function L(d){ee("numberFormat",d),X()}function X(){const d=e.selection.value;if(d)for(let R=d.startCol;R<=d.endCol;R++)for(let _=d.startRow;_<=d.endRow;_++){const $=e.findMerge(R,_);if($&&(R!==$.range.startCol||_!==$.range.startRow))continue;const z=e.cellKey(R,_),H=e.cells[z],ne=e.resolveStyle(H);if((ne==null?void 0:ne.numberFormatCategory)!=="custom")continue;const{numberFormatCategory:ae,...ze}=ne,lt=Object.keys(ze).length?e.registerStyle(ze):0,rt=(H==null?void 0:H.value)??"";if(rt===""&<===0)e.delCell(z);else{const at={value:rt};lt>0&&(at.styleId=lt),e.cells[z]=at}}}function fe(d){if(d===Lt){A.value=!0;return}L(d)}function re(){A.value=!0}function Se(){const d=e.selection.value;if(!d)return[];const R=[];for(let _=d.startCol;_<=d.endCol;_++)for(let $=d.startRow;$<=d.endRow;$++){const z=e.findMerge(_,$);if(z&&(_!==z.range.startCol||$!==z.range.startRow))continue;const H=e.cellKey(_,$),ne=e.cells[H],ae=e.resolveStyle(ne),ze=typeof(ae==null?void 0:ae.numberFormat)=="string"?ae.numberFormat:$t,lt=(ne==null?void 0:ne.value)??"",rt=lt.startsWith("=")?hn(_,$,e.cells,e.colCount,e.rowCount):lt;ln(ze,rt)&&R.push({key:H,nf:ze,decimals:io(ze,rt)})}return R}const Ie=t.computed(()=>Se().some(d=>d.decimals<Al)),Oe=t.computed(()=>Se().some(d=>d.decimals>Vl));function C(d,R,_){var ae;const $=((ae=e.cells[d])==null?void 0:ae.value)??"",H={...e.resolveStyle(e.cells[d])??{}};R===""?(delete H.numberFormat,delete H.numberFormatCategory):(H.numberFormat=R,_==="custom"&&(H.numberFormatCategory="custom"));const ne=Object.keys(H).length?e.registerStyle(H):0;if($===""&&ne===0)e.delCell(d);else{const ze={value:$};ne>0&&(ze.styleId=ne),e.cells[d]=ze}}function V(d){var $,z;const R=Se(),_=[];for(const H of R){const ne=H.decimals+d;if(ne<Vl||ne>Al)continue;const ae=so(H.nf,ne);ae==null||ae===H.nf||_.push({key:H.key,code:ae,category:Ct(H.nf)?"custom":void 0})}if(_.length){m();for(const H of _)C(H.key,H.code,H.category);($=e.scheduleRender)==null||$.call(e),(z=e.emitModelData)==null||z.call(e)}}function F(){V(1)}function Q(){V(-1)}return{undoStack:n,redoStack:l,cloneCells:a,takeSnap:i,restoreSnap:r,saveUndo:m,undo:c,redo:g,canUndo:k,canRedo:S,hasSelection:y,paintFmt:v,onPaintFormat:E,applyPaintFormat:j,clearFormat:Z,fontFamilyOptions:te,fontSizeOptions:K,FONT_FAMILY_MIXED:b,selFontFamily:le,selFontSize:P,applyStyleToSelection:ee,onFontFamilyChange:Ce,onFontSizeChange:we,hAlignOptions:me,vAlignOptions:ye,selHAlign:Le,selVAlign:$e,selWrap:G,onHAlignChange:pe,onVAlignChange:p,onWrapToggle:D,fontSizeInput:I,fontSizeMenuOpen:U,onFontSizeInput:x,onFontSizeBlur:s,onFontSizeKeydown:u,toggleFontSizeMenu:O,onFontSizeStepUp:ke,onFontSizeStepDown:Ee,selFontWeight:B,selFontStyle:Be,selUnderline:je,selStrikethrough:it,toggleFontWeight:ie,toggleFontStyle:Te,toggleUnderline:Fe,toggleStrikethrough:ot,cachedTextColor:Je,cachedFillColor:qe,textColorMenuOpen:Qe,fillColorMenuOpen:ct,_toggleTextColorMenu:bt,_toggleFillColorMenu:yt,onBorderMenuToggle:Tt,onTextColorChange:At,onFillColorChange:xt,applyCachedTextColor:mt,applyCachedFillColor:Rt,selTextColor:Mt,selFillColor:Kt,nfOptions:Pt,selNumberFormat:N,selNumberFormatDisplay:ue,NF_NUMBER_FORMAT_MIXED:Dt,nfDialogOpen:A,onNumberFormatChange:fe,openNumberFormatDialog:re,applyNumberFormatCode:L,canIncreaseDecimals:Ie,canDecreaseDecimals:Oe,onIncreaseDecimals:F,onDecreaseDecimals:Q}}function Wi(e,o){o.borderMenuOpen&&(e.borderMenuOpen=o.borderMenuOpen),o.mergeMenuOpen&&(e.mergeMenuOpen=o.mergeMenuOpen),(()=>{const l=e.borderMenuOpen,a=e.mergeMenuOpen;e.onBorderMenuToggle=i=>{l&&(l.value=i),i&&(e.textColorMenuOpen.value=!1,e.fillColorMenuOpen.value=!1,a&&(a.value=!1))},e.toggleFontSizeMenu=i=>{i&&i.preventDefault(),e.fontSizeMenuOpen.value=!e.fontSizeMenuOpen.value,e.fontSizeMenuOpen.value&&(a&&(a.value=!1),l&&(l.value=!1),e.textColorMenuOpen.value=!1,e.fillColorMenuOpen.value=!1)},e._toggleTextColorMenu=()=>{e.textColorMenuOpen.value=!e.textColorMenuOpen.value,e.fillColorMenuOpen.value=!1,l&&(l.value=!1),a&&(a.value=!1)},e._toggleFillColorMenu=()=>{e.fillColorMenuOpen.value=!e.fillColorMenuOpen.value,e.textColorMenuOpen.value=!1,l&&(l.value=!1),a&&(a.value=!1)}})()}function Ui(e,o){const n=t.ref("none"),l=t.ref(!1),a="#444";function i(p,D,I,U){if(p<0||D<0||p>=e.colCount||D>=e.rowCount)return;const x=e.findMerge(p,D),s=x?x.anchor:e.cellKey(p,D);if(!e.cells[s]){if(!U)return;e.cells[s]={value:""}}$i(e.cells[s],I,U,e.styles,{get:O=>e.resolveBorder(O),getId:O=>e.registerBorder(O)},e.registerStyle)}function r(p,D,I){var ke;const U=e.findMerge(p,D),x=U?U.anchor:e.cellKey(p,D),s=((ke=e.cells[x])==null?void 0:ke.value)??"",u=e.resolveStyle(e.cells[x])?{...e.resolveStyle(e.cells[x])}:{},O=e.registerBorder(I);if(O>0?u.borderId=O:delete u.borderId,delete u.borderTopWidth,delete u.borderBottomWidth,delete u.borderLeftWidth,delete u.borderRightWidth,delete u.borderColor,s===""&&!Object.keys(u).length)e.delCell(x);else{const Ee=e.registerStyle(u);e.cells[x]={value:s,styleId:Ee||void 0}}}function m(p){var ke,Ee;n.value=p;const D=e.selection.value;if(!D)return;o.saveUndo();const{startCol:I,startRow:U,endCol:x,endRow:s}=D,u={width:1,color:a},O={width:2,color:a};if(p==="none")for(let h=I;h<=x;h++)for(let B=U;B<=s;B++){const Be=e.findMerge(h,B);Be&&(h!==Be.range.startCol||B!==Be.range.startRow)||r(h,B,{})}else if(p==="all")for(let h=I;h<=x;h++)for(let B=U;B<=s;B++){const Be=e.findMerge(h,B);Be&&(h!==Be.range.startCol||B!==Be.range.startRow)||r(h,B,{top:u,right:u,bottom:u,left:u})}else if(p==="outer"||p==="thickOuter"){const h=p==="thickOuter"?O:u;for(let B=I;B<=x;B++)i(B,U,"top",h);for(let B=I;B<=x;B++)i(B,s,"bottom",h);for(let B=U;B<=s;B++)i(I,B,"left",h);for(let B=U;B<=s;B++)i(x,B,"right",h)}else{const B={top:{side:"top",edgeCheck:(Be,je)=>je===U},bottom:{side:"bottom",edgeCheck:(Be,je)=>je===s},left:{side:"left",edgeCheck:(Be,je)=>Be===I},right:{side:"right",edgeCheck:(Be,je)=>Be===x}}[p];if(B)for(let Be=I;Be<=x;Be++)for(let je=U;je<=s;je++)B.edgeCheck(Be,je)&&i(Be,je,B.side,u)}(ke=e.scheduleRender)==null||ke.call(e),(Ee=e.emitModelData)==null||Ee.call(e)}function c(){m(n.value)}function g(p,D,I){const U=I.toLowerCase(),x=e.findMerge(p,D);if(x){if(U==="top"&&D!==x.range.startRow||U==="bottom"&&D!==x.range.endRow||U==="left"&&p!==x.range.startCol||U==="right"&&p!==x.range.endCol)return 0;const u=e.getCellBorderSide(e.cells[x.anchor],U);return(u==null?void 0:u.width)??0}const s=e.getCellBorderSide(e.cells[e.cellKey(p,D)],U);return(s==null?void 0:s.width)??0}const k=t.ref(!1);function S(p){k.value=p,p&&(o.textColorMenuOpen.value=!1,o.fillColorMenuOpen.value=!1,l.value=!1,o.fontSizeMenuOpen.value=!1)}function y(p,D,I,U){const x=[];for(const s in e.merges){const u=e.merges[s];u&&u.startCol<=I&&u.endCol>=p&&u.startRow<=U&&u.endRow>=D&&x.push(s)}for(const s of x)Reflect.deleteProperty(e.merges,s)}function v(){var s,u,O;const p=e.selection.value;if(!p||p.startCol===p.endCol&&p.startRow===p.endRow)return;o.saveUndo(),y(p.startCol,p.startRow,p.endCol,p.endRow);const D=e.cellKey(p.startCol,p.startRow),I=((s=e.cells[D])==null?void 0:s.value)??"";for(let ke=p.startCol;ke<=p.endCol;ke++)for(let Ee=p.startRow;Ee<=p.endRow;Ee++)ke===p.startCol&&Ee===p.startRow||e.clearCellsInRange(ke,ke,Ee,Ee);const U=e.resolveStyle(e.cells[D])?{...e.resolveStyle(e.cells[D])}:{};U.textAlign="center";const x=e.registerStyle(U);e.cells[D]={value:I,styleId:x||void 0},e.merges[D]={startCol:p.startCol,startRow:p.startRow,endCol:p.endCol,endRow:p.endRow},e.selectCell(p.startCol,p.startRow),(u=e.scheduleRender)==null||u.call(e),(O=e.emitModelData)==null||O.call(e)}function E(){var D,I,U;const p=e.selection.value;if(!(!p||p.startCol===p.endCol)){o.saveUndo();for(let x=p.startRow;x<=p.endRow;x++){y(p.startCol,x,p.endCol,x);const s=e.cellKey(p.startCol,x);(D=e.cells[s])==null||D.value;for(let u=p.startCol+1;u<=p.endCol;u++)e.clearCellsInRange(u,u,x,x);e.merges[s]={startCol:p.startCol,startRow:x,endCol:p.endCol,endRow:x}}e.selectRange(p.startCol,p.startRow,p.endCol,p.endRow),(I=e.scheduleRender)==null||I.call(e),(U=e.emitModelData)==null||U.call(e)}}function j(){var I,U,x;const p=e.selection.value;if(!p||p.startCol===p.endCol&&p.startRow===p.endRow)return;o.saveUndo(),y(p.startCol,p.startRow,p.endCol,p.endRow);const D=e.cellKey(p.startCol,p.startRow);(I=e.cells[D])==null||I.value;for(let s=p.startCol;s<=p.endCol;s++)for(let u=p.startRow;u<=p.endRow;u++)s===p.startCol&&u===p.startRow||e.clearCellsInRange(s,s,u,u);e.merges[D]={startCol:p.startCol,startRow:p.startRow,endCol:p.endCol,endRow:p.endRow},e.selectCell(p.startCol,p.startRow),(U=e.scheduleRender)==null||U.call(e),(x=e.emitModelData)==null||x.call(e)}function Z(){var D,I;const p=e.selection.value;p&&(o.saveUndo(),y(p.startCol,p.startRow,p.endCol,p.endRow),(D=e.scheduleRender)==null||D.call(e),(I=e.emitModelData)==null||I.call(e))}function te(){const p=e.selection.value;if(!p)return;const D=e.findMerge(p.startCol,p.startRow);D&&p.startCol===D.range.startCol&&p.startRow===D.range.startRow&&p.endCol===D.range.endCol&&p.endRow===D.range.endRow?Z():v()}function K(p){switch(p){case"mergeCenter":v();break;case"mergeAcross":E();break;case"mergeCells":j();break;case"unmergeCells":Z();break}}let b=null,le=[];function P(p,D,I,U){le=[];for(let x=I;x<=U;x++){const s=[];for(let u=p;u<=D;u++){const O=e.cells[e.cellKey(u,x)];s.push((O==null?void 0:O.styleId)??0)}le.push(s)}}function ee(p,D,I,U){const x=e.cellKey(p,D);if(vl(),I===""||I==null){e.formulaDeps.clear(x),U&&U>0?e.cells[x]={value:"",styleId:U}:e.delCell(x),e.formulaDeps.markDirty(x);return}e.cells[x]={value:I,styleId:U&&U>0?U:void 0},I.startsWith("=")?e.formulaDeps.set(x,zl(I.slice(1),e.colCount,e.rowCount)):e.formulaDeps.clear(x),e.formulaDeps.markDirty(x)}function Ce(){const p=e.selection.value;if(!p)return;b={...p},P(p.startCol,p.endCol,p.startRow,p.endRow);const D=[];for(let I=p.startRow;I<=p.endRow;I++){const U=[];for(let x=p.startCol;x<=p.endCol;x++)U.push(e.getCellRaw(x,I));D.push(U.join(" "))}Ll(D.join(`
|
|
4
|
-
`))}function
|
|
5
|
-
`))}else if(
|
|
6
|
-
`))}}}async function ge(){var s;let p;try{p=await navigator.clipboard.readText()}catch{return}if(!p&&p!=="")return;const D=p.split(/\r?\n/),I=e.activeCell.value,U=b,x=U&&le.length>0;for(let u=0;u<D.length;u++){const O=D[u].split(" ");for(let ke=0;ke<O.length;ke++){const Ee=I.col+ke,h=I.row+u;if(Ee<e.colCount&&h<e.rowCount){let B=O[ke];if(B.startsWith("=")&&U&&(B=wi(B,Ee-(U.startCol+ke),h-(U.startRow+u),e.colCount,e.rowCount,Xe)),x&&u<le.length&&ke<(((s=le[u])==null?void 0:s.length)??0)){const Be=le[u][ke]??null;ee(Ee,h,B,Be)}else e.setCellValue(Ee,h,B)}}}}function se(){var p;if(o.saveUndo(),Ce(),e.selection.value){const D=e.selection.value;e.clearCellsInRange(D.startCol,D.endCol,D.startRow,D.endRow),(p=e.scheduleRender)==null||p.call(e)}}function Re(){var p;if(e.selection.value){const D=e.selection.value;e.clearCellsInRange(D.startCol,D.endCol,D.startRow,D.endRow),(p=e.scheduleRender)==null||p.call(e)}}function Ke(){var s,u;const p=e.selection.value;if(!p)return;o.saveUndo();const D=p.startCol,I=p.startRow,U=p.endCol,x=p.endRow;if(I===x)if(U+1<e.colCount){const O=`${Xe(D)}${I+1}:${Xe(U)}${I+1}`;e.setCellValue(U+1,I,`=SUM(${O})`)}else{const O=`${Xe(D)}${I+1}:${Xe(U-1)}${I+1}`;e.setCellValue(U,I,`=SUM(${O})`)}else for(let O=D;O<=U;O++)if(x+1<e.rowCount){const ke=`${Xe(O)}${I+1}:${Xe(O)}${x+1}`;e.setCellValue(O,x+1,`=SUM(${ke})`)}else{const ke=`${Xe(O)}${I+1}:${Xe(O)}${x}`;e.setCellValue(O,x,`=SUM(${ke})`)}(s=e.scheduleRender)==null||s.call(e),(u=e.emitModelData)==null||u.call(e)}function we(){var s,u;const p=e.selection.value;if(!p)return;o.saveUndo();const D=p.startCol,I=p.startRow,U=p.endCol,x=p.endRow;if(I===x)if(U+1<e.colCount){const O=`${Xe(D)}${I+1}:${Xe(U)}${I+1}`;e.setCellValue(U+1,I,`=AVERAGE(${O})`)}else{const O=`${Xe(D)}${I+1}:${Xe(U-1)}${I+1}`;e.setCellValue(U,I,`=AVERAGE(${O})`)}else for(let O=D;O<=U;O++)if(x+1<e.rowCount){const ke=`${Xe(O)}${I+1}:${Xe(O)}${x+1}`;e.setCellValue(O,x+1,`=AVERAGE(${ke})`)}else{const ke=`${Xe(O)}${I+1}:${Xe(O)}${x}`;e.setCellValue(O,x,`=AVERAGE(${ke})`)}(s=e.scheduleRender)==null||s.call(e),(u=e.emitModelData)==null||u.call(e)}function me(){var s,u;const p=e.selection.value;if(!p)return;o.saveUndo();const D=p.startCol,I=p.startRow,U=p.endCol,x=p.endRow;if(I===x)if(U+1<e.colCount){const O=`${Xe(D)}${I+1}:${Xe(U)}${I+1}`;e.setCellValue(U+1,I,`=COUNT(${O})`)}else{const O=`${Xe(D)}${I+1}:${Xe(U-1)}${I+1}`;e.setCellValue(U,I,`=COUNT(${O})`)}else for(let O=D;O<=U;O++)if(x+1<e.rowCount){const ke=`${Xe(O)}${I+1}:${Xe(O)}${x+1}`;e.setCellValue(O,x+1,`=COUNT(${ke})`)}else{const ke=`${Xe(O)}${I+1}:${Xe(O)}${x}`;e.setCellValue(O,x,`=COUNT(${ke})`)}(s=e.scheduleRender)==null||s.call(e),(u=e.emitModelData)==null||u.call(e)}const ye=t.ref(!1);function Le(p){ye.value=p,p&&(o.textColorMenuOpen.value=!1,o.fillColorMenuOpen.value=!1,l.value=!1,o.fontSizeMenuOpen.value=!1,k.value=!1)}function $e(){Ke(),ye.value=!1}function G(){we(),ye.value=!1}function pe(){me(),ye.value=!1}return{cachedBorder:n,borderMenuOpen:l,BORDER_COLOR:a,onBorderChange:m,setCellBorderSide:i,applyBorderToCell:r,applyCachedBorder:c,cellBorderWidth:g,mergeMenuOpen:k,onMergeMenuToggle:S,removeOverlappingMerges:y,mergeAndCenter:v,mergeAcross:E,mergeCells:j,unmergeCells:Z,onApplyMerge:te,onMergeChange:K,copySourceRange:null,copySourceStyles:[],captureStyles:P,setCellWithStyle:ee,copyToClipboard:Ce,copyRowCol:Me,pasteFromClipboard:ge,cutSelected:se,clearSelected:Re,sumSelected:Ke,avgSelected:we,countSelected:me,calcMenuOpen:ye,onCalcMenuToggle:Le,onCalcSum:$e,onCalcAvg:G,onCalcCount:pe}}function Ki(e,o,n,l){const a={},i=l(o),r=l(n);return i!=null&&(a.width=`${i}px`),r!=null&&(a.height=`${r}px`),a["--sp-formula-bar-bg"]=e.formulaBarBg,a["--sp-formula-bar-border"]=e.formulaBarBorder,a["--sp-formula-bar-label-color"]=e.formulaBarLabelText,a["--sp-formula-bar-label-bg"]=e.formulaBarLabelBg,a["--sp-formula-bar-label-border"]=e.formulaBarLabelBorder,a["--sp-formula-bar-input-bg"]=e.formulaBarInputBg,a["--sp-formula-bar-input-border"]=e.formulaBarInputBorder,a["--sp-formula-bar-input-color"]=e.formulaBarInputText,a["--sp-formula-bar-input-focus-border"]=e.formulaBarInputFocusBorder,a["--sp-formula-bar-input-focus-shadow"]=e.formulaBarInputFocusShadow,a["--sp-wrapper-bg"]=e.wrapperBg,a["--sp-cell-editor-border"]=e.cellEditorBorder,a["--sp-cell-editor-color"]=e.cellEditorText,a["--sp-cell-editor-bg"]=e.cellEditorBg,a["--sp-cell-editor-shadow"]=e.cellEditorShadow,a["--sp-tab-bar-bg"]=e.tabBarBg,a["--sp-tab-bar-border"]=e.tabBarBorder,a["--sp-tab-active-bg"]=e.tabActiveBg,a["--sp-tab-active-color"]=e.tabActiveText,a["--sp-tab-active-border"]=e.tabActiveBorder,a["--sp-tab-inactive-bg"]=e.tabInactiveBg,a["--sp-tab-inactive-color"]=e.tabInactiveText,a["--sp-tab-inactive-border"]=e.tabInactiveBorder,a["--sp-tab-hover-bg"]=e.tabHoverBg,a["--sp-tab-add-btn-color"]=e.tabAddBtnColor,a["--sp-tab-add-btn-hover-bg"]=e.tabAddBtnHoverBg,a["--sp-tab-scroll-btn-color"]=e.tabScrollBtnColor,a["--sp-tab-scroll-btn-hover-bg"]=e.tabScrollBtnHoverBg,a["--sp-scroll-thumb"]=e.scrollbarThumb,a["--sp-scroll-thumb-hover"]=e.scrollbarThumbHover,a["--sp-scroll-btn-bg"]=e.scrollBtnBg,a["--sp-scroll-btn-color"]=e.scrollBtnColor,a["--sp-scroll-btn-hover-bg"]=e.scrollBtnHoverBg,a["--sp-scroll-btn-active-bg"]=e.scrollBtnActiveBg,a["--sp-scroll-track-bg"]=e.scrollTrackBg,a["--sp-toolbar-bg"]=e.toolbarBg,a["--sp-toolbar-border"]=e.toolbarBorder,a["--sp-toolbar-btn-color"]=e.toolbarBtnColor,a["--sp-toolbar-btn-hover-bg"]=e.toolbarBtnHoverBg,a["--sp-toolbar-btn-disabled-color"]=e.toolbarBtnDisabledColor,a["--sp-toolbar-btn-active-color"]=e.toolbarBtnActiveColor,a}function yn(e){return e==="number"?0:1}function vn(e,o,n){var i;if(e==null||e.trim()==="")return{kind:"blank"};const l=o??"";if(l===vt||l==="@")return{kind:"text",text:e};if(Ct(l)){if(dl(e))return{kind:"number",num:Number(e)};const r=Fl(e,n);return r?{kind:"number",num:r.serial}:{kind:"text",text:Zt(e,l,n)}}const a=_t(l);if(a.kind==="date"||a.kind==="duration"){const r=Number(e);return Number.isFinite(r)?{kind:"number",num:r}:{kind:"text",text:Zt(e,l,n)}}if(a.kind==="number"){const r=Number(e);if(Number.isFinite(r)){const m=((i=a.sections.find(c=>c.hasDigits))==null?void 0:i.scale)??1;return{kind:"number",num:r*m}}return{kind:"text",text:Zt(e,l,n)}}return{kind:"text",text:Zt(e,l,n)}}function Pi(e,o,n,l){if(e.kind==="blank"||o.kind==="blank")return e.kind==="blank"&&o.kind==="blank"?0:e.kind==="blank"?1:-1;const a=yn(e.kind),i=yn(o.kind);if(a!==i)return n==="asc"?a-i:i-a;let r;return e.kind==="number"?r=(e.num??0)-(o.num??0):r=(e.text??"").localeCompare(o.text??"",l,{numeric:!0}),n==="asc"?r:-r}function Gi(e,o,n){const l=e.map((a,i)=>i);return l.sort((a,i)=>{const r=Pi(e[a],e[i],o,n);return r!==0?r:a-i}),l}function Yi(e){if(e.length<2||e[0].kind!=="text")return!1;for(let o=1;o<e.length;o++)if(e[o].kind==="number")return!0;return!1}function Xi(e,o,n,l,a){function i(A,N){const W=N-A+1,ue=Re(A,N);for(let L=A;L<=N;L++)for(let X=0;X<e.colCount;X++)e.delCell(e.cellKey(X,L));for(let L=A;L<e.rowCount-W;L++){for(let X=0;X<e.colCount;X++){const fe=e.cellKey(X,L+W),re=e.cellKey(X,L);e.cells[fe]?(e.cells[re]=e.cells[fe],e.delCell(fe)):e.delCell(re)}e.rowHeights.value[L]=e.rowHeights.value[L+W]}for(let L=e.rowCount-W;L<e.rowCount;L++){for(let X=0;X<e.colCount;X++)e.delCell(e.cellKey(X,L));e.rowHeights.value[L]=void 0}se(ue)}function r(A,N){const W=N-A+1;if(N>=e.rowCount-1)return;const ue=we(A,N);for(let L=e.rowCount-1;L>N;L--){for(let X=0;X<e.colCount;X++){const fe=e.cellKey(X,L-W),re=e.cellKey(X,L);e.cells[fe]?e.cells[re]=e.cells[fe]:e.delCell(re)}e.rowHeights.value[L]=e.rowHeights.value[L-W]}for(let L=N+1;L<=N+W;L++){for(let X=0;X<e.colCount;X++)e.delCell(e.cellKey(X,L));e.rowHeights.value[L]=void 0}se(ue)}function m(A,N){const W=N-A+1;if(N>=e.colCount-1)return;const ue=me(A,N);for(let L=e.colCount-1;L>N;L--){for(let X=0;X<e.rowCount;X++){const fe=e.cellKey(L-W,X),re=e.cellKey(L,X);e.cells[fe]?e.cells[re]=e.cells[fe]:e.delCell(re)}e.colWidths.value[L]=e.colWidths.value[L-W]}for(let L=N+1;L<=N+W;L++){for(let X=0;X<e.rowCount;X++)e.delCell(e.cellKey(L,X));e.colWidths.value[L]=100}se(ue)}function c(A,N){const W=N-A+1,ue=Ke(A,N);for(let L=A;L<=N;L++)for(let X=0;X<e.rowCount;X++)e.delCell(e.cellKey(L,X));for(let L=A;L<e.colCount-W;L++){for(let X=0;X<e.rowCount;X++){const fe=e.cellKey(L+W,X),re=e.cellKey(L,X);e.cells[fe]?(e.cells[re]=e.cells[fe],e.delCell(fe)):e.delCell(re)}e.colWidths.value[L]=e.colWidths.value[L+W]}for(let L=e.colCount-W;L<e.colCount;L++){for(let X=0;X<e.rowCount;X++)e.delCell(e.cellKey(L,X));e.colWidths.value[L]=100}se(ue)}function g(A,N){const W=e.resolveStyle(e.cells[e.cellKey(A,N)]);return typeof(W==null?void 0:W.numberFormat)=="string"?W.numberFormat:""}function k(A,N,W){for(let ue=N;ue<=W;ue++)if(e.getCellRaw(A,ue).trim()!=="")return!0;return!1}function S(A){const{startRow:N,endRow:W,startCol:ue,endCol:L}=A;let X=ue,fe=L;for(;X>0&&k(X-1,N,W);)X--;for(;fe<e.colCount-1&&k(fe+1,N,W);)fe++;return{startRow:N,endRow:W,startCol:X,endCol:fe}}function y(A){const N=S(A);return N.startCol!==A.startCol||N.endCol!==A.endCol}function v(A,N,W,ue=A){let L,X;if(W)L=W.startRow,X=W.endRow;else{const C=e.selection.value,V=!!C&&C.startRow===C.endRow&&C.startCol===C.endCol;L=V||!C?0:C.startRow,X=V||!C?e.rowCount-1:C.endRow}let fe=-1,re=-1;for(let C=L;C<=X;C++){let V=!1;for(let F=A;F<=N;F++)if(e.getCellRaw(F,C).trim()!==""){V=!0;break}V&&(fe<0&&(fe=C),re=C)}if(fe<0)return null;const Se=[];for(let C=fe;C<=re;C++){const V=e.getCellRaw(ue,C);Se.push(vn(V,g(ue,C),e.locale.value))}const Ie=Yi(Se)?fe+1:fe;let Oe=!1;for(let C=fe;C<=re&&!Oe;C++)for(let V=A;V<=N;V++){const F=e.cells[e.cellKey(V,C)];if(F&&F.value.startsWith("=")){Oe=!0;break}}if(!Oe)for(const C in e.merges){const V=e.merges[C];if(V&&V.startCol<=N&&V.endCol>=A&&V.startRow<=X&&V.endRow>=L){Oe=!0;break}}return{firstRow:fe,lastRow:re,sortStart:Ie,blocked:Oe}}function E(A,N){const W=v(A,N);return!!W&&!W.blocked&&W.sortStart<W.lastRow}function j(A,N,W){var Q,oe;const ue=N??e.selection.value;if(!ue)return;const L=ue.startCol,X=ue.endCol,fe=W??L,re=v(L,X,{startRow:ue.startRow,endRow:ue.endRow},fe);if(!re||re.blocked||re.sortStart>=re.lastRow)return;const Se=X-L+1,Ie=re.lastRow-re.sortStart+1,Oe=[],C=[];for(let d=re.sortStart;d<=re.lastRow;d++){const R=new Array(Se);for(let $=L;$<=X;$++)R[$-L]=e.cells[e.cellKey($,d)]??null;Oe.push(R);const _=e.getCellRaw(fe,d);C.push(vn(_,g(fe,d),e.locale.value))}const V=Gi(C,A,e.locale.value);let F=!1;for(let d=0;d<Ie;d++)if(V[d]!==d){F=!0;break}if(F){o.saveUndo();for(let d=0;d<Ie;d++){const R=Oe[V[d]],_=re.sortStart+d;for(let $=L;$<=X;$++){const z=e.cellKey($,_),H=R[$-L],ne=H?H.value:"",ae=(Q=e.cells[z])==null?void 0:Q.styleId;ne!==""||ae!==void 0?e.cells[z]={value:ne,styleId:ae}:e.delCell(z)}}vl();for(let d=re.sortStart;d<=re.lastRow;d++)for(let R=L;R<=X;R++)e.formulaDeps.markDirty(e.cellKey(R,d));(oe=e.scheduleRender)==null||oe.call(e),B()}}const Z=t.ref(!1),te=t.ref(null);function K(A){const N=e.selection.value;if(!N||!y(N))return!1;const W=S(N);return te.value={order:A,originalRange:N,expandedRange:W},Z.value=!0,!0}function b(A){const N=te.value;if(!N)return;const{order:W,originalRange:ue,expandedRange:L}=N;Z.value=!1,te.value=null,j(W,A?L:ue,ue.startCol),ee.value=W}function le(){Z.value=!1,te.value=null}const P=t.ref(!1),ee=t.ref("asc");function Ce(A){P.value=A,A&&(o.textColorMenuOpen.value=!1,o.fillColorMenuOpen.value=!1,o.fontSizeMenuOpen.value=!1)}function Me(A){K(A)||(ee.value=A,j(A))}function ge(){K(ee.value)||j(ee.value)}function se(A){Object.keys(e.merges).forEach(N=>Reflect.deleteProperty(e.merges,N));for(const N of A)if(!(N.newRange.startCol>N.newRange.endCol||N.newRange.startRow>N.newRange.endRow)&&(e.merges[N.newAnchorKey]={...N.newRange},N.anchorCell)){const W=N.anchorCell.value,ue=N.anchorCell.styleId;W===""&&!ue||(e.cells[N.newAnchorKey]={value:W,styleId:ue||void 0})}}function Re(A,N){const W=N-A+1,ue=[];for(const L in e.merges){const X=e.merges[L];if(!X)continue;const fe=e.cells[L]?{value:e.cells[L].value,styleId:e.cells[L].styleId??0}:{value:"",styleId:0},{startCol:re,endCol:Se}=X;let{startRow:Ie,endRow:Oe}=X;if(Ie>N){Ie-=W,Oe-=W,ue.push({newAnchorKey:e.cellKey(re,Ie),newRange:{startCol:re,startRow:Ie,endCol:Se,endRow:Oe}});continue}if(Oe<A){ue.push({newAnchorKey:L,newRange:{startCol:re,startRow:Ie,endCol:Se,endRow:Oe}});continue}if(Ie>=A&&Oe<=N||(Ie>=A&&Ie<=N&&(Ie=A),Oe>=A&&Oe<=N?Oe=A-1:Oe>N&&(Oe-=W),Ie>Oe))continue;const C=re,V=Ie,F=e.cellKey(C,V),oe=L.split(",").map(Number)[1],d=oe>=A&&oe<=N||C!==X.startCol||V!==oe;ue.push({newAnchorKey:F,newRange:{startCol:re,startRow:Ie,endCol:Se,endRow:Oe},anchorCell:d?fe:void 0})}return ue}function Ke(A,N){const W=N-A+1,ue=[];for(const L in e.merges){const X=e.merges[L];if(!X)continue;const fe=e.cells[L]?{value:e.cells[L].value,styleId:e.cells[L].styleId??0}:{value:"",styleId:0};let{startCol:re,endCol:Se}=X;const{startRow:Ie,endRow:Oe}=X;if(re>N){re-=W,Se-=W,ue.push({newAnchorKey:e.cellKey(re,Ie),newRange:{startCol:re,startRow:Ie,endCol:Se,endRow:Oe}});continue}if(Se<A){ue.push({newAnchorKey:L,newRange:{startCol:re,startRow:Ie,endCol:Se,endRow:Oe}});continue}if(re>=A&&Se<=N||(re>=A&&re<=N&&(re=A),Se>=A&&Se<=N?Se=A-1:Se>N&&(Se-=W),re>Se))continue;const C=re,V=Ie,F=e.cellKey(C,V),oe=L.split(",").map(Number)[0],d=oe>=A&&oe<=N||C!==oe||V!==X.startRow;ue.push({newAnchorKey:F,newRange:{startCol:re,startRow:Ie,endCol:Se,endRow:Oe},anchorCell:d?fe:void 0})}return ue}function we(A,N){const W=N-A+1,ue=[];for(const L in e.merges){const X=e.merges[L];if(!X)continue;const{startCol:fe,endCol:re}=X;let{startRow:Se,endRow:Ie}=X;Ie<A?ue.push({newAnchorKey:L,newRange:{startCol:fe,startRow:Se,endCol:re,endRow:Ie}}):Se>N?(Se+=W,Ie+=W,ue.push({newAnchorKey:e.cellKey(fe,Se),newRange:{startCol:fe,startRow:Se,endCol:re,endRow:Ie}})):(Ie+=W,ue.push({newAnchorKey:L,newRange:{startCol:fe,startRow:Se,endCol:re,endRow:Ie}}))}return ue}function me(A,N){const W=N-A+1,ue=[];for(const L in e.merges){const X=e.merges[L];if(!X)continue;let{startCol:fe,endCol:re}=X;const{startRow:Se,endRow:Ie}=X;re<A?ue.push({newAnchorKey:L,newRange:{startCol:fe,startRow:Se,endCol:re,endRow:Ie}}):fe>N?(fe+=W,re+=W,ue.push({newAnchorKey:e.cellKey(fe,Se),newRange:{startCol:fe,startRow:Se,endCol:re,endRow:Ie}})):(re+=W,ue.push({newAnchorKey:L,newRange:{startCol:fe,startRow:Se,endCol:re,endRow:Ie}}))}return ue}let ye=0;function Le(){return ye++,`s_${ye}`}function $e(A){return{id:Le(),name:A,cells:{},merges:{},styles:[{}],borders:[{}],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 G=t.ref([$e("Sheet1")]),pe=t.ref(0);function p(){const A=G.value[pe.value];A&&(A.cells={...e.cells},A.merges={...e.merges},A.selection=e.selection.value?{...e.selection.value}:null,A.activeCell={...e.activeCell.value},A.scrollX=e.scrollX.value,A.scrollY=e.scrollY.value,A.colWidths=[...e.colWidths.value],A.rowHeights=[...e.rowHeights.value],A.styles=[...e.styles],A.borders=[...e.borders])}function D(A){const N=G.value[A];N&&(Object.keys(e.cells).forEach(W=>e.delCell(W)),Object.assign(e.cells,N.cells),Object.keys(e.merges).forEach(W=>Reflect.deleteProperty(e.merges,W)),N.merges&&Object.assign(e.merges,N.merges),e.selection.value=N.selection?{...N.selection}:null,e.activeCell.value={...N.activeCell},e.scrollX.value=N.scrollX,e.scrollY.value=N.scrollY,e.colWidths.value=[...N.colWidths],e.rowHeights.value=[...N.rowHeights],e.syncStyles(N.styles),e.syncBorders(N.borders??[{}]),pe.value=A)}function I(A){A===pe.value||A<0||A>=G.value.length||(e.cancelEdit(),p(),D(A))}function U(A){return o.saveUndo(),e.cancelEdit(),p(),G.value.push($e(A??`Sheet${G.value.length+1}`)),D(G.value.length-1),G.value.length-1}function x(A){return G.value.length<=1||(o.saveUndo(),e.cancelEdit(),G.value.splice(A,1),D(Math.min(A,G.value.length-1))),pe.value}function s(A,N){G.value[A]&&N.trim()&&(o.saveUndo(),G.value[A].name=N.trim())}function u(A){o.saveUndo(),e.cancelEdit(),p();const N=G.value[A];if(!N)return A;let W=N.name;const ue=W.match(/^(.*?)\s*\((\d+)\)$/);let L=ue?parseInt(ue[2],10)+1:2;ue&&(W=ue[1]);let X=`${W} (${L})`;const fe=new Set(G.value.map(Se=>Se.name));for(;fe.has(X);)L++,X=`${W} (${L})`;const re={id:Le(),name:X,cells:{...N.cells},merges:N.merges?{...N.merges}:{},styles:[...N.styles],borders:N.borders?[...N.borders]:[{}],selection:N.selection?{...N.selection}:null,activeCell:N.activeCell?{...N.activeCell}:{col:0,row:0},scrollX:N.scrollX,scrollY:N.scrollY,colWidths:[...N.colWidths],rowHeights:[...N.rowHeights]};return G.value.splice(A+1,0,re),D(A+1),A+1}function O(A,N){var X;const W=A+N;if(W<0||W>=G.value.length)return;o.saveUndo();const ue=pe.value,L=G.value.splice(A,1)[0];G.value.splice(W,0,L),ue===A?pe.value=W:A<ue&&W>=ue?pe.value=ue-1:A>ue&&W<=ue&&(pe.value=ue+1),(X=e.scheduleRender)==null||X.call(e)}const ke=t.computed(()=>G.value.length);let Ee="";const h=n;function B(){p();const A=G.value.map(W=>{const ue={};for(const[re,Se]of Object.entries(W.cells))ue[re]={value:Se.value},Se.styleId&&Se.styleId>0&&(ue[re].styleId=Se.styleId);const L={name:W.name,cells:ue};W.styles&&W.styles.length>1&&(L.styles=[...W.styles]),W.borders&&W.borders.length>1&&(L.borders=[...W.borders]),W.merges&&Object.keys(W.merges).length&&(L.merges={...W.merges});const X={};for(let re=0;re<W.colWidths.length;re++)W.colWidths[re]!==100&&(X[re]=W.colWidths[re]);Object.keys(X).length&&(L.colWidths=X);const fe={};for(let re=0;re<W.rowHeights.length;re++){const Se=W.rowHeights[re];Se!=null&&(fe[re]=Se)}return Object.keys(fe).length&&(L.rowHeights=fe),L}),N=JSON.stringify(A);N!==Ee&&(Ee=N,h.value=A,a&&(a.value=N))}e.emitModelData=B;let Be=!1;function je(){Be||(Be=!0,Promise.resolve().then(()=>{Be=!1,B()}))}const it=t.computed(()=>e.props.theme==="dark"?Wn:zn),ie=t.computed(()=>Ki(it.value,e.props.width,e.props.height,qt)),Te=t.computed(()=>{const A={};for(const[N,W]of Object.entries(ie.value))N.startsWith("--")&&(A[N]=W);return A}),Fe=t.ref(null),ot=t.ref(null),Je=t.ref(null),qe=t.ref(null),Qe=t.reactive({w:800,h:600});e.viewSize&&t.watch(Qe,A=>{e.viewSize&&(e.viewSize.w=A.w,e.viewSize.h=A.h)},{deep:!0});const ct=48,bt=28,yt=11,Tt=t.computed(()=>Math.max(0,e.totalWidth.value-Math.max(0,Qe.w-ct-yt))),At=t.computed(()=>Math.max(0,e.totalHeight.value-Math.max(0,Qe.h-bt-yt)));function xt(A,N){const W=Math.max(0,Qe.w-ct-yt),ue=Math.max(0,Qe.h-bt-yt);e.scrollX.value=Math.max(0,Math.min(A??e.scrollX.value,Math.max(0,e.totalWidth.value-W))),e.scrollY.value=Math.max(0,Math.min(N??e.scrollY.value,Math.max(0,e.totalHeight.value-ue)))}e.clampScroll=xt;function mt(){var A;return typeof window>"u"?!1:!((A=window.matchMedia)!=null&&A.call(window,"(hover: none) and (pointer: coarse)").matches)}function Rt(A=!1){t.nextTick(()=>{const N=Je.value;if(N){if(!e.editingCell.value&&!mt()){document.activeElement===N&&N.blur();return}N.focus({preventScroll:!0}),A&&N.select()}})}function Mt(){Rt()}function Kt(){var N;const A=e.selection.value;if(A){o.saveUndo();for(let W=A.startRow;W<=A.endRow;W++)e.rowHeights.value[W]=void 0;(N=e.scheduleRender)==null||N.call(e),B()}}function Pt(){var N;const A=e.selection.value;if(A){o.saveUndo();for(let W=A.startCol;W<=A.endCol;W++)e.colWidths.value[W]=100;(N=e.scheduleRender)==null||N.call(e),B()}}return{deleteRows:i,insertRows:r,insertCols:m,deleteCols:c,sortSelectedColumns:j,canSortColumns:E,sortMenuOpen:P,cachedSortOrder:ee,onSortMenuToggle:Ce,onSortChange:Me,applyCachedSort:ge,sortConfirmOpen:Z,prepareSortConfirmation:K,confirmSort:b,cancelSortConfirmation:le,sheets:G,activeSheetIndex:pe,saveSheet:p,loadSheet:D,switchSheet:I,addSheet:U,removeSheet:x,renameSheet:s,dupSheet:u,moveSheet:O,sheetCount:ke,mkSheet:$e,emitModelData:B,scheduleOptEmit:je,themeColors:it,outerStyle:ie,toolbarThemeVars:Te,wrapperRef:Fe,canvasRef:ot,editInputRef:Je,formulaBarRef:qe,viewSize:Qe,maxScrollX:Tt,maxScrollY:At,clampScroll:xt,canFocusHiddenEditor:mt,focusEditInput:Rt,onCanvasFocus:Mt,resetRowHeight:Kt,resetColWidth:Pt,modelData:h}}function Cn(e){return!!e&&e.width!==void 0&&e.width>0}function ft(e,o,n,l){const a=Cn(e),i=Cn(o);if(!a&&!i)return;if(a&&!i)return e;if(!a&&i)return o;const r=e.width??0,m=o.width??0;return r>m?e:m>r?o:e}function ji(e,o,n,l,a){let i=!1,r=null,m=1;function c(){i||(i=!0,requestAnimationFrame(()=>{i=!1,k()}))}e.scheduleRender=c;const g="#444";function k(){const f=l.canvasRef.value;if(!f)return;const w=l.wrapperRef.value;if(!w||(r=f.getContext("2d"),!r))return;m=window.devicePixelRatio||1;const Y=w.getBoundingClientRect(),q=Y.width,M=Y.height;l.viewSize.w=q,l.viewSize.h=M,f.width=q*m,f.height=M*m,f.style.width=q+"px",f.style.height=M+"px",r.setTransform(m,0,0,m,0,0);const J=e.scrollX.value,xe=e.scrollY.value,De=52,be=24,Ve=l.themeColors.value,et=e.colPositions.value,st=e.rowPositions.value,Bt=e.colWidths.value,St=[];for(let de=0;de<e.rowCount;de++)St[de]=st[de+1]-st[de];const zt=Math.max(0,e.hitCol(J));let rl=zt;for(let de=zt;de<e.colCount&&!(De+et[de]-J>=q);de++)rl=de;const Yt=rl,It=Math.max(0,e.hitRow(xe));let wl=It;for(let de=It;de<e.rowCount&&!(be+st[de]-xe>=M);de++)wl=de;const Ft=wl;let al=zt,il=It;for(const de in e.merges){const ve=e.merges[de];ve&&(ve.startRow>Ft||ve.endRow<It||ve.startCol>Yt||ve.endCol<zt||(ve.startCol<al&&(al=ve.startCol),ve.startRow<il&&(il=ve.startRow)))}r.fillStyle=Ve.bg,r.fillRect(0,0,q,M),r.fillStyle=Ve.gridBg,r.fillRect(De,be,q-De,M-be),r.save(),r.beginPath(),r.rect(De,be,q-De,M-be),r.clip();const pt=e.selection.value,gl=e.editingCell.value;for(let de=il;de<=Ft;de++)for(let ve=al;ve<=Yt;ve++){const He=e.findMerge(ve,de);if(He&&!(ve===He.range.startCol&&de===He.range.startRow))continue;const _e=De+et[ve]-J,Ge=be+st[de]-xe;let tt=Bt[ve],nt=St[de];if(He&&(tt=et[He.range.endCol+1]-et[ve],nt=st[He.range.endRow+1]-st[de]),_e+tt<De||Ge+nt<be||_e>q||Ge>M)continue;const Xt=e.findHighlight?e.findHighlight(ve,de):null,Ye=e.resolveStyle(e.cells[e.cellKey(ve,de)]),Ze=typeof(Ye==null?void 0:Ye.backgroundColor)=="string"?Ye.backgroundColor:"";if(Ze&&(r.fillStyle=Ze,r.fillRect(_e,Ge,tt,nt)),Xt&&(r.fillStyle=Xt==="active"?Ve.findActiveBg:Ve.findMatchBg,r.fillRect(_e,Ge,tt,nt)),e.isSelected(ve,de)&&(r.fillStyle=Ve.selectionBg,e.selectionMode.value==="row"||e.selectionMode.value==="col"?r.fillRect(_e,Ge,Bt[ve],St[de]):r.fillRect(_e,Ge,tt,nt)),e.activeCell.value.col===ve&&e.activeCell.value.row===de&&(r.strokeStyle=Ve.activeCellBorder,r.lineWidth=2,r.strokeRect(_e+1,Ge+1,tt-2,nt-2)),Xt==="active"&&(r.strokeStyle=Ve.findActiveBg,r.lineWidth=2,r.strokeRect(_e+1,Ge+1,tt-2,nt-2)),r.strokeStyle=Ve.gridLine,r.lineWidth=.5,r.strokeRect(_e+.25,Ge+.25,tt-.5,nt-.5),!(gl&&gl.col===ve&&gl.row===de)){const he=e.resolveStyle(e.cells[e.cellKey(ve,de)]),We=e.getCellValue(ve,de),Ue=typeof(he==null?void 0:he.numberFormat)=="string"?he.numberFormat:"",ce=We?Zt(We,Ue,e.locale.value):"";if(ce){const Ae=e.cellFontSize(ve,de),Ne=typeof(he==null?void 0:he.fontFamily)=="string"&&he.fontFamily?he.fontFamily:sl,Pe=(he==null?void 0:he.fontWeight)==="bold"?"bold":"normal",Ot=(he==null?void 0:he.fontStyle)==="italic"?"italic":"normal",xc=(he==null?void 0:he.underline)==="underline",Rc=(he==null?void 0:he.strikethrough)==="line-through",Pl=typeof(he==null?void 0:he.color)=="string"?he.color:"",xn=typeof(he==null?void 0:he.textAlign)=="string"?he.textAlign:en(We,Ue)?"right":"left",Rn=typeof(he==null?void 0:he.verticalAlign)=="string"?he.verticalAlign:"top";r.fillStyle=Pl||Ve.cellText,r.font=`${Ot} ${Pe} ${Ae}px ${Ne}`,r.textBaseline="alphabetic",r.save(),r.beginPath(),r.rect(_e+5,Ge+1,tt-10,nt-2),r.clip();const Mn=(he==null?void 0:he.wrap)==="wrap",kl=tt-10;let Gl=ce;const Mc=!Mn&&oo(Ue),Bn=ce===Bl||ro(We,Ue);if(Bn||Mc){if(Bn){const el=Math.max(1,r.measureText("#").width),bl=Math.max(1,Math.floor(kl/el));Gl="#".repeat(bl)}else if(e.getWrappedLines(r,ce,1e9,!1).some(Wt=>Wt&&r.measureText(Wt).width>kl)){const Wt=Math.max(1,r.measureText("#").width),cl=Math.max(1,Math.floor(kl/Wt));Gl="#".repeat(cl)}}const El=e.getWrappedLines(r,Gl,kl,Mn),{ascent:Sl,descent:xl}=e.measureFontMetrics(Ne,Ae,Pe,Ot),Rl=Sl+xl,Bc=El.length*Rl;let Ml;Rn==="middle"?Ml=Ge+(nt-Bc)/2+Sl:Rn==="bottom"?Ml=Ge+nt-e.BASE_CELL_VPAD-xl-(El.length-1)*Rl:Ml=Ge+e.BASE_CELL_VPAD+Sl;for(let el=0;el<El.length;el++){const bl=El[el],Wt=Ml+el*Rl,cl=r.measureText(bl);let jt;if(xn==="center"?jt=_e+tt/2-cl.width/2:xn==="right"?jt=_e+tt-5-cl.width:jt=_e+5,r.fillText(bl,jt,Wt),xc&&(r.strokeStyle=Pl||Ve.cellText,r.lineWidth=1,r.beginPath(),r.moveTo(jt,Wt+xl+1),r.lineTo(jt+cl.width,Wt+xl+1),r.stroke()),Rc){r.strokeStyle=Pl||Ve.cellText,r.lineWidth=1;const Dn=Wt-Sl+Rl*.42;r.beginPath(),r.moveTo(jt,Dn),r.lineTo(jt+cl.width,Dn),r.stroke()}}r.restore()}}}const dt=(de,ve,He)=>{const _e=e.findMerge(de,ve);return _e?e.getCellBorderSide(e.cells[_e.anchor],He):e.getCellBorderSide(e.cells[e.cellKey(de,ve)],He)};r.fillStyle=g;for(let de=il;de<=Ft;de++)for(let ve=al;ve<=Yt;ve++){const He=e.findMerge(ve,de);if(He&&!(ve===He.range.startCol&&de===He.range.startRow))continue;const _e=De+et[ve]-J,Ge=be+st[de]-xe;let tt=Bt[ve],nt=St[de];if(He&&(tt=et[He.range.endCol+1]-et[ve],nt=st[He.range.endRow+1]-st[de]),_e+tt<De||Ge+nt<be||_e>q||Ge>M)continue;const Xt=e.cells[e.cellKey(ve,de)],Ye={top:e.getCellBorderSide(Xt,"top"),right:e.getCellBorderSide(Xt,"right"),bottom:e.getCellBorderSide(Xt,"bottom"),left:e.getCellBorderSide(Xt,"left")};if(He){const Ze=He.range.startRow,he=He.range.endRow,We=He.range.startCol,Ue=He.range.endCol;for(let ce=We;ce<=Ue;ce++){if(e.isSameMergeInternal(ce,Ze-1,ce,Ze))continue;const Ae=dt(ce,Ze-1,"bottom"),Ne=ft(Ae,Ye.top);if(Ne&&Ne.width&&Ne.width>0){const Pe=De+et[ce]-J;r.fillStyle=Ne.color||g,r.fillRect(Pe,Ge,Bt[ce],Ne.width)}}for(let ce=We;ce<=Ue;ce++){if(e.isSameMergeInternal(ce,he,ce,he+1))continue;const Ae=dt(ce,he+1,"top"),Ne=ft(Ye.bottom,Ae);if(Ne&&Ne.width&&Ne.width>0){const Pe=De+et[ce]-J;r.fillStyle=Ne.color||g,r.fillRect(Pe,Ge+nt-Ne.width,Bt[ce],Ne.width)}}for(let ce=Ze;ce<=he;ce++){if(e.isSameMergeInternal(We-1,ce,We,ce))continue;const Ae=dt(We-1,ce,"right"),Ne=ft(Ae,Ye.left);if(Ne&&Ne.width&&Ne.width>0){const Pe=be+st[ce]-xe;r.fillStyle=Ne.color||g,r.fillRect(_e,Pe,Ne.width,St[ce])}}for(let ce=Ze;ce<=he;ce++){if(e.isSameMergeInternal(Ue,ce,Ue+1,ce))continue;const Ae=dt(Ue+1,ce,"left"),Ne=ft(Ye.right,Ae);if(Ne&&Ne.width&&Ne.width>0){const Pe=be+st[ce]-xe;r.fillStyle=Ne.color||g,r.fillRect(_e+tt-Ne.width,Pe,Ne.width,St[ce])}}{const ce=e.isSameMergeInternal(We,Ze-1,We,Ze)?Ye.top:ft(dt(We,Ze-1,"bottom"),Ye.top),Ae=e.isSameMergeInternal(We-1,Ze,We,Ze)?Ye.left:ft(dt(We-1,Ze,"right"),Ye.left),Ne=(ce==null?void 0:ce.width)??0,Pe=(Ae==null?void 0:Ae.width)??0;Ne>0&&Pe>0&&(r.fillStyle=(ce==null?void 0:ce.color)||(Ae==null?void 0:Ae.color)||g,r.fillRect(_e-Pe,Ge-Ne,Pe,Ne))}{const ce=e.isSameMergeInternal(Ue,Ze-1,Ue,Ze)?Ye.top:ft(dt(Ue,Ze-1,"bottom"),Ye.top),Ae=e.isSameMergeInternal(Ue,Ze,Ue+1,Ze)?Ye.right:ft(Ye.right,dt(Ue+1,Ze,"left")),Ne=(ce==null?void 0:ce.width)??0,Pe=(Ae==null?void 0:Ae.width)??0;Ne>0&&Pe>0&&(r.fillStyle=(ce==null?void 0:ce.color)||(Ae==null?void 0:Ae.color)||g,r.fillRect(_e+tt,Ge-Ne,Pe,Ne))}{const ce=e.isSameMergeInternal(We,he,We,he+1)?Ye.bottom:ft(Ye.bottom,dt(We,he+1,"top")),Ae=e.isSameMergeInternal(We-1,he,We,he)?Ye.left:ft(dt(We-1,he,"right"),Ye.left),Ne=(ce==null?void 0:ce.width)??0,Pe=(Ae==null?void 0:Ae.width)??0;Ne>0&&Pe>0&&(r.fillStyle=(ce==null?void 0:ce.color)||(Ae==null?void 0:Ae.color)||g,r.fillRect(_e-Pe,Ge+nt,Pe,Ne))}{const ce=e.isSameMergeInternal(Ue,he,Ue,he+1)?Ye.bottom:ft(Ye.bottom,dt(Ue,he+1,"top")),Ae=e.isSameMergeInternal(Ue,he,Ue+1,he)?Ye.right:ft(Ye.right,dt(Ue+1,he,"left")),Ne=(ce==null?void 0:ce.width)??0,Pe=(Ae==null?void 0:Ae.width)??0;Ne>0&&Pe>0&&(r.fillStyle=(ce==null?void 0:ce.color)||(Ae==null?void 0:Ae.color)||g,r.fillRect(_e+tt,Ge+nt,Pe,Ne))}}else{const Ze={top:dt(ve,de-1,"bottom"),left:dt(ve-1,de,"right"),bottom:dt(ve,de+1,"top"),right:dt(ve+1,de,"left")},he=ft(Ze.top,Ye.top),We=ft(Ze.left,Ye.left),Ue=ft(Ye.bottom,Ze.bottom),ce=ft(Ye.right,Ze.right),Ae=(he==null?void 0:he.width)??0,Ne=(We==null?void 0:We.width)??0,Pe=(Ue==null?void 0:Ue.width)??0,Ot=(ce==null?void 0:ce.width)??0;Ae>0&&(r.fillStyle=(he==null?void 0:he.color)||g,r.fillRect(_e,Ge,tt,Ae)),Pe>0&&(r.fillStyle=(Ue==null?void 0:Ue.color)||g,r.fillRect(_e,Ge+nt-Pe,tt,Pe)),Ne>0&&(r.fillStyle=(We==null?void 0:We.color)||g,r.fillRect(_e,Ge,Ne,nt)),Ot>0&&(r.fillStyle=(ce==null?void 0:ce.color)||g,r.fillRect(_e+tt-Ot,Ge,Ot,nt)),Ae>0&&Ne>0&&(r.fillStyle=(he==null?void 0:he.color)||(We==null?void 0:We.color)||g,r.fillRect(_e-Ne,Ge-Ae,Ne,Ae)),Ae>0&&Ot>0&&(r.fillStyle=(he==null?void 0:he.color)||(ce==null?void 0:ce.color)||g,r.fillRect(_e+tt,Ge-Ae,Ot,Ae)),Pe>0&&Ne>0&&(r.fillStyle=(Ue==null?void 0:Ue.color)||(We==null?void 0:We.color)||g,r.fillRect(_e-Ne,Ge+nt,Ne,Pe)),Pe>0&&Ot>0&&(r.fillStyle=(Ue==null?void 0:Ue.color)||(ce==null?void 0:ce.color)||g,r.fillRect(_e+tt,Ge+nt,Ot,Pe))}}r.restore(),r.fillStyle=Ve.headerBg,r.fillRect(De,0,q-De,be);for(let de=zt;de<=Yt;de++){const ve=De+et[de]-J,He=Bt[de];ve+He<De||ve>q||(pt&&de>=pt.startCol&&de<=pt.endCol&&(r.fillStyle=Ve.selectionBg,r.fillRect(ve,0,He,be)),r.strokeStyle=Ve.headerBorder,r.lineWidth=.5,r.strokeRect(ve+.25,.25,He-.5,be-.5),pt&&de>=pt.startCol&&de<=pt.endCol&&(r.strokeStyle=Ve.activeCellBorder,r.lineWidth=2,r.beginPath(),r.moveTo(ve,be-1),r.lineTo(ve+He,be-1),r.stroke()),r.fillStyle=Ve.headerText,r.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',r.textAlign="center",r.textBaseline="middle",r.fillText(Xe(de),ve+He/2,be/2))}r.strokeStyle=Ve.headerSep,r.lineWidth=1,r.beginPath(),r.moveTo(De,be+.5),r.lineTo(q,be+.5),r.stroke(),r.fillStyle=Ve.headerBg,r.fillRect(0,be,De,M-be);for(let de=It;de<=Ft;de++){const ve=be+st[de]-xe,He=St[de];ve+He<be||ve>M||(pt&&de>=pt.startRow&&de<=pt.endRow&&(r.fillStyle=Ve.selectionBg,r.fillRect(0,ve,De,He)),r.strokeStyle=Ve.headerBorder,r.lineWidth=.5,r.strokeRect(.25,ve+.25,De-.5,He-.5),pt&&de>=pt.startRow&&de<=pt.endRow&&(r.strokeStyle=Ve.activeCellBorder,r.lineWidth=2,r.beginPath(),r.moveTo(De-1,ve),r.lineTo(De-1,ve+He),r.stroke()),r.fillStyle=Ve.headerText,r.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',r.textAlign="center",r.textBaseline="middle",r.fillText(String(de+1),De/2,ve+He/2+.5))}r.strokeStyle=Ve.headerSep,r.lineWidth=1,r.beginPath(),r.moveTo(De+.5,be),r.lineTo(De+.5,M),r.stroke(),r.fillStyle=Ve.headerBg,r.fillRect(0,0,De,be),r.strokeStyle=Ve.headerSep,r.lineWidth=1,r.strokeRect(.5,.5,De-.5,be-.5)}const S=t.computed(()=>Xe(e.activeCell.value.col)+String(e.activeCell.value.row+1)),y=t.ref(""),v=t.ref(!1),E=t.computed(()=>e.editingCell.value?y.value:e.getCellRaw(e.activeCell.value.col,e.activeCell.value.row));t.watch(()=>e.editingCell.value,(f,w)=>{if(f&&!w){const Y=e.editValue.value||e.getCellRaw(f.col,f.row)||"";y.value=Y,b=!1}else!f&&w&&(y.value="",v.value=!1,b=!1)},{immediate:!0}),t.watch(()=>[e.activeCell.value.col,e.activeCell.value.row],()=>{e.editingCell.value||(y.value="",b=!1)});function j(){e.editingCell.value||(e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(),c())}function Z(f){const w=f.target.value;e.editingCell.value?e.editValue.value=w:e.startEdit(w),y.value=w,b=!0}function te(f){var Y,q;const w={...e.activeCell.value};e.editingCell.value?(e.editValue.value=f,e.commitEdit()):((Y=e.saveUndo)==null||Y.call(e),e.setCellValue(w.col,w.row,f)),y.value="",b=!1,c(),(q=l.emitModelData)==null||q.call(l)}let K=!1,b=!1;function le(){var J,xe,De,be,Ve,et,st,Bt,St;if(K)return;const f=l.formulaBarRef.value,w=!!(f&&typeof document<"u"&&document.activeElement===f);if(!e.editingCell.value&&!w&&!b)return;const Y={...e.activeCell.value},q=e.editingCell.value?e.editingCell.value.col:Y.col,M=e.editingCell.value?e.editingCell.value.row:Y.row;if(!e.editingCell.value){const zt=e.getCellRaw(q,M),rl=y.value!==zt;if(!b)return;K=!0,rl&&((J=e.saveUndo)==null||J.call(e),e.setCellValue(q,M,y.value),c(),(xe=l.emitModelData)==null||xe.call(l)),(De=l.formulaBarRef.value)==null||De.blur(),y.value="",v.value=!1,b=!1,t.nextTick(()=>{K=!1});return}K=!0,b?(e.editValue.value=y.value,e.commitEdit(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),(be=l.formulaBarRef.value)==null||be.blur(),y.value="",v.value=!1,b=!1,c(),l.focusEditInput(),(Ve=l.emitModelData)==null||Ve.call(l),t.nextTick(()=>{K=!1})):w?(y.value=e.editValue.value,e.commitEdit(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),(et=l.formulaBarRef.value)==null||et.blur(),y.value="",v.value=!1,b=!1,c(),l.focusEditInput(),(st=l.emitModelData)==null||st.call(l),t.nextTick(()=>{K=!1})):(e.commitEdit(),(Bt=l.formulaBarRef.value)==null||Bt.blur(),y.value="",v.value=!1,b=!1,c(),l.focusEditInput(),(St=l.emitModelData)==null||St.call(l),t.nextTick(()=>{K=!1}))}function P(){var f;K||(K=!0,e.editingCell.value&&e.cancelEdit(),(f=l.formulaBarRef.value)==null||f.blur(),y.value="",v.value=!1,b=!1,c(),l.focusEditInput(),t.nextTick(()=>{K=!1}))}function ee(f){if(!f.isComposing){if(f.key==="Enter"&&(f.altKey||f.metaKey)&&!f.ctrlKey){f.preventDefault(),f.stopPropagation();const w=f.target;if(!w)return;e.editingCell.value||e.startEdit();const Y=w.selectionStart??w.value.length,q=w.selectionEnd??w.value.length,M=w.value,J=M.substring(0,Y)+`
|
|
7
|
-
`+
|
|
8
|
-
`).length:1)*gl,ve=e.BASE_CELL_VPAD-al;let He=0,_e=0;return Yt==="middle"?(He=Math.floor((Ft-de)/2),_e=Math.max(0,Ft-de-He)):Yt==="top"?(He=ve,_e=Math.max(0,Ft-de-He)):Yt==="bottom"&&(_e=ve,He=Math.max(0,Ft-de-_e)),{left:`${52+e.colPositions.value[Y]-e.scrollX.value}px`,top:`${24+e.rowPositions.value[q]-e.scrollY.value}px`,width:`${wl}px`,height:`${Ft}px`,fontFamily:xe,fontSize:`${J}px`,lineHeight:1,fontWeight:De,fontStyle:be,textDecoration:et,textAlign:rl,paddingTop:`${He}px`,paddingRight:"3px",paddingBottom:`${_e}px`,paddingLeft:"3px",opacity:f?0:1,pointerEvents:f?"none":"auto",color:f?"transparent":st,caretColor:f?"transparent":void 0,borderColor:f?"transparent":void 0,background:f?"transparent":Bt,boxShadow:f?"none":void 0}});function ot(){return Math.max(0,l.viewSize.w-52-11)}function Je(){return Math.max(0,l.viewSize.h-24-11)}const qe=t.computed(()=>ot()),Qe=t.computed(()=>Je()),ct=t.computed(()=>Math.max(0,qe.value-11*2)),bt=t.computed(()=>Math.max(0,Qe.value-11*2)),yt=t.computed(()=>l.maxScrollX.value<=0?ct.value:Math.max(24,ot()/e.totalWidth.value*ct.value)),Tt=t.computed(()=>l.maxScrollX.value<=0?0:e.scrollX.value/l.maxScrollX.value*(ct.value-yt.value)),At=t.computed(()=>l.maxScrollY.value<=0?bt.value:Math.max(24,Je()/e.totalHeight.value*bt.value)),xt=t.computed(()=>l.maxScrollY.value<=0?0:e.scrollY.value/l.maxScrollY.value*(bt.value-At.value));let mt=null,Rt=0,Mt=0;function Kt(f){f.preventDefault(),mt="v",Rt=f.clientY,Mt=e.scrollY.value,document.addEventListener("mousemove",A),document.addEventListener("mouseup",N)}function Pt(f){f.preventDefault(),mt="h",Rt=f.clientX,Mt=e.scrollX.value,document.addEventListener("mousemove",A),document.addEventListener("mouseup",N)}function A(f){if(mt==="v"){const Y=(f.clientY-Rt)/(bt.value-At.value);l.clampScroll(null,Mt+Y*l.maxScrollY.value),c()}else if(mt==="h"){const Y=(f.clientX-Rt)/(ct.value-yt.value);l.clampScroll(Mt+Y*l.maxScrollX.value,null),c()}}function N(){mt=null,document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",N)}function W(f){if(mt)return;const w=f.currentTarget.getBoundingClientRect(),Y=f.clientY-w.top;Y<xt.value?l.clampScroll(null,e.scrollY.value-Je()):Y>xt.value+At.value&&l.clampScroll(null,e.scrollY.value+Je()),c()}function ue(f){if(mt)return;const w=f.currentTarget.getBoundingClientRect(),Y=f.clientX-w.left;Y<Tt.value?l.clampScroll(e.scrollX.value-ot(),null):Y>Tt.value+yt.value&&l.clampScroll(e.scrollX.value+ot(),null),c()}let L=!1,X=0,fe=0,re=!1,Se=!1,Ie=0,Oe=0,C=0,V=0,F=0,Q=0,oe=0,d=0,R=!1,_=!1,$=0,z=0,H="cell",ne=0,ae=-1,ze=-1;function lt(f){if(f.button!==0)return;f.preventDefault(),ye.value=null;const w=Jt(f,l.canvasRef.value);if(w.y<24&&w.x>=52){const M=w.x-52+e.scrollX.value,J=e.hitCol(M);if(J>=0&&Math.abs(w.x-(52+e.colPositions.value[J+1]-e.scrollX.value))<=4){o.saveUndo(),re=!0,Ie=J,C=e.colWidths.value[J],V=M,c();return}}if(w.x<52&&w.y>=24){const M=w.y-24+e.scrollY.value,J=e.hitRow(M);if(J>=0&&Math.abs(w.y-(24+e.rowPositions.value[J+1]-e.scrollY.value))<=4){o.saveUndo(),Se=!0,Oe=J,C=e.getRowHeight(J),V=M,c();return}}if(w.x<52||w.y<24){{const M=l.formulaBarRef.value,J=!!(M&&typeof document<"u"&&document.activeElement===M);(e.editingCell.value||J||b)&&le()}if(w.y<24&&w.x>=52){const M=e.hitCol(w.x-52+e.scrollX.value);M>=0&&(e.selectRange(M,0,M,e.rowCount-1,"col"),L=!0,X=M,fe=0)}else if(w.x<52&&w.y>=24){const M=e.hitRow(w.y-24+e.scrollY.value);M>=0&&(e.selectRange(0,M,e.colCount-1,M,"row"),L=!0,X=0,fe=M)}else w.x<52&&w.y<24&&e.selectAll();c();return}const Y=e.hitCol(w.x-52+e.scrollX.value),q=e.hitRow(w.y-24+e.scrollY.value);if(!(Y<0||q<0)){{const M=l.formulaBarRef.value,J=!!(M&&typeof document<"u"&&document.activeElement===M);(e.editingCell.value||J||b)&&le()}if(f.shiftKey&&e.selection.value){const M=e.selection.value;e.selectRange(M.startCol,M.startRow,Y,q)}else e.selectCell(Y,q);L=!0,X=Y,fe=q,l.focusEditInput(),c()}}function rt(f){if(re){const J=Jt(f,l.canvasRef.value).x-52+e.scrollX.value-V,xe=C+J;xe>=30&&xe<=1e3?e.colWidths.value[Ie]=xe:xe<30?e.colWidths.value[Ie]=30:e.colWidths.value[Ie]=1e3,c();return}if(Se){const J=Jt(f,l.canvasRef.value).y-24+e.scrollY.value-V,xe=C+J;xe>=24&&xe<=500?e.rowHeights.value[Oe]=xe:xe<24?e.rowHeights.value[Oe]=24:e.rowHeights.value[Oe]=500,c();return}if(!L){const M=l.canvasRef.value;if(!M)return;if(o.paintFmt.value){M.style.cursor="copy";return}const J=Jt(f,M);if(J.y<24&&J.x>=52){const xe=e.hitCol(J.x-52+e.scrollX.value);if(xe>=0&&Math.abs(J.x-(52+e.colPositions.value[xe+1]-e.scrollX.value))<=4){M.style.cursor="col-resize";return}}if(J.x<52&&J.y>=24){const xe=e.hitRow(J.y-24+e.scrollY.value);if(xe>=0&&Math.abs(J.y-(24+e.rowPositions.value[xe+1]-e.scrollY.value))<=4){M.style.cursor="row-resize";return}}M.style.cursor="cell";return}const w=Jt(f,l.canvasRef.value);if(X<0||fe<0)return;if(w.x<52||w.y<24){if(w.y<24&&w.x>=52){const M=e.hitCol(w.x-52+e.scrollX.value);M>=0&&e.selectRange(Math.min(X,M),0,Math.max(X,M),e.rowCount-1,"col")}else if(w.x<52&&w.y>=24){const M=e.hitRow(w.y-24+e.scrollY.value);M>=0&&e.selectRange(0,Math.min(fe,M),e.colCount-1,Math.max(fe,M),"row")}c();return}const Y=e.hitCol(w.x-52+e.scrollX.value),q=e.hitRow(w.y-24+e.scrollY.value);Y<0||q<0||(fe===0&&X>=0&&e.selection.value&&e.selection.value.startRow===0&&e.selection.value.endRow===e.rowCount-1?e.selectRange(Math.min(X,Y),0,Math.max(X,Y),e.rowCount-1,"col"):X===0&&fe>=0&&e.selection.value&&e.selection.value.startCol===0&&e.selection.value.endCol===e.colCount-1?e.selectRange(0,Math.min(fe,q),e.colCount-1,Math.max(fe,q),"row"):e.selectRange(X,fe,Y,q),c())}function at(f){const w=re||Se;L=!1,re=!1,Se=!1,w&&l.scheduleOptEmit(),o.paintFmt.value&&o.applyPaintFormat()}function wt(){const f=re||Se;L=!1,re=!1,Se=!1,f&&l.scheduleOptEmit()}function Vt(f){f.preventDefault();const w=Jt(f,l.canvasRef.value);if(w.x<52&&w.y<24){U(f);return}if(w.y<24&&w.x>=52){const Y=e.hitCol(w.x-52+e.scrollX.value);Y>=0&&s(f,Y);return}if(w.x<52&&w.y>=24){const Y=e.hitRow(w.y-24+e.scrollY.value);Y>=0&&x(f,Y);return}if(w.x>=52&&w.y>=24){const Y=e.hitCol(w.x-52+e.scrollX.value),q=e.hitRow(w.y-24+e.scrollY.value);Y>=0&&q>=0&&u(f,Y,q)}}function kt(f){const w=Jt(f,l.canvasRef.value);if(w.x<52||w.y<24)return;const Y=e.hitCol(w.x-52+e.scrollX.value),q=e.hitRow(w.y-24+e.scrollY.value);if(!(Y<0||q<0)){{const M=l.formulaBarRef.value,J=!!(M&&typeof document<"u"&&document.activeElement===M);(e.editingCell.value||J||b)&&le()}e.selectCell(Y,q),e.ensureVisible(Y,q),e.startEdit(),c(),l.focusEditInput()}}function ml(f){l.clampScroll(e.scrollX.value+f.deltaX,e.scrollY.value+f.deltaY),c()}function Gt(f){if(f.touches.length!==1){R=!1;return}const w=f.touches[0],Y=l.canvasRef.value;if(!Y)return;const q=Y.getBoundingClientRect(),M=w.clientX-q.left,J=w.clientY-q.top;M>=52&&J>=24?(f.preventDefault(),R=!0,_=!1,H="cell",F=M,Q=J,oe=e.scrollX.value,d=e.scrollY.value,$=e.hitCol(M-52+e.scrollX.value),z=e.hitRow(J-24+e.scrollY.value)):M>=0&&J>=0&&(M<52||J<24)&&(f.preventDefault(),R=!0,_=!1,F=M,Q=J,oe=e.scrollX.value,d=e.scrollY.value,J<24&&M>=52?(H="col",$=e.hitCol(M-52+e.scrollX.value),z=-1):M<52&&J>=24?(H="row",z=e.hitRow(J-24+e.scrollY.value),$=-1):(H="all",$=-1,z=-1))}function ol(f){if(!R||f.touches.length!==1)return;const w=f.touches[0],Y=l.canvasRef.value;if(!Y)return;const q=Y.getBoundingClientRect(),M=w.clientX-q.left,J=w.clientY-q.top;(Math.abs(M-F)>8||Math.abs(J-Q)>8)&&(_=!0,f.preventDefault(),l.clampScroll(oe+(F-M),d+(Q-J)),c())}function pl(){if(R&&(R=!1,!_))if(H==="cell"&&$>=0&&z>=0){const f=Date.now();$===ae&&z===ze&&f-ne<300?(e.selectCell($,z),e.startEdit(),c(),l.focusEditInput(),ne=0):(e.commitEdit(),e.selectCell($,z),c(),ne=f),ae=$,ze=z,l.focusEditInput()}else H==="col"&&$>=0?(e.commitEdit(),e.selectRange($,0,$,e.rowCount-1,"col"),c()):H==="row"&&z>=0?(e.commitEdit(),e.selectRange(0,z,e.colCount-1,z,"row"),c()):H==="all"&&(e.commitEdit(),e.selectAll(),c())}function Cl(f){return f.isComposing||f.key==="Process"||f.keyCode===229}function En(f){return f.key.length===1&&!f.ctrlKey&&!f.metaKey&&!f.altKey}function Sn(f){if(e.editingCell.value)return;const w=f.ctrlKey||f.metaKey,Y=f.shiftKey;switch(!0){case(w&&(f.key==="c"||f.key==="C")):f.preventDefault(),n.copyToClipboard();return;case(w&&(f.key==="x"||f.key==="X")):f.preventDefault(),n.cutSelected();return;case(w&&(f.key==="z"||f.key==="Z")):f.preventDefault(),o.undo();return;case(w&&(f.key==="y"||f.key==="Y")):f.preventDefault(),o.redo();return;case(w&&(f.key==="v"||f.key==="V")):f.preventDefault(),o.saveUndo(),n.pasteFromClipboard().then(()=>{c(),t.nextTick(()=>l.emitModelData())});return;case(w&&(f.key==="a"||f.key==="A")):f.preventDefault(),e.selectAll(),c();return;case(w&&f.key==="Home"):f.preventDefault(),e.selectCell(0,0),e.ensureVisible(0,0),c();return;case(w&&f.key==="End"):f.preventDefault(),e.selectCell(e.colCount-1,e.rowCount-1),e.ensureVisible(e.colCount-1,e.rowCount-1),c();return;case f.key==="Home":f.preventDefault(),e.selectCell(0,e.activeCell.value.row),e.ensureVisible(0,e.activeCell.value.row),c();return;case f.key==="End":f.preventDefault(),e.selectCell(e.colCount-1,e.activeCell.value.row),e.ensureVisible(e.colCount-1,e.activeCell.value.row),c();return;case f.key==="ArrowUp":f.preventDefault(),e.moveActive(0,-1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),c();return;case f.key==="ArrowDown":f.preventDefault(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),c();return;case f.key==="ArrowLeft":f.preventDefault(),e.moveActive(-1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),c();return;case f.key==="ArrowRight":f.preventDefault(),e.moveActive(1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),c();return;case f.key==="Tab":f.preventDefault(),e.moveActive(Y?-1:1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),c();return;case f.key==="Enter":f.preventDefault(),e.moveActive(0,Y?-1:1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),c();return;case f.key==="F2":f.preventDefault(),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(),c(),l.focusEditInput();return;case f.key==="Delete":case f.key==="Backspace":f.preventDefault(),o.saveUndo(),n.clearSelected(),c();return;case f.key==="Escape":f.preventDefault(),e.cancelEdit(),o.paintFmt.value=null,c();return;case En(f):if(Cl(f)){e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(""),c(),l.focusEditInput();return}f.preventDefault(),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(f.key),c(),t.nextTick(()=>{const q=l.editInputRef.value;q&&(q.focus(),q.setSelectionRange(1,1))});return}}let Ul=!1,Kl=!1;function yc(f){const w=f.target.value;if(!e.editingCell.value){e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(w),y.value=w,c();return}e.editValue.value=w,y.value=w}function vc(){Ul=!0,e.editingCell.value||(e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(""),y.value="",c())}function Cc(f){Ul=!1,Kl=!0,setTimeout(()=>{Kl=!1},0);const w=f.target.value;e.editValue.value=w,y.value=w}function wc(f){if(!e.editingCell.value){if(En(f)||Cl(f))return;Sn(f);return}if(!(Ul||Cl(f))&&!(Kl&&(f.key==="Enter"||f.key==="Escape")))if(f.key==="Enter"&&(f.altKey||f.metaKey)){f.preventDefault();const w=l.editInputRef.value;if(!w)return;const Y=w.selectionStart??w.value.length,q=w.selectionEnd??w.value.length,M=w.value,J=M.slice(0,Y)+`
|
|
9
|
-
`+M.slice(q);e.editValue.value=J,w.value=J,w.selectionStart=w.selectionEnd=Y+1,c()}else f.key==="Enter"?(f.preventDefault(),e.commitEdit(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),c(),l.focusEditInput()):f.key==="Tab"?(f.preventDefault(),e.commitEdit(),e.moveActive(f.shiftKey?-1:1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),c(),l.focusEditInput()):f.key==="Escape"&&(f.preventDefault(),e.cancelEdit(),c(),l.focusEditInput())}function kc(f){e.editingCell.value}function Ec(){setTimeout(()=>{e.editingCell.value&&(e.commitEdit(),c())},0)}let Et=null;function hl(){var w;const f=(w=l.wrapperRef.value)==null?void 0:w.getBoundingClientRect();if(f){const Y=qt(e.props.width),q=qt(e.props.height);Y!=null?l.viewSize.w=Y:l.viewSize.w=f.width,q!=null?l.viewSize.h=q:l.viewSize.h=f.height}l.clampScroll(null,null),c()}function Sc(){t.onMounted(()=>{const f=qt(e.props.width),w=qt(e.props.height);(f==null||w==null)&&(Et=new ResizeObserver(()=>hl()),l.wrapperRef.value&&Et.observe(l.wrapperRef.value)),t.nextTick(()=>{hl(),l.focusEditInput()}),e.selectCell(0,0),l.modelData.value&&l.modelData.value.length>0&&(a.value=JSON.stringify(l.modelData.value),l.sheets.value=l.modelData.value.map(Y=>{const q=l.mkSheet(Y.name),{cells:M,styles:J}=gn(Y.cells);if(Object.assign(q.cells,M),q.styles=Y.styles??J,Y.borders)q.borders=Y.borders;else{const xe=bn(q.styles);q.styles=xe.styles,q.borders=xe.borders}if(Y.colWidths)for(const[xe,De]of Object.entries(Y.colWidths)){const be=Number(xe);be>=0&&be<e.colCount&&De>=30&&(q.colWidths[be]=De)}if(Y.rowHeights)for(const[xe,De]of Object.entries(Y.rowHeights)){const be=Number(xe);be>=0&&be<e.rowCount&&De>=24&&(q.rowHeights[be]=De)}if(Y.merges)for(const[xe,De]of Object.entries(Y.merges))q.merges[xe]={...De};return q}),l.sheets.value.length>0&&l.loadSheet(0))}),t.watch(()=>[e.props.width,e.props.height],()=>{const f=qt(e.props.width),w=qt(e.props.height);f!=null&&w!=null?(Et==null||Et.disconnect(),Et=null):!Et&&l.wrapperRef.value&&(Et=new ResizeObserver(()=>hl()),Et.observe(l.wrapperRef.value)),t.nextTick(()=>hl())}),t.watch(()=>e.props.theme,()=>c()),t.watch(()=>({...e.cells}),()=>t.nextTick(()=>l.emitModelData()),{deep:!1}),t.watch(()=>({...e.merges}),()=>{t.nextTick(()=>l.emitModelData()),c()},{deep:!1}),t.watch(l.activeSheetIndex,()=>t.nextTick(()=>l.emitModelData())),t.watch(()=>l.modelData.value,f=>{if(!f||f.length===0)return;const w=JSON.stringify(f);if(w===a.value)return;a.value=w;const Y=e.selection.value?{...e.selection.value}:null,q={...e.activeCell.value};l.sheets.value=f.map(M=>{const J=l.mkSheet(M.name),{cells:xe,styles:De}=gn(M.cells);if(Object.assign(J.cells,xe),J.styles=M.styles??De,M.borders)J.borders=M.borders;else{const be=bn(J.styles);J.styles=be.styles,J.borders=be.borders}if(M.colWidths)for(const[be,Ve]of Object.entries(M.colWidths)){const et=Number(be);et>=0&&et<e.colCount&&Ve>=30&&(J.colWidths[et]=Ve)}if(M.rowHeights)for(const[be,Ve]of Object.entries(M.rowHeights)){const et=Number(be);et>=0&&et<e.rowCount&&Ve>=24&&(J.rowHeights[et]=Ve)}if(M.merges)for(const[be,Ve]of Object.entries(M.merges))J.merges[be]={...Ve};return J}),l.sheets.value.length>0&&l.loadSheet(0),Y&&(e.selection.value=Y),e.activeCell.value=q,c()},{deep:!0}),t.onBeforeUnmount(()=>{Et==null||Et.disconnect()})}return{scheduleRender:c,render:k,activeCellLabel:S,formulaBarDisplay:E,formulaBarDraft:y,formulaBarExpanded:v,onFormulaBarFocus:j,onFormulaBarInput:Z,onFormulaBarKeydown:ee,onFormulaBarBlur:Ce,acceptFormulaBarEdit:le,cancelFormulaBarEdit:P,insertFunctionIntoCell:te,renTab:Me,renTabVal:ge,onTabClick:se,onTabDblClick:Re,commitTabRename:Ke,cclTabRename:we,onTabRenameKd:me,ctxMenu:ye,ctxSubmenuLeft:pe,onCtxItemEnter:p,onTabCtxMenu:D,onTabBarCtx:I,onCornerCtx:U,onRowHdrCtx:x,onColHdrCtx:s,onCellCtx:u,dimInputRef:O,dimPanel:ke,openDimPanel:B,onDimInput:Be,onDimKeydown:je,onDimBlur:it,applyDimPanel:ie,closeDimPanel:Te,editInputStyle:Fe,hScrollbarW:qe,vScrollbarH:Qe,hTrackW:ct,vTrackH:bt,hThumbW:yt,hThumbL:Tt,vThumbH:At,vThumbT:xt,onVStart:Kt,onHStart:Pt,onSbMove:A,onSbUp:N,onVTrk:W,onHTrk:ue,onMouseDown:lt,onMouseMove:rt,onMouseUp:at,onMouseLeave:wt,onCanvasCtx:Vt,onDblClick:kt,onWheel:ml,onTouchStart:Gt,onTouchMove:ol,onTouchEnd:pl,onKeydown:Sn,onEditInput:yc,onEditCompositionStart:vc,onEditCompositionEnd:Cc,onEditKd:wc,onEditPaste:kc,onEditBlur:Ec,applySize:hl,setupLifecycle:Sc}}function Zi(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function wn(e,o,n,l){return o?l?n?e===o:e.toLowerCase()===o.toLowerCase():n?e.includes(o):e.toLowerCase().includes(o.toLowerCase()):!1}function qi(e,o,n,l){if(!o)return e;if(l){const i=e.indexOf(o);return i<0?e:e.slice(0,i)+n+e.slice(i+o.length)}const a=e.toLowerCase().indexOf(o.toLowerCase());return a<0?e:e.slice(0,a)+n+e.slice(a+o.length)}function Ji(e,o,n,l){return o?l?e.indexOf(o)<0?e:e.split(o).join(n):e.toLowerCase().indexOf(o.toLowerCase())<0?e:e.replace(new RegExp(Zi(o),"gi"),()=>n):e}function Wl(e,o,n,l,a,i,r){const m=[];if(r){for(let c=r.startRow;c<=r.endRow;c++)for(let g=r.startCol;g<=r.endCol;g++){const k=e[n(g,c)];k&&wn(k.value,l,a,i)&&m.push({sheetIndex:o,col:g,row:c})}return m}for(const c in e){const g=e[c];if(g&&wn(g.value,l,a,i)){const k=c.split(","),S=Number(k[0]),y=Number(k[1]);!Number.isNaN(S)&&!Number.isNaN(y)&&m.push({sheetIndex:o,col:S,row:y})}}return m}function Qi(e,o,n,l){const a=t.ref(!1),i=t.ref(""),r=t.ref(""),m=t.ref("sheet"),c=t.ref(!1),g=t.ref(!1),k=t.ref(-1),S=t.ref([]),y=t.ref(""),v=t.ref(0),E=t.ref(""),j=t.computed(()=>{const G=new Set,pe=n.activeSheetIndex.value;for(const p of S.value)p.sheetIndex===pe&&G.add(`${p.col},${p.row}`);return G}),Z=t.computed(()=>{if(k.value<0||k.value>=S.value.length)return null;const G=S.value[k.value];return G.sheetIndex!==n.activeSheetIndex.value?null:`${G.col},${G.row}`});e.findHighlight=(G,pe)=>{const p=`${G},${pe}`;return Z.value===p?"active":j.value.has(p)?"match":null};function te(G){var D,I;const pe=e.cellKey(G.col,G.row);if(G.sheetIndex===n.activeSheetIndex.value)return((D=e.cells[pe])==null?void 0:D.value)??"";const p=n.sheets.value[G.sheetIndex];return((I=p==null?void 0:p.cells[pe])==null?void 0:I.value)??""}function K(G,pe){const p=e.cellKey(G.col,G.row);if(G.sheetIndex===n.activeSheetIndex.value)e.setCellValue(G.col,G.row,pe);else{const D=n.sheets.value[G.sheetIndex];if(!D)return;const I=D.cells[p];D.cells[p]={value:String(pe),styleId:I==null?void 0:I.styleId}}}function b(){if(E.value){y.value=E.value;return}if(!i.value){y.value="";return}if(m.value==="selection"&&!e.selection.value){y.value=T(e.locale.value,"findNeedSelection");return}if(S.value.length===0){y.value=T(e.locale.value,"findNoResult");return}y.value=""}function le(){const G=i.value,pe=[];if(G)if(m.value==="workbook")n.sheets.value.forEach((p,D)=>{pe.push(...Wl(p.cells,D,e.cellKey,G,c.value,g.value))});else if(m.value==="selection"){const p=e.selection.value;p&&pe.push(...Wl(e.cells,n.activeSheetIndex.value,e.cellKey,G,c.value,g.value,p))}else pe.push(...Wl(e.cells,n.activeSheetIndex.value,e.cellKey,G,c.value,g.value));S.value=pe,pe.length===0?k.value=-1:k.value>=pe.length?k.value=pe.length-1:k.value<0&&(k.value=0),b()}function P(){if(k.value<0||k.value>=S.value.length)return;const G=S.value[k.value];G.sheetIndex!==n.activeSheetIndex.value&&n.switchSheet(G.sheetIndex),m.value==="selection"?e.activeCell.value={col:G.col,row:G.row}:e.selectCell(G.col,G.row),e.ensureVisible(G.col,G.row)}const ee=typeof requestAnimationFrame=="function"?requestAnimationFrame:G=>setTimeout(G,16);let Ce=!1,Me=!1;function ge(G){if(Ce){Me=Me||G;return}Ce=!0,Me=G,ee(()=>{var pe;Ce=!1,le(),Me&&S.value.length>0&&k.value>=0&&P(),Me=!1,(pe=e.scheduleRender)==null||pe.call(e)})}function se(){var G;a.value=!0,v.value++,le(),S.value.length>0&&(k.value=0,P()),(G=e.scheduleRender)==null||G.call(e)}function Re(){se()}function Ke(){var G;a.value=!1,S.value=[],k.value=-1,E.value="",y.value="",(G=e.scheduleRender)==null||G.call(e)}function we(){var G;S.value.length!==0&&(k.value=(k.value+1)%S.value.length,P(),(G=e.scheduleRender)==null||G.call(e))}function me(){var G;S.value.length!==0&&(k.value=(k.value-1+S.value.length)%S.value.length,P(),(G=e.scheduleRender)==null||G.call(e))}function ye(){var I,U;if(k.value<0||k.value>=S.value.length)return;const G=S.value[k.value],pe=te(G),p=qi(pe,i.value,r.value,c.value);if(p===pe)return;o.saveUndo(),K(G,p);const D=k.value;le(),S.value.length>0?(k.value=Math.min(D,S.value.length-1),we()):k.value=-1,(I=e.emitModelData)==null||I.call(e),(U=e.scheduleRender)==null||U.call(e)}function Le(){var D,I;const G=i.value;if(!G||S.value.length===0)return;o.saveUndo();let pe=0;const p=S.value.slice();for(const U of p){const x=te(U),s=Ji(x,G,r.value,c.value);s!==x&&(K(U,s),pe++)}S.value=[],k.value=-1,E.value=T(e.locale.value,"findReplacedAll").replace("{n}",String(pe)),b(),(D=e.emitModelData)==null||D.call(e),(I=e.scheduleRender)==null||I.call(e)}function $e(){const G=pe=>{if(!(pe.ctrlKey||pe.metaKey))return;const D=pe.key.toLowerCase();(D==="f"||D==="h")&&(pe.preventDefault(),se())};window.addEventListener("keydown",G),t.onBeforeUnmount(()=>window.removeEventListener("keydown",G))}return t.watch(i,()=>{a.value&&(E.value="",k.value=0,ge(!0))}),t.watch([m,c,g],()=>{a.value&&(E.value="",k.value=0,ge(!0))}),t.watch(e.cells,()=>{a.value&&ge(!1)},{deep:!0}),t.watch(()=>e.selection.value,()=>{a.value&&m.value==="selection"&&(k.value=0,ge(!0))}),t.watch([()=>o.undoStack.value.length,()=>o.redoStack.value.length],()=>{a.value&&ge(!1)}),{open:a,findText:i,replaceText:r,scope:m,matchCase:c,matchEntireCell:g,currentIndex:k,results:S,message:y,focusToken:v,activeSheetMatches:j,activeMatchKey:Z,openFind:se,openReplace:Re,close:Ke,recompute:le,findNext:we,findPrev:me,replace:ye,replaceAll:Le,setupLifecycle:$e}}const ec={class:"formula-bar__cell-label"},tc={class:"formula-bar__buttons"},lc=["title","aria-label"],nc=["rows","value"],oc=["title"],rc={key:0,width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true"},ac={key:1,width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true"},ic=["value"],cc={key:2,class:"sb-corner"},sc=["onClick","onMouseenter"],dc={class:"context-menu__label"},uc={key:0,class:"context-menu__arrow",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"22869"},fc=["onClick"],mc={class:"dim-panel__title"},pc={class:"dim-panel__body"},hc=["value"],gc={key:0,class:"dim-panel__error"},bc={class:"dim-panel__footer"},kn=ht(t.defineComponent({__name:"spreader",props:t.mergeModels({rowCount:{default:200},colCount:{default:26},width:{},height:{},theme:{default:"light"},locale:{default:"zh-CN"}},{data:{default:()=>[]},dataModifiers:{}}),emits:["update:data"],setup(e){const o=e,n=t.useModel(e,"data"),l={value:""},a=_i(o,{rowCount:o.rowCount,colCount:o.colCount,theme:o.theme,locale:o.locale}),i={sheets:t.ref([]),activeSheetIndex:t.ref(0),saveSheet:()=>{},loadSheet:x=>{},mkSheet:x=>({id:"",name:x,cells:{},merges:{},styles:[{}],borders:[{}],selection:null,activeCell:{col:0,row:0},scrollX:0,scrollY:0,colWidths:[],rowHeights:[]})},r=zi(a,i),m=Ui(a,r);Wi(r,{borderMenuOpen:m.borderMenuOpen,mergeMenuOpen:m.mergeMenuOpen});const c=Xi(a,r,n,void 0,l);i.sheets=c.sheets,i.activeSheetIndex=c.activeSheetIndex,i.saveSheet=c.saveSheet,i.loadSheet=c.loadSheet,i.mkSheet=c.mkSheet;const g=ji(a,r,m,c,l);g.setupLifecycle();const k=Qi(a,r,c);k.setupLifecycle();const S=t.reactive(a),y=t.reactive(r),v=t.reactive(m),E=t.reactive(c),j=c.sheets,Z=c.activeSheetIndex,te=c.sortMenuOpen,K=c.cachedSortOrder,b=t.reactive(g),le=t.reactive(k),P=t.computed(()=>{const x=S.selection;return!!x&&x.startCol===x.endCol&&x.startRow===x.endRow}),ee=t.computed(()=>{const x=S.selection;return x?c.canSortColumns(x.startCol,x.endCol):!1}),Ce=t.computed(()=>{const x=y.selNumberFormat;if(x!==Dt&&x!==Lt)return x;const s=S.activeCell,u=a.resolveStyle(S.cells[S.cellKey(s.col,s.row)]);return typeof(u==null?void 0:u.numberFormat)=="string"?u.numberFormat:""});function Me(x){r.nfDialogOpen.value=x}const ge=t.ref(!1);function se(){ge.value=!0}function Re(x){ge.value=x}function Ke(x){g.insertFunctionIntoCell(x)}function we(x){r.fontSizeMenuOpen.value=x}function me(x){r.textColorMenuOpen.value=x}function ye(x){r.fillColorMenuOpen.value=x}function Le(x){g.renTabVal.value=x}function $e(){g.ctxMenu.value=null}const G=x=>{c.formulaBarRef.value=x};function pe(){g.formulaBarExpanded.value=!g.formulaBarExpanded.value}const p=x=>{c.wrapperRef.value=x},D=x=>{c.canvasRef.value=x},I=x=>{c.editInputRef.value=x},U=x=>{g.dimInputRef.value=x};return(x,s)=>(t.openBlock(),t.createElementBlock("div",{class:"spreadsheet-outer",style:t.normalizeStyle(E.outerStyle)},[t.createVNode(ra,{locale:S.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":v.borderMenuOpen,"cached-border":v.cachedBorder,"sort-menu-open":t.unref(te),"cached-sort-order":t.unref(K),"can-sort":ee.value,"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":v.mergeMenuOpen,"calc-menu-open":v.calcMenuOpen,"is-single-cell":P.value,"sel-number-format":y.selNumberFormatDisplay,"nf-options":y.nfOptions,"can-increase-decimals":y.canIncreaseDecimals,"can-decrease-decimals":y.canDecreaseDecimals,"theme-vars":E.toolbarThemeVars,onUndo:s[0]||(s[0]=u=>y.undo()),onRedo:s[1]||(s[1]=u=>y.redo()),onPaintFormat:y.onPaintFormat,onClearFormat:s[2]||(s[2]=u=>y.clearFormat()),onNumberFormatChange:s[3]||(s[3]=u=>y.onNumberFormatChange(u)),onIncreaseDecimals:y.onIncreaseDecimals,onDecreaseDecimals:y.onDecreaseDecimals,onFontFamilyChange:s[4]||(s[4]=u=>y.onFontFamilyChange(u)),onFontSizeInput:s[5]||(s[5]=u=>y.onFontSizeInput(u)),onFontSizeBlur:y.onFontSizeBlur,onFontSizeKeydown:s[6]||(s[6]=u=>y.onFontSizeKeydown(u)),onFontSizeChange:s[7]||(s[7]=u=>y.onFontSizeChange(u)),"onUpdate:fontSizeMenuOpen":s[8]||(s[8]=u=>we(u)),onFontSizeToggle:s[9]||(s[9]=u=>y.toggleFontSizeMenu()),onFontSizeStepUp:y.onFontSizeStepUp,onFontSizeStepDown:y.onFontSizeStepDown,onBoldToggle:y.toggleFontWeight,onItalicToggle:y.toggleFontStyle,onUnderlineToggle:y.toggleUnderline,onStrikethroughToggle:y.toggleStrikethrough,onTextColorChange:s[10]||(s[10]=u=>y.onTextColorChange(u)),"onUpdate:textColorMenuOpen":s[11]||(s[11]=u=>me(u)),onFillColorChange:s[12]||(s[12]=u=>y.onFillColorChange(u)),"onUpdate:fillColorMenuOpen":s[13]||(s[13]=u=>ye(u)),onApplyTextColor:y.applyCachedTextColor,onApplyFillColor:y.applyCachedFillColor,"onUpdate:borderMenuOpen":s[14]||(s[14]=u=>y.onBorderMenuToggle(u)),onBorderChange:s[15]||(s[15]=u=>v.onBorderChange(u)),onApplyBorder:v.applyCachedBorder,"onUpdate:sortMenuOpen":s[16]||(s[16]=u=>E.onSortMenuToggle(u)),onSortChange:s[17]||(s[17]=u=>E.onSortChange(u)),onApplySort:E.applyCachedSort,onHAlignChange:s[18]||(s[18]=u=>y.onHAlignChange(u)),onVAlignChange:s[19]||(s[19]=u=>y.onVAlignChange(u)),onWrapToggle:y.onWrapToggle,"onUpdate:mergeMenuOpen":s[20]||(s[20]=u=>v.onMergeMenuToggle(u)),onMergeChange:s[21]||(s[21]=u=>v.onMergeChange(u)),onApplyMerge:v.onApplyMerge,"onUpdate:calcMenuOpen":s[22]||(s[22]=u=>v.onCalcMenuToggle(u)),onCalcSum:v.onCalcSum,onCalcAvg:v.onCalcAvg,onCalcCount:v.onCalcCount,onFind:s[23]||(s[23]=u=>t.unref(k).openFind())},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","sort-menu-open","cached-sort-order","can-sort","h-align-options","v-align-options","sel-h-align","sel-v-align","sel-wrap","merge-menu-open","calc-menu-open","is-single-cell","sel-number-format","nf-options","can-increase-decimals","can-decrease-decimals","theme-vars","onPaintFormat","onIncreaseDecimals","onDecreaseDecimals","onFontSizeBlur","onFontSizeStepUp","onFontSizeStepDown","onBoldToggle","onItalicToggle","onUnderlineToggle","onStrikethroughToggle","onApplyTextColor","onApplyFillColor","onApplyBorder","onApplySort","onWrapToggle","onApplyMerge","onCalcSum","onCalcAvg","onCalcCount"]),t.createVNode(Ta,{open:le.open,"find-text":le.findText,"replace-text":le.replaceText,scope:le.scope,"match-case":le.matchCase,"match-entire-cell":le.matchEntireCell,"current-index":le.currentIndex,total:le.results.length,message:le.message,"focus-token":le.focusToken,locale:S.locale,"theme-vars":E.toolbarThemeVars,"onUpdate:findText":s[24]||(s[24]=u=>t.unref(k).findText.value=u),"onUpdate:replaceText":s[25]||(s[25]=u=>t.unref(k).replaceText.value=u),"onUpdate:scope":s[26]||(s[26]=u=>t.unref(k).scope.value=u),"onUpdate:matchCase":s[27]||(s[27]=u=>t.unref(k).matchCase.value=u),"onUpdate:matchEntireCell":s[28]||(s[28]=u=>t.unref(k).matchEntireCell.value=u),onPrev:s[29]||(s[29]=u=>t.unref(k).findPrev()),onNext:s[30]||(s[30]=u=>t.unref(k).findNext()),onReplace:s[31]||(s[31]=u=>t.unref(k).replace()),onReplaceAll:s[32]||(s[32]=u=>t.unref(k).replaceAll()),onClose:s[33]||(s[33]=u=>t.unref(k).close())},null,8,["open","find-text","replace-text","scope","match-case","match-entire-cell","current-index","total","message","focus-token","locale","theme-vars"]),t.createVNode(oi,{"model-open":y.nfDialogOpen,locale:S.locale,"current-format":Ce.value,"is-custom":y.selNumberFormat===t.unref(Lt),"onUpdate:modelOpen":s[34]||(s[34]=u=>Me(u)),onApply:s[35]||(s[35]=u=>y.applyNumberFormatCode(u))},null,8,["model-open","locale","current-format","is-custom"]),t.createVNode(mi,{"model-open":E.sortConfirmOpen,locale:S.locale,"onUpdate:modelOpen":s[36]||(s[36]=u=>E.sortConfirmOpen=u),onConfirm:s[37]||(s[37]=u=>E.confirmSort(u)),onCancel:s[38]||(s[38]=u=>E.cancelSortConfirmation())},null,8,["model-open","locale"]),t.createVNode(Vi,{"model-open":ge.value,locale:S.locale,"onUpdate:modelOpen":s[39]||(s[39]=u=>Re(u)),onInsert:s[40]||(s[40]=u=>Ke(u))},null,8,["model-open","locale"]),t.createElementVNode("div",{class:t.normalizeClass(["formula-bar",{"formula-bar--expanded":b.formulaBarExpanded}])},[t.createElementVNode("div",ec,t.toDisplayString(b.activeCellLabel),1),t.createElementVNode("div",tc,[t.createElementVNode("button",{type:"button",class:"formula-bar__btn formula-bar__btn--cancel",title:"取消(Esc)","aria-label":"取消",onMousedown:s[41]||(s[41]=t.withModifiers(()=>{},["prevent"])),onClick:s[42]||(s[42]=t.withModifiers((...u)=>b.cancelFormulaBarEdit&&b.cancelFormulaBarEdit(...u),["stop"]))},[...s[93]||(s[93]=[t.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true"},[t.createElementVNode("path",{d:"M3 3l8 8M11 3l-8 8",fill:"none",stroke:"#e53935","stroke-width":"1.8","stroke-linecap":"round"})],-1)])],32),t.createElementVNode("button",{type:"button",class:"formula-bar__btn formula-bar__btn--accept",title:"接受(Enter)","aria-label":"接受",onMousedown:s[43]||(s[43]=t.withModifiers(()=>{},["prevent"])),onClick:s[44]||(s[44]=t.withModifiers((...u)=>b.acceptFormulaBarEdit&&b.acceptFormulaBarEdit(...u),["stop"]))},[...s[94]||(s[94]=[t.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true"},[t.createElementVNode("path",{d:"M2.5 7.5l3.5 3.5L12 3.5",fill:"none",stroke:"#2e7d32","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],32),t.createElementVNode("button",{type:"button",class:"formula-bar__btn formula-bar__btn--fx",title:t.unref(T)(S.locale,"insertFunctionTitle"),"aria-label":t.unref(T)(S.locale,"insertFunctionTitle"),onMousedown:s[45]||(s[45]=t.withModifiers(()=>{},["prevent"])),onClick:t.withModifiers(se,["stop"])},[...s[95]||(s[95]=[t.createElementVNode("span",{class:"formula-bar__fx-label"},"fx",-1)])],40,lc)]),t.createElementVNode("textarea",{ref:G,class:t.normalizeClass(["formula-bar__input",{"formula-bar__input--expanded":b.formulaBarExpanded}]),rows:b.formulaBarExpanded?3:1,value:b.formulaBarDisplay,spellcheck:"false",onFocus:s[46]||(s[46]=(...u)=>b.onFormulaBarFocus&&b.onFormulaBarFocus(...u)),onInput:s[47]||(s[47]=(...u)=>b.onFormulaBarInput&&b.onFormulaBarInput(...u)),onKeydown:s[48]||(s[48]=(...u)=>b.onFormulaBarKeydown&&b.onFormulaBarKeydown(...u)),onBlur:s[49]||(s[49]=(...u)=>b.onFormulaBarBlur&&b.onFormulaBarBlur(...u))},null,42,nc),t.createElementVNode("button",{type:"button",class:"formula-bar__toggle",title:b.formulaBarExpanded?"折叠为1行":"展开为3行",onMousedown:s[50]||(s[50]=t.withModifiers(()=>{},["prevent"])),onClick:t.withModifiers(pe,["stop"])},[b.formulaBarExpanded?(t.openBlock(),t.createElementBlock("svg",ac,[...s[97]||(s[97]=[t.createElementVNode("path",{d:"M2 8l4-4 4 4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):(t.openBlock(),t.createElementBlock("svg",rc,[...s[96]||(s[96]=[t.createElementVNode("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))],40,oc)],2),t.createElementVNode("div",{ref:p,class:"spreadsheet-wrapper"},[t.createElementVNode("canvas",{ref:D,class:"grid-canvas",tabindex:"0",onMousedown:s[51]||(s[51]=(...u)=>b.onMouseDown&&b.onMouseDown(...u)),onMousemove:s[52]||(s[52]=(...u)=>b.onMouseMove&&b.onMouseMove(...u)),onMouseup:s[53]||(s[53]=(...u)=>b.onMouseUp&&b.onMouseUp(...u)),onMouseleave:s[54]||(s[54]=(...u)=>b.onMouseLeave&&b.onMouseLeave(...u)),onDblclick:s[55]||(s[55]=(...u)=>b.onDblClick&&b.onDblClick(...u)),onWheel:s[56]||(s[56]=t.withModifiers((...u)=>b.onWheel&&b.onWheel(...u),["prevent"])),onFocus:s[57]||(s[57]=(...u)=>E.onCanvasFocus&&E.onCanvasFocus(...u)),onKeydown:s[58]||(s[58]=(...u)=>b.onKeydown&&b.onKeydown(...u)),onContextmenu:s[59]||(s[59]=(...u)=>b.onCanvasCtx&&b.onCanvasCtx(...u)),onTouchstart:s[60]||(s[60]=t.withModifiers((...u)=>b.onTouchStart&&b.onTouchStart(...u),["prevent"])),onTouchmove:s[61]||(s[61]=t.withModifiers((...u)=>b.onTouchMove&&b.onTouchMove(...u),["prevent"])),onTouchend:s[62]||(s[62]=(...u)=>b.onTouchEnd&&b.onTouchEnd(...u))},null,32),t.createElementVNode("textarea",{ref:I,class:"cell-editor",value:S.editValue,style:t.normalizeStyle(b.editInputStyle),onInput:s[63]||(s[63]=(...u)=>b.onEditInput&&b.onEditInput(...u)),onKeydown:s[64]||(s[64]=(...u)=>b.onEditKd&&b.onEditKd(...u)),onCompositionstart:s[65]||(s[65]=(...u)=>b.onEditCompositionStart&&b.onEditCompositionStart(...u)),onCompositionend:s[66]||(s[66]=(...u)=>b.onEditCompositionEnd&&b.onEditCompositionEnd(...u)),onBlur:s[67]||(s[67]=(...u)=>b.onEditBlur&&b.onEditBlur(...u)),onPaste:s[68]||(s[68]=(...u)=>b.onEditPaste&&b.onEditPaste(...u))},null,44,ic),E.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[69]||(s[69]=t.withModifiers(u=>{E.clampScroll(null,S.scrollY-50),b.scheduleRender()},["prevent"]))},[...s[98]||(s[98]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--up"},null,-1)])],32),t.createElementVNode("div",{class:"sb-track sb-track--v",onMousedown:s[71]||(s[71]=(...u)=>b.onVTrk&&b.onVTrk(...u))},[t.createElementVNode("div",{class:"sb-thumb sb-thumb--v",style:t.normalizeStyle({top:b.vThumbT+"px",height:b.vThumbH+"px"}),onMousedown:s[70]||(s[70]=(...u)=>b.onVStart&&b.onVStart(...u))},null,36)],32),t.createElementVNode("button",{class:"sb-btn sb-btn--down",onMousedown:s[72]||(s[72]=t.withModifiers(u=>{E.clampScroll(null,S.scrollY+50),b.scheduleRender()},["prevent"]))},[...s[99]||(s[99]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--down"},null,-1)])],32)],4)):t.createCommentVNode("",!0),E.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[73]||(s[73]=t.withModifiers(u=>{E.clampScroll(S.scrollX-50,null),b.scheduleRender()},["prevent"]))},[...s[100]||(s[100]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--left"},null,-1)])],32),t.createElementVNode("div",{class:"sb-track sb-track--h",onMousedown:s[75]||(s[75]=(...u)=>b.onHTrk&&b.onHTrk(...u))},[t.createElementVNode("div",{class:"sb-thumb sb-thumb--h",style:t.normalizeStyle({left:b.hThumbL+"px",width:b.hThumbW+"px"}),onMousedown:s[74]||(s[74]=(...u)=>b.onHStart&&b.onHStart(...u))},null,36)],32),t.createElementVNode("button",{class:"sb-btn sb-btn--right",onMousedown:s[76]||(s[76]=t.withModifiers(u=>{E.clampScroll(S.scrollX+50,null),b.scheduleRender()},["prevent"]))},[...s[101]||(s[101]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--right"},null,-1)])],32)],4)):t.createCommentVNode("",!0),E.maxScrollX>0&&E.maxScrollY>0?(t.openBlock(),t.createElementBlock("div",cc)):t.createCommentVNode("",!0)]),t.createVNode(ya,{locale:S.locale,sheets:t.unref(j),"active-sheet-index":t.unref(Z),"ren-tab":b.renTab,"ren-tab-val":b.renTabVal,onTabClick:s[77]||(s[77]=u=>b.onTabClick(u)),onTabDblclick:s[78]||(s[78]=u=>b.onTabDblClick(u)),onTabContextmenu:s[79]||(s[79]=u=>b.onTabCtxMenu(u.ev,u.i)),onTabRenameInput:s[80]||(s[80]=u=>Le(u)),onTabRenameKeydown:s[81]||(s[81]=u=>b.onTabRenameKd(u)),onTabRenameCommit:b.commitTabRename,onTabbarContextmenu:s[82]||(s[82]=u=>b.onTabBarCtx(u)),onDeleteSheet:s[83]||(s[83]=u=>{E.removeSheet(u),b.scheduleRender()}),onAddSheet:s[84]||(s[84]=u=>{E.addSheet(),b.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(()=>[b.ctxMenu?(t.openBlock(),t.createElementBlock("div",{key:0,class:"context-menu",style:t.normalizeStyle({left:b.ctxMenu.x+"px",top:b.ctxMenu.y+"px"}),onClick:s[85]||(s[85]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.ctxMenu.items,(u,O)=>(t.openBlock(),t.createElementBlock("div",{key:O,class:t.normalizeClass(["context-menu__item",{"context-menu__item--disabled":u.disabled}]),onClick:ke=>!u.disabled&&u.action&&(u.action(),$e()),onMouseenter:ke=>b.onCtxItemEnter(ke,u)},[t.createElementVNode("span",dc,t.toDisplayString(u.label),1),u.children?(t.openBlock(),t.createElementBlock("svg",uc,[...s[102]||(s[102]=[t.createElementVNode("path",{d:"M361.386667 180.053333a32 32 0 0 0 0 45.226667L648.106667 512l-286.72 286.72a32 32 0 1 0 45.226666 45.226667l309.333334-309.333334a32 32 0 0 0 0-45.226666L406.613333 180.053333a32 32 0 0 0-45.226666 0z","p-id":"22870"},null,-1)])])):t.createCommentVNode("",!0),u.children?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["context-submenu",{"context-submenu--left":b.ctxSubmenuLeft}])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.children,(ke,Ee)=>(t.openBlock(),t.createElementBlock("div",{key:Ee,class:t.normalizeClass(["context-menu__item",{"context-menu__item--disabled":ke.disabled}]),onClick:t.withModifiers(h=>!ke.disabled&&ke.action&&(ke.action(),$e()),["stop"])},t.toDisplayString(ke.label),11,fc))),128))],2)):t.createCommentVNode("",!0)],42,sc))),128))],4)):t.createCommentVNode("",!0)]),_:1})])),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[b.dimPanel?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dim-panel",style:t.normalizeStyle({left:b.dimPanel.x+"px",top:b.dimPanel.y+"px"}),onMousedown:s[91]||(s[91]=t.withModifiers(()=>{},["stop"])),onClick:s[92]||(s[92]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",mc,t.toDisplayString(b.dimPanel.type==="row"?"行高":"列宽"),1),t.createElementVNode("div",pc,[t.createElementVNode("input",{ref:U,class:t.normalizeClass(["dim-panel__input",{"dim-panel__input--error":b.dimPanel.error}]),type:"number",step:"1",min:"1",inputmode:"numeric",value:b.dimPanel.value,onInput:s[86]||(s[86]=(...u)=>b.onDimInput&&b.onDimInput(...u)),onKeydown:s[87]||(s[87]=(...u)=>b.onDimKeydown&&b.onDimKeydown(...u)),onBlur:s[88]||(s[88]=(...u)=>b.onDimBlur&&b.onDimBlur(...u))},null,42,hc)]),b.dimPanel.error?(t.openBlock(),t.createElementBlock("div",gc,t.toDisplayString(b.dimPanel.error),1)):t.createCommentVNode("",!0),t.createElementVNode("div",bc,[t.createElementVNode("button",{class:"dim-panel__btn dim-panel__btn--primary",onClick:s[89]||(s[89]=(...u)=>b.applyDimPanel&&b.applyDimPanel(...u))}," 确定 "),t.createElementVNode("button",{class:"dim-panel__btn",onClick:s[90]||(s[90]=(...u)=>b.closeDimPanel&&b.closeDimPanel(...u))}," 取消 ")])],36)):t.createCommentVNode("",!0)]),_:1})]))],4))}}),[["__scopeId","data-v-86e52c54"]]);Ut.Spreader=kn,Ut.default=kn,Object.defineProperties(Ut,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(Oo,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(Oo=typeof globalThis<"u"?globalThis:Oo||self,t(Oo.XiaoDaoSpreader={},Oo.Vue))})(this,function(Oo,t){"use strict";const gl={"zh-CN":{insert:"插入",delete:"删除",rename:"重命名",moveLeft:"左移",moveRight:"右移",cut:"剪切",copy:"复制",paste:"粘贴",addSheet:"新建工作表",sheetList:"工作表列表",moveSheetLeft:"左移",moveSheetRight:"右移",scrollUp:"向上滚动",scrollDown:"向下滚动",scrollLeft:"向左滚动",scrollRight:"向右滚动",calculate:"计算",sum:"求和",avg:"平均值",count:"计数",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:"默认列宽",sort:"排序",sortAsc:"升序排序",sortDesc:"降序排序",sortReminderTitle:"排序提醒",sortReminderMessage:"选定区域的左侧或右侧还有相邻数据,这些数据未被选中,将不参与排序。是否将其一并纳入排序?",sortExpandSelection:"扩展选定区域",sortCurrentSelection:"仅对选定区域排序",insertFunctionTitle:"插入函数",insertFunctionSelectLabel:"函数",insertFunctionPlaceholder:"请选择函数",insertFunctionSearchPlaceholder:"搜索函数",insertFunctionFormulaLabel:"公式",insertFunctionBtn:"插入",fnDescSum:"计算单元格区域中所有数值的和",fnDescAverage:"计算单元格区域中数值的算术平均值",fnDescCount:"统计单元格区域中包含数值的单元格个数",fnDescIf:"根据指定条件判断真假,返回对应的两个值之一",fnDescVlookup:"在区域首列查找指定值,返回同一行中指定列的值",fnDescConcatenate:"将多个文本连接合并为一个文本",fnDescMax:"返回单元格区域中所有数值的最大值",fnDescMin:"返回单元格区域中所有数值的最小值",fnDescSin:"返回给定角度(弧度)的正弦值",fnDescSumif:"对区域中满足指定条件的单元格对应的数值求和",fnDescPmt:"计算基于固定利率及等额分期付款的贷款每期还款额",fnDescStdev:"估算基于样本的标准偏差(忽略文本与逻辑值)",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:"墨绿",numberFormat:"数字格式",nfGeneral:"常规",nfText:"文本",nfNumber:"数字",nfPercent:"百分比",nfScientific:"科学计数法",nfAccounting:"会计专用",nfFinancial:"财务数值",nfCurrency:"货币",nfCurrencyRounded:"货币取整",nfDate:"日期",nfTime:"时间",nfDateTime:"日期和时间",nfDuration:"持续时间",nfCustom:"其他数字格式…",nfMixed:"混合",nfIncreaseDecimals:"增加小数位数",nfDecreaseDecimals:"减少小数位数",nfDialogTitle:"设置单元格格式",nfCategory:"分类",nfCatCustom:"自定义",nfDecimals:"小数位数",nfThousands:"使用千位分隔符",nfSymbol:"货币符号",nfDateFormat:"日期格式",nfTimeFormat:"时间格式",nfCustomCode:"自定义格式代码",nfPreview:"预览",nfPreviewSample:"示例",find:"查找",findReplace:"查找和替换",findPlaceholder:"查找内容",replacePlaceholder:"替换为",findPrev:"上一个",findNext:"下一个",replace:"替换",replaceAll:"全部替换",findScope:"范围",scopeSheet:"当前工作表",scopeWorkbook:"整个工作簿",scopeSelection:"当前选区",matchCase:"区分大小写",matchEntireCell:"完整匹配",findNoResult:"未找到",findNeedSelection:"请先选择范围",findReplacedAll:"已替换 {n} 处",findClose:"关闭",freezePane:"冻结窗格",freezePanes:"冻结窗格",freezeFirstRow:"冻结首行",freezeFirstCol:"冻结首列",unfreezePanes:"取消冻结",freezeToRow:"冻结至此行",freezeToCol:"冻结至此列"},"en-US":{insert:"Insert",delete:"Delete",rename:"Rename",moveLeft:"Move Left",moveRight:"Move Right",cut:"Cut",copy:"Copy",paste:"Paste",addSheet:"Add new sheet",sheetList:"Sheet list",moveSheetLeft:"Move Left",moveSheetRight:"Move Right",scrollUp:"Scroll up",scrollDown:"Scroll down",scrollLeft:"Scroll left",scrollRight:"Scroll right",calculate:"Calculate",sum:"Sum",avg:"Average",count:"Count",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",sort:"Sort",sortAsc:"Sort Ascending",sortDesc:"Sort Descending",sortReminderTitle:"Sort Warning",sortReminderMessage:"There is adjacent data to the left or right of your selection. It is not selected and will not be sorted. Include it in the sort?",sortExpandSelection:"Expand the selection",sortCurrentSelection:"Sort the current selection only",insertFunctionTitle:"Insert Function",insertFunctionSelectLabel:"Function",insertFunctionPlaceholder:"Select a function",insertFunctionSearchPlaceholder:"Search a function",insertFunctionFormulaLabel:"Formula",insertFunctionBtn:"Insert",fnDescSum:"Adds all the numbers in a range of cells",fnDescAverage:"Returns the arithmetic mean of the numbers in a range",fnDescCount:"Counts the cells that contain numbers in a range",fnDescIf:"Checks a condition and returns one of two values",fnDescVlookup:"Looks up a value in the first column of a range and returns a value in the same row",fnDescConcatenate:"Joins several text strings into one text string",fnDescMax:"Returns the largest numeric value in a range of cells",fnDescMin:"Returns the smallest numeric value in a range of cells",fnDescSin:"Returns the sine of a given angle (in radians)",fnDescSumif:"Sums the values in a range that meet a specified condition",fnDescPmt:"Calculates the periodic payment for a loan with constant payments and interest",fnDescStdev:"Estimates the sample standard deviation of a supplied set of values",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",numberFormat:"Number Format",nfGeneral:"General",nfText:"Text",nfNumber:"Number",nfPercent:"Percentage",nfScientific:"Scientific",nfAccounting:"Accounting",nfFinancial:"Financial",nfCurrency:"Currency",nfCurrencyRounded:"Currency Rounded",nfDate:"Date",nfTime:"Time",nfDateTime:"Date & Time",nfDuration:"Duration",nfCustom:"Other Number Formats…",nfMixed:"Mixed",nfIncreaseDecimals:"Increase Decimal",nfDecreaseDecimals:"Decrease Decimal",nfDialogTitle:"Format Cells",nfCategory:"Category",nfCatCustom:"Custom",nfDecimals:"Decimal places",nfThousands:"Use 1000 separator",nfSymbol:"Currency symbol",nfDateFormat:"Date format",nfTimeFormat:"Time format",nfCustomCode:"Custom format code",nfPreview:"Preview",nfPreviewSample:"Sample",find:"Find",findReplace:"Find & Replace",findPlaceholder:"Find what",replacePlaceholder:"Replace with",findPrev:"Previous",findNext:"Next",replace:"Replace",replaceAll:"Replace All",findScope:"Scope",scopeSheet:"Current sheet",scopeWorkbook:"Entire workbook",scopeSelection:"Current selection",matchCase:"Match case",matchEntireCell:"Match entire cell",findNoResult:"No results",findNeedSelection:"Select a range first",findReplacedAll:"Replaced {n} occurrence(s)",findClose:"Close",freezePane:"Freeze Panes",freezePanes:"Freeze Panes",freezeFirstRow:"Freeze First Row",freezeFirstCol:"Freeze First Column",unfreezePanes:"Unfreeze Panes",freezeToRow:"Freeze to Row",freezeToCol:"Freeze to Column"}};function T(e,l){var n;return((n=gl[e])==null?void 0:n[l])??l}const Xo='-apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif',ko=10,yl=[{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'}],bl=[{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}],Cl='<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>',vl='<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>',wl='<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>',kl='<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>',El='<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>',Sl='<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>',Rl=[{value:"left",labelKey:"alignLeft",icon:Cl},{value:"center",labelKey:"alignCenter",icon:vl},{value:"right",labelKey:"alignRight",icon:wl}],Ml=[{value:"top",labelKey:"alignTop",icon:kl},{value:"middle",labelKey:"alignMiddle",icon:El},{value:"bottom",labelKey:"alignBottom",icon:Sl}],zn=[{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>'}],xl={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",findMatchBg:"rgba(255, 213, 79, 0.45)",findActiveBg:"rgba(255, 179, 0, 0.75)"},Bl={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",findMatchBg:"rgba(255, 213, 79, 0.35)",findActiveBg:"rgba(255, 179, 0, 0.6)"},Eo="__nf_custom__",ho="",So="",oo="@",gn="__NF_INVALID__",kn=2958465,En=0;function no(e){return e==null||e===""?!0:e.toUpperCase()==="GENERAL"}function Sn(e){return e==="zh-CN"?"¥":"$"}function Dl(e){return e.replace(/\*/g,"").replace(/_.|_\b/g,"")}function Ln(e){return e.replace(/"([^"]*)"/g,"$1")}function Tl(e){let l=e,n;const o=l.match(/^\[([^\]]+)\]/);o&&(n=o[1].toLowerCase(),l=l.slice(o[0].length)),l=Dl(l);const a=/E[+-]/i.test(l),i=l.includes("%"),r=l.search(/[0#?]/);if(r===-1)return{hasDigits:!1,decimals:0,minDecimals:0,minIntDigits:0,thousands:!1,scale:i?100:1,scientific:!1,prefix:l,suffix:"",color:n};let f=-1;for(let Z=l.length-1;Z>=0;Z--){const ie=l[Z];if(ie==="0"||ie==="#"||ie==="?"||ie==="E"){f=Z;break}}f<0&&(f=r);const m=r>0?l.slice(0,r):"",h=f<l.length-1?l.slice(f+1):"",S=l.slice(r,f+1),d=/[0#?]/.test(S),k=S.includes(",");let E=S.replace(/,/g,"");if(a){const Z=E.search(/E/i);Z>=0&&(E=E.slice(0,Z))}const J=E.indexOf("."),j=J>=0?E.slice(0,J):E,le=J>=0?E.slice(J+1):"",L=(le.match(/[0#?]/g)||[]).length,g=(le.match(/0/g)||[]).length,he=(j.match(/0/g)||[]).length;return{hasDigits:d,decimals:L,minDecimals:g,minIntDigits:he,thousands:k,scale:i?100:1,scientific:a,prefix:m,suffix:h,color:n}}function Nl(e){const l=[];let n=!1;const o=/\[h\]|\[mm\]|\[ss\]|yyyy|yy|y|mmmm|mmm|mm|m|dddd|ddd|dd|d|hh|h|ss|s|AM\/PM|am\/pm|"[^"]*"|\/|-|:|\s+|[^\s]/g;let a;for(;(a=o.exec(e))!==null;){const i=a[0];switch(i){case"[h]":n=!0,l.push({type:"hour",len:0});break;case"[mm]":n=!0,l.push({type:"minute",len:2});break;case"[ss]":n=!0,l.push({type:"second",len:2});break;case"yyyy":l.push({type:"year",len:4});break;case"yy":case"y":l.push({type:"year",len:2});break;case"mmmm":l.push(n?{type:"minute",len:4}:{type:"monthName",len:4});break;case"mmm":l.push(n?{type:"minute",len:3}:{type:"monthName",len:3});break;case"mm":l.push(n?{type:"minute",len:2}:{type:"month",len:2});break;case"m":l.push(n?{type:"minute",len:1}:{type:"month",len:1});break;case"dddd":l.push({type:"weekday",len:4});break;case"ddd":l.push({type:"weekday",len:3});break;case"dd":l.push({type:"day",len:2});break;case"d":l.push({type:"day",len:1});break;case"hh":l.push({type:"hour",len:2});break;case"h":l.push({type:"hour",len:1});break;case"ss":l.push({type:"second",len:2});break;case"s":l.push({type:"second",len:1});break;case"AM/PM":case"am/pm":l.push({type:"ampm",len:2});break;default:i.startsWith('"')?l.push({type:"literal",text:Ln(i),len:0}):l.push({type:"literal",text:i,len:0})}}return{tokens:l,isDuration:n}}const $n=new Map;function Il(e){const l=e.replace(/\[[^\]]*\]/gi,i=>/^\[(h|mm|ss)\]$/i.test(i)?i:"");if(/[ydhs]/.test(l)||/AM\/PM/i.test(l)||/\[h\]/i.test(l)){const i=e.split(";")[0]??e,{tokens:r,isDuration:f}=Nl(i);return{kind:f?"duration":"date",sections:[],tokens:r,isDuration:f,raw:e}}return{kind:"number",sections:e.split(";").map(i=>Tl(i)),tokens:[],isDuration:!1,raw:e}}function Ro(e){const l=$n.get(e);if(l)return l;const n=Il(e);return $n.set(e,n),n}function _n(e,l,n,o,a){const i=Math.pow(10,l),r=Math.round((e+Number.EPSILON)*i)/i,f=r<0,m=Math.abs(r);let S=new Intl.NumberFormat("en-US",{useGrouping:o,minimumIntegerDigits:a,minimumFractionDigits:l,maximumFractionDigits:l}).format(m);if(n<l&&l>0){const k=S.indexOf(".");if(k>=0){const v=S.substring(0,k);let E=S.substring(k+1);E=E.replace(/0+$/,""),E.length<n&&(E=E+"0".repeat(n-E.length)),S=E?`${v}.${E}`:v}}return`${f?"-":""}${S}`}function Wn(e,l){if(e===0)return(l>0?"0."+"0".repeat(l):"0")+"E+00";const n=Math.floor(Math.log10(Math.abs(e))),o=e/Math.pow(10,n),a=_n(o,l,l,!1,1),i=(n>=0?"+":"-")+String(Math.abs(n)).padStart(2,"0");return`${a}E${i}`}function Fl(e,l,n){if(!n.hasDigits)return Ln(n.prefix+n.suffix);const o=n.scale===100?e*100:e,a=n.scientific?Wn(o,n.decimals):_n(o,n.decimals,n.minDecimals,n.thousands,n.minIntDigits);return l+n.prefix+a+n.suffix}function Al(e,l){const n=l.sections;if(n.length===0)return String(e);let o,a,i="";return e>0?(o=n[0],a=e):e<0?n[1]?(o=n[1],a=-e):(o=n[0],a=-e,i="-"):(o=n[2]??n[0],a=0),Fl(a,i,o)}function Vl(e){return new Date((e-25569)*864e5)}const Ol=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],Hl=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],Pn=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],zl=["January","February","March","April","May","June","July","August","September","October","November","December"],Ll=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Kn=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function tn(e,l){return String(e).padStart(l,"0")}function $l(e,l,n,o){const a=e.getUTCFullYear(),i=e.getUTCMonth()+1,r=e.getUTCDate(),f=e.getUTCDay(),m=n==="zh-CN";let h="",S=!1;for(const d of l)switch(d.type){case"literal":h+=d.text??"";break;case"year":h+=d.len>=4?String(a):String(a%100).padStart(2,"0");break;case"month":h+=tn(S?e.getUTCMinutes():i,d.len);break;case"monthName":h+=d.len>=4?m?Ol[i-1]:zl[i-1]:m?Hl[i-1]:Ll[i-1];break;case"day":h+=tn(r,d.len);break;case"weekday":h+=d.len>=4?m?Pn[f]:Kn[f]:m?Pn[f].slice(2):Kn[f].slice(0,3);break;case"hour":{let k=e.getUTCHours();if(d.len===0){const v=Math.floor(o*86400);k=Math.floor(v/3600)}h+=String(k),S=!0;break}case"minute":h+=tn(e.getUTCMinutes(),d.len);break;case"second":h+=tn(e.getUTCSeconds(),d.len);break;case"ampm":{const k=e.getUTCHours();h+=k<12?m?"上午":"AM":m?"下午":"PM";break}}return h}function _l(e,l){const n=Math.floor(e*86400),o=Math.floor(n/3600),a=Math.floor(n%3600/60),i=n%60;let r="";for(const f of l)switch(f.type){case"literal":r+=f.text??"";break;case"hour":r+=String(o);break;case"minute":r+=tn(a,f.len||2);break;case"second":r+=tn(i,f.len||2);break;default:r+=""}return r}function Wl(e){if(e==="")return e;const l=Number(e);if(!isNaN(l)&&e.trim()!==""){const n=Math.abs(l);return n!==0&&(n>=1e15||n<1e-9)?Wn(l,9):e}return e}function Ho(e,l,n){if(no(l))return Wl(e);if(l==null||l===oo)return e;const o=Ro(l);if(o.kind==="date"||o.kind==="duration"){const i=Number(e);if(!isFinite(i))return e;if(o.kind==="date"){if(i<En||i>kn)return gn}else if(i<0)return gn;return o.kind==="duration"?_l(i,o.tokens):$l(Vl(i),o.tokens,n,i)}const a=Number(e);return isNaN(a)?e:Al(a,o)}const Pl=["general","text","number","percent","scientific","accounting","financial","currency","currencyRounded","date","time","dateTime","duration","custom"];function Rn(e,l){if(l===oo||l==="@")return!1;if(no(l)){if(e==null||e===""||e.trim()==="")return!1;const o=Number(e);return!Number.isNaN(o)&&Number.isFinite(o)}const n=Ro(l);return!!(n.kind==="number"&&Un(n))}function Un(e){return e.sections.some(l=>l.hasDigits)}function Gn(e){if(e==null||no(e)||e===oo||e==="@")return!1;const l=Ro(e);return!!(l.kind==="date"||l.kind==="duration"||l.kind==="number"&&Un(l))}function Yn(e,l){if(l==null||no(l)||l===oo||l==="@")return!1;const n=Ro(l),o=Number(e);return Number.isFinite(o)?n.kind==="date"?o<En||o>kn:n.kind==="duration"?o<0:!1:!1}const Mn=30,xn=0;function sn(e){if(e==null||e===""||e.trim()==="")return!1;const l=Number(e);return!Number.isNaN(l)&&Number.isFinite(l)}function Xn(e,l){if(e==null||e===ho||no(e))return sn(l);if(e===oo)return!1;const n=Ro(e);return n.kind==="date"||n.kind==="duration"?!1:n.sections.some(o=>o.hasDigits)}function Kl(e){if(!sn(e))return 0;const l=String(Number(e));return l.indexOf(".")<0||/e/i.test(l)?0:l.slice(l.indexOf(".")+1).length}function Ul(e,l){if(!Xn(e,l))return-1;if(e==null||e===ho||no(e))return Kl(l);const o=Ro(e).sections.find(a=>a.hasDigits);return o?o.decimals:-1}function Gl(e,l){let n=0;const o=/\[[^\]]*\]/g;let a;for(;(a=o.exec(e))!==null&&!/^\[(h|mm|ss)\]$/i.test(a[0]);)n=a.index+a[0].length;const i=e.slice(0,n),r=e.slice(n),f=r.search(/[0#?]/);if(f===-1)return e;let m=-1;for(let j=r.length-1;j>=0;j--){const le=r[j];if(le==="0"||le==="#"||le==="?"||le==="E"){m=j;break}}if(m<f)return e;const h=r.slice(f,m+1),S=h.search(/E[+-]/i),d=S>=0?h.slice(0,S):h,k=d.indexOf("."),v=k>=0?(d.slice(k+1).match(/[0#?]/g)||[]).length:0;if(v===l)return e;let E;if(k<0)E=l>0?d+"."+"0".repeat(l):d;else if(l>v)E=d+"0".repeat(l-v);else{let j=v-l;const le=d.split("");for(let L=le.length-1;L>=0&&j>0;L--){const g=le[L];(g==="0"||g==="#"||g==="?")&&(le.splice(L,1),j--)}E=le.join(""),l===0&&E.endsWith(".")&&(E=E.slice(0,-1))}const J=E+(S>=0?h.slice(S):"");return i+r.slice(0,f)+J+r.slice(m+1)}function Yl(e,l){if(!Number.isInteger(l)||l<xn||l>Mn||e===ho)return null;if(e==null||no(e))return l>0?"0."+"0".repeat(l):"0";if(e===oo)return null;const n=Ro(e);return n.kind==="date"||n.kind==="duration"||!n.sections.some(o=>o.hasDigits)?null:e.split(";").map(o=>Gl(o,l)).join(";")}const Bn=["¥","$","€","£"];function jn(e,l){if(e==null||e===ho)return e??So;if(no(e))return So;if(e===oo||e==="@")return oo;const n=Sn(l),o=l==="zh-CN"?'yyyy"年"m"月"d"日"':"m/d/yyyy",a=l==="zh-CN"?'yyyy"年"m"月"d"日" h:mm:ss':"m/d/yyyy h:mm:ss",i=`${n}#,##0.00;(${n}#,##0.00);${n}"-"`,r="#,##0.00;[Red](#,##0.00)";if(Zn(l).some(v=>v.value===e))return e;const m=e.replace(/\[[^\]]*\]/gi,v=>/^\[(h|mm|ss)\]$/i.test(v)?v:"");if(/\[(h|mm|ss)\]/i.test(m)&&!/[yd]/i.test(m))return"[h]:mm:ss";const h=/[yd]/i.test(m),S=/h|s|AM\/PM/i.test(m);if(h&&S)return a;if(h||/AM\/PM/i.test(m))return o;if(S)return"h:mm:ss";if(e.includes("%"))return"0.00%";if(/E[+-]/i.test(e))return"0.00E+00";if(e.includes("[Red]("))return r;const d=Bn.find(v=>e.startsWith(v));if(d)return e.includes("(")?i:/\.\d/.test(e.slice(d.length))?n+"#,##0.00":n+"#,##0";const k=Ro(e);return k.kind==="number"&&k.sections.some(v=>v.hasDigits)?"#,##0.00":Eo}function Xl(e,l){return new Date(Date.UTC(e,l,0)).getUTCDate()}function jl(e,l,n){const o=Date.UTC(e,l-1,n)/864e5+25569;return o<=60?o-1:o}function Dn(e,l,n=new Date){const o=e.trim();if(!o||o.startsWith("=")||sn(o))return null;const a=l==="zh-CN"?'yyyy"年"m"月"d"日"':"m/d/yyyy",i=l==="zh-CN"?'yyyy"年"m"月"d"日" h:mm:ss':"m/d/yyyy h:mm:ss",r="h:mm:ss";function f(k){const v=/^(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/.exec(k);if(!v)return null;const E=Number(v[1]),J=Number(v[2]),j=v[3]!==void 0?Number(v[3]):0;return E>23||J>59||j>59?null:(E*3600+J*60+j)/86400}function m(k){let v=/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$/.exec(k),E,J,j;if(v)E=Number(v[1]),J=Number(v[2]),j=Number(v[3]);else if(v=/^(\d{4})年(\d{1,2})月(\d{1,2})日$/.exec(k))E=Number(v[1]),J=Number(v[2]),j=Number(v[3]);else if(v=/^(\d{1,2})[-/](\d{1,2})$/.exec(k))E=n.getUTCFullYear(),J=Number(v[1]),j=Number(v[2]);else return null;if(E<1900||E>9999||J<1||J>12||j<1||j>Xl(E,J))return null;const le=jl(E,J,j);return le>=En&&le<=kn?le:null}const h=f(o);if(h!==null)return{serial:h,format:r};const S=/^(.+?)[T ](\d{1,2}:\d{1,2}(?::\d{1,2})?)$/.exec(o);if(S){const k=m(S[1].trim()),v=f(S[2]);if(k!==null&&v!==null)return{serial:k+v,format:i}}const d=m(o);return d!==null?{serial:d,format:a}:null}function Zl(e,l){const n=e.trim();if(!n||n.startsWith("=")||!(n.includes(",")||n.includes("%")||Bn.some(L=>n.startsWith(L)))||Dn(n,l))return null;const a=Bn.find(L=>n.startsWith(L)),i=a?n.slice(a.length).trim():n;if(!i)return null;const r=/^([+-]?)(\d{1,3}(?:,\d{3})+)(?:\.(\d+))?(%?)$/.exec(i)||/^([+-]?)(\d+)(?:\.(\d+))?(%?)$/.exec(i);if(!r)return null;const f=r[1]==="-"?-1:1,m=r[2].replace(/,/g,""),h=r[3],S=(r[4]??"")==="%",d=h?h.length:0,k=+(m+(h?"."+h:""));if(!Number.isFinite(k))return null;const E=i.includes(",")?"#,##0":"0",J=d>0?"."+"0".repeat(d):"",j=(a??"")+E+J+(S?"%":"");let le=k*f;return S&&(le=le/100),le=Math.round(le*1e12)/1e12,{num:le,format:j}}function ql(e,l,n,o){const a=Sn(e),i=o?"#,##0":"0",r=n>0?"."+"0".repeat(n):"",f=i+r;switch(l){case"general":return"";case"text":return oo;case"custom":return"";case"number":return f;case"percent":return f+"%";case"scientific":return"0."+"0".repeat(n)+"E+00";case"currency":return a+f;case"currencyRounded":return a+(o?"#,##0":"0");case"accounting":return`${a}${f};(${a}${f});${a}"-"`;case"financial":return`${f};[Red](${f})`;case"date":return e==="zh-CN"?'yyyy"年"m"月"d"日"':"m/d/yyyy";case"time":return"h:mm:ss";case"dateTime":return e==="zh-CN"?'yyyy"年"m"月"d"日" h:mm:ss':"m/d/yyyy h:mm:ss";case"duration":return"[h]:mm:ss";default:return""}}function Zn(e){const l=Sn(e);return[{label:T(e,"nfGeneral"),value:So},{label:T(e,"nfText"),value:oo},{label:T(e,"nfNumber"),value:"#,##0.00"},{label:T(e,"nfPercent"),value:"0.00%"},{label:T(e,"nfScientific"),value:"0.00E+00"},{label:T(e,"nfAccounting"),value:`${l}#,##0.00;(${l}#,##0.00);${l}"-"`},{label:T(e,"nfFinancial"),value:"#,##0.00;[Red](#,##0.00)"},{label:T(e,"nfCurrency"),value:l+"#,##0.00"},{label:T(e,"nfCurrencyRounded"),value:l+"#,##0"},{label:T(e,"nfDate"),value:e==="zh-CN"?'yyyy"年"m"月"d"日"':"m/d/yyyy"},{label:T(e,"nfTime"),value:"h:mm:ss"},{label:T(e,"nfDateTime"),value:e==="zh-CN"?'yyyy"年"m"月"d"日" h:mm:ss':"m/d/yyyy h:mm:ss"},{label:T(e,"nfDuration"),value:"[h]:mm:ss"},{label:T(e,"nfCustom"),value:Eo}]}const Jl=["title"],Ql=["innerHTML"],er={key:1,class:"sp-dropdown__value"},tr=["disabled"],or=["placeholder"],nr=["onClick"],lr=["innerHTML"],rr={class:"sp-dropdown__item-label"},ar={key:2,class:"sp-dropdown__empty"},ir=["disabled"],cr=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},fallbackLabel:{default:""},searchable:{type:Boolean,default:!1},searchPlaceholder:{default:""},triggerIcon:{default:""}},emits:["update:modelValue","change","update:modelOpen"],setup(e,{emit:l}){const n=e,o=l,a=t.ref(!1),i=t.ref(0),r=t.ref(null),f=t.ref(null),m=t.ref(null),h=t.ref({top:0,up:!1}),S=t.ref(void 0),d=t.ref(0),k=t.ref(!1),v=t.ref(""),E=t.ref(null),J=t.computed(()=>n.options.find(u=>String(u.value)===String(n.modelValue))),j=t.computed(()=>n.menuWidth!==void 0?n.menuWidth:S.value),le=t.computed(()=>{if(!n.searchable||!v.value.trim())return n.options;const u=v.value.trim().toLowerCase();return n.options.filter(D=>String(D.label??"").toLowerCase().includes(u))}),L=t.computed(()=>le.value.length>0),g=t.computed(()=>Math.min(n.visibleCount,le.value.length)),he=t.computed(()=>le.value.slice(i.value,i.value+g.value)),Z=t.computed(()=>i.value>0),ie=t.computed(()=>i.value+g.value<le.value.length),De=t.computed(()=>le.value.length>g.value);function _e(u){i.value=Math.max(0,Math.min(le.value.length-g.value,i.value+u))}function xe(){a.value=!0,n.searchable&&(v.value=""),n.modelOpen!==void 0&&o("update:modelOpen",!0);const u=n.triggerEl??r.value;if(!u)return;const D=u.getBoundingClientRect();S.value=D.width;const I=g.value*22+(De.value?2*15:0)+8+(n.searchable?34:0),$=window.innerHeight-D.bottom-4<I&&D.top-4>I;n.align==="right"?h.value={right:window.innerWidth-D.right,top:$?D.top-I-4:D.bottom+4,up:$}:h.value={left:D.left,top:$?D.top-I-4:D.bottom+4,up:$};const ne=le.value.findIndex(H=>String(H.value)===String(n.modelValue));i.value=ne>=0?Math.max(0,Math.min(ne-Math.floor(g.value/2),le.value.length-g.value)):0,n.searchable&&t.nextTick(()=>{var H;return(H=E.value)==null?void 0:H.focus()})}function we(){a.value=!1,v.value="",n.modelOpen!==void 0&&o("update:modelOpen",!1)}function Te(){a.value?we():xe()}function et(u){o("update:modelValue",u.value),o("change",u.value),we()}function Ve(u){var I,G;if(!a.value)return;const D=u.target;(I=r.value)!=null&&I.contains(D)||(G=m.value)!=null&&G.contains(D)||we()}function ke(u){a.value&&(u.preventDefault(),_e(u.deltaY>0?1:-1))}t.watch(a,u=>{t.nextTick(()=>{var D,I;u?((D=f.value)==null||D.addEventListener("wheel",ke,{passive:!1}),document.addEventListener("keydown",Be)):((I=f.value)==null||I.removeEventListener("wheel",ke),document.removeEventListener("keydown",Be))})});function Be(u){a.value&&u.key==="Escape"&&we()}t.watch(()=>n.modelOpen,u=>{u!==void 0&&u!==a.value&&(u?xe():we())});function Xe(u){a.value&&(d.value=u.touches[0].clientY,k.value=!0)}function Ge(u){if(!a.value||!k.value)return;const D=u.touches[0].clientY-d.value;Math.abs(D)>5&&(_e(D<0?1:-1),d.value=u.touches[0].clientY)}function oe(){k.value=!1}function ge(u){u.key==="Escape"&&(u.stopPropagation(),we())}return t.onMounted(()=>{document.addEventListener("pointerdown",Ve),window.addEventListener("resize",we),window.addEventListener("scroll",we,!0)}),t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",Ve),document.removeEventListener("keydown",Be),window.removeEventListener("resize",we),window.removeEventListener("scroll",we,!0)}),(u,D)=>{var I,G,$;return t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:r,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":a.value}]),title:e.title,onClick:Te},[(I=J.value)!=null&&I.icon||e.triggerIcon?(t.openBlock(),t.createElementBlock("span",{key:0,class:"sp-dropdown__icon",innerHTML:((G=J.value)==null?void 0:G.icon)||e.triggerIcon},null,8,Ql)):(t.openBlock(),t.createElementBlock("span",er,t.toDisplayString((($=J.value)==null?void 0:$.label)??e.fallbackLabel),1)),D[5]||(D[5]=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,Jl)),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[a.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:m,class:t.normalizeClass(["sp-dropdown__menu",{"sp-dropdown__menu--up":h.value.up}]),style:t.normalizeStyle({left:h.value.left!==void 0?h.value.left+"px":void 0,right:h.value.right!==void 0?h.value.right+"px":void 0,top:h.value.top+"px",minWidth:j.value!==void 0?typeof j.value=="number"?j.value+"px":j.value:void 0}),onKeydown:ge,onMousedown:D[4]||(D[4]=t.withModifiers(()=>{},["prevent"]))},[De.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["sp-dropdown__nav",{"sp-dropdown__nav--disabled":!Z.value}]),disabled:!Z.value,onClick:D[0]||(D[0]=ne=>_e(-1))},[...D[6]||(D[6]=[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,tr)):t.createCommentVNode("",!0),e.searchable?t.withDirectives((t.openBlock(),t.createElementBlock("input",{key:1,ref_key:"searchInputRef",ref:E,"onUpdate:modelValue":D[1]||(D[1]=ne=>v.value=ne),class:"sp-dropdown__search",type:"text",placeholder:e.searchPlaceholder,onMousedown:D[2]||(D[2]=t.withModifiers(()=>{},["stop"]))},null,40,or)),[[t.vModelText,v.value]]):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"listRef",ref:f,class:"sp-dropdown__list",onTouchstart:Xe,onTouchmove:Ge,onTouchend:oe},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(he.value,ne=>(t.openBlock(),t.createElementBlock("button",{key:String(ne.value),type:"button",class:t.normalizeClass(["sp-dropdown__item",{"sp-dropdown__item--active":String(ne.value)===String(e.modelValue)}]),onClick:H=>et(ne)},[ne.icon?(t.openBlock(),t.createElementBlock("span",{key:0,class:"sp-dropdown__item-icon",innerHTML:ne.icon},null,8,lr)):t.createCommentVNode("",!0),t.createElementVNode("span",rr,t.toDisplayString(ne.label),1)],10,nr))),128))],544),e.searchable&&!L.value?(t.openBlock(),t.createElementBlock("div",ar," 无匹配 ")):t.createCommentVNode("",!0),De.value?(t.openBlock(),t.createElementBlock("button",{key:3,type:"button",class:t.normalizeClass(["sp-dropdown__nav",{"sp-dropdown__nav--disabled":!ie.value}]),disabled:!ie.value,onClick:D[3]||(D[3]=ne=>_e(1))},[...D[7]||(D[7]=[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,ir)):t.createCommentVNode("",!0)],38)):t.createCommentVNode("",!0)]),_:1})]))],4)}}}),Zt=(e,l)=>{const n=e.__vccOpts||e;for(const[o,a]of l)n[o]=a;return n},Gt=Zt(cr,[["__scopeId","data-v-804e629f"]]),sr=["title","onClick"],qn=Zt(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:l,emit:n}){const o=e,a=n,i=[[{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"}]],r=[[{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"}]],f=t.computed(()=>o.colorKey==="fill"?r:i);function m(L){return T(o.locale,L)}function h(L){const g=o.currentColor;return!g&&!L?!0:g?g.toLowerCase()===L.toLowerCase():!1}const S=t.ref(!1),d=t.ref(null),k=t.ref(null),v=t.ref({top:0});t.watch(()=>o.modelOpen,L=>{L!==void 0&&L!==S.value&&(L?J():j())});function E(L){const g=d.value,he=k.value,Z=L.target;g&&g.contains(Z)||he&&he.contains(Z)||j()}function J(){S.value=!0,o.modelOpen!==void 0&&a("update:modelOpen",!0),t.nextTick(()=>{const L=o.triggerEl??d.value;if(L){const g=L.getBoundingClientRect(),he=150,Z=120;let ie=window.innerWidth-g.right,De=g.bottom+4,_e;g.left-Z<4&&(ie=void 0,_e=Math.max(4,g.left)),De+he>window.innerHeight-4&&(De=g.top-he-4),De<4&&(De=4),v.value=ie!==void 0?{right:ie,top:De}:{left:_e,top:De}}document.addEventListener("pointerdown",E)})}function j(){S.value=!1,o.modelOpen!==void 0&&a("update:modelOpen",!1),document.removeEventListener("pointerdown",E)}function le(L){a("update:modelValue",L),a("change",L),j()}return t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",E)}),l({open:S,openMenu:J,close:j}),(L,g)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:d,class:"color-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[S.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:k,class:"color-picker__menu",style:t.normalizeStyle({left:v.value.left!==void 0?v.value.left+"px":void 0,right:v.value.right!==void 0?v.value.right+"px":void 0,top:v.value.top+"px"}),onMousedown:g[0]||(g[0]=t.withModifiers(()=>{},["stop","prevent"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,(he,Z)=>(t.openBlock(),t.createElementBlock("div",{key:Z,class:"color-picker__row"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(he,ie=>(t.openBlock(),t.createElementBlock("button",{key:ie.value,class:t.normalizeClass(["color-picker__swatch",{"color-picker__swatch--selected":h(ie.value)}]),title:m(ie.key),style:t.normalizeStyle({background:ie.value||"transparent",border:ie.value?"1px solid rgba(0,0,0,0.15)":"1px dashed #999"}),onClick:De=>le(ie.value)},null,14,sr))),128))]))),128))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-70f3dfdc"]]),dr=["title","onClick"],ur={viewBox:"0 0 30 30",class:"border-picker__icon"},fr=["x1","y1","x2","y2","stroke-width","stroke-dasharray","stroke-linecap"],mr={class:"border-picker__label"},pr=Zt(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:l,emit:n}){const o=e,a=n,i=[{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"}],r=[{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}],f={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"]},m={bottom:[],top:[],left:[],right:[],none:[],all:[],outer:[],thickOuter:["top","bottom","left","right"]};function h(L,g){return m[L].includes(g)?"thick":f[L].includes(g)?"solid":"dashed"}const S=t.ref(!1),d=t.ref(null),k=t.ref(null),v=t.ref({top:0});t.watch(()=>o.modelOpen,L=>{L!==void 0&&L!==S.value&&(L?J():j())});function E(L){const g=d.value,he=k.value,Z=L.target;g&&g.contains(Z)||he&&he.contains(Z)||j()}function J(){S.value=!0,o.modelOpen!==void 0&&a("update:modelOpen",!0),t.nextTick(()=>{const L=o.triggerEl??d.value;if(L){const g=L.getBoundingClientRect(),he=200,Z=160;let ie=window.innerWidth-g.right,De=g.bottom+4,_e;g.left-Z<4&&(ie=void 0,_e=Math.max(4,g.left)),De+he>window.innerHeight-4&&(De=g.top-he-4),De<4&&(De=4),v.value=ie!==void 0?{right:ie,top:De}:{left:_e,top:De}}document.addEventListener("pointerdown",E)})}function j(){S.value=!1,o.modelOpen!==void 0&&a("update:modelOpen",!1),document.removeEventListener("pointerdown",E)}function le(L){a("change",L),j()}return t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",E)}),l({open:S,openMenu:J,close:j}),(L,g)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:d,class:"border-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[S.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:k,class:"border-picker__menu",style:t.normalizeStyle({left:v.value.left!==void 0?v.value.left+"px":void 0,right:v.value.right!==void 0?v.value.right+"px":void 0,top:v.value.top+"px"}),onMousedown:g[0]||(g[0]=t.withModifiers(()=>{},["stop","prevent"]))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,he=>t.createElementVNode("button",{key:he.key,class:"border-picker__item",title:t.unref(T)(e.locale,he.i18nKey),onClick:Z=>le(he.key)},[(t.openBlock(),t.createElementBlock("svg",ur,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(r,Z=>t.createElementVNode("line",{key:Z.name,x1:Z.x1,y1:Z.y1,x2:Z.x2,y2:Z.y2,stroke:"currentColor","stroke-width":h(he.key,Z.name)==="thick"?3:1.5,"stroke-dasharray":h(he.key,Z.name)==="dashed"?"0 4":"none","stroke-linecap":h(he.key,Z.name)==="dashed"?"round":"square"},null,8,fr)),64))])),t.createElementVNode("span",mr,t.toDisplayString(t.unref(T)(e.locale,he.i18nKey)),1)],8,dr)),64))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-551c0ffe"]]),hr=["title","onClick"],gr={viewBox:"0 0 1024 1024",class:"sort-picker__icon",fill:"none",stroke:"currentColor","stroke-width":"64","stroke-linecap":"round","stroke-linejoin":"round"},yr=["x1","y1","x2","y2"],br=["d"],Cr={class:"sort-picker__label"},vr=Zt(t.defineComponent({__name:"sortPicker",props:{modelOpen:{type:Boolean,default:void 0},locale:{default:"zh-CN"},currentSort:{default:"asc"},triggerEl:{default:null}},emits:["update:modelOpen","change"],setup(e,{expose:l,emit:n}){const o=e,a=n,i=[{key:"asc",i18nKey:"sortAsc"},{key:"desc",i18nKey:"sortDesc"}],r=[{name:"bar1",x1:96,y1:224,x2:352,y2:224},{name:"bar2",x1:96,y1:512,x2:512,y2:512},{name:"bar3",x1:96,y1:800,x2:672,y2:800}],f={asc:"M832 800V288M672 448l160-160 160 160",desc:"M832 224v512M672 576l160 160 160-160"},m=t.ref(!1),h=t.ref(null),S=t.ref(null),d=t.ref({top:0});t.watch(()=>o.modelOpen,j=>{j!==void 0&&j!==m.value&&(j?v():E())});function k(j){const le=h.value,L=S.value,g=j.target;le&&le.contains(g)||L&&L.contains(g)||E()}function v(){m.value=!0,o.modelOpen!==void 0&&a("update:modelOpen",!0),t.nextTick(()=>{const j=o.triggerEl??h.value;if(j){const le=j.getBoundingClientRect(),L=84,g=160;let he=window.innerWidth-le.right,Z=le.bottom+4,ie;le.left-g<4&&(he=void 0,ie=Math.max(4,le.left)),Z+L>window.innerHeight-4&&(Z=le.top-L-4),Z<4&&(Z=4),d.value=he!==void 0?{right:he,top:Z}:{left:ie,top:Z}}document.addEventListener("pointerdown",k)})}function E(){m.value=!1,o.modelOpen!==void 0&&a("update:modelOpen",!1),document.removeEventListener("pointerdown",k)}function J(j){a("change",j),E()}return t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",k)}),l({open:m,openMenu:v,close:E}),(j,le)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:h,class:"sort-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[m.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:S,class:"sort-picker__menu",style:t.normalizeStyle({left:d.value.left!==void 0?d.value.left+"px":void 0,right:d.value.right!==void 0?d.value.right+"px":void 0,top:d.value.top+"px"}),onMousedown:le[0]||(le[0]=t.withModifiers(()=>{},["stop","prevent"]))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,L=>t.createElementVNode("button",{key:L.key,class:"sort-picker__item",title:t.unref(T)(e.locale,L.i18nKey),onClick:g=>J(L.key)},[(t.openBlock(),t.createElementBlock("svg",gr,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(r,g=>t.createElementVNode("line",{key:g.name,x1:g.x1,y1:g.y1,x2:g.x2,y2:g.y2},null,8,yr)),64)),t.createElementVNode("path",{d:f[L.key]},null,8,br)])),t.createElementVNode("span",Cr,t.toDisplayString(t.unref(T)(e.locale,L.i18nKey)),1)],8,hr)),64))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-45929b74"]]),wr=["title","onClick"],kr=["innerHTML"],Er={class:"merge-picker__label"},Sr=Zt(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:l,emit:n}){const o=e,a=n,i=t.ref(!1),r=t.ref(null),f=t.ref(null),m=t.ref({top:0});t.watch(()=>o.modelOpen,v=>{v!==void 0&&v!==i.value&&(v?S():d())});function h(v){const E=r.value,J=f.value,j=v.target;E&&E.contains(j)||J&&J.contains(j)||d()}function S(){i.value=!0,o.modelOpen!==void 0&&a("update:modelOpen",!0),t.nextTick(()=>{const v=o.triggerEl??r.value;if(v){const E=v.getBoundingClientRect(),J=zn.length*30+12,j=160;let le=window.innerWidth-E.right,L=E.bottom+4,g;E.left-j<4&&(le=void 0,g=Math.max(4,E.left)),L+J>window.innerHeight-4&&(L=E.top-J-4),L<4&&(L=4),m.value=le!==void 0?{right:le,top:L}:{left:g,top:L}}document.addEventListener("pointerdown",h)})}function d(){i.value=!1,o.modelOpen!==void 0&&a("update:modelOpen",!1),document.removeEventListener("pointerdown",h)}function k(v){a("change",v),d()}return t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",h)}),l({open:i,openMenu:S,close:d}),(v,E)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:r,class:"merge-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[i.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:f,class:"merge-picker__menu",style:t.normalizeStyle({left:m.value.left!==void 0?m.value.left+"px":void 0,right:m.value.right!==void 0?m.value.right+"px":void 0,top:m.value.top+"px"}),onMousedown:E[0]||(E[0]=t.withModifiers(()=>{},["stop","prevent"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(zn),J=>(t.openBlock(),t.createElementBlock("button",{key:J.key,class:"merge-picker__item",title:t.unref(T)(e.locale,J.labelKey),onClick:j=>k(J.key)},[t.createElementVNode("span",{class:"merge-picker__icon",innerHTML:J.icon},null,8,kr),t.createElementVNode("span",Er,t.toDisplayString(t.unref(T)(e.locale,J.labelKey)),1)],8,wr))),128))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-edd36208"]]),Rr=["disabled","title","onClick"],Mr={class:"calc-picker__label"},xr=Zt(t.defineComponent({__name:"calcPicker",props:{modelOpen:{type:Boolean,default:void 0},locale:{default:"zh-CN"},triggerEl:{default:null},disabled:{type:Boolean,default:!1}},emits:["update:modelOpen","change"],setup(e,{expose:l,emit:n}){const o=e,a=n,i=[{key:"sum",labelKey:"sum"},{key:"avg",labelKey:"avg"},{key:"count",labelKey:"count"}],r=t.ref(!1),f=t.ref(null),m=t.ref(null),h=t.ref({top:0});t.watch(()=>o.modelOpen,E=>{E!==void 0&&E!==r.value&&(E?d():k())});function S(E){const J=f.value,j=m.value,le=E.target;J&&J.contains(le)||j&&j.contains(le)||k()}function d(){r.value=!0,o.modelOpen!==void 0&&a("update:modelOpen",!0),t.nextTick(()=>{const E=o.triggerEl??f.value;if(E){const J=E.getBoundingClientRect(),j=i.length*30+12,le=160;let L=window.innerWidth-J.right,g=J.bottom+4,he;J.left-le<4&&(L=void 0,he=Math.max(4,J.left)),g+j>window.innerHeight-4&&(g=J.top-j-4),g<4&&(g=4),h.value=L!==void 0?{right:L,top:g}:{left:he,top:g}}document.addEventListener("pointerdown",S)})}function k(){r.value=!1,o.modelOpen!==void 0&&a("update:modelOpen",!1),document.removeEventListener("pointerdown",S)}function v(E){o.disabled||(a("change",E),k())}return t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",S)}),l({open:r,openMenu:d,close:k}),(E,J)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootRef",ref:f,class:"calc-picker"},[(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[r.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"menuRef",ref:m,class:"calc-picker__menu",style:t.normalizeStyle({left:h.value.left!==void 0?h.value.left+"px":void 0,right:h.value.right!==void 0?h.value.right+"px":void 0,top:h.value.top+"px"}),onMousedown:J[0]||(J[0]=t.withModifiers(()=>{},["stop","prevent"]))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,j=>t.createElementVNode("button",{key:j.key,class:t.normalizeClass(["calc-picker__item",{"calc-picker__item--disabled":e.disabled}]),disabled:e.disabled,title:t.unref(T)(e.locale,j.labelKey),onClick:le=>v(j.key)},[t.createElementVNode("span",Mr,t.toDisplayString(t.unref(T)(e.locale,j.labelKey)),1)],10,Rr)),64))],36)):t.createCommentVNode("",!0)]),_:1})]))],512))}}),[["__scopeId","data-v-01a18e00"]]),Br={class:"tb-item","data-key":"undo"},Dr=["title","disabled"],Tr={class:"tb-item","data-key":"redo"},Nr=["title","disabled"],Ir={class:"tb-item","data-key":"paint"},Fr=["title","disabled"],Ar={class:"tb-item","data-key":"clear"},Vr=["title","disabled"],Or={class:"tb-item","data-key":"font"},Hr={class:"tb-item","data-key":"fontSize"},zr={class:"toolbar-font-size"},Lr=["value","title"],$r=["title"],_r=["title","disabled"],Wr=["title","disabled"],Pr={class:"tb-item","data-key":"bold"},Kr=["title","disabled"],Ur={class:"tb-item","data-key":"italic"},Gr=["title","disabled"],Yr={class:"tb-item","data-key":"underline"},Xr=["title","disabled"],jr={class:"tb-item","data-key":"strike"},Zr=["title","disabled"],qr={class:"tb-item","data-key":"textColor"},Jr={class:"toolbar-split"},Qr=["title","disabled"],ea={viewBox:"0 0 1024 1024",fill:"currentColor"},ta=["fill"],oa=["title","disabled"],na={class:"tb-item","data-key":"fillColor"},la={class:"toolbar-split"},ra=["title","disabled"],aa={viewBox:"0 0 1024 1024",fill:"currentColor"},ia=["fill"],ca=["title","disabled"],sa={class:"tb-item","data-key":"border"},da={class:"toolbar-split"},ua=["title","disabled"],fa={viewBox:"0 0 30 30",fill:"none",stroke:"currentColor"},ma=["x1","y1","x2","y2","stroke-width","stroke-dasharray","stroke-linecap"],pa=["title","disabled"],ha={class:"tb-item","data-key":"hAlign"},ga={class:"tb-item","data-key":"vAlign"},ya={class:"tb-item","data-key":"wrap"},ba=["title"],Ca={class:"tb-item","data-key":"merge"},va={class:"toolbar-split"},wa=["title","disabled"],ka=["title","disabled"],Ea={class:"tb-item","data-key":"numFmt"},Sa={class:"toolbar-number-format-group"},Ra=["title","disabled"],Ma=["title","disabled"],xa={class:"tb-item","data-key":"calc"},Ba={class:"toolbar-split"},Da=["title","disabled"],Ta=["title","disabled"],Na={class:"tb-item","data-key":"sort"},Ia={class:"toolbar-split"},Fa=["title","disabled"],Aa={viewBox:"0 0 1024 1024",fill:"none",stroke:"currentColor","stroke-width":"64","stroke-linecap":"round","stroke-linejoin":"round"},Va=["x1","y1","x2","y2"],Oa=["d"],Ha=["title","disabled"],za={class:"tb-item","data-key":"freeze"},La={class:"tb-item","data-key":"find"},$a=["title"],Jn='<svg viewBox="0 0 1024 1024" fill="currentColor"><path fill="none" stroke="currentColor" stroke-width="64" stroke-linejoin="round" stroke-linecap="round" d="M160 160 H864 V864 H160 Z" /><path fill="none" stroke="currentColor" stroke-width="64" stroke-linecap="round" d="M160 448 H864" /><path fill="none" stroke="currentColor" stroke-width="64" stroke-linecap="round" d="M448 160 V864" /><path d="M192 192 H416 V416 H192 Z" /></svg>',_a='<svg viewBox="0 0 1024 1024" fill="currentColor"><path fill="none" stroke="currentColor" stroke-width="64" stroke-linejoin="round" stroke-linecap="round" d="M160 160 H864 V864 H160 Z" /><path fill="none" stroke="currentColor" stroke-width="64" stroke-linecap="round" d="M160 448 H864" /><path d="M192 192 H832 V416 H192 Z" /></svg>',Wa='<svg viewBox="0 0 1024 1024" fill="currentColor"><path fill="none" stroke="currentColor" stroke-width="64" stroke-linejoin="round" stroke-linecap="round" d="M160 160 H864 V864 H160 Z" /><path fill="none" stroke="currentColor" stroke-width="64" stroke-linecap="round" d="M448 160 V864" /><path d="M192 192 H416 V832 H192 Z" /></svg>',Pa='<svg viewBox="0 0 1024 1024" fill="currentColor"><path fill="none" stroke="currentColor" stroke-width="64" stroke-linejoin="round" stroke-linecap="round" d="M160 160 H864 V864 H160 Z" /><path fill="none" stroke="currentColor" stroke-width="64" stroke-linecap="round" d="M160 448 H864" /><path fill="none" stroke="currentColor" stroke-width="64" stroke-linecap="round" d="M448 160 V864" /><path fill="none" stroke="currentColor" stroke-width="48" stroke-linecap="round" d="M224 224 L416 416" /><path fill="none" stroke="currentColor" stroke-width="48" stroke-linecap="round" d="M416 224 L224 416" /></svg>',Tn=2,Ka=6,Ua=34,Ga=Zt(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:{},sortMenuOpen:{type:Boolean},cachedSortOrder:{},canSort:{type:Boolean},selHAlign:{},selVAlign:{},selWrap:{type:Boolean},hAlignOptions:{},vAlignOptions:{},mergeMenuOpen:{type:Boolean},calcMenuOpen:{type:Boolean},isSingleCell:{type:Boolean},hasFreeze:{type:Boolean},themeVars:{},selNumberFormat:{},nfOptions:{},canIncreaseDecimals:{type:Boolean},canDecreaseDecimals:{type:Boolean}},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","apply-sort","wrap-toggle","apply-merge","calc-sum","calc-avg","calc-count","find","increase-decimals","decrease-decimals","font-family-change","font-size-change","h-align-change","v-align-change","font-size-input","text-color-change","fill-color-change","number-format-change","freeze-change","font-size-keydown","update:font-size-menu-open","update:text-color-menu-open","update:fill-color-menu-open","update:border-menu-open","update:sort-menu-open","update:merge-menu-open","update:calc-menu-open","border-change","sort-change","merge-change"],setup(e,{emit:l}){const n=[{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}],o={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"]},a={bottom:[],top:[],left:[],right:[],none:[],all:[],outer:[],thickOuter:["top","bottom","left","right"]};function i(ee,p){return a[ee].includes(p)?"thick":o[ee].includes(p)?"solid":"dashed"}const r=[{name:"bar1",x1:96,y1:224,x2:352,y2:224},{name:"bar2",x1:96,y1:512,x2:512,y2:512},{name:"bar3",x1:96,y1:800,x2:672,y2:800}],f={asc:"M832 800V288M672 448l160-160 160 160",desc:"M832 224v512M672 576l160 160 160-160"},m=["undo","redo","paint","clear","sep1","font","fontSize","sep2","bold","italic","underline","strike","sep3","textColor","fillColor","border","sep4","hAlign","vAlign","wrap","merge","sep6","numFmt","sep7","calc","sort","freeze","find"],h=t.ref(null),S=t.ref(null),d=t.ref(null),k=t.ref(null),v=t.ref(null),E=t.ref(null),J=t.ref(null),j=t.ref(null),le=t.ref(null),L=t.ref(null),g=t.ref(new Set),he=t.ref(!1),Z=t.ref(!1),ie=t.ref(0),De=new Map,_e=t.computed(()=>g.value.size>0);function xe(ee){return g.value.has(ee)}const we=t.computed(()=>{const ee=S.value;return ee instanceof HTMLElement?ee:void 0});function Te(ee){return we.value?!xe(ee):!0}function et(){for(const ee of m){const p=De.get(ee);if(p===void 0||p===0)return!0}return!1}function Ve(){if(!h.value)return;h.value.querySelectorAll(".tb-item").forEach(p=>{const F=p.dataset.key;if(!F)return;const Ue=p.offsetWidth;Ue>0?De.set(F,Ue):De.has(F)||De.set(F,0)})}function ke(ee,p){if(ee.size!==p.size)return!1;for(const F of ee)if(!p.has(F))return!1;return!0}let Be=0,Xe=0;function Ge(){Be&&cancelAnimationFrame(Be),!(Xe>60)&&(Xe++,Be=requestAnimationFrame(()=>requestAnimationFrame(oe)))}function oe(){if(!h.value)return;const ee=h.value.clientWidth-Ka*2;if(ee<=0){Ge();return}Xe=0,(De.size===0||et())&&Ve();let p=0;for(const Ue of m)p+=(De.get(Ue)??0)+Tn;const F=new Set;if(p>ee){const Ue=ee-Ua-Tn;let vt=0;for(let ce=0;ce<m.length;ce++){const We=m[ce],Je=(De.get(We)??0)+Tn;if(vt+Je>Ue){for(let gt=ce;gt<m.length;gt++)F.add(m[gt]);break}vt+=Je}}ke(F,g.value)||(g.value=F,ie.value++,F.size===0&&(he.value=!1))}let ge=null;const u=t.ref(0),D=t.computed(()=>{const ee=d.value,p={position:"fixed",top:"0px",right:"0px"};if(!ee)return{...H.themeVars,...p};u.value;const F=ee.getBoundingClientRect();return{...H.themeVars,position:"fixed",top:`${F.bottom+4}px`,right:`${window.innerWidth-F.right}px`}});function I(){he.value&&(u.value++,t.nextTick(()=>oe()))}function G(ee){var F,Ue;if(!he.value)return;const p=ee.target;(F=S.value)!=null&&F.contains(p)||(Ue=d.value)!=null&&Ue.contains(p)||(Z.value=!0,he.value=!1,t.nextTick(()=>{Z.value=!1}))}function $(){he.value=!he.value}function ne(){he.value=!1,c("find")}t.onMounted(()=>{Ge(),h.value&&(ge=new ResizeObserver(()=>{he.value||Ge()}),ge.observe(h.value)),document.addEventListener("pointerdown",G,!0),window.addEventListener("resize",I),window.addEventListener("load",Ge),window.addEventListener("orientationchange",Ge)}),t.onBeforeUnmount(()=>{Be&&cancelAnimationFrame(Be),ge==null||ge.disconnect(),document.removeEventListener("pointerdown",G,!0),window.removeEventListener("resize",I),window.removeEventListener("load",Ge),window.removeEventListener("orientationchange",Ge)});const H=e,c=l,y=t.computed(()=>H.selNumberFormat===ho?T(H.locale,"nfMixed"):""),at=t.computed(()=>{const ee=[{label:T(H.locale,"freezeFirstRow"),value:"firstRow",icon:_a},{label:T(H.locale,"freezeFirstCol"),value:"firstCol",icon:Wa}];return H.hasFreeze?ee.unshift({label:T(H.locale,"unfreezePanes"),value:"unfreeze",icon:Pa}):ee.unshift({label:T(H.locale,"freezePanes"),value:"panes",icon:Jn}),ee});return(ee,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{ref_key:"rootEl",ref:h,class:"toolbar",onMousedown:p[52]||(p[52]=t.withModifiers(()=>{},["prevent"]))},[(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("undo"),to:we.value},[t.createElementVNode("div",Br,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.canUndo}]),title:t.unref(T)(e.locale,"undo"),disabled:!e.canUndo,onClick:p[0]||(p[0]=F=>c("undo"))},[...p[54]||(p[54]=[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,Dr)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("redo"),to:we.value},[t.createElementVNode("div",Tr,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.canRedo}]),title:t.unref(T)(e.locale,"redo"),disabled:!e.canRedo,onClick:p[1]||(p[1]=F=>c("redo"))},[...p[55]||(p[55]=[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,Nr)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("paint"),to:we.value},[t.createElementVNode("div",Ir,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.paintFmtActive}]),title:t.unref(T)(e.locale,"paintFormat"),disabled:!e.hasSelection,onClick:p[2]||(p[2]=F=>c("paint-format"))},[...p[56]||(p[56]=[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,Fr)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("clear"),to:we.value},[t.createElementVNode("div",Ar,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--disabled":!e.hasSelection}]),title:t.unref(T)(e.locale,"clearFormat"),disabled:!e.hasSelection,onClick:p[3]||(p[3]=F=>c("clear-format"))},[...p[57]||(p[57]=[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,Vr)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("sep1"),to:we.value},[p[58]||(p[58]=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:Te("font"),to:we.value},[t.createElementVNode("div",Or,[t.createVNode(Gt,{class:"toolbar-font","model-value":e.selFontFamily,options:e.fontFamilyOptions,width:xe("font")?"100%":110,"menu-width":xe("font")?120:void 0,"visible-count":8,title:t.unref(T)(e.locale,"fontFamily"),align:"right",onChange:p[4]||(p[4]=F=>c("font-family-change",F))},null,8,["model-value","options","width","menu-width","title"])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("fontSize"),to:we.value},[t.createElementVNode("div",Hr,[t.createElementVNode("div",zr,[t.createElementVNode("input",{class:"toolbar-font-size__input",type:"number",min:"5",max:"72",step:"1",value:e.fontSizeInput,title:t.unref(T)(e.locale,"fontSize"),onMousedown:p[5]||(p[5]=t.withModifiers(()=>{},["stop"])),onInput:p[6]||(p[6]=F=>c("font-size-input",F.target.value)),onBlur:p[7]||(p[7]=F=>c("font-size-blur")),onKeydown:p[8]||(p[8]=F=>c("font-size-keydown",F))},null,40,Lr),t.createVNode(Gt,{class:"toolbar-font-size__dropdown","model-value":e.selFontSize,options:e.fontSizeOptions,width:xe("fontSize")?"100%":56,"menu-width":xe("fontSize")?120:56,"visible-count":9,title:t.unref(T)(e.locale,"fontSize"),"hide-trigger":!0,"model-open":e.fontSizeMenuOpen,align:"right","trigger-el":L.value,"onUpdate:modelOpen":p[9]||(p[9]=F=>c("update:font-size-menu-open",F)),onChange:p[10]||(p[10]=F=>c("font-size-change",F))},null,8,["model-value","options","width","menu-width","title","model-open","trigger-el"]),t.createElementVNode("button",{ref_key:"fontSizeArrowRef",ref:L,class:"toolbar-font-size__btn",type:"button",title:t.unref(T)(e.locale,"fontSize"),onMousedown:p[11]||(p[11]=t.withModifiers(()=>{},["prevent"])),onClick:p[12]||(p[12]=F=>c("font-size-toggle"))},[...p[59]||(p[59]=[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,$r),t.createElementVNode("button",{class:"toolbar-btn toolbar-btn--step",type:"button",title:t.unref(T)(e.locale,"fontSizeDecrease"),disabled:!e.hasSelection,onMousedown:p[13]||(p[13]=t.withModifiers(()=>{},["prevent"])),onClick:p[14]||(p[14]=F=>c("font-size-step-down"))},[...p[60]||(p[60]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M675.2 184.533333h260.266667a12.8 12.8 0 0 1 12.8 12.8v21.333334a12.8 12.8 0 0 1-12.8 12.8H675.2a12.8 12.8 0 0 1-12.8-12.8v-21.333334a12.8 12.8 0 0 1 12.8-12.8zM687.744 739.413333l87.722667 197.717334a12.8 12.8 0 0 0 11.733333 7.594666h54.016a12.8 12.8 0 0 0 11.605333-18.133333l-7.466666-16.213333-131.2-287.829334-35.413334-77.653333-166.570666-365.525333a36.266667 36.266667 0 0 0-66.432 0.938666l-154.154667 365.482667-34.688 82.261333-34.688 82.218667-84.778667 201.045333-6.570666 15.658667a12.8 12.8 0 0 0 11.776 17.749333h57.557333a12.8 12.8 0 0 0 11.904-8.106666l102.4-258.474667 343.466667-4.010667 29.781333 65.28zM480.426667 284.672l132.352 290.261333 12.288 27.050667-279.808 3.242667 13.184-31.232 122.026666-289.28z"})],-1)])],40,_r),t.createElementVNode("button",{class:"toolbar-btn toolbar-btn--step",type:"button",title:t.unref(T)(e.locale,"fontSizeIncrease"),disabled:!e.hasSelection,onMousedown:p[15]||(p[15]=t.withModifiers(()=>{},["prevent"])),onClick:p[16]||(p[16]=F=>c("font-size-step-up"))},[...p[61]||(p[61]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M769.066667 77.952v93.781333h-93.866667a12.8 12.8 0 0 0-12.8 12.8v46.933334a12.8 12.8 0 0 0 12.8 12.8h93.866667v93.952a12.8 12.8 0 0 0 12.8 12.8h46.933333a12.8 12.8 0 0 0 12.8-12.8V244.266667h93.866667a12.8 12.8 0 0 0 12.8-12.8v-46.933334a12.8 12.8 0 0 0-12.8-12.8h-93.866667V77.952a12.8 12.8 0 0 0-12.8-12.8h-46.933333a12.8 12.8 0 0 0-12.8 12.8zM687.744 739.413333l87.722667 197.717334a12.8 12.8 0 0 0 11.733333 7.594666h54.016a12.8 12.8 0 0 0 11.605333-18.133333l-7.466666-16.213333-131.2-287.829334-35.413334-77.653333-166.570666-365.525333a36.266667 36.266667 0 0 0-66.432 0.938666l-154.154667 365.482667-34.688 82.261333-34.688 82.218667-84.778667 201.045333-6.570666 15.658667a12.8 12.8 0 0 0 11.776 17.749333h57.557333a12.8 12.8 0 0 0 11.904-8.106666l102.4-258.474667 343.466667-4.010667 29.781333 65.28zM480.426667 284.672l132.352 290.261333 12.288 27.050667-279.808 3.242667 13.184-31.232 122.026666-289.28z"})],-1)])],40,Wr)])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("sep2"),to:we.value},[p[62]||(p[62]=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:Te("bold"),to:we.value},[t.createElementVNode("div",Pr,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selFontWeight}]),title:t.unref(T)(e.locale,"bold"),disabled:!e.hasSelection,onClick:p[17]||(p[17]=F=>c("bold-toggle"))},[...p[63]||(p[63]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M214.857 889.143v-68.571h68.571V203.429H214.857v-68.571h411.429v1.257c96.114 10.629 171.429 87.383 171.429 181.6 0 58.971-29.486 111.086-75.109 144.457 72.069 39.291 120.823 113.234 120.823 198.4 0 119.291-95.634 216.594-217.12 227.543l-0.286.029H214.857z m388.572-388.571H352v320h251.429c95.086 0 171.429-72.091 171.429-160s-76.343-160-171.429-160z m0-297.143H352v228.571h251.429l5.211-0.091c67.52-2.515 120.503-53.235 120.503-114.195 0-62.537-55.749-114.285-125.714-114.285z"})],-1)])],10,Kr)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("italic"),to:we.value},[t.createElementVNode("div",Ur,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selFontStyle}]),title:t.unref(T)(e.locale,"italic"),disabled:!e.hasSelection,onClick:p[18]||(p[18]=F=>c("italic-toggle"))},[...p[64]||(p[64]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M730.143 127.714v64.286h-112.329l-166.521 621.429h128.871v64.286H276.286v-64.286h108.45l166.5-621.429H426.286V127.714h303.857z"})],-1)])],10,Gr)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("underline"),to:we.value},[t.createElementVNode("div",Yr,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selUnderline}]),title:t.unref(T)(e.locale,"underline"),disabled:!e.hasSelection,onClick:p[19]||(p[19]=F=>c("underline-toggle"))},[...p[65]||(p[65]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M512 123.639a36.409 36.409 0 0 1 33.642 22.525l230.59 558.27a36.409 36.409 0 1 1-67.284 27.768L638.072 560.545H385.928l-70.876 171.656a36.409 36.409 0 1 1-67.332-27.768l230.59-558.27A36.409 36.409 0 0 1 512 123.639z m-95.974 364.089h191.948L512 255.439l-95.974 232.289zM769.289 827.544c19.418 0 38.836 14.564 38.836 38.836 0 19.418-14.564 33.982-29.127 33.982H259.565c-19.418 0-38.836-14.564-38.836-38.836 0-19.418 14.564-33.982 29.127-33.982h519.433z"})],-1)])],10,Xr)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("strike"),to:we.value},[t.createElementVNode("div",jr,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selStrikethrough}]),title:t.unref(T)(e.locale,"strikethrough"),disabled:!e.hasSelection,onClick:p[20]||(p[20]=F=>c("strikethrough-toggle"))},[...p[66]||(p[66]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M182.044 490.667h659.911a34.133 34.133 0 0 1 4.642 67.948l-4.597 0.319h-135.395c40.05 37 60.803 81.601 60.803 133.575 0 128.569-147.092 211.171-307.382 192.512-101.717-11.833-173.352-52.565-210.944-122.971a34.133 34.133 0 0 1 60.211-32.176c25.942 48.606 77.46 77.915 158.606 87.381 124.837 14.473 231.242-45.283 231.242-124.746 0-53.339-36.636-96.802-116.736-131.345l-5.279-2.23H182.044a34.133 34.133 0 0 1-33.815-29.492L147.911 524.8a34.133 34.133 0 0 1 29.491-33.815l4.642-0.318z m68.767-176.447c6.918-128.796 128.432-203.343 287.812-184.82 99.579 11.56 175.81 47.923 226.737 109.636a34.133 34.133 0 1 1-52.657 43.463c-38.775-47.013-98.759-75.639-181.999-85.288-123.654-14.381-211.627 36.591-211.627 117.009 0 35.135 10.65 61.349 37.774 90.203l5.826 6.007c4.278 4.369 8.966 8.875 11.377 10.923l1.411 0.91H288.085l-1.092-1.729c-6.508-9.376-38.958-54.386-36.182-106.314z"})],-1)])],10,Zr)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("sep3"),to:we.value},[p[67]||(p[67]=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:Te("textColor"),to:we.value},[t.createElementVNode("div",qr,[t.createElementVNode("div",Jr,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(T)(e.locale,"fontColor"),disabled:!e.hasSelection,onClick:p[21]||(p[21]=F=>c("apply-text-color"))},[(t.openBlock(),t.createElementBlock("svg",ea,[p[68]||(p[68]=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,ta)]))],8,Qr),t.createElementVNode("button",{ref_key:"textColorArrowRef",ref:k,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"fontColor"),disabled:!e.hasSelection,onClick:p[22]||(p[22]=F=>c("update:text-color-menu-open",!e.textColorMenuOpen))},[...p[69]||(p[69]=[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,oa),t.createVNode(qn,{"model-open":e.textColorMenuOpen,"color-key":"text","current-color":e.selTextColor,locale:e.locale,"trigger-el":k.value,"onUpdate:modelOpen":p[23]||(p[23]=F=>c("update:text-color-menu-open",F)),onChange:p[24]||(p[24]=F=>c("text-color-change",F))},null,8,["model-open","current-color","locale","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("fillColor"),to:we.value},[t.createElementVNode("div",na,[t.createElementVNode("div",la,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(T)(e.locale,"fillColor"),disabled:!e.hasSelection,onClick:p[25]||(p[25]=F=>c("apply-fill-color"))},[(t.openBlock(),t.createElementBlock("svg",aa,[p[70]||(p[70]=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,ia)]))],8,ra),t.createElementVNode("button",{ref_key:"fillColorArrowRef",ref:v,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"fillColor"),disabled:!e.hasSelection,onClick:p[26]||(p[26]=F=>c("update:fill-color-menu-open",!e.fillColorMenuOpen))},[...p[71]||(p[71]=[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,ca),t.createVNode(qn,{"model-open":e.fillColorMenuOpen,"color-key":"fill","current-color":e.selFillColor,locale:e.locale,"trigger-el":v.value,"onUpdate:modelOpen":p[27]||(p[27]=F=>c("update:fill-color-menu-open",F)),onChange:p[28]||(p[28]=F=>c("fill-color-change",F))},null,8,["model-open","current-color","locale","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("border"),to:we.value},[t.createElementVNode("div",sa,[t.createElementVNode("div",da,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(T)(e.locale,"borders"),disabled:!e.hasSelection,onClick:p[29]||(p[29]=F=>c("apply-border"))},[(t.openBlock(),t.createElementBlock("svg",fa,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(n,F=>t.createElementVNode("line",{key:F.name,x1:F.x1,y1:F.y1,x2:F.x2,y2:F.y2,"stroke-width":i(e.cachedBorder,F.name)==="thick"?3:1.5,"stroke-dasharray":i(e.cachedBorder,F.name)==="dashed"?"0 4":"none","stroke-linecap":i(e.cachedBorder,F.name)==="dashed"?"round":"square"},null,8,ma)),64))]))],8,ua),t.createElementVNode("button",{ref_key:"borderArrowRef",ref:E,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"borders"),disabled:!e.hasSelection,onClick:p[30]||(p[30]=F=>c("update:border-menu-open",!e.borderMenuOpen))},[...p[72]||(p[72]=[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,pa),t.createVNode(pr,{"model-open":e.borderMenuOpen,locale:e.locale,"current-border":e.cachedBorder,"trigger-el":E.value,"onUpdate:modelOpen":p[31]||(p[31]=F=>c("update:border-menu-open",F)),onChange:p[32]||(p[32]=F=>c("border-change",F))},null,8,["model-open","locale","current-border","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("sep4"),to:we.value},[p[73]||(p[73]=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:Te("hAlign"),to:we.value},[t.createElementVNode("div",ha,[t.createVNode(Gt,{class:"toolbar-align","model-value":e.selHAlign,options:e.hAlignOptions,width:xe("hAlign")?"100%":44,"menu-width":xe("hAlign")?120:void 0,"visible-count":3,align:"right",title:t.unref(T)(e.locale,"hAlign"),onChange:p[33]||(p[33]=F=>c("h-align-change",F))},null,8,["model-value","options","width","menu-width","title"])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("vAlign"),to:we.value},[t.createElementVNode("div",ga,[t.createVNode(Gt,{class:"toolbar-align","model-value":e.selVAlign,options:e.vAlignOptions,width:xe("vAlign")?"100%":44,"menu-width":xe("vAlign")?120:void 0,"visible-count":3,align:"right",title:t.unref(T)(e.locale,"vAlign"),onChange:p[34]||(p[34]=F=>c("v-align-change",F))},null,8,["model-value","options","width","menu-width","title"])]),t.createElementVNode("div",ya,[t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn",{"toolbar-btn--active":e.selWrap}]),type:"button",title:t.unref(T)(e.locale,"wrap"),onClick:p[35]||(p[35]=F=>c("wrap-toggle"))},[...p[74]||(p[74]=[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,ba)])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("merge"),to:we.value},[t.createElementVNode("div",Ca,[t.createElementVNode("div",va,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(T)(e.locale,"mergeCenter"),disabled:!e.hasSelection,onClick:p[36]||(p[36]=F=>c("apply-merge"))},[...p[75]||(p[75]=[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,wa),t.createElementVNode("button",{ref_key:"mergeArrowRef",ref:j,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"mergeCells"),disabled:!e.hasSelection,onClick:p[37]||(p[37]=F=>c("update:merge-menu-open",!e.mergeMenuOpen))},[...p[76]||(p[76]=[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,ka),t.createVNode(Sr,{"model-open":e.mergeMenuOpen,locale:e.locale,"trigger-el":j.value,"onUpdate:modelOpen":p[38]||(p[38]=F=>c("update:merge-menu-open",F)),onChange:p[39]||(p[39]=F=>c("merge-change",F))},null,8,["model-open","locale","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("sep6"),to:we.value},[p[77]||(p[77]=t.createElementVNode("div",{class:"tb-item","data-key":"sep6"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("numFmt"),to:we.value},[t.createElementVNode("div",Ea,[t.createElementVNode("div",Sa,[t.createVNode(Gt,{class:"toolbar-number-format","model-value":e.selNumberFormat,options:e.nfOptions,width:xe("numFmt")?"auto":92,"menu-width":(xe("numFmt"),150),"visible-count":8,title:t.unref(T)(e.locale,"numberFormat"),"fallback-label":y.value,align:"right",onChange:p[40]||(p[40]=F=>c("number-format-change",String(F)))},null,8,["model-value","options","width","menu-width","title","fallback-label"]),t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn toolbar-number-format__btn",{"toolbar-btn--disabled":!e.canIncreaseDecimals}]),title:t.unref(T)(e.locale,"nfIncreaseDecimals"),disabled:!e.canIncreaseDecimals,onClick:p[41]||(p[41]=F=>c("increase-decimals"))},[...p[78]||(p[78]=[t.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[t.createElementVNode("text",{x:"0.5",y:"16","font-size":"9","font-weight":"700","font-family":"Arial, sans-serif"},".00"),t.createElementVNode("path",{d:"M19 5.5l4.2 5.2h-2.7v7.8h-3v-7.8h-2.7z"})],-1)])],10,Ra),t.createElementVNode("button",{class:t.normalizeClass(["toolbar-btn toolbar-number-format__btn",{"toolbar-btn--disabled":!e.canDecreaseDecimals}]),title:t.unref(T)(e.locale,"nfDecreaseDecimals"),disabled:!e.canDecreaseDecimals,onClick:p[42]||(p[42]=F=>c("decrease-decimals"))},[...p[79]||(p[79]=[t.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[t.createElementVNode("text",{x:"0.5",y:"16","font-size":"9","font-weight":"700","font-family":"Arial, sans-serif"},".00"),t.createElementVNode("path",{d:"M19 18.5l-4.2-5.2h2.7V5.5h3v7.8h2.7z"})],-1)])],10,Ma)])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("sep7"),to:we.value},[p[80]||(p[80]=t.createElementVNode("div",{class:"tb-item","data-key":"sep7"},[t.createElementVNode("div",{class:"toolbar-sep"})],-1))],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("calc"),to:we.value},[t.createElementVNode("div",xa,[t.createElementVNode("div",Ba,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:t.unref(T)(e.locale,"sum"),disabled:!e.hasSelection||e.isSingleCell,onClick:p[43]||(p[43]=F=>c("calc-sum"))},[...p[81]||(p[81]=[t.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[t.createElementVNode("path",{d:"M19 3H5l7 9-7 9h14v-2H8l5.5-7L8 5h11z"})],-1)])],8,Da),t.createElementVNode("button",{ref_key:"calcArrowRef",ref:le,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"calculate"),disabled:!e.hasSelection,onClick:p[44]||(p[44]=F=>c("update:calc-menu-open",!e.calcMenuOpen))},[...p[82]||(p[82]=[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,Ta),t.createVNode(xr,{"model-open":e.calcMenuOpen,locale:e.locale,"trigger-el":le.value,disabled:e.isSingleCell,"onUpdate:modelOpen":p[45]||(p[45]=F=>c("update:calc-menu-open",F)),onChange:p[46]||(p[46]=F=>c(`calc-${F}`))},null,8,["model-open","locale","trigger-el","disabled"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("sort"),to:we.value},[t.createElementVNode("div",Na,[t.createElementVNode("div",Ia,[t.createElementVNode("button",{class:"toolbar-btn toolbar-split__main",title:e.cachedSortOrder==="asc"?t.unref(T)(e.locale,"sortAsc"):t.unref(T)(e.locale,"sortDesc"),disabled:!e.canSort,onClick:p[47]||(p[47]=F=>c("apply-sort"))},[(t.openBlock(),t.createElementBlock("svg",Aa,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(r,F=>t.createElementVNode("line",{key:F.name,x1:F.x1,y1:F.y1,x2:F.x2,y2:F.y2},null,8,Va)),64)),t.createElementVNode("path",{d:f[e.cachedSortOrder]},null,8,Oa)]))],8,Fa),t.createElementVNode("button",{ref_key:"sortArrowRef",ref:J,class:"toolbar-btn toolbar-split__arrow",title:t.unref(T)(e.locale,"sort"),disabled:!e.canSort,onClick:p[48]||(p[48]=F=>c("update:sort-menu-open",!e.sortMenuOpen))},[...p[83]||(p[83]=[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,Ha),t.createVNode(vr,{"model-open":e.sortMenuOpen,locale:e.locale,"current-sort":e.cachedSortOrder,"trigger-el":J.value,"onUpdate:modelOpen":p[49]||(p[49]=F=>c("update:sort-menu-open",F)),onChange:p[50]||(p[50]=F=>c("sort-change",F))},null,8,["model-open","locale","current-sort","trigger-el"])])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("freeze"),to:we.value},[t.createElementVNode("div",za,[t.createVNode(Gt,{class:"toolbar-freeze","model-value":"",options:at.value,width:xe("freeze")?"100%":44,"menu-width":xe("freeze")?120:void 0,"visible-count":4,align:"right",title:t.unref(T)(e.locale,"freezePane"),"trigger-icon":Jn,onChange:p[51]||(p[51]=F=>c("freeze-change",String(F)))},null,8,["options","width","menu-width","title"])])],8,["disabled","to"])),(t.openBlock(),t.createBlock(t.Teleport,{disabled:Te("find"),to:we.value},[t.createElementVNode("div",La,[t.createElementVNode("button",{class:"toolbar-btn",title:t.unref(T)(e.locale,"find"),onClick:ne},[...p[84]||(p[84]=[t.createElementVNode("svg",{class:"toolbar-btn__icon",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M448 128a320 320 0 0 1 251.2 516.8l171.2 171.2a32 32 0 0 1-45.2 45.2L654 689.9A320 320 0 1 1 448 128zm0 64a256 256 0 1 0 0 512 256 256 0 0 0 0-512z"})],-1)])],8,$a)])],8,["disabled","to"])),_e.value?(t.openBlock(),t.createElementBlock("button",{key:0,ref_key:"moreBtnEl",ref:d,class:t.normalizeClass(["toolbar-more",{"toolbar-more--active":he.value}]),type:"button",onClick:$},[...p[85]||(p[85]=[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)],544),(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:S,key:ie.value,class:t.normalizeClass(["overflow-menu",{"no-anim":Z.value}]),style:t.normalizeStyle(D.value),onMousedown:p[53]||(p[53]=t.withModifiers(()=>{},["prevent"]))},null,38)),[[t.vShow,he.value]])]),_:1})]))],64))}}),[["__scopeId","data-v-a97a071a"]]),Ya=["title"],Xa={class:"tab-list"},ja=["onClick","onDblclick","onContextmenu"],Za=["value"],qa={key:1,class:"tab-item__name"},Ja=["title"],Qa=["disabled"],ei=["title","onClick"],ti={class:"tab-list-menu__name"},oi=["title","disabled","onClick"],ni=["disabled"],li=8,ri=Zt(t.defineComponent({__name:"tabbar",props:{locale:{},sheets:{},activeSheetIndex:{},renTab:{},renTabVal:{}},emits:["tab-click","tab-dblclick","delete-sheet","tab-contextmenu","tab-rename-input","tab-rename-keydown","tab-rename-commit","add-sheet","tabbar-contextmenu"],setup(e,{emit:l}){const n=e,o=l,a=t.ref(null),i=t.ref(!1),r=t.ref(0),f=t.ref({left:0,bottom:0}),m=t.ref(null),h=t.computed(()=>Math.min(li,n.sheets.length)),S=t.computed(()=>n.sheets.slice(r.value,r.value+h.value)),d=t.computed(()=>r.value>0),k=t.computed(()=>r.value+h.value<n.sheets.length),v=t.computed(()=>n.sheets.length>h.value),E=t.computed(()=>n.sheets.length>1);t.watch(()=>n.sheets.length,()=>{if(!i.value)return;const Ve=Math.max(0,n.sheets.length-h.value);r.value>Ve&&(r.value=Ve)});function J(Ve){r.value=Math.max(0,Math.min(n.sheets.length-h.value,r.value+Ve))}function j(){if(i.value){i.value=!1;return}const Ve=a.value;if(!Ve)return;const ke=Ve.getBoundingClientRect();f.value={left:ke.left,bottom:window.innerHeight-ke.top+4};const Be=n.activeSheetIndex;r.value=Be>=0?Math.max(0,Math.min(Be-Math.floor(h.value/2),n.sheets.length-h.value)):0,i.value=!0}function le(Ve){o("tab-click",Ve),i.value=!1}function L(Ve){E.value&&o("delete-sheet",Ve)}function g(Ve){var Xe;if(!i.value)return;const ke=Ve.target;if((Xe=a.value)!=null&&Xe.contains(ke))return;const Be=document.querySelector(".tab-list-menu");Be!=null&&Be.contains(ke)||(i.value=!1)}function he(Ve){i.value&&Ve.key==="Escape"&&(i.value=!1)}function Z(Ve){i.value&&(Ve.preventDefault(),J(Ve.deltaY>0?1:-1))}function ie(){i.value=!1}function De(Ve){!i.value||Ve.target===m.value||ie()}const _e=t.ref(0),xe=t.ref(!1);function we(Ve){i.value&&(_e.value=Ve.touches[0].clientY,xe.value=!0)}function Te(Ve){if(!i.value||!xe.value)return;const ke=Ve.touches[0].clientY-_e.value;Math.abs(ke)>5&&(J(ke<0?1:-1),_e.value=Ve.touches[0].clientY)}function et(){xe.value=!1}return t.watch(i,Ve=>{t.nextTick(()=>{var ke,Be;Ve?(ke=m.value)==null||ke.addEventListener("wheel",Z,{passive:!1}):(Be=m.value)==null||Be.removeEventListener("wheel",Z)})}),t.onMounted(()=>{document.addEventListener("pointerdown",g),document.addEventListener("keydown",he),window.addEventListener("resize",ie),window.addEventListener("scroll",De,!0)}),t.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",g),document.removeEventListener("keydown",he),window.removeEventListener("resize",ie),window.removeEventListener("scroll",De,!0)}),(Ve,ke)=>(t.openBlock(),t.createElementBlock("div",{class:"tab-bar",onContextmenu:ke[8]||(ke[8]=Be=>o("tabbar-contextmenu",Be))},[t.createElementVNode("button",{ref_key:"listBtnRef",ref:a,class:t.normalizeClass(["tab-bar__list-btn",{"tab-bar__list-btn--active":i.value}]),type:"button",title:t.unref(T)(e.locale,"sheetList"),onClick:j},[...ke[9]||(ke[9]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M128 256h768a32 32 0 0 0 0-64H128a32 32 0 0 0 0 64z m0 256h768a32 32 0 0 0 0-64H128a32 32 0 0 0 0 64z m0 256h768a32 32 0 0 0 0-64H128a32 32 0 0 0 0 64z"})],-1)])],10,Ya),t.createElementVNode("div",Xa,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.sheets,(Be,Xe)=>(t.openBlock(),t.createElementBlock("div",{key:Be.id,class:t.normalizeClass(["tab-item",{"tab-item--active":Xe===e.activeSheetIndex}]),onClick:Ge=>o("tab-click",Xe),onDblclick:t.withModifiers(Ge=>o("tab-dblclick",Xe),["prevent"]),onContextmenu:Ge=>o("tab-contextmenu",{ev:Ge,i:Xe})},[e.renTab===Xe?(t.openBlock(),t.createElementBlock("input",{key:0,class:"tab-rename-input",value:e.renTabVal,onInput:ke[0]||(ke[0]=Ge=>o("tab-rename-input",Ge.target.value)),onKeydown:ke[1]||(ke[1]=Ge=>o("tab-rename-keydown",Ge)),onBlur:ke[2]||(ke[2]=Ge=>o("tab-rename-commit")),onClick:ke[3]||(ke[3]=t.withModifiers(()=>{},["stop"]))},null,40,Za)):(t.openBlock(),t.createElementBlock("span",qa,t.toDisplayString(Be.name),1))],42,ja))),128))]),t.createElementVNode("button",{class:"tab-bar__add-btn",title:t.unref(T)(e.locale,"addSheet"),onClick:ke[4]||(ke[4]=Be=>o("add-sheet"))}," + ",8,Ja),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[i.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"tab-list-menu",style:t.normalizeStyle({left:f.value.left+"px",bottom:f.value.bottom+"px"}),onMousedown:ke[7]||(ke[7]=t.withModifiers(()=>{},["prevent"]))},[v.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["tab-list-menu__nav",{"tab-list-menu__nav--disabled":!d.value}]),disabled:!d.value,onClick:ke[5]||(ke[5]=Be=>J(-1))},[...ke[10]||(ke[10]=[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,Qa)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"listRef",ref:m,class:"tab-list-menu__list",onTouchstart:we,onTouchmove:Te,onTouchend:et},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(S.value,Be=>(t.openBlock(),t.createElementBlock("div",{key:Be.id,class:t.normalizeClass(["tab-list-menu__item",{"tab-list-menu__item--active":e.sheets.indexOf(Be)===e.activeSheetIndex}]),title:Be.name,onClick:Xe=>le(e.sheets.indexOf(Be))},[t.createElementVNode("span",ti,t.toDisplayString(Be.name),1),t.createElementVNode("button",{type:"button",class:"tab-list-menu__del",title:t.unref(T)(e.locale,"delete"),disabled:!E.value,onClick:t.withModifiers(Xe=>L(e.sheets.indexOf(Be)),["stop"])},[...ke[11]||(ke[11]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M571.733333 512l288.533334-288.533333c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0L512 452.266667 223.466667 164.266667c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733333L452.266667 512 164.266667 800c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 19.2 12.8 29.866666 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8L512 571.733333l288.533333 288.533334c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8 17.066667-17.066667 17.066667-42.666667 0-59.733334L571.733333 512z"})],-1)])],8,oi)],10,ei))),128))],544),v.value?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:t.normalizeClass(["tab-list-menu__nav",{"tab-list-menu__nav--disabled":!k.value}]),disabled:!k.value,onClick:ke[6]||(ke[6]=Be=>J(1))},[...ke[12]||(ke[12]=[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,ni)):t.createCommentVNode("",!0)],36)):t.createCommentVNode("",!0)]),_:1})]))],32))}}),[["__scopeId","data-v-ec10bade"]]),ai=["placeholder","value"],ii=["placeholder","value"],ci={class:"find-bar__chk"},si=["checked"],di={class:"find-bar__chk"},ui=["checked"],fi={class:"find-bar__count"},mi=["title","disabled"],pi=["title","disabled"],hi=["disabled"],gi=["disabled"],yi=["title"],bi=Zt(t.defineComponent({__name:"find-replace-bar",props:{open:{type:Boolean},findText:{},replaceText:{},scope:{},matchCase:{type:Boolean},matchEntireCell:{type:Boolean},currentIndex:{},total:{},message:{},focusToken:{},locale:{},themeVars:{}},emits:["update:findText","update:replaceText","update:scope","update:matchCase","update:matchEntireCell","prev","next","replace","replace-all","close"],setup(e,{emit:l}){const n=e,o=l,a=t.ref(null),i=t.computed(()=>n.total>0?`${n.currentIndex+1}/${n.total}`:n.message||""),r=t.computed(()=>[{label:T(n.locale,"scopeSheet"),value:"sheet"},{label:T(n.locale,"scopeWorkbook"),value:"workbook"},{label:T(n.locale,"scopeSelection"),value:"selection"}]);t.watch(()=>n.focusToken,()=>{t.nextTick(()=>{var m;return(m=a.value)==null?void 0:m.focus()})});function f(m){m.key==="Enter"?(m.preventDefault(),m.shiftKey?o("prev"):o("next")):m.key==="Escape"&&(m.preventDefault(),o("close"))}return(m,h)=>e.open?(t.openBlock(),t.createElementBlock("div",{key:0,class:"find-bar",style:t.normalizeStyle(e.themeVars)},[t.createElementVNode("input",{ref_key:"findInputRef",ref:a,class:"find-bar__input",placeholder:t.unref(T)(e.locale,"findPlaceholder"),value:e.findText,onInput:h[0]||(h[0]=S=>o("update:findText",S.target.value)),onKeydown:f},null,40,ai),t.createElementVNode("input",{class:"find-bar__input",placeholder:t.unref(T)(e.locale,"replacePlaceholder"),value:e.replaceText,onInput:h[1]||(h[1]=S=>o("update:replaceText",S.target.value)),onKeydown:f},null,40,ii),t.createVNode(Gt,{class:"find-bar__dropdown","model-value":e.scope,options:r.value,title:t.unref(T)(e.locale,"findScope"),"onUpdate:modelValue":h[2]||(h[2]=S=>m.$emit("update:scope",S))},null,8,["model-value","options","title"]),t.createElementVNode("label",ci,[t.createElementVNode("input",{class:"find-bar__chk-input",type:"checkbox",checked:e.matchCase,onChange:h[3]||(h[3]=S=>o("update:matchCase",S.target.checked))},null,40,si),h[10]||(h[10]=t.createElementVNode("span",{class:"find-bar__chk-box"},[t.createElementVNode("svg",{class:"find-bar__chk-tick",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M405 697L195 487l58-58 152 152 304-304 58 58z"})])],-1)),t.createTextVNode(t.toDisplayString(t.unref(T)(e.locale,"matchCase")),1)]),t.createElementVNode("label",di,[t.createElementVNode("input",{class:"find-bar__chk-input",type:"checkbox",checked:e.matchEntireCell,onChange:h[4]||(h[4]=S=>o("update:matchEntireCell",S.target.checked))},null,40,ui),h[11]||(h[11]=t.createElementVNode("span",{class:"find-bar__chk-box"},[t.createElementVNode("svg",{class:"find-bar__chk-tick",viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M405 697L195 487l58-58 152 152 304-304 58 58z"})])],-1)),t.createTextVNode(t.toDisplayString(t.unref(T)(e.locale,"matchEntireCell")),1)]),t.createElementVNode("span",fi,t.toDisplayString(i.value),1),t.createElementVNode("button",{class:"find-bar__btn find-bar__btn--icon",title:t.unref(T)(e.locale,"findPrev"),disabled:e.total===0,onClick:h[5]||(h[5]=S=>o("prev"))},[...h[12]||(h[12]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M512 320a32 32 0 0 1 45.254 0l288 288a32 32 0 0 1-45.254 45.254L512 410.51 214.254 653.254A32 32 0 0 1 169 608l288-288z"})],-1)])],8,mi),t.createElementVNode("button",{class:"find-bar__btn find-bar__btn--icon",title:t.unref(T)(e.locale,"findNext"),disabled:e.total===0,onClick:h[6]||(h[6]=S=>o("next"))},[...h[13]||(h[13]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M512 704a32 32 0 0 1-45.254 0l-288-288A32 32 0 0 1 214.254 370.746L512 613.49 809.746 370.746A32 32 0 0 1 855 416l-288 288z"})],-1)])],8,pi),t.createElementVNode("button",{class:"find-bar__btn find-bar__btn--text",disabled:e.total===0,onClick:h[7]||(h[7]=S=>o("replace"))},t.toDisplayString(t.unref(T)(e.locale,"replace")),9,hi),t.createElementVNode("button",{class:"find-bar__btn find-bar__btn--text",disabled:e.total===0,onClick:h[8]||(h[8]=S=>o("replace-all"))},t.toDisplayString(t.unref(T)(e.locale,"replaceAll")),9,gi),t.createElementVNode("button",{class:"find-bar__btn find-bar__btn--close",title:t.unref(T)(e.locale,"findClose"),onClick:h[9]||(h[9]=S=>o("close"))},[...h[14]||(h[14]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M571.733333 512l288.533334-288.533333c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0L512 452.266667 223.466667 164.266667c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733333L452.266667 512 164.266667 800c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 19.2 12.8 29.866666 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8L512 571.733333l288.533333 288.533334c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8 17.066667-17.066667 17.066667-42.666667 0-59.733334L571.733333 512z"})],-1)])],8,yi)],4)):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-3120909b"]]),Ci={class:"nf-dialog__header"},vi={class:"nf-dialog__title"},wi={class:"nf-dialog__body"},ki={class:"nf-field"},Ei={class:"nf-field__label"},Si={key:0,class:"nf-field"},Ri={class:"nf-field__label"},Mi={key:1,class:"nf-field nf-field--inline"},xi={class:"nf-checkbox"},Bi={key:2,class:"nf-field"},Di={class:"nf-field__label"},Ti={key:3,class:"nf-field"},Ni={class:"nf-field__label"},Ii={key:4,class:"nf-field"},Fi={class:"nf-field__label"},Ai={key:5,class:"nf-field"},Vi={class:"nf-field__label"},Oi={key:6,class:"nf-field"},Hi={class:"nf-field__label"},zi={class:"nf-field"},Li={class:"nf-field__label"},$i={class:"nf-dialog__footer"},_i={class:"nf-preview"},Wi={class:"nf-preview__label"},Pi={class:"nf-preview__value"},Ki={class:"nf-dialog__actions"},Ui=Zt(t.defineComponent({__name:"numberFormatDialog",props:{modelOpen:{type:Boolean,default:!1},locale:{default:"zh-CN"},currentFormat:{default:""},isCustom:{type:Boolean,default:!1},sampleValue:{default:"1234.5"}},emits:["update:modelOpen","apply"],setup(e,{emit:l}){const n=e,o=l,a=t.ref(!1),i=t.ref("general"),r=t.ref(2),f=t.ref(!1),m=t.ref("$"),h=t.ref("m/d/yyyy"),S=t.ref("h:mm:ss"),d=t.ref("m/d/yyyy h:mm:ss"),k=t.ref("[h]:mm:ss"),v=t.ref(""),E=t.ref(null),J=[{label:"¥",value:"¥"},{label:"$",value:"$"},{label:"€",value:"€"},{label:"£",value:"£"}],j=['yyyy"年"m"月"d"日"',"yyyy-mm-dd","yyyy/m/d",'m"月"d"日"'],le=["m/d/yyyy","mm/dd/yyyy","d-mmm-yyyy","mmmm d, yyyy"],L=['yyyy"年"m"月"d"日" h:mm:ss','yyyy"年"m"月"d"日" hh:mm',"yyyy-mm-dd hh:mm:ss","yyyy/m/d h:mm"],g=["m/d/yyyy h:mm:ss","m/d/yyyy hh:mm","mm/dd/yyyy h:mm AM/PM","d-mmm-yyyy hh:mm:ss"],he=t.computed(()=>n.locale==="zh-CN"?[...j,...le]:[...le,...j]),Z=["h:mm:ss","h:mm","hh:mm:ss","h:mm AM/PM",'hh"时"mm"分"ss"秒"',"H:mm:ss"],ie=t.computed(()=>n.locale==="zh-CN"?[...L,...g]:[...g,...L]),De=["[h]:mm:ss","[h]:mm","mm:ss",'[h]"小时"mm"分"ss"秒"',"[h]:mm:ss.00",'d"天"h:mm:ss'],_e={general:"nfGeneral",text:"nfText",number:"nfNumber",percent:"nfPercent",scientific:"nfScientific",accounting:"nfAccounting",financial:"nfFinancial",currency:"nfCurrency",currencyRounded:"nfCurrencyRounded",date:"nfDate",time:"nfTime",dateTime:"nfDateTime",duration:"nfDuration",custom:"nfCatCustom"},xe=t.computed(()=>Pl.map(ce=>({label:T(n.locale,_e[ce]),value:ce}))),we=J.map(ce=>({label:ce.label,value:ce.value})),Te=t.computed(()=>he.value.map(ce=>({label:ce,value:ce}))),et=Z.map(ce=>({label:ce,value:ce})),Ve=t.computed(()=>ie.value.map(ce=>({label:ce,value:ce}))),ke=De.map(ce=>({label:ce,value:ce})),Be=t.computed(()=>["number","currency","currencyRounded","accounting","financial"].includes(i.value)),Xe=t.computed(()=>["currency","currencyRounded","accounting"].includes(i.value)),Ge=t.computed(()=>i.value==="date"),oe=t.computed(()=>i.value==="time"),ge=t.computed(()=>i.value==="dateTime"),u=t.computed(()=>i.value==="duration"),D=t.computed(()=>["number","currency","accounting","financial","percent","scientific"].includes(i.value));function I(){if(i.value==="general")return So;if(i.value==="text")return oo;if(i.value==="custom")return v.value;if(i.value==="date")return h.value;if(i.value==="time")return S.value;if(i.value==="dateTime")return d.value;if(i.value==="duration")return k.value;const ce=Math.max(0,Math.min(30,r.value));return i.value==="currency"||i.value==="currencyRounded"||i.value==="accounting"?G(i.value,ce,f.value,m.value):ql(n.locale,i.value,ce,f.value)}function G(ce,We,Je,gt){const kt=Je?"#,##0":"0";if(ce==="currencyRounded")return gt+kt;const Vt=We>0?"."+"0".repeat(We):"",Ht=kt+Vt;return ce==="currency"?gt+Ht:`${gt}${Ht};(${gt}${Ht});${gt}"-"`}function $(ce){if(v.value=ce,no(ce)){i.value="general";return}if(ce==="@"){i.value="text";return}const We=ce.replace(/\[[^\]]*\]/gi,Vt=>/\[h\]/i.test(Vt)?Vt:"");if(/\[h\]/i.test(We)&&!/[yd]/i.test(We)){i.value="duration",De.includes(ce)&&(k.value=ce);return}const Je=/[yd]/i.test(We),gt=/h|s|AM\/PM/i.test(We);if(Je&>){i.value="dateTime",ie.value.includes(ce)&&(d.value=ce);return}if(Je||/AM\/PM/i.test(We)){gt&&!Je?(i.value="time",Z.includes(ce)&&(S.value=ce)):(i.value="date",he.value.includes(ce)&&(h.value=ce));return}if(ce.includes("%")){i.value="percent",r.value=ne(ce);return}if(/E[+-]/i.test(ce)){i.value="scientific",r.value=ne(ce);return}const kt=J.find(Vt=>ce.startsWith(Vt.value));if(ce.includes("[Red](")){i.value="financial",f.value=ce.includes(","),r.value=ne(ce);return}if(kt){ce.includes("(")?(i.value="accounting",m.value=kt.value,f.value=ce.includes(","),r.value=ne(ce)):/\.\d/.test(ce.slice(kt.value.length))?(i.value="currency",m.value=kt.value,f.value=ce.includes(","),r.value=ne(ce)):(i.value="currencyRounded",m.value=kt.value,f.value=ce.includes(","));return}i.value="number",f.value=ce.includes(","),r.value=ne(ce)}function ne(ce){const We=ce.match(/\.([0#?]+)/);return We?We[1].length:0}function H(){i.value!=="custom"&&(v.value=I())}function c(){}function y(){h.value=he.value[0],S.value=Z[0],d.value=ie.value[0],k.value=De[0]}function at(){a.value=!0,n.modelOpen!==void 0&&o("update:modelOpen",!0),y(),$(n.currentFormat??""),n.isCustom&&(i.value="custom"),t.nextTick(()=>{var ce;return(ce=E.value)==null?void 0:ce.focus()})}function ee(){a.value=!1,n.modelOpen!==void 0&&o("update:modelOpen",!1)}function p(){o("apply",v.value),ee()}function F(){ee()}function Ue(ce){ce.key==="Escape"&&ee()}t.watch(()=>n.modelOpen,ce=>{ce&&!a.value?at():!ce&&a.value&&ee()});const vt=t.computed(()=>Ho(n.sampleValue,v.value,n.locale));return(ce,We)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"nf-dialog"},{default:t.withCtx(()=>[a.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"nf-dialog__mask",onMousedown:F,onKeydown:Ue},[t.createElementVNode("div",{class:t.normalizeClass(["nf-dialog",{"nf-dialog--zh":e.locale==="zh-CN"}]),onMousedown:We[9]||(We[9]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",Ci,[t.createElementVNode("span",vi,t.toDisplayString(t.unref(T)(e.locale,"nfDialogTitle")),1),t.createElementVNode("button",{class:"nf-dialog__close",type:"button",onClick:ee},[...We[10]||(We[10]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M571.733333 512l288.533334-288.533333c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0L512 452.266667 223.466667 164.266667c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733333L452.266667 512 164.266667 800c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 19.2 12.8 29.866666 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8L512 571.733333l288.533333 288.533334c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8 17.066667-17.066667 17.066667-42.666667 0-59.733334L571.733333 512z"})],-1)])])]),t.createElementVNode("div",wi,[t.createElementVNode("div",ki,[t.createElementVNode("label",Ei,t.toDisplayString(t.unref(T)(e.locale,"nfCategory")),1),t.createVNode(Gt,{class:"nf-field__dropdown","model-value":i.value,options:xe.value,"onUpdate:modelValue":We[0]||(We[0]=Je=>i.value=Je),onChange:H},null,8,["model-value","options"])]),D.value?(t.openBlock(),t.createElementBlock("div",Si,[t.createElementVNode("label",Ri,t.toDisplayString(t.unref(T)(e.locale,"nfDecimals")),1),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":We[1]||(We[1]=Je=>r.value=Je),class:"nf-field__input",type:"number",min:"0",max:"30",onInput:H},null,544),[[t.vModelText,r.value,void 0,{number:!0}]])])):t.createCommentVNode("",!0),Be.value?(t.openBlock(),t.createElementBlock("div",Mi,[t.createElementVNode("label",xi,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":We[2]||(We[2]=Je=>f.value=Je),type:"checkbox",onChange:H},null,544),[[t.vModelCheckbox,f.value]]),t.createElementVNode("span",null,t.toDisplayString(t.unref(T)(e.locale,"nfThousands")),1)])])):t.createCommentVNode("",!0),Xe.value?(t.openBlock(),t.createElementBlock("div",Bi,[t.createElementVNode("label",Di,t.toDisplayString(t.unref(T)(e.locale,"nfSymbol")),1),t.createVNode(Gt,{class:"nf-field__dropdown","model-value":m.value,options:t.unref(we),"onUpdate:modelValue":We[3]||(We[3]=Je=>m.value=Je),onChange:H},null,8,["model-value","options"])])):t.createCommentVNode("",!0),Ge.value?(t.openBlock(),t.createElementBlock("div",Ti,[t.createElementVNode("label",Ni,t.toDisplayString(t.unref(T)(e.locale,"nfDateFormat")),1),t.createVNode(Gt,{class:"nf-field__dropdown","model-value":h.value,options:Te.value,"onUpdate:modelValue":We[4]||(We[4]=Je=>h.value=Je),onChange:H},null,8,["model-value","options"])])):t.createCommentVNode("",!0),oe.value?(t.openBlock(),t.createElementBlock("div",Ii,[t.createElementVNode("label",Fi,t.toDisplayString(t.unref(T)(e.locale,"nfTimeFormat")),1),t.createVNode(Gt,{class:"nf-field__dropdown","model-value":S.value,options:t.unref(et),"onUpdate:modelValue":We[5]||(We[5]=Je=>S.value=Je),onChange:H},null,8,["model-value","options"])])):t.createCommentVNode("",!0),ge.value?(t.openBlock(),t.createElementBlock("div",Ai,[t.createElementVNode("label",Vi,t.toDisplayString(t.unref(T)(e.locale,"nfDateTime")),1),t.createVNode(Gt,{class:"nf-field__dropdown","model-value":d.value,options:Ve.value,"onUpdate:modelValue":We[6]||(We[6]=Je=>d.value=Je),onChange:H},null,8,["model-value","options"])])):t.createCommentVNode("",!0),u.value?(t.openBlock(),t.createElementBlock("div",Oi,[t.createElementVNode("label",Hi,t.toDisplayString(t.unref(T)(e.locale,"nfDuration")),1),t.createVNode(Gt,{class:"nf-field__dropdown","model-value":k.value,options:t.unref(ke),"onUpdate:modelValue":We[7]||(We[7]=Je=>k.value=Je),onChange:H},null,8,["model-value","options"])])):t.createCommentVNode("",!0),t.createElementVNode("div",zi,[t.createElementVNode("label",Li,t.toDisplayString(t.unref(T)(e.locale,"nfCustomCode")),1),t.withDirectives(t.createElementVNode("textarea",{ref_key:"customCodeRef",ref:E,"onUpdate:modelValue":We[8]||(We[8]=Je=>v.value=Je),class:"nf-field__textarea",rows:"2",spellcheck:"false",onInput:c},null,544),[[t.vModelText,v.value]])])]),t.createElementVNode("div",$i,[t.createElementVNode("div",_i,[t.createElementVNode("span",Wi,t.toDisplayString(t.unref(T)(e.locale,"nfPreview")),1),t.createElementVNode("span",Pi,t.toDisplayString(vt.value||"—"),1)]),t.createElementVNode("div",Ki,[t.createElementVNode("button",{class:"nf-btn nf-btn--primary",type:"button",onClick:p},t.toDisplayString(t.unref(T)(e.locale,"ok")),1),t.createElementVNode("button",{class:"nf-btn",type:"button",onClick:ee},t.toDisplayString(t.unref(T)(e.locale,"cancel")),1)])])],34)],32)):t.createCommentVNode("",!0)]),_:1})]))}}),[["__scopeId","data-v-39792a0b"]]),Gi={class:"sort-confirm__header"},Yi={class:"sort-confirm__title"},Xi={class:"sort-confirm__body"},ji={class:"sort-confirm__message"},Zi={class:"sort-confirm__options"},qi={class:"sort-confirm__option"},Ji={class:"sort-confirm__option"},Qi={class:"sort-confirm__footer"},ec=Zt(t.defineComponent({__name:"sortConfirmDialog",props:{modelOpen:{type:Boolean,default:!1},locale:{default:"zh-CN"}},emits:["update:modelOpen","confirm","cancel"],setup(e,{emit:l}){const n=e,o=l,a=t.ref(!1),i=t.ref(!0),r=t.ref(null);t.watch(()=>n.modelOpen,v=>{v&&!a.value?f():!v&&a.value&&m()});function f(){i.value=!0,a.value=!0,n.modelOpen!==void 0&&o("update:modelOpen",!0),t.nextTick(()=>{var E;const v=(E=r.value)==null?void 0:E.querySelector(".sort-confirm__btn--primary");v==null||v.focus()})}function m(){a.value=!1,n.modelOpen!==void 0&&o("update:modelOpen",!1)}function h(){k()}function S(v){v.key==="Escape"&&k()}function d(){o("confirm",i.value),m()}function k(){o("cancel"),m()}return(v,E)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"sort-confirm"},{default:t.withCtx(()=>[a.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"sort-confirm__mask",onMousedown:h,onKeydown:S},[t.createElementVNode("div",{ref_key:"dialogRef",ref:r,class:"sort-confirm",onMousedown:E[2]||(E[2]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",Gi,[t.createElementVNode("span",Yi,t.toDisplayString(t.unref(T)(e.locale,"sortReminderTitle")),1),t.createElementVNode("button",{class:"sort-confirm__close",type:"button",onClick:k},[...E[3]||(E[3]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M571.733333 512l288.533334-288.533333c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0L512 452.266667 223.466667 164.266667c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733333L452.266667 512 164.266667 800c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 19.2 12.8 29.866666 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8L512 571.733333l288.533333 288.533334c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8 17.066667-17.066667 17.066667-42.666667 0-59.733334L571.733333 512z"})],-1)])])]),t.createElementVNode("div",Xi,[t.createElementVNode("p",ji,t.toDisplayString(t.unref(T)(e.locale,"sortReminderMessage")),1),t.createElementVNode("div",Zi,[t.createElementVNode("label",qi,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":E[0]||(E[0]=J=>i.value=J),type:"radio",value:!0},null,512),[[t.vModelRadio,i.value]]),t.createElementVNode("span",null,t.toDisplayString(t.unref(T)(e.locale,"sortExpandSelection")),1)]),t.createElementVNode("label",Ji,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":E[1]||(E[1]=J=>i.value=J),type:"radio",value:!1},null,512),[[t.vModelRadio,i.value]]),t.createElementVNode("span",null,t.toDisplayString(t.unref(T)(e.locale,"sortCurrentSelection")),1)])])]),t.createElementVNode("div",Qi,[t.createElementVNode("button",{class:"sort-confirm__btn sort-confirm__btn--primary",type:"button",onClick:d},t.toDisplayString(t.unref(T)(e.locale,"sort")),1),t.createElementVNode("button",{class:"sort-confirm__btn",type:"button",onClick:k},t.toDisplayString(t.unref(T)(e.locale,"cancel")),1)])],544)],32)):t.createCommentVNode("",!0)]),_:1})]))}}),[["__scopeId","data-v-d26d5917"]]);function pt(e){let l="",n=e;do l=String.fromCharCode(65+n%26)+l,n=Math.floor(n/26)-1;while(n>=0);return l}function Nn(e){let l=0;for(let n=0;n<e.length;n++)l=l*26+(e.toUpperCase().charCodeAt(n)-64);return l-1}function jo(e){if(e==null)return null;if(typeof e=="number")return e;if(typeof e=="string"){const l=parseFloat(e);return e.endsWith("%")||isNaN(l)?null:l}return null}function In(e){navigator.clipboard.writeText(e).catch(()=>{const l=document.createElement("textarea");l.value=e,l.style.position="fixed",l.style.opacity="0",document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l)})}function on(e,l){return`${e},${l}`}function dn(e,l,n){const o=e.match(/^\$?([A-Z]+)\$?(\d+)$/i);if(!o)return null;const a=Nn(o[1]),i=parseInt(o[2],10)-1;return a<0||a>=l||i<0||i>=n?null:{col:a,row:i}}function Zo(e,l){if(!l)return{x:0,y:0};const n=l.getBoundingClientRect();return{x:e.clientX-n.left,y:e.clientY-n.top}}const Qn=[{name:"SUM",snippet:"SUM(A1:A10)"},{name:"AVERAGE",snippet:"AVERAGE(A1:A10)"},{name:"COUNT",snippet:"COUNT(A1:A10)"},{name:"IF",snippet:"IF(A1>0, B1, C1)"},{name:"VLOOKUP",snippet:"VLOOKUP(A1, B1:C10, 2, FALSE)"},{name:"CONCATENATE",snippet:"CONCATENATE(A1, B1)"},{name:"MAX",snippet:"MAX(A1:A10)"},{name:"MIN",snippet:"MIN(A1:A10)"},{name:"SIN",snippet:"SIN(A1)"},{name:"SUMIF",snippet:'SUMIF(A1:A10, ">0", B1:B10)'},{name:"PMT",snippet:"PMT(0.05/12, 360, 100000)"},{name:"STDEV",snippet:"STDEV(A1:A10)"}],tc={SUM:{min:1,max:1},AVERAGE:{min:1,max:1},COUNT:{min:1,max:1},IF:{min:3,max:3},VLOOKUP:{min:3,max:4},CONCATENATE:{min:1,max:1/0},MAX:{min:1,max:1},MIN:{min:1,max:1},SIN:{min:1,max:1},SUMIF:{min:2,max:3},PMT:{min:3,max:5},STDEV:{min:1,max:1}};function oc(e){let l=0,n=null;for(let o=0;o<e.length;o++){const a=e[o];if(n){a===n&&(e[o+1]===n?o++:n=null);continue}if(a==='"'||a==="'"){n=a;continue}if(a==="(")l++;else if(a===")"&&(l--,l<0))return!1}return l===0}function nc(e){const l=e.trim();if(!l.startsWith("="))return{ok:!1,name:null};const n=/^([A-Za-z_][A-Za-z0-9_]*)\s*\(([\s\S]*)\)$/.exec(l.slice(1).trim());if(!n)return{ok:!1,name:null};const o=n[1].toUpperCase(),a=tc[o];if(!a)return{ok:!1,name:o};const i=n[2];if(!oc(i))return{ok:!1,name:o};const r=qo(i),f=r.length===1&&r[0].trim()===""?0:r.length;return f<a.min||f>a.max?{ok:!1,name:o}:r.some(m=>m.trim()==="")?{ok:!1,name:o}:{ok:!0,name:o}}function nn(e,l,n){const o=e.split(":");if(o.length!==2)return null;const a=dn(o[0],l,n),i=dn(o[1],l,n);return!a||!i?null:{sc:Math.min(a.col,i.col),sr:Math.min(a.row,i.row),ec:Math.max(a.col,i.col),er:Math.max(a.row,i.row)}}function el(e){const l=e.trim();if(l==="")return"";const n=Number(l);return!isNaN(n)&&/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(l)?n:e}function go(e,l,n,o,a){const i=n[on(e,l)];if(!i)return"";const r=i.value;return r.startsWith("=")?ol(on(e,l),n,o,a):el(r)}function tl(e,l,n,o,a){const i=go(e,l,n,o,a);if(i===null)return 0;if(typeof i=="number")return i;const r=parseFloat(String(i));return isNaN(r)?0:r}const un=new Map,yn=new Set;function bn(){un.clear(),yn.clear()}function ol(e,l,n,o){return lc(e,l,n,o,0)}function lc(e,l,n,o,a){if(yn.has(e))return null;if(un.has(e))return un.get(e);yn.add(e);const i=l[e];let r;if(!i)r=null;else{const f=i.value;if(!f.startsWith("="))r=el(f);else{const m=f.slice(1).trim(),h=/^([A-Za-z_][A-Za-z0-9_]*)\s*\(([\s\S]*)\)$/.exec(m);r=h?al(h[1].toUpperCase(),h[2],l,n,o,a+1):_t(m,l,n,o,a+1)}}return yn.delete(e),un.set(e,r),r}function Fn(e){return e===null||e===""?!1:typeof e=="number"?e!==0:!0}function nl(e,l){return typeof e=="number"&&typeof l=="number"?e===l:String(e??"")===String(l??"")}function ll(e,l,n){let o;if(typeof e=="number"&&typeof l=="number")o=e<l?-1:e>l?1:0;else{const a=String(e??""),i=String(l??"");o=a<i?-1:a>i?1:0}switch(n){case"=":return o===0;case"<>":return o!==0;case"<":return o<0;case">":return o>0;case"<=":return o<=0;case">=":return o>=0}return!1}function rl(e,l,n,o){const a=e.trim();if(a.length>=2&&(a[0]==='"'&&a[a.length-1]==='"'||a[0]==="'"&&a[a.length-1]==="'"))return a.slice(1,-1);const i=Number(a);return!isNaN(i)&&/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(a)?i:a}function rc(e,l,n,o,a,i){let f=l.trim();f.length>=2&&(f[0]==='"'&&f[f.length-1]==='"'||f[0]==="'"&&f[f.length-1]==="'")&&(f=f.slice(1,-1));const m=/^([<>=]+)([\s\S]*)$/.exec(f);if(m){const S=m[1],d=rl(m[2]);return ll(e,d,S)}const h=rl(f);return nl(e,h)}function ac(e,l,n,o,a){const i=e.trim(),r=["<=",">=","<>"];let f=null,m=-1,h=null,S=0;for(let k=0;k<i.length;k++){const v=i[k];if(h){v===h&&(i[k+1]===h?k++:h=null);continue}if(v==='"'||v==="'"){h=v;continue}if(v==="("&&S++,v===")"&&S--,S===0&&(v==="<"||v===">"||v==="=")){const E=i.slice(k,k+2);f=r.includes(E)?E:v,m=k;break}}if(f&&m>=0){const k=i.slice(0,m).trim(),v=i.slice(m+f.length).trim(),E=_t(k,l,n,o,a),J=_t(v,l,n,o,a);return ll(E,J,f)}const d=_t(i,l,n,o,a);return Fn(d)}function qo(e){const l=[];let n=0,o=null,a="";for(let i=0;i<e.length;i++){const r=e[i];if(o){a+=r,r===o&&(e[i+1]===o?(i++,a+=o):o=null);continue}if(r==='"'||r==="'"){o=r,a+=r;continue}if(r==="("&&n++,r===")"&&n--,r===","&&n===0){l.push(a),a="";continue}a+=r}return l.push(a),l}function _t(e,l,n,o,a){if(a>20)return null;const i=e.trim();if(i==="")return null;const r=i.toUpperCase();if(r==="TRUE")return 1;if(r==="FALSE")return 0;const f=ic(i);if(f.length===0)return null;let m=0;const h=()=>{let v=S();for(;m<f.length;){const E=f[m];if(E.type==="op"&&(E.val==="+"||E.val==="-"))m++,v=An(v,S(),E.val);else break}return v},S=()=>{let v=d();for(;m<f.length;){const E=f[m];if(E.type==="op"&&(E.val==="*"||E.val==="/"))m++,v=An(v,d(),E.val);else break}return v},d=()=>{const v=f[m];return v&&v.type==="op"&&v.val==="-"?(m++,An(0,d(),"-")):v&&v.type==="op"&&v.val==="+"?(m++,d()):k()},k=()=>{const v=f[m];if(!v)return null;if(v.type==="num")return m++,Number(v.val);if(v.type==="str")return m++,v.val;if(v.type==="lp"){m++;const E=h();return f[m]&&f[m].type==="rp"&&m++,E}if(v.type==="ref"){m++;const E=dn(v.val,n,o);return E?go(E.col,E.row,l,n,o):null}if(v.type==="func"){const E=v.val.toUpperCase();if(m++,f[m]&&f[m].type==="lp"){const J=f[m];let j=0,le=null,L=m;for(;L<f.length;L++)if(f[L].type==="lp")j++;else if(f[L].type==="rp"&&(j--,j===0)){le=f[L];break}if(le){const g=i.slice(J.start+1,le.start);return m=L+1,al(E,g,l,n,o,a+1)}}return null}return m++,null};return h()}function ic(e){const l=[];let n=0;for(;n<e.length;){const o=e[n];if(/\s/.test(o)){n++;continue}if(o==='"'||o==="'"){const a=o,i=n;n++;let r="";for(;n<e.length;){if(e[n]===a){if(e[n+1]===a){r+=a,n+=2;continue}n++;break}r+=e[n],n++}l.push({type:"str",val:r,start:i});continue}if(/[0-9]/.test(o)||o==="."){const a=n;let i="";for(o==="."&&(i+=".",n++);n<e.length&&/[0-9]/.test(e[n]);)i+=e[n],n++;if(e[n]===".")for(i+=".",n++;n<e.length&&/[0-9]/.test(e[n]);)i+=e[n],n++;if(e[n]==="e"||e[n]==="E")for(i+=e[n],n++,(e[n]==="+"||e[n]==="-")&&(i+=e[n],n++);n<e.length&&/[0-9]/.test(e[n]);)i+=e[n],n++;l.push({type:"num",val:i,start:a});continue}if(/[A-Za-z_]/.test(o)){const a=n;let i="";for(;n<e.length&&/[A-Za-z0-9_]/.test(e[n]);)i+=e[n],n++;e[n]==="("?l.push({type:"func",val:i,start:a}):l.push({type:"ref",val:i,start:a});continue}if(o==="("){l.push({type:"lp",val:o,start:n}),n++;continue}if(o===")"){l.push({type:"rp",val:o,start:n}),n++;continue}if(o===","){l.push({type:"comma",val:o,start:n}),n++;continue}if(o==="+"||o==="-"||o==="*"||o==="/"){l.push({type:"op",val:o,start:n}),n++;continue}n++}return l}function An(e,l,n){if(typeof e!="number"||typeof l!="number")return null;switch(n){case"+":return e+l;case"-":return e-l;case"*":return e*l;case"/":return l===0?null:e/l}return null}function al(e,l,n,o,a,i){switch(e){case"SUM":case"AVERAGE":case"COUNT":{const r=nn(l.trim(),o,a);if(!r)return null;if(e==="COUNT"){let m=0;for(let h=r.sc;h<=r.ec;h++)for(let S=r.sr;S<=r.er;S++)typeof go(h,S,n,o,a)=="number"&&m++;return m}let f=0;for(let m=r.sc;m<=r.ec;m++)for(let h=r.sr;h<=r.er;h++)f+=tl(m,h,n,o,a);if(isNaN(f))return null;if(e==="AVERAGE"){const m=(r.ec-r.sc+1)*(r.er-r.sr+1);return m===0?null:f/m}return f}case"IF":{const r=qo(l);if(r.length<3)return null;const f=ac(r[0],n,o,a,i);return _t(f?r[1]:r[2],n,o,a,i)}case"VLOOKUP":{const r=qo(l);if(r.length<3)return null;const f=_t(r[0],n,o,a,i),m=nn(r[1].trim(),o,a);if(!m)return null;const h=_t(r[2],n,o,a,i),S=typeof h=="number"?h:parseFloat(String(h));if(isNaN(S))return null;const d=m.sc+(S-1);if(d<m.sc||d>m.ec)return null;if(r.length>=4?Fn(_t(r[3],n,o,a,i)):!1){let v=-1,E=-1/0;for(let J=m.sr;J<=m.er;J++){const j=go(m.sc,J,n,o,a);typeof j=="number"&&typeof f=="number"&&j<=f&&j>E&&(E=j,v=J)}return v>=0?go(d,v,n,o,a):null}for(let v=m.sr;v<=m.er;v++){const E=go(m.sc,v,n,o,a);if(nl(E,f))return go(d,v,n,o,a)}return null}case"CONCATENATE":{const r=qo(l);let f="";for(const m of r){const h=_t(m,n,o,a,i);f+=h===null?"":typeof h=="number"?String(h):h}return f}case"MAX":case"MIN":{const r=nn(l.trim(),o,a);if(!r)return null;const f=[];for(let m=r.sc;m<=r.ec;m++)for(let h=r.sr;h<=r.er;h++){const S=go(m,h,n,o,a);typeof S=="number"&&f.push(S)}return f.length===0?null:e==="MAX"?Math.max(...f):Math.min(...f)}case"STDEV":{const r=nn(l.trim(),o,a);if(!r)return null;const f=[];for(let d=r.sc;d<=r.ec;d++)for(let k=r.sr;k<=r.er;k++){const v=go(d,k,n,o,a);typeof v=="number"&&f.push(v)}const m=f.length;if(m<2)return null;const h=f.reduce((d,k)=>d+k,0)/m,S=f.reduce((d,k)=>d+Math.pow(k-h,2),0)/(m-1);return Math.sqrt(S)}case"SIN":{const r=qo(l);if(r.length!==1)return null;const f=_t(r[0],n,o,a,i);return typeof f!="number"?null:Math.sin(f)}case"SUMIF":{const r=qo(l);if(r.length<2||r.length>3)return null;const f=nn(r[0].trim(),o,a);if(!f)return null;const m=r.length===3?nn(r[2].trim(),o,a):f;if(!m)return null;let h=0;for(let S=f.sr;S<=f.er;S++)for(let d=f.sc;d<=f.ec;d++){const k=go(d,S,n,o,a);rc(k,r[1])&&(h+=tl(m.sc+(d-f.sc),m.sr+(S-f.sr),n,o,a))}return h}case"PMT":{const r=qo(l);if(r.length<3||r.length>5)return null;const f=_t(r[0],n,o,a,i),m=_t(r[1],n,o,a,i),h=_t(r[2],n,o,a,i);if(typeof f!="number"||typeof m!="number"||typeof h!="number")return null;const S=r.length>=4?_t(r[3],n,o,a,i):0,d=typeof S=="number"?S:0,k=r.length>=5?_t(r[4],n,o,a,i):0,v=Fn(k)?1:0;if(f===0)return m===0?null:-(h+d)/m;const E=Math.pow(1+f,m);return-(d+h*E)*f/((1+f*v)*(E-1))}default:return null}}function Vn(e,l,n){const o=[],a=/(\$?[A-Z]+\$?\d+)(?::(\$?[A-Z]+\$?\d+))?/gi;let i;for(;(i=a.exec(e))!==null;){const r=dn(i[1],l,n);if(r)if(i[2]){const f=dn(i[2],l,n);if(!f)continue;for(let m=Math.min(r.col,f.col);m<=Math.max(r.col,f.col);m++)for(let h=Math.min(r.row,f.row);h<=Math.max(r.row,f.row);h++)o.push(on(m,h))}else o.push(on(r.col,r.row))}return o}function il(e,l,n,o,a){const i=n[on(e,l)];if(!i)return"";const r=i.value;if(!r.startsWith("="))return r;const f=ol(on(e,l),n,o,a);return f===null?"#ERROR":String(f)}function cc(e,l,n,o,a,i){return l===0&&n===0?e:e.replace(/(\$?)([A-Z]+)(\$?)(\d+)/gi,(r,f,m,h,S)=>{const d=f?Nn(m):Nn(m)+l,k=h?parseInt(S,10)-1:parseInt(S,10)-1+n;let v;d<0?v="A":d>=o?v=i(o-1):v=i(d);let E;return k<0?E="1":k>=a?E=String(a):E=String(k+1),(f||"")+v+(h||"")+E})}class sc{constructor(){this.deps=new Map,this.rev=new Map,this.dirty=new Set}clear(l){var o;const n=this.deps.get(l);if(n){for(const a of n)(o=this.rev.get(a))==null||o.delete(l);this.deps.delete(l)}}set(l,n){if(this.clear(l),n.length!==0){this.deps.set(l,n);for(const o of n)this.rev.has(o)||this.rev.set(o,new Set),this.rev.get(o).add(l)}}markDirty(l){const n=[l];for(;n.length>0;){const o=n.pop(),a=this.rev.get(o);if(a)for(const i of a)this.dirty.has(i)||(this.dirty.add(i),n.push(i))}}getDirtyAndClear(){const l=this.dirty;return this.dirty=new Set,l}rebuild(l,n,o){this.deps.clear(),this.rev.clear(),this.dirty.clear(),un.clear();for(const[a,i]of Object.entries(l))if(i.value.startsWith("=")){const r=Vn(i.value.slice(1),n,o);this.set(a,r)}}}const dc={class:"ifn-dialog__header"},uc={class:"ifn-dialog__title"},fc={class:"ifn-dialog__body"},mc={class:"ifn-dialog__field"},pc={class:"ifn-dialog__label"},hc={key:0,class:"ifn-dialog__desc"},gc={class:"ifn-dialog__field"},yc={class:"ifn-dialog__label"},bc={class:"ifn-dialog__footer"},Cc=["disabled"],vc=Zt(t.defineComponent({__name:"insertFunctionDialog",props:{modelOpen:{type:Boolean,default:!1},locale:{default:"zh-CN"}},emits:["update:modelOpen","insert","cancel"],setup(e,{emit:l}){const n=e,o=l,a=t.ref(!1),i=t.ref(""),r=t.ref(""),f=t.ref(null),m=t.ref(null),h={SUM:"fnDescSum",AVERAGE:"fnDescAverage",COUNT:"fnDescCount",IF:"fnDescIf",VLOOKUP:"fnDescVlookup",CONCATENATE:"fnDescConcatenate",MAX:"fnDescMax",MIN:"fnDescMin",SIN:"fnDescSin",SUMIF:"fnDescSumif",PMT:"fnDescPmt",STDEV:"fnDescStdev"},S=t.computed(()=>Qn.map(Z=>({label:Z.name,value:Z.name}))),d=t.computed(()=>{const Z=String(i.value??"");return Z?T(n.locale,h[Z]??""):""}),k=t.computed(()=>nc(r.value)),v=t.computed(()=>i.value===""||i.value===null||!r.value.trim()||!k.value.ok?!1:k.value.name===String(i.value).toUpperCase());t.watch(()=>n.modelOpen,Z=>{Z&&!a.value?E():!Z&&a.value&&J()});function E(){r.value="",i.value="",a.value=!0,n.modelOpen!==void 0&&o("update:modelOpen",!0),t.nextTick(()=>{const Z=f.value;if(Z)try{Z.focus({preventScroll:!0}),Z.setSelectionRange(Z.value.length,Z.value.length)}catch{}})}function J(){a.value=!1,n.modelOpen!==void 0&&o("update:modelOpen",!1)}function j(Z){i.value=Z;const ie=Qn.find(De=>De.name===String(Z));ie&&(r.value="",le(ie.snippet))}function le(Z){const ie=r.value,De=f.value,_e=De?De.selectionStart??ie.length:ie.length,xe=De?De.selectionEnd??ie.length:ie.length,we=ie.trim()?Z:"="+Z;r.value=ie.slice(0,_e)+we+ie.slice(xe),t.nextTick(()=>{const Te=f.value;if(!Te)return;const et=_e+we.length;try{Te.focus({preventScroll:!0}),Te.setSelectionRange(et,et)}catch{}})}function L(){o("insert",r.value),J()}function g(){o("cancel"),J()}function he(Z){Z.key==="Escape"&&(Z.stopPropagation(),g())}return(Z,ie)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"ifn-dialog"},{default:t.withCtx(()=>[a.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ifn-dialog__mask",onMousedown:t.withModifiers(g,["self"]),onKeydown:he},[t.createElementVNode("div",{ref_key:"dialogRef",ref:m,class:"ifn-dialog",onMousedown:ie[1]||(ie[1]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",dc,[t.createElementVNode("span",uc,t.toDisplayString(t.unref(T)(e.locale,"insertFunctionTitle")),1),t.createElementVNode("button",{class:"ifn-dialog__close",type:"button",onClick:g},[...ie[2]||(ie[2]=[t.createElementVNode("svg",{viewBox:"0 0 1024 1024",fill:"currentColor"},[t.createElementVNode("path",{d:"M571.733333 512l288.533334-288.533333c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0L512 452.266667 223.466667 164.266667c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733333L452.266667 512 164.266667 800c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 19.2 12.8 29.866666 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8L512 571.733333l288.533333 288.533334c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8 17.066667-17.066667 17.066667-42.666667 0-59.733334L571.733333 512z"})],-1)])])]),t.createElementVNode("div",fc,[t.createElementVNode("div",mc,[t.createElementVNode("label",pc,t.toDisplayString(t.unref(T)(e.locale,"insertFunctionSelectLabel")),1),t.createVNode(Gt,{class:"ifn-dialog__dropdown","model-value":i.value,options:S.value,searchable:!0,"search-placeholder":t.unref(T)(e.locale,"insertFunctionSearchPlaceholder"),"fallback-label":t.unref(T)(e.locale,"insertFunctionPlaceholder"),title:t.unref(T)(e.locale,"insertFunctionSelectLabel"),"onUpdate:modelValue":j},null,8,["model-value","options","search-placeholder","fallback-label","title"]),d.value?(t.openBlock(),t.createElementBlock("div",hc,t.toDisplayString(d.value),1)):t.createCommentVNode("",!0)]),t.createElementVNode("div",gc,[t.createElementVNode("label",yc,t.toDisplayString(t.unref(T)(e.locale,"insertFunctionFormulaLabel")),1),t.withDirectives(t.createElementVNode("textarea",{ref_key:"textareaRef",ref:f,"onUpdate:modelValue":ie[0]||(ie[0]=De=>r.value=De),class:"ifn-dialog__textarea",spellcheck:"false"},null,512),[[t.vModelText,r.value]])])]),t.createElementVNode("div",bc,[t.createElementVNode("button",{class:"ifn-dialog__btn ifn-dialog__btn--primary",type:"button",disabled:!v.value,onClick:L},t.toDisplayString(t.unref(T)(e.locale,"insertFunctionBtn")),9,Cc),t.createElementVNode("button",{class:"ifn-dialog__btn",type:"button",onClick:g},t.toDisplayString(t.unref(T)(e.locale,"cancel")),1)])],544)],32)):t.createCommentVNode("",!0)]),_:1})]))}}),[["__scopeId","data-v-f4e459b6"]]);class wc{constructor(l){if(l&&l.length>0){this.styles=l,this.index=new Map;for(let n=0;n<this.styles.length;n++){const o=this.stableKey(this.styles[n]);this.index.set(o,n)}}else this.styles=[{}],this.index=new Map,this.index.set(this.stableKey({}),0)}stableKey(l){const n=Object.keys(l).sort(),o={};for(const a of n)o[a]=l[a];return JSON.stringify(o)}get(l){const n=this.styles[l];return n?l===0?n:Object.freeze(n):{}}getId(l){if(!l||Object.keys(l).length===0)return 0;const n=this.stableKey(l),o=this.index.get(n);if(o!==void 0)return o;const a=this.styles.length,i=Object.freeze({...l});return this.styles.push(i),this.index.set(n,a),a}getStyles(){return[...this.styles]}setStyles(l){this.styles=l,this.index=new Map;for(let n=0;n<this.styles.length;n++){const o=this.stableKey(this.styles[n]);this.index.set(o,n)}}compactStyles(l){const n=new Set;n.add(0);for(const r in l){const f=l[r].styleId??0;n.add(f)}const o=new Map,a=[{}];o.set(0,0);const i=Array.from(n).sort((r,f)=>r-f);for(const r of i)if(r!==0&&r<this.styles.length){const f=a.length;o.set(r,f),a.push(this.styles[r])}for(const r in l){const f=l[r],m=f.styleId??0,h=o.get(m);h!==void 0&&h!==m&&(f.styleId=h)}this.styles=a,this.index=new Map;for(let r=0;r<this.styles.length;r++){const f=this.stableKey(this.styles[r]);this.index.set(f,r)}return a}}function kc(e,l){if(!e)return null;const n=e.styleId;return n===void 0||n===0?null:l[n]??null}function cl(e){const l=new wc,n={};for(const[o,a]of Object.entries(e)){const i={value:a.value};a.styleId!==void 0&&a.styleId>0&&(i.styleId=a.styleId),a.style&&Object.keys(a.style).length>0&&(i.styleId=l.getId(a.style)),i.styleId===0&&delete i.styleId,n[o]=i}return{cells:n,styles:l.getStyles()}}function Ec(e){const l={};for(const[n,o]of Object.entries(e)){const a={value:o.value};o.styleId!==void 0&&o.styleId>0&&(a.styleId=o.styleId),l[n]=a}return l}class Sc{constructor(l){if(l&&l.length>0){this.borders=l,this.index=new Map;for(let n=0;n<this.borders.length;n++){const o=this.stableKey(this.borders[n]);this.index.set(o,n)}}else this.borders=[{}],this.index=new Map,this.index.set(this.stableKey({}),0)}stableKey(l){const n=["top","right","bottom","left"],o={};for(const a of n){const i=l[a];if(i&&(i.width!==void 0||i.color!==void 0||i.style!==void 0)){const r={};i.width!==void 0&&(r.width=i.width),i.color!==void 0&&(r.color=i.color),i.style!==void 0&&(r.style=i.style),o[a]=r}}return JSON.stringify(o)}get(l){const n=this.borders[l];return n?l===0?n:Object.freeze(n):{}}getId(l){if(!l||this.isEmptyBorder(l))return 0;const n=this.stableKey(l),o=this.index.get(n);if(o!==void 0)return o;const a=this.borders.length,i=Object.freeze(this.deepCloneBorder(l));return this.borders.push(i),this.index.set(n,a),a}isEmptyBorder(l){return!l.top&&!l.right&&!l.bottom&&!l.left}deepCloneBorder(l){const n={};return l.top&&(n.top={...l.top}),l.right&&(n.right={...l.right}),l.bottom&&(n.bottom={...l.bottom}),l.left&&(n.left={...l.left}),n}getBorders(){return[...this.borders]}setBorders(l){this.borders=l,this.index=new Map;for(let n=0;n<this.borders.length;n++){const o=this.stableKey(this.borders[n]);this.index.set(o,n)}}compactBorders(l){const n=new Set;n.add(0);for(const r of l){const f=r.borderId??0;n.add(f)}const o=new Map,a=[{}];o.set(0,0);const i=Array.from(n).sort((r,f)=>r-f);for(const r of i)if(r!==0&&r<this.borders.length){const f=a.length;o.set(r,f),a.push(this.borders[r])}for(const r of l){const f=r.borderId??0,m=o.get(f);m!==void 0&&m!==f&&(r.borderId=m)}this.borders=a,this.index=new Map;for(let r=0;r<this.borders.length;r++){const f=this.stableKey(this.borders[r]);this.index.set(f,r)}return a}}function Rc(e,l,n,o){if(!e)return;const a=e.styleId??0,i=n[a];if(!i)return;const r=i.borderId??0;if(r===0)return;const f=o.get(r);if(f)return f[l]}function Mc(e,l,n,o,a,i){const r=o[e.styleId??0]??{},f=r.borderId??0,m=f>0?a.get(f):{},h={top:m.top?{...m.top}:void 0,right:m.right?{...m.right}:void 0,bottom:m.bottom?{...m.bottom}:void 0,left:m.left?{...m.left}:void 0};n?h[l]={...n}:h[l]=void 0;const S=a.getId(h),d={...r};S===0?delete d.borderId:d.borderId=S,delete d.borderTopWidth,delete d.borderBottomWidth,delete d.borderLeftWidth,delete d.borderRightWidth,delete d.borderColor,Object.keys(d).length===0?e.styleId=0:e.styleId=i(d)}function sl(e){const l=new Sc,n=[];for(const o of e){if(!(o.borderTopWidth!==void 0||o.borderBottomWidth!==void 0||o.borderLeftWidth!==void 0||o.borderRightWidth!==void 0)){n.push(o);continue}const i=typeof o.borderColor=="string"?o.borderColor:void 0,r={};o.borderTopWidth!==void 0&&o.borderTopWidth>0&&(r.top={width:o.borderTopWidth,color:i}),o.borderBottomWidth!==void 0&&o.borderBottomWidth>0&&(r.bottom={width:o.borderBottomWidth,color:i}),o.borderLeftWidth!==void 0&&o.borderLeftWidth>0&&(r.left={width:o.borderLeftWidth,color:i}),o.borderRightWidth!==void 0&&o.borderRightWidth>0&&(r.right={width:o.borderRightWidth,color:i});const f=l.getId(r),m={...o};delete m.borderTopWidth,delete m.borderBottomWidth,delete m.borderLeftWidth,delete m.borderRightWidth,delete m.borderColor,f>0?m.borderId=f:delete m.borderId,n.push(m)}return{styles:n,borders:l.getBorders()}}function xc(e,l){const n=t.reactive({rowCount:e.rowCount??l.rowCount,colCount:e.colCount??l.colCount,width:e.width,height:e.height,theme:e.theme??l.theme,locale:e.locale??l.locale});t.watchEffect(()=>{n.rowCount=e.rowCount??l.rowCount,n.colCount=e.colCount??l.colCount,n.width=e.width,n.height=e.height,n.theme=e.theme??l.theme,n.locale=e.locale??l.locale});const o=t.computed(()=>n.locale==="zh-CN"?"zh-CN":"en-US"),a=n.colCount,i=n.rowCount,r=t.reactive({colCount:a,rowCount:i}),f=8,m=32,h=t.reactive({}),S=t.reactive([{}]),d=t.reactive([{}]);let k=new Map;k.set("{}",0);let v=new Map;v.set("{}",0);function E(w){const B=Object.keys(w).sort(),O={};for(const U of B)O[U]=w[U];return JSON.stringify(O)}function J(w){const B=["top","right","bottom","left"],O={};for(const U of B){const Q=w[U];if(Q&&(Q.width!==void 0||Q.color!==void 0||Q.style!==void 0)){const Se={};Q.width!==void 0&&(Se.width=Q.width),Q.color!==void 0&&(Se.color=Q.color),Q.style!==void 0&&(Se.style=Q.style),O[U]=Se}}return JSON.stringify(O)}function j(w){if(!w||Object.keys(w).length===0)return 0;const B=E(w),O=k.get(B);if(O!==void 0)return O;const U=S.length;return S.push(Object.freeze({...w})),k.set(B,U),U}function le(w){return kc(w,S)}function L(){k=new Map;for(let w=0;w<S.length;w++)k.set(E(S[w]),w)}function g(w){S.splice(0,S.length,...w),L()}function he(w){if(!w||!w.top&&!w.right&&!w.bottom&&!w.left)return 0;const B=J(w),O=v.get(B);if(O!==void 0)return O;const U=d.length;return d.push(Object.freeze({top:w.top?Object.freeze({...w.top}):void 0,right:w.right?Object.freeze({...w.right}):void 0,bottom:w.bottom?Object.freeze({...w.bottom}):void 0,left:w.left?Object.freeze({...w.left}):void 0})),v.set(B,U),U}function Z(w){return d[w]??{}}function ie(){v=new Map;for(let w=0;w<d.length;w++)v.set(J(d[w]),w)}function De(w){d.splice(0,d.length,...w),ie()}function _e(w,B){return Rc(w,B,S,{get:O=>d[O]??{}})}function xe(w,B){const O=ee(w,B);return O?O.anchor:null}function we(w,B,O,U){const Q=ee(w,B),Se=ee(O,U);return!Q||!Se?!1:Q.anchor===Se.anchor}const Te=t.reactive({}),et=new sc,Ve=t.ref(null),ke=t.ref("cell"),Be=t.ref({col:0,row:0}),Xe=t.ref(null),Ge=t.ref(""),oe=t.ref(new Array(r.colCount).fill(100)),ge=t.ref(new Array(r.rowCount).fill(void 0)),u=t.ref(0),D=t.ref(0),I=t.reactive({rows:0,cols:0}),G=new Map;let $=null;function ne(w,B,O,U){const Q=`${U} ${O} ${B}px ${w}`,Se=G.get(Q);if(Se)return Se;if(!$){if(typeof document>"u")return{ascent:B*.88,descent:B*.28};$=document.createElement("canvas")}const Ie=$.getContext("2d");if(!Ie)return{ascent:B*.88,descent:B*.28};Ie.font=Q;const Ke=Ie.measureText(" "),tt=Ke.fontBoundingBoxAscent,je=Ke.fontBoundingBoxDescent;if(typeof tt=="number"&&typeof je=="number"&&tt>0&&je>0){const Jt={ascent:tt,descent:je};return G.set(Q,Jt),Jt}const qe=["M","中","y","Ä","0"];let Ot=0,ct=0;for(const Jt of qe){const Lo=Ie.measureText(Jt),ln=Lo.actualBoundingBoxAscent||0,$o=Lo.actualBoundingBoxDescent||0;ln>Ot&&(Ot=ln),$o>ct&&(ct=$o)}const St=Math.max(Ot,B*.88),Ut=Math.max(ct,B*.28),zo={ascent:St,descent:Ut};return G.set(Q,zo),zo}const H=ne(Xo,ko,"normal","normal"),c=H.ascent+H.descent,y=Math.max(0,(24-c)/2);let at=(w,B)=>`${w},${B}`,ee=()=>null,p=()=>ko,F=t.computed(()=>[0]),Ue=()=>24,vt=(w,B,O,U)=>({startCol:Math.min(w,O),startRow:Math.min(B,U),endCol:Math.max(w,O),endRow:Math.max(B,U)});function ce(w,B){const O=le(h[at(w,B)]),U=p(w,B),Q=typeof(O==null?void 0:O.fontFamily)=="string"&&O.fontFamily?O.fontFamily:Xo,Se=(O==null?void 0:O.fontWeight)==="bold"?"bold":"normal",Ie=(O==null?void 0:O.fontStyle)==="italic"?"italic":"normal";return ne(Q,U,Se,Ie)}function We(w,B,O,U){if(!B)return[""];const Q=B.split(`
|
|
2
|
+
`),Se=[];for(const Ie of Q)if(!U||O<=0)Se.push(Ie);else{let Ke="";for(let tt=0;tt<Ie.length;tt++){const je=Ie[tt],qe=Ke+je;w.measureText(qe).width>O&&Ke?(Se.push(Ke),Ke=je):Ke=qe}Se.push(Ke)}return Se}function Je(w,B){const O=le(h[at(w,B)]);return typeof(O==null?void 0:O.fontSize)=="number"&&O.fontSize>0?O.fontSize:ko}p=Je;const gt=t.computed(()=>{const w=[0];for(let B=0;B<r.colCount;B++)w.push(w[B]+oe.value[B]);return w});F=gt;const kt={w:800,h:600};let Vt=()=>{};const Ht=t.computed(()=>{const w=new Set;for(const B in h){const O=B.indexOf(",");if(O<0)continue;const U=parseInt(B.substring(O+1),10),Q=h[B];Q&&(Q.value!==""||Q.styleId!==void 0)&&w.add(U)}for(let B=0;B<ge.value.length;B++)ge.value[B]!==void 0&&w.add(B);for(const B in Te){const O=B.indexOf(",");if(O<0)continue;const U=parseInt(B.substring(O+1),10);w.add(U)}return w});function Kt(w){const B=ge.value[w];if(B!=null&&B>0)return B;if(!Ht.value.has(w))return 24;let O,U,Q=1;const Se=$?$.getContext("2d"):null,Ie=ne(Xo,ko,"normal","normal");O=Ie.ascent,U=Ie.descent;for(let qe=0;qe<r.colCount;qe++){const Ot=Je(qe,w),ct=le(h[at(qe,w)]),St=typeof(ct==null?void 0:ct.fontFamily)=="string"&&ct.fontFamily?ct.fontFamily:Xo,Ut=(ct==null?void 0:ct.fontWeight)==="bold"?"bold":"normal",zo=(ct==null?void 0:ct.fontStyle)==="italic"?"italic":"normal",Jt=ne(St,Ot,Ut,zo);Jt.ascent>O&&(O=Jt.ascent),Jt.descent>U&&(U=Jt.descent);const Lo=typeof(ct==null?void 0:ct.numberFormat)=="string"?ct.numberFormat:"",ln=me(qe,w),$o=Ho(ln,Lo,o.value);if($o){const Hn=(ct==null?void 0:ct.wrap)==="wrap";let _o;if(Hn&&Se){Se.font=`${zo} ${Ut} ${Ot}px ${St}`;const rn=ee(qe,w);let fn;rn&&qe===rn.range.startCol&&w===rn.range.startRow?fn=F.value[rn.range.endCol+1]-F.value[qe]:fn=oe.value[qe],_o=We(Se,$o,Math.max(0,fn-10),!0).length,_o>Q&&(Q=_o)}else _o=$o.split(`
|
|
3
|
+
`).length,_o>Q&&(Q=_o)}}const Ke=O+U,tt=y*2+Q*Ke;return Math.min(500,Math.max(24,Math.round(tt)))}Ue=Kt;function lo(w){return ge.value[w]===void 0}const Wt=t.computed(()=>{const w=[0];for(let B=0;B<r.rowCount;B++)w.push(w[B]+Ue(B));return w}),yo=t.computed(()=>gt.value[r.colCount]),ro=t.computed(()=>Wt.value[r.rowCount]);function Yt(w,B){return`${w},${B}`}at=Yt;function Mo(w){Reflect.deleteProperty(h,w)}function xo(w,B){ke.value="cell";const O=ee(w,B);O?(Be.value={col:O.range.startCol,row:O.range.startRow},Ve.value={...O.range}):(Be.value={col:w,row:B},Ve.value={startCol:w,startRow:B,endCol:w,endRow:B})}function qt(w,B,O,U,Q="cell"){const Se=ee(w,B);if(Be.value=Se?{col:Se.range.startCol,row:Se.range.startRow}:{col:w,row:B},ke.value=Q,Q==="row"||Q==="col"){const Ie=Math.min(w,O),Ke=Math.max(w,O),tt=Math.min(B,U),je=Math.max(B,U);Ve.value={startCol:Ie,startRow:tt,endCol:Ke,endRow:je}}else Ve.value=vt(w,B,O,U)}function ao(){qt(0,0,r.colCount-1,r.rowCount-1,"all")}function uo(w,B){const O=Ve.value;return O?(ke.value==="cell"||ke.value==="all",w>=O.startCol&&w<=O.endCol&&B>=O.startRow&&B<=O.endRow):!1}function fo(w,B){return uo(w,B)}function io(w,B){for(const O in Te){const U=Te[O];if(U&&w>=U.startCol&&w<=U.endCol&&B>=U.startRow&&B<=U.endRow)return{range:U,anchor:O}}return null}ee=io;function x(w,B){return Te[Yt(w,B)]!==void 0}function M(w,B){const O=ee(w,B);if(O&&w===O.range.startCol&&B===O.range.startRow){const U=gt.value[O.range.endCol+1]-gt.value[w],Q=Wt.value[O.range.endRow+1]-Wt.value[B];return{w:U,h:Q}}return{w:oe.value[w],h:Ue(B)}}function N(w,B,O,U){let Q=Math.min(w,O),Se=Math.max(w,O),Ie=Math.min(B,U),Ke=Math.max(B,U),tt=!0;for(;tt;){tt=!1;for(const je in Te){const qe=Te[je];if(!qe)continue;qe.startCol<=Se&&qe.endCol>=Q&&qe.startRow<=Ke&&qe.endRow>=Ie&&(qe.startCol<Q&&(Q=qe.startCol,tt=!0),qe.endCol>Se&&(Se=qe.endCol,tt=!0),qe.startRow<Ie&&(Ie=qe.startRow,tt=!0),qe.endRow>Ke&&(Ke=qe.endRow,tt=!0))}}return{startCol:Q,startRow:Ie,endCol:Se,endRow:Ke}}vt=N;function te(w,B){var O;return((O=h[Yt(w,B)])==null?void 0:O.value)??""}function me(w,B){return bn(),il(w,B,h,r.colCount,r.rowCount)}function Ce(w,B,O){var Ke,tt;w>=0&&B>=0&&xt(w,B);const U=Yt(w,B);if(bn(),O===""||O==null){et.clear(U);const je=(Ke=h[U])==null?void 0:Ke.styleId;je!==void 0&&je>0?h[U]={value:"",styleId:je}:Mo(U),et.markDirty(U);return}const Q=String(O);if(!Q.startsWith("=")){const je=le(h[U]),qe=typeof(je==null?void 0:je.numberFormat)=="string"?je.numberFormat:"";if(no(qe)){const Ot=Dn(Q,o.value);if(Ot){const St={...je??{},numberFormat:Ot.format};h[U]={value:String(Ot.serial),styleId:j(St)},et.clear(U),et.markDirty(U);return}const ct=Zl(Q,o.value);if(ct){const St={...je??{},numberFormat:ct.format};h[U]={value:String(ct.num),styleId:j(St)},et.clear(U),et.markDirty(U);return}}}const Se=(tt=h[U])==null?void 0:tt.styleId,Ie={value:Q};Se!==void 0&&Se>0&&(Ie.styleId=Se),h[U]=Ie,Q.startsWith("=")?et.set(U,Vn(Q.slice(1),r.colCount,r.rowCount)):et.clear(U),et.markDirty(U)}function ye(w,B,O,U){for(let Q=w;Q<=B;Q++)for(let Se=O;Se<=U;Se++){const Ie=Yt(Q,Se);et.clear(Ie),Mo(Ie),et.markDirty(Ie)}}let ae=()=>{};function W(w){Xe.value||(Xe.value={...Be.value},w!==void 0?Ge.value=w:Ge.value||(Ge.value=te(Be.value.col,Be.value.row)))}function Oe(){Xe.value&&(ae(),Ce(Xe.value.col,Xe.value.row,Ge.value),Xe.value=null,Ge.value="")}function He(){Xe.value=null,Ge.value=""}function P(w,B){const O=Be.value;let U=Math.max(0,O.col+w),Q=Math.max(0,O.row+B);(U>=r.colCount||Q>=r.rowCount)&&xt(U,Q);const Se=ee(O.col,O.row),Ie=ee(U,Q);Se&&Ie&&Se.anchor===Ie.anchor&&(w>0?U=Se.range.endCol+1:w<0&&(U=Se.range.startCol-1),B>0?Q=Se.range.endRow+1:B<0&&(Q=Se.range.startRow-1),(U>=r.colCount||Q>=r.rowCount)&&xt(U,Q)),U=Math.max(0,Math.min(r.colCount-1,U)),Q=Math.max(0,Math.min(r.rowCount-1,Q)),xo(U,Q)}function Ne(w,B){ht(B,w)}function ot(w){const B=gt.value;if(w<0||w>=B[r.colCount])return-1;let O=0,U=r.colCount-1;for(;O<U;){const Q=O+U+1>>1;B[Q]<=w?O=Q:U=Q-1}return O}function b(w){const B=Wt.value;if(w<0||w>=B[r.rowCount])return-1;let O=0,U=r.rowCount-1;for(;O<U;){const Q=O+U+1>>1;B[Q]<=w?O=Q:U=Q-1}return O}function z(w,B){var Q,Se;const O=Math.max(0,Math.min(Math.floor(w),r.rowCount)),U=Math.max(0,Math.min(Math.floor(B),r.colCount));I.rows=O,I.cols=U,(Q=Qe.scheduleRender)==null||Q.call(Qe),(Se=Qe.emitModelData)==null||Se.call(Qe)}function _(){var w,B;I.rows=0,I.cols=0,(w=Qe.scheduleRender)==null||w.call(Qe),(B=Qe.emitModelData)==null||B.call(Qe)}function se(){return{rows:I.rows,cols:I.cols}}function de(){let w=0,B=0;if(I.cols>0){const O=oe.value,U=Math.min(I.cols,O.length);for(let Q=0;Q<U;Q++)w+=O[Q]}if(I.rows>0)for(let O=0;O<I.rows;O++)B+=Ue(O);return{frozenRowsHeight:B,frozenColumnsWidth:w}}function re(){const{frozenColumnsWidth:w,frozenRowsHeight:B}=de(),O=52+w,U=24+B,Q=Math.max(0,kt.w-52-11-w),Se=Math.max(0,kt.h-24-11-B),Ie=[];return B>0&&w>0&&Ie.push({kind:"corner",x:52,y:24,width:w,height:B,scrollLeft:0,scrollTop:0}),B>0&&Ie.push({kind:"rows",x:O,y:24,width:Q,height:B,scrollLeft:u.value,scrollTop:0}),w>0&&Ie.push({kind:"columns",x:52,y:U,width:w,height:Se,scrollLeft:0,scrollTop:D.value}),Ie.push({kind:"body",x:O,y:U,width:Q,height:Se,scrollLeft:u.value,scrollTop:D.value}),Ie}function be(w,B){const O=gt.value,U=Wt.value,Q=oe.value,Se=O[B]??0,Ie=U[w]??0,Ke=ee(B,w),tt=Ke?(O[Ke.range.endCol+1]??Se)-Se:Q[B]??0,je=Ke?(U[Ke.range.endRow+1]??Ie)-Ie:Ue(w),qe=B<I.cols,Ot=w<I.rows,ct=qe?52+Se:52+Se-u.value,St=Ot?24+Ie:24+Ie-D.value;return{x:ct,y:St,width:tt,height:je}}function Le(w,B){const{frozenColumnsWidth:O,frozenRowsHeight:U}=de();if(w<52||B<24)return null;const Q=O>0&&w<52+O,Se=U>0&&B<24+U,Ie=Q?w-52:w-52+u.value,Ke=Se?B-24:B-24+D.value,tt=ot(Ie),je=b(Ke);return tt<0||je<0?null:{col:tt,row:je}}function it(w,B){return w<I.rows||B<I.cols}function ht(w,B){if(it(w,B))return;const{frozenColumnsWidth:O,frozenRowsHeight:U}=de(),Q=Math.max(0,kt.w-52-11-O),Se=Math.max(0,kt.h-24-11-U),Ie=gt.value,Ke=Wt.value,tt=(Ie[B]??0)-O,je=(Ke[w]??0)-U,qe=ee(B,w),Ot=qe?(Ie[qe.range.endCol+1]??0)-(Ie[B]??0):oe.value[B]??0,ct=qe?(Ke[qe.range.endRow+1]??0)-(Ke[w]??0):Ue(w);let St=u.value,Ut=D.value;tt<St?St=tt:tt+Ot>St+Q&&(St=tt+Ot-Q),je<Ut?Ut=je:je+ct>Ut+Se&&(Ut=je+ct-Se),St=Math.max(0,St),Ut=Math.max(0,Ut),Vt(St,Ut)}function xt(w,B){var Se;const O=w+1,U=B+1;let Q=!1;if(O>=r.colCount){const Ie=Math.max(r.colCount+f,O),Ke=Ie-r.colCount,tt=oe.value;for(let je=0;je<Ke;je++)tt.push(100);r.colCount=Ie,Q=!0}if(U>=r.rowCount){const Ie=Math.max(r.rowCount+m,U),Ke=Ie-r.rowCount,tt=ge.value;for(let je=0;je<Ke;je++)tt.push(void 0);r.rowCount=Ie,Q=!0}Q&&((Se=Qe.scheduleRender)==null||Se.call(Qe))}function Bt(){return r.colCount!==a||r.rowCount!==i}function Nt(w,B){var Se;let O=!1;const U=Math.max(1,Math.floor(w)),Q=Math.max(1,Math.floor(B));if(U!==r.colCount){if(U>r.colCount){const Ie=oe.value;for(let Ke=r.colCount;Ke<U;Ke++)Ie.push(100)}else oe.value=oe.value.slice(0,U);r.colCount=U,O=!0}if(Q!==r.rowCount){if(Q>r.rowCount){const Ie=ge.value;for(let Ke=r.rowCount;Ke<Q;Ke++)Ie.push(void 0)}else ge.value=ge.value.slice(0,Q);r.rowCount=Q,O=!0}O&&((Se=Qe.scheduleRender)==null||Se.call(Qe))}const Qe={props:n,locale:o,get colCount(){return r.colCount},get rowCount(){return r.rowCount},ensureCapacity:xt,hasDynamicDims:Bt,setDims:Nt,cells:h,styles:S,borders:d,merges:Te,formulaDeps:et,selection:Ve,activeCell:Be,editingCell:Xe,editValue:Ge,colWidths:oe,rowHeights:ge,scrollX:u,scrollY:D,freeze:I,setFreeze:z,clearFreeze:_,getFreeze:se,getFrozenMetrics:de,getViewportRegions:re,cellToScreenRect:be,screenToCell:Le,isCellFrozen:it,scrollCellIntoView:ht,BASE_CELL_VPAD:y,fontMetricsCache:G,fontMetricsCanvas:$,measureFontMetrics:ne,_getFontMetricsForCell:ce,getWrappedLines:We,cellFontSize:Je,colPositions:gt,getRowHeight:Kt,_isAutoRow:lo,rowPositions:Wt,totalWidth:yo,totalHeight:ro,selectCell:xo,selectRange:qt,selectAll:ao,isSelected:uo,isCellSelected:fo,selectionMode:ke,cellKey:Yt,delCell:Mo,findMerge:io,_isMergeAnchor:x,_mergedSpan:M,expandSelectionForMerges:N,getCellRaw:te,getCellValue:me,setCellValue:Ce,clearCellsInRange:ye,startEdit:W,commitEdit:Oe,cancelEdit:He,moveActive:P,ensureVisible:Ne,hitCol:ot,hitRow:b,registerStyle:j,resolveStyle:le,rebuildStyleIndex:L,syncStyles:g,registerBorder:he,resolveBorder:Z,rebuildBorderIndex:ie,syncBorders:De,getCellBorderSide:_e,getMergeOwner:xe,isSameMergeInternal:we,viewSize:kt,findHighlight:(w,B)=>null};return ae=()=>{var w;return(w=Qe.saveUndo)==null?void 0:w.call(Qe)},Vt=(w,B)=>{var O;return(O=Qe.clampScroll)==null?void 0:O.call(Qe,w,B)},Qe}function Bc(e,l){const n=t.ref([]),o=t.ref([]);function a(b){return Ec(b)}function i(){return l.saveSheet(),{sheets:l.sheets.value.map(b=>({id:b.id,name:b.name,cells:a(b.cells),styles:[...b.styles],borders:b.borders?[...b.borders]:[{}],merges:b.merges?{...b.merges}:{},selection:b.selection?{...b.selection}:null,activeCell:b.activeCell?{...b.activeCell}:{col:0,row:0},scrollX:b.scrollX,scrollY:b.scrollY,colWidths:[...b.colWidths],rowHeights:[...b.rowHeights],colCount:b.colCount,rowCount:b.rowCount,freeze:{...b.freeze}})),styles:[...e.styles],activeSheetIndex:l.activeSheetIndex.value}}function r(b){const z=l.sheets.value;l.sheets.value=b.sheets.map((_,se)=>{var re;const de=((re=z[se])==null?void 0:re.freeze)??{rows:0,cols:0};return{..._,cells:a(_.cells),styles:[..._.styles],borders:_.borders?[..._.borders]:[{}],freeze:{rows:de.rows,cols:de.cols}}}),l.loadSheet(Math.max(0,Math.min(b.activeSheetIndex,l.sheets.value.length-1))),e.formulaDeps.rebuild(e.cells,e.colCount,e.rowCount)}function f(){const b=i(),z=n.value[n.value.length-1];z&&JSON.stringify(z)===JSON.stringify(b)||(n.value.push(b),o.value=[],n.value.length>50&&n.value.shift())}e.saveUndo=f;function m(){var b;n.value.length&&(o.value.push(i()),r(n.value.pop()),(b=e.scheduleRender)==null||b.call(e),t.nextTick(()=>{var z;return(z=e.emitModelData)==null?void 0:z.call(e)}))}function h(){var b;o.value.length&&(n.value.push(i()),r(o.value.pop()),(b=e.scheduleRender)==null||b.call(e),t.nextTick(()=>{var z;return(z=e.emitModelData)==null?void 0:z.call(e)}))}const S=t.computed(()=>n.value.length>0),d=t.computed(()=>o.value.length>0),k=t.computed(()=>!!e.selection.value),v=t.ref(null);function E(){var _;const b=e.selection.value;if(!b)return;const z={};for(let se=b.startCol;se<=b.endCol;se++)for(let de=b.startRow;de<=b.endRow;de++)z[`${se-b.startCol},${de-b.startRow}`]=((_=e.cells[e.cellKey(se,de)])==null?void 0:_.styleId)??0;v.value={styles:z}}function J(){var _,se,de;const b=v.value,z=e.selection.value;if(!(!b||!z)){f();for(let re=z.startCol;re<=z.endCol;re++)for(let be=z.startRow;be<=z.endRow;be++){const Le=e.findMerge(re,be);if(Le&&(re!==Le.range.startCol||be!==Le.range.startRow))continue;const it=b.styles[`${re-z.startCol},${be-z.startRow}`]??0,ht=e.cellKey(re,be),xt=((_=e.cells[ht])==null?void 0:_.value)??"";if(xt===""&&it===0)e.delCell(ht);else{const Bt={value:xt};it>0&&(Bt.styleId=it),e.cells[ht]=Bt}}v.value=null,(se=e.scheduleRender)==null||se.call(e),(de=e.emitModelData)==null||de.call(e)}}function j(){var z,_,se;const b=e.selection.value;if(b){f();for(let de=b.startCol;de<=b.endCol;de++)for(let re=b.startRow;re<=b.endRow;re++){const be=e.findMerge(de,re);if(be&&(de!==be.range.startCol||re!==be.range.startRow))continue;const Le=e.cellKey(de,re),it=((z=e.cells[Le])==null?void 0:z.value)??"";it===""?e.delCell(Le):e.cells[Le]={value:it}}(_=e.scheduleRender)==null||_.call(e),(se=e.emitModelData)==null||se.call(e)}}const le=t.computed(()=>yl.map(b=>({...b,label:b.value===""?T(e.locale.value,"fontDefault"):b.label}))),L=t.computed(()=>bl.map(b=>({...b,label:String(b.value)}))),g="\0",he=t.computed(()=>{const b=e.selection.value;if(!b)return"";let z,_=!1;for(let se=b.startCol;se<=b.endCol&&!_;se++)for(let de=b.startRow;de<=b.endRow&&!_;de++){const re=e.findMerge(se,de);if(re&&(se!==re.range.startCol||de!==re.range.startRow))continue;const be=e.resolveStyle(e.cells[e.cellKey(se,de)]),Le=typeof(be==null?void 0:be.fontFamily)=="string"?be.fontFamily:"";z===void 0?z=Le:Le!==z&&(_=!0)}return _?g:z??""}),Z=t.computed(()=>{const b=e.selection.value;if(!b)return ko;let z,_=!1;for(let se=b.startCol;se<=b.endCol&&!_;se++)for(let de=b.startRow;de<=b.endRow&&!_;de++){const re=e.findMerge(se,de);if(re&&(se!==re.range.startCol||de!==re.range.startRow))continue;const be=e.cellFontSize(se,de);z===void 0?z=be:be!==z&&(_=!0)}return _?0:z??ko});function ie(b,z){var se,de,re;const _=e.selection.value;if(_){f();for(let be=_.startCol;be<=_.endCol;be++)for(let Le=_.startRow;Le<=_.endRow;Le++){const it=e.findMerge(be,Le);if(it&&(be!==it.range.startCol||Le!==it.range.startRow))continue;const ht=e.cellKey(be,Le),xt=((se=e.cells[ht])==null?void 0:se.value)??"";let Nt={...e.resolveStyle(e.cells[ht])??{}};if(z===""||z===null||z===void 0||z===0){const{[b]:w,...B}=Nt;Nt=B}else Nt[b]=z;const Qe=Object.keys(Nt).length?e.registerStyle(Nt):0;if(xt===""&&Qe===0)e.delCell(ht);else{const w={value:xt};Qe>0&&(w.styleId=Qe),e.cells[ht]=w}}(de=e.scheduleRender)==null||de.call(e),(re=e.emitModelData)==null||re.call(e)}}function De(b){ie("fontFamily",b===""?"":b)}const _e=t.ref(!1),xe=t.ref(!1),we=t.ref(!1),Te=t.ref(!1),et=t.ref(!1);function Ve(b){ie("fontSize",b),_e.value=!1}const ke=t.computed(()=>Rl.map(b=>({label:T(e.locale.value,b.labelKey),value:b.value,icon:b.icon}))),Be=t.computed(()=>Ml.map(b=>({label:T(e.locale.value,b.labelKey),value:b.value,icon:b.icon}))),Xe=t.computed(()=>{const b=e.selection.value;if(!b)return"left";const z=e.resolveStyle(e.cells[e.cellKey(b.startCol,b.startRow)]),_=typeof(z==null?void 0:z.textAlign)=="string"?z.textAlign:"";return _==="center"||_==="right"?_:"left"}),Ge=t.computed(()=>{const b=e.selection.value;if(!b)return"top";const z=e.resolveStyle(e.cells[e.cellKey(b.startCol,b.startRow)]),_=typeof(z==null?void 0:z.verticalAlign)=="string"?z.verticalAlign:"";return _==="middle"||_==="bottom"?_:"top"}),oe=t.computed(()=>{const b=e.selection.value;if(!b)return!1;const z=e.resolveStyle(e.cells[e.cellKey(b.startCol,b.startRow)]);return(z==null?void 0:z.wrap)==="wrap"});function ge(b){ie("textAlign",b)}function u(b){ie("verticalAlign",b)}function D(){if(!e.selection.value)return;const z=oe.value;ie("wrap",z?void 0:"wrap")}const I=t.ref(""),G=_e;t.watch(Z,b=>{I.value=b===0?"":String(b)},{immediate:!0});function $(b){const z=b.replace(/[^\d]/g,"");I.value=z;const _=parseInt(z,10);!isNaN(_)&&_>=5&&_<=72&&_!==Z.value&&ie("fontSize",_)}function ne(){const b=I.value.trim();if(!b){I.value=Z.value===0?"":String(Z.value);return}let z=parseInt(b,10);isNaN(z)?z=Z.value===0?ko:Z.value:z=Math.max(5,Math.min(72,z)),I.value=String(z),z!==Z.value&&ie("fontSize",z)}function H(b){b.key==="Enter"&&b.target.blur()}function c(b){b&&b.preventDefault(),G.value=!G.value,G.value&&(we&&(we.value=!1),xe&&(xe.value=!1),Te.value=!1,et.value=!1)}function y(){const b=Z.value===0?ko:Z.value,z=Math.min(72,b+1);ie("fontSize",z),I.value=String(z),G.value=!1}function at(){const b=Z.value===0?ko:Z.value,z=Math.max(5,b-1);ie("fontSize",z),I.value=String(z),G.value=!1}function ee(b){const z=e.selection.value;if(!z)return!1;let _,se=!1;for(let de=z.startCol;de<=z.endCol&&!se;de++)for(let re=z.startRow;re<=z.endRow&&!se;re++){const be=e.findMerge(de,re);if(be&&(de!==be.range.startCol||re!==be.range.startRow))continue;const Le=e.resolveStyle(e.cells[e.cellKey(de,re)]),it=!!(Le!=null&&Le[b]);_===void 0?_=it:it!==_&&(se=!0)}return!se&&_===!0}const p=t.computed(()=>ee("fontWeight")),F=t.computed(()=>ee("fontStyle")),Ue=t.computed(()=>ee("underline")),vt=t.computed(()=>ee("strikethrough"));function ce(){ie("fontWeight",p.value?"":"bold")}function We(){ie("fontStyle",F.value?"":"italic")}function Je(){ie("underline",Ue.value?"":"underline")}function gt(){ie("strikethrough",vt.value?"":"line-through")}const kt=t.ref(""),Vt=t.ref(""),Ht=Te,Kt=et;function lo(){Ht.value=!Ht.value,Kt.value=!1,xe&&(xe.value=!1),we&&(we.value=!1)}function Wt(){Kt.value=!Kt.value,Ht.value=!1,xe&&(xe.value=!1),we&&(we.value=!1)}function yo(b){xe&&(xe.value=b),b&&(Ht.value=!1,Kt.value=!1,we&&(we.value=!1))}function ro(b){kt.value=b,ie("color",b===""?"":b)}function Yt(b){Vt.value=b,ie("backgroundColor",b===""?"":b)}function Mo(){ie("color",kt.value===""?"":kt.value)}function xo(){ie("backgroundColor",Vt.value===""?"":Vt.value)}const qt=t.computed(()=>{const b=e.selection.value;if(!b)return"";let z,_=!1;for(let se=b.startCol;se<=b.endCol&&!_;se++)for(let de=b.startRow;de<=b.endRow&&!_;de++){const re=e.findMerge(se,de);if(re&&(se!==re.range.startCol||de!==re.range.startRow))continue;const be=e.resolveStyle(e.cells[e.cellKey(se,de)]),Le=typeof(be==null?void 0:be.color)=="string"?be.color:"";z===void 0?z=Le:Le!==z&&(_=!0)}return _?"":z??""}),ao=t.computed(()=>{const b=e.selection.value;if(!b)return"";let z,_=!1;for(let se=b.startCol;se<=b.endCol&&!_;se++)for(let de=b.startRow;de<=b.endRow&&!_;de++){const re=e.findMerge(se,de);if(re&&(se!==re.range.startCol||de!==re.range.startRow))continue;const be=e.resolveStyle(e.cells[e.cellKey(se,de)]),Le=typeof(be==null?void 0:be.backgroundColor)=="string"?be.backgroundColor:"";z===void 0?z=Le:Le!==z&&(_=!0)}return _?"":z??""}),uo=t.computed(()=>Zn(e.locale.value)),fo=t.ref(!1),io=t.computed(()=>{const b=e.selection.value;if(!b)return So;let z,_=!1;for(let se=b.startCol;se<=b.endCol&&!_;se++)for(let de=b.startRow;de<=b.endRow&&!_;de++){const re=e.findMerge(se,de);if(re&&(se!==re.range.startCol||de!==re.range.startRow))continue;const be=e.resolveStyle(e.cells[e.cellKey(se,de)]),Le=(be==null?void 0:be.numberFormatCategory)==="custom"?Eo:typeof(be==null?void 0:be.numberFormat)=="string"?be.numberFormat:"";z===void 0?z=Le:Le!==z&&(_=!0)}return _?ho:z??So});function x(b){if((b==null?void 0:b.numberFormatCategory)==="custom")return Eo;const z=typeof(b==null?void 0:b.numberFormat)=="string"?b.numberFormat:"";return jn(z,e.locale.value)}const M=t.computed(()=>{const b=io.value;if(b!==ho)return b===Eo?Eo:jn(b,e.locale.value);const z=e.selection.value;if(!z)return So;let _,se=!1;for(let de=z.startCol;de<=z.endCol&&!se;de++)for(let re=z.startRow;re<=z.endRow&&!se;re++){const be=e.findMerge(de,re);if(be&&(de!==be.range.startCol||re!==be.range.startRow))continue;const Le=x(e.resolveStyle(e.cells[e.cellKey(de,re)]));_===void 0?_=Le:Le!==_&&(se=!0)}return se?ho:_??So});function N(b){ie("numberFormat",b),te()}function te(){const b=e.selection.value;if(b)for(let z=b.startCol;z<=b.endCol;z++)for(let _=b.startRow;_<=b.endRow;_++){const se=e.findMerge(z,_);if(se&&(z!==se.range.startCol||_!==se.range.startRow))continue;const de=e.cellKey(z,_),re=e.cells[de],be=e.resolveStyle(re);if((be==null?void 0:be.numberFormatCategory)!=="custom")continue;const{numberFormatCategory:Le,...it}=be,ht=Object.keys(it).length?e.registerStyle(it):0,xt=(re==null?void 0:re.value)??"";if(xt===""&&ht===0)e.delCell(de);else{const Bt={value:xt};ht>0&&(Bt.styleId=ht),e.cells[de]=Bt}}}function me(b){if(b===Eo){fo.value=!0;return}N(b)}function Ce(){fo.value=!0}function ye(){const b=e.selection.value;if(!b)return[];const z=[];for(let _=b.startCol;_<=b.endCol;_++)for(let se=b.startRow;se<=b.endRow;se++){const de=e.findMerge(_,se);if(de&&(_!==de.range.startCol||se!==de.range.startRow))continue;const re=e.cellKey(_,se),be=e.cells[re],Le=e.resolveStyle(be),it=typeof(Le==null?void 0:Le.numberFormat)=="string"?Le.numberFormat:So,ht=(be==null?void 0:be.value)??"",xt=ht.startsWith("=")?il(_,se,e.cells,e.colCount,e.rowCount):ht;Xn(it,xt)&&z.push({key:re,nf:it,decimals:Ul(it,xt)})}return z}const ae=t.computed(()=>ye().some(b=>b.decimals<Mn)),W=t.computed(()=>ye().some(b=>b.decimals>xn));function Oe(b,z,_){var Le;const se=((Le=e.cells[b])==null?void 0:Le.value)??"",re={...e.resolveStyle(e.cells[b])??{}};z===""?(delete re.numberFormat,delete re.numberFormatCategory):(re.numberFormat=z,_==="custom"&&(re.numberFormatCategory="custom"));const be=Object.keys(re).length?e.registerStyle(re):0;if(se===""&&be===0)e.delCell(b);else{const it={value:se};be>0&&(it.styleId=be),e.cells[b]=it}}function He(b){var se,de;const z=ye(),_=[];for(const re of z){const be=re.decimals+b;if(be<xn||be>Mn)continue;const Le=Yl(re.nf,be);Le==null||Le===re.nf||_.push({key:re.key,code:Le,category:no(re.nf)?"custom":void 0})}if(_.length){f();for(const re of _)Oe(re.key,re.code,re.category);(se=e.scheduleRender)==null||se.call(e),(de=e.emitModelData)==null||de.call(e)}}function P(){He(1)}function Ne(){He(-1)}return{undoStack:n,redoStack:o,cloneCells:a,takeSnap:i,restoreSnap:r,saveUndo:f,undo:m,redo:h,canUndo:S,canRedo:d,hasSelection:k,paintFmt:v,onPaintFormat:E,applyPaintFormat:J,clearFormat:j,fontFamilyOptions:le,fontSizeOptions:L,FONT_FAMILY_MIXED:g,selFontFamily:he,selFontSize:Z,applyStyleToSelection:ie,onFontFamilyChange:De,onFontSizeChange:Ve,hAlignOptions:ke,vAlignOptions:Be,selHAlign:Xe,selVAlign:Ge,selWrap:oe,onHAlignChange:ge,onVAlignChange:u,onWrapToggle:D,fontSizeInput:I,fontSizeMenuOpen:G,onFontSizeInput:$,onFontSizeBlur:ne,onFontSizeKeydown:H,toggleFontSizeMenu:c,onFontSizeStepUp:y,onFontSizeStepDown:at,selFontWeight:p,selFontStyle:F,selUnderline:Ue,selStrikethrough:vt,toggleFontWeight:ce,toggleFontStyle:We,toggleUnderline:Je,toggleStrikethrough:gt,cachedTextColor:kt,cachedFillColor:Vt,textColorMenuOpen:Ht,fillColorMenuOpen:Kt,_toggleTextColorMenu:lo,_toggleFillColorMenu:Wt,onBorderMenuToggle:yo,onTextColorChange:ro,onFillColorChange:Yt,applyCachedTextColor:Mo,applyCachedFillColor:xo,selTextColor:qt,selFillColor:ao,nfOptions:uo,selNumberFormat:io,selNumberFormatDisplay:M,NF_NUMBER_FORMAT_MIXED:ho,nfDialogOpen:fo,onNumberFormatChange:me,openNumberFormatDialog:Ce,applyNumberFormatCode:N,canIncreaseDecimals:ae,canDecreaseDecimals:W,onIncreaseDecimals:P,onDecreaseDecimals:Ne}}function Dc(e,l){l.borderMenuOpen&&(e.borderMenuOpen=l.borderMenuOpen),l.mergeMenuOpen&&(e.mergeMenuOpen=l.mergeMenuOpen),(()=>{const o=e.borderMenuOpen,a=e.mergeMenuOpen;e.onBorderMenuToggle=i=>{o&&(o.value=i),i&&(e.textColorMenuOpen.value=!1,e.fillColorMenuOpen.value=!1,a&&(a.value=!1))},e.toggleFontSizeMenu=i=>{i&&i.preventDefault(),e.fontSizeMenuOpen.value=!e.fontSizeMenuOpen.value,e.fontSizeMenuOpen.value&&(a&&(a.value=!1),o&&(o.value=!1),e.textColorMenuOpen.value=!1,e.fillColorMenuOpen.value=!1)},e._toggleTextColorMenu=()=>{e.textColorMenuOpen.value=!e.textColorMenuOpen.value,e.fillColorMenuOpen.value=!1,o&&(o.value=!1),a&&(a.value=!1)},e._toggleFillColorMenu=()=>{e.fillColorMenuOpen.value=!e.fillColorMenuOpen.value,e.textColorMenuOpen.value=!1,o&&(o.value=!1),a&&(a.value=!1)}})()}function Tc(e,l){const n=t.ref("none"),o=t.ref(!1),a="#444";function i(u,D,I,G){if(u<0||D<0||u>=e.colCount||D>=e.rowCount)return;const $=e.findMerge(u,D),ne=$?$.anchor:e.cellKey(u,D);if(!e.cells[ne]){if(!G)return;e.cells[ne]={value:""}}Mc(e.cells[ne],I,G,e.styles,{get:c=>e.resolveBorder(c),getId:c=>e.registerBorder(c)},e.registerStyle)}function r(u,D,I){var y;const G=e.findMerge(u,D),$=G?G.anchor:e.cellKey(u,D),ne=((y=e.cells[$])==null?void 0:y.value)??"",H=e.resolveStyle(e.cells[$])?{...e.resolveStyle(e.cells[$])}:{},c=e.registerBorder(I);if(c>0?H.borderId=c:delete H.borderId,delete H.borderTopWidth,delete H.borderBottomWidth,delete H.borderLeftWidth,delete H.borderRightWidth,delete H.borderColor,ne===""&&!Object.keys(H).length)e.delCell($);else{const at=e.registerStyle(H);e.cells[$]={value:ne,styleId:at||void 0}}}function f(u){var y,at;n.value=u;const D=e.selection.value;if(!D)return;l.saveUndo();const{startCol:I,startRow:G,endCol:$,endRow:ne}=D,H={width:1,color:a},c={width:2,color:a};if(u==="none")for(let ee=I;ee<=$;ee++)for(let p=G;p<=ne;p++){const F=e.findMerge(ee,p);F&&(ee!==F.range.startCol||p!==F.range.startRow)||r(ee,p,{})}else if(u==="all")for(let ee=I;ee<=$;ee++)for(let p=G;p<=ne;p++){const F=e.findMerge(ee,p);F&&(ee!==F.range.startCol||p!==F.range.startRow)||r(ee,p,{top:H,right:H,bottom:H,left:H})}else if(u==="outer"||u==="thickOuter"){const ee=u==="thickOuter"?c:H;for(let p=I;p<=$;p++)i(p,G,"top",ee);for(let p=I;p<=$;p++)i(p,ne,"bottom",ee);for(let p=G;p<=ne;p++)i(I,p,"left",ee);for(let p=G;p<=ne;p++)i($,p,"right",ee)}else{const p={top:{side:"top",edgeCheck:(F,Ue)=>Ue===G},bottom:{side:"bottom",edgeCheck:(F,Ue)=>Ue===ne},left:{side:"left",edgeCheck:(F,Ue)=>F===I},right:{side:"right",edgeCheck:(F,Ue)=>F===$}}[u];if(p)for(let F=I;F<=$;F++)for(let Ue=G;Ue<=ne;Ue++)p.edgeCheck(F,Ue)&&i(F,Ue,p.side,H)}(y=e.scheduleRender)==null||y.call(e),(at=e.emitModelData)==null||at.call(e)}function m(){f(n.value)}function h(u,D,I){const G=I.toLowerCase(),$=e.findMerge(u,D);if($){if(G==="top"&&D!==$.range.startRow||G==="bottom"&&D!==$.range.endRow||G==="left"&&u!==$.range.startCol||G==="right"&&u!==$.range.endCol)return 0;const H=e.getCellBorderSide(e.cells[$.anchor],G);return(H==null?void 0:H.width)??0}const ne=e.getCellBorderSide(e.cells[e.cellKey(u,D)],G);return(ne==null?void 0:ne.width)??0}const S=t.ref(!1);function d(u){S.value=u,u&&(l.textColorMenuOpen.value=!1,l.fillColorMenuOpen.value=!1,o.value=!1,l.fontSizeMenuOpen.value=!1)}function k(u,D,I,G){const $=[];for(const ne in e.merges){const H=e.merges[ne];H&&H.startCol<=I&&H.endCol>=u&&H.startRow<=G&&H.endRow>=D&&$.push(ne)}for(const ne of $)Reflect.deleteProperty(e.merges,ne)}function v(){var ne,H,c;const u=e.selection.value;if(!u||u.startCol===u.endCol&&u.startRow===u.endRow)return;l.saveUndo(),k(u.startCol,u.startRow,u.endCol,u.endRow);const D=e.cellKey(u.startCol,u.startRow),I=((ne=e.cells[D])==null?void 0:ne.value)??"";for(let y=u.startCol;y<=u.endCol;y++)for(let at=u.startRow;at<=u.endRow;at++)y===u.startCol&&at===u.startRow||e.clearCellsInRange(y,y,at,at);const G=e.resolveStyle(e.cells[D])?{...e.resolveStyle(e.cells[D])}:{};G.textAlign="center";const $=e.registerStyle(G);e.cells[D]={value:I,styleId:$||void 0},e.merges[D]={startCol:u.startCol,startRow:u.startRow,endCol:u.endCol,endRow:u.endRow},e.selectCell(u.startCol,u.startRow),(H=e.scheduleRender)==null||H.call(e),(c=e.emitModelData)==null||c.call(e)}function E(){var D,I,G;const u=e.selection.value;if(!(!u||u.startCol===u.endCol)){l.saveUndo();for(let $=u.startRow;$<=u.endRow;$++){k(u.startCol,$,u.endCol,$);const ne=e.cellKey(u.startCol,$);(D=e.cells[ne])==null||D.value;for(let H=u.startCol+1;H<=u.endCol;H++)e.clearCellsInRange(H,H,$,$);e.merges[ne]={startCol:u.startCol,startRow:$,endCol:u.endCol,endRow:$}}e.selectRange(u.startCol,u.startRow,u.endCol,u.endRow),(I=e.scheduleRender)==null||I.call(e),(G=e.emitModelData)==null||G.call(e)}}function J(){var I,G,$;const u=e.selection.value;if(!u||u.startCol===u.endCol&&u.startRow===u.endRow)return;l.saveUndo(),k(u.startCol,u.startRow,u.endCol,u.endRow);const D=e.cellKey(u.startCol,u.startRow);(I=e.cells[D])==null||I.value;for(let ne=u.startCol;ne<=u.endCol;ne++)for(let H=u.startRow;H<=u.endRow;H++)ne===u.startCol&&H===u.startRow||e.clearCellsInRange(ne,ne,H,H);e.merges[D]={startCol:u.startCol,startRow:u.startRow,endCol:u.endCol,endRow:u.endRow},e.selectCell(u.startCol,u.startRow),(G=e.scheduleRender)==null||G.call(e),($=e.emitModelData)==null||$.call(e)}function j(){var D,I;const u=e.selection.value;u&&(l.saveUndo(),k(u.startCol,u.startRow,u.endCol,u.endRow),(D=e.scheduleRender)==null||D.call(e),(I=e.emitModelData)==null||I.call(e))}function le(){const u=e.selection.value;if(!u)return;const D=e.findMerge(u.startCol,u.startRow);D&&u.startCol===D.range.startCol&&u.startRow===D.range.startRow&&u.endCol===D.range.endCol&&u.endRow===D.range.endRow?j():v()}function L(u){switch(u){case"mergeCenter":v();break;case"mergeAcross":E();break;case"mergeCells":J();break;case"unmergeCells":j();break}}let g=null,he=[];function Z(u,D,I,G){he=[];for(let $=I;$<=G;$++){const ne=[];for(let H=u;H<=D;H++){const c=e.cells[e.cellKey(H,$)];ne.push((c==null?void 0:c.styleId)??0)}he.push(ne)}}function ie(u,D,I,G){const $=e.cellKey(u,D);if(bn(),I===""||I==null){e.formulaDeps.clear($),G&&G>0?e.cells[$]={value:"",styleId:G}:e.delCell($),e.formulaDeps.markDirty($);return}e.cells[$]={value:I,styleId:G&&G>0?G:void 0},I.startsWith("=")?e.formulaDeps.set($,Vn(I.slice(1),e.colCount,e.rowCount)):e.formulaDeps.clear($),e.formulaDeps.markDirty($)}function De(){const u=e.selection.value;if(!u)return;g={...u},Z(u.startCol,u.endCol,u.startRow,u.endRow);const D=[];for(let I=u.startRow;I<=u.endRow;I++){const G=[];for(let $=u.startCol;$<=u.endCol;$++)G.push(e.getCellRaw($,I));D.push(G.join(" "))}In(D.join(`
|
|
4
|
+
`))}function _e(){const u=e.selection.value;if(u){if(u.startCol===0&&u.endCol===e.colCount-1){g={...u},Z(0,e.colCount-1,u.startRow,u.endRow);const D=[];for(let I=u.startRow;I<=u.endRow;I++){const G=[];for(let $=0;$<e.colCount;$++)G.push(e.getCellRaw($,I));D.push(G.join(" "))}In(D.join(`
|
|
5
|
+
`))}else if(u.startRow===0&&u.endRow===e.rowCount-1){g={...u},Z(u.startCol,u.endCol,0,e.rowCount-1);const D=[];for(let I=0;I<e.rowCount;I++){const G=[];for(let $=u.startCol;$<=u.endCol;$++)G.push(e.getCellRaw($,I));D.push(G.join(" "))}In(D.join(`
|
|
6
|
+
`))}}}async function xe(){var at;let u;try{u=await navigator.clipboard.readText()}catch{return}if(!u&&u!=="")return;const D=u.split(/\r?\n/),I=e.activeCell.value,G=g,$=G&&he.length>0,ne=D.map(ee=>ee.split(" ").length),H=ne.length?Math.max(...ne):0,c=I.col+H-1,y=I.row+D.length-1;c>=0&&y>=0&&e.ensureCapacity(c,y);for(let ee=0;ee<D.length;ee++){const p=D[ee].split(" ");for(let F=0;F<p.length;F++){const Ue=I.col+F,vt=I.row+ee;let ce=p[F];if(ce.startsWith("=")&&G&&(ce=cc(ce,Ue-(G.startCol+F),vt-(G.startRow+ee),e.colCount,e.rowCount,pt)),$&&ee<he.length&&F<(((at=he[ee])==null?void 0:at.length)??0)){const We=he[ee][F]??null;ie(Ue,vt,ce,We)}else e.setCellValue(Ue,vt,ce)}}}function we(){var u;if(l.saveUndo(),De(),e.selection.value){const D=e.selection.value;e.clearCellsInRange(D.startCol,D.endCol,D.startRow,D.endRow),(u=e.scheduleRender)==null||u.call(e)}}function Te(){var u;if(e.selection.value){const D=e.selection.value;e.clearCellsInRange(D.startCol,D.endCol,D.startRow,D.endRow),(u=e.scheduleRender)==null||u.call(e)}}function et(){var ne,H;const u=e.selection.value;if(!u)return;l.saveUndo();const D=u.startCol,I=u.startRow,G=u.endCol,$=u.endRow;if(I===$)if(G+1<e.colCount){const c=`${pt(D)}${I+1}:${pt(G)}${I+1}`;e.setCellValue(G+1,I,`=SUM(${c})`)}else{const c=`${pt(D)}${I+1}:${pt(G-1)}${I+1}`;e.setCellValue(G,I,`=SUM(${c})`)}else for(let c=D;c<=G;c++)if($+1<e.rowCount){const y=`${pt(c)}${I+1}:${pt(c)}${$+1}`;e.setCellValue(c,$+1,`=SUM(${y})`)}else{const y=`${pt(c)}${I+1}:${pt(c)}${$}`;e.setCellValue(c,$,`=SUM(${y})`)}(ne=e.scheduleRender)==null||ne.call(e),(H=e.emitModelData)==null||H.call(e)}function Ve(){var ne,H;const u=e.selection.value;if(!u)return;l.saveUndo();const D=u.startCol,I=u.startRow,G=u.endCol,$=u.endRow;if(I===$)if(G+1<e.colCount){const c=`${pt(D)}${I+1}:${pt(G)}${I+1}`;e.setCellValue(G+1,I,`=AVERAGE(${c})`)}else{const c=`${pt(D)}${I+1}:${pt(G-1)}${I+1}`;e.setCellValue(G,I,`=AVERAGE(${c})`)}else for(let c=D;c<=G;c++)if($+1<e.rowCount){const y=`${pt(c)}${I+1}:${pt(c)}${$+1}`;e.setCellValue(c,$+1,`=AVERAGE(${y})`)}else{const y=`${pt(c)}${I+1}:${pt(c)}${$}`;e.setCellValue(c,$,`=AVERAGE(${y})`)}(ne=e.scheduleRender)==null||ne.call(e),(H=e.emitModelData)==null||H.call(e)}function ke(){var ne,H;const u=e.selection.value;if(!u)return;l.saveUndo();const D=u.startCol,I=u.startRow,G=u.endCol,$=u.endRow;if(I===$)if(G+1<e.colCount){const c=`${pt(D)}${I+1}:${pt(G)}${I+1}`;e.setCellValue(G+1,I,`=COUNT(${c})`)}else{const c=`${pt(D)}${I+1}:${pt(G-1)}${I+1}`;e.setCellValue(G,I,`=COUNT(${c})`)}else for(let c=D;c<=G;c++)if($+1<e.rowCount){const y=`${pt(c)}${I+1}:${pt(c)}${$+1}`;e.setCellValue(c,$+1,`=COUNT(${y})`)}else{const y=`${pt(c)}${I+1}:${pt(c)}${$}`;e.setCellValue(c,$,`=COUNT(${y})`)}(ne=e.scheduleRender)==null||ne.call(e),(H=e.emitModelData)==null||H.call(e)}const Be=t.ref(!1);function Xe(u){Be.value=u,u&&(l.textColorMenuOpen.value=!1,l.fillColorMenuOpen.value=!1,o.value=!1,l.fontSizeMenuOpen.value=!1,S.value=!1)}function Ge(){et(),Be.value=!1}function oe(){Ve(),Be.value=!1}function ge(){ke(),Be.value=!1}return{cachedBorder:n,borderMenuOpen:o,BORDER_COLOR:a,onBorderChange:f,setCellBorderSide:i,applyBorderToCell:r,applyCachedBorder:m,cellBorderWidth:h,mergeMenuOpen:S,onMergeMenuToggle:d,removeOverlappingMerges:k,mergeAndCenter:v,mergeAcross:E,mergeCells:J,unmergeCells:j,onApplyMerge:le,onMergeChange:L,copySourceRange:null,copySourceStyles:[],captureStyles:Z,setCellWithStyle:ie,copyToClipboard:De,copyRowCol:_e,pasteFromClipboard:xe,cutSelected:we,clearSelected:Te,sumSelected:et,avgSelected:Ve,countSelected:ke,calcMenuOpen:Be,onCalcMenuToggle:Xe,onCalcSum:Ge,onCalcAvg:oe,onCalcCount:ge}}function Nc(e,l,n,o){const a={},i=o(l),r=o(n);return i!=null&&(a.width=`${i}px`),r!=null&&(a.height=`${r}px`),a["--sp-formula-bar-bg"]=e.formulaBarBg,a["--sp-formula-bar-border"]=e.formulaBarBorder,a["--sp-formula-bar-label-color"]=e.formulaBarLabelText,a["--sp-formula-bar-label-bg"]=e.formulaBarLabelBg,a["--sp-formula-bar-label-border"]=e.formulaBarLabelBorder,a["--sp-formula-bar-input-bg"]=e.formulaBarInputBg,a["--sp-formula-bar-input-border"]=e.formulaBarInputBorder,a["--sp-formula-bar-input-color"]=e.formulaBarInputText,a["--sp-formula-bar-input-focus-border"]=e.formulaBarInputFocusBorder,a["--sp-formula-bar-input-focus-shadow"]=e.formulaBarInputFocusShadow,a["--sp-wrapper-bg"]=e.wrapperBg,a["--sp-cell-editor-border"]=e.cellEditorBorder,a["--sp-cell-editor-color"]=e.cellEditorText,a["--sp-cell-editor-bg"]=e.cellEditorBg,a["--sp-cell-editor-shadow"]=e.cellEditorShadow,a["--sp-tab-bar-bg"]=e.tabBarBg,a["--sp-tab-bar-border"]=e.tabBarBorder,a["--sp-tab-active-bg"]=e.tabActiveBg,a["--sp-tab-active-color"]=e.tabActiveText,a["--sp-tab-active-border"]=e.tabActiveBorder,a["--sp-tab-inactive-bg"]=e.tabInactiveBg,a["--sp-tab-inactive-color"]=e.tabInactiveText,a["--sp-tab-inactive-border"]=e.tabInactiveBorder,a["--sp-tab-hover-bg"]=e.tabHoverBg,a["--sp-tab-add-btn-color"]=e.tabAddBtnColor,a["--sp-tab-add-btn-hover-bg"]=e.tabAddBtnHoverBg,a["--sp-tab-scroll-btn-color"]=e.tabScrollBtnColor,a["--sp-tab-scroll-btn-hover-bg"]=e.tabScrollBtnHoverBg,a["--sp-scroll-thumb"]=e.scrollbarThumb,a["--sp-scroll-thumb-hover"]=e.scrollbarThumbHover,a["--sp-scroll-btn-bg"]=e.scrollBtnBg,a["--sp-scroll-btn-color"]=e.scrollBtnColor,a["--sp-scroll-btn-hover-bg"]=e.scrollBtnHoverBg,a["--sp-scroll-btn-active-bg"]=e.scrollBtnActiveBg,a["--sp-scroll-track-bg"]=e.scrollTrackBg,a["--sp-toolbar-bg"]=e.toolbarBg,a["--sp-toolbar-border"]=e.toolbarBorder,a["--sp-toolbar-btn-color"]=e.toolbarBtnColor,a["--sp-toolbar-btn-hover-bg"]=e.toolbarBtnHoverBg,a["--sp-toolbar-btn-disabled-color"]=e.toolbarBtnDisabledColor,a["--sp-toolbar-btn-active-color"]=e.toolbarBtnActiveColor,a}function dl(e){return e==="number"?0:1}function ul(e,l,n){var i;if(e==null||e.trim()==="")return{kind:"blank"};const o=l??"";if(o===oo||o==="@")return{kind:"text",text:e};if(no(o)){if(sn(e))return{kind:"number",num:Number(e)};const r=Dn(e,n);return r?{kind:"number",num:r.serial}:{kind:"text",text:Ho(e,o,n)}}const a=Ro(o);if(a.kind==="date"||a.kind==="duration"){const r=Number(e);return Number.isFinite(r)?{kind:"number",num:r}:{kind:"text",text:Ho(e,o,n)}}if(a.kind==="number"){const r=Number(e);if(Number.isFinite(r)){const f=((i=a.sections.find(m=>m.hasDigits))==null?void 0:i.scale)??1;return{kind:"number",num:r*f}}return{kind:"text",text:Ho(e,o,n)}}return{kind:"text",text:Ho(e,o,n)}}function Ic(e,l,n,o){if(e.kind==="blank"||l.kind==="blank")return e.kind==="blank"&&l.kind==="blank"?0:e.kind==="blank"?1:-1;const a=dl(e.kind),i=dl(l.kind);if(a!==i)return n==="asc"?a-i:i-a;let r;return e.kind==="number"?r=(e.num??0)-(l.num??0):r=(e.text??"").localeCompare(l.text??"",o,{numeric:!0}),n==="asc"?r:-r}function Fc(e,l,n){const o=e.map((a,i)=>i);return o.sort((a,i)=>{const r=Ic(e[a],e[i],l,n);return r!==0?r:a-i}),o}function Ac(e){if(e.length<2||e[0].kind!=="text")return!1;for(let l=1;l<e.length;l++)if(e[l].kind==="number")return!0;return!1}function Vc(e,l,n,o,a){function i(x,M){const N=M-x+1,te=et(x,M),me=[],Ce=[];for(const W in e.cells){const Oe=W.indexOf(",");if(Oe<0)continue;const He=parseInt(W.substring(0,Oe),10),P=parseInt(W.substring(Oe+1),10);P>=x&&P<=M?Ce.push(W):P>M&&me.push({oldKey:W,newKey:e.cellKey(He,P-N),cell:e.cells[W]})}for(const W of Ce)Reflect.deleteProperty(e.cells,W);for(const W of me)Reflect.deleteProperty(e.cells,W.oldKey),e.cells[W.newKey]=W.cell;const ye=e.rowHeights.value,ae=new Array(ye.length);for(let W=0;W<x;W++)ae[W]=ye[W];for(let W=x;W<ye.length-N;W++)ae[W]=ye[W+N];for(let W=ye.length-N;W<ye.length;W++)ae[W]=void 0;e.rowHeights.value=ae,Te(te),e.freeze.rows=Math.max(0,Math.min(e.freeze.rows,e.rowCount)),e.freeze.cols=Math.max(0,Math.min(e.freeze.cols,e.colCount))}function r(x,M){const N=M-x+1,te=e.rowCount,me=e.colCount,{lastRow:Ce}=h();Ce>=x&&Ce+N>=te&&e.ensureCapacity(me-1,te-1+N);const ye=e.rowCount,ae=ke(x,M),W=[];for(const P in e.cells){const Ne=P.indexOf(",");if(Ne<0)continue;const ot=parseInt(P.substring(0,Ne),10),b=parseInt(P.substring(Ne+1),10);b>=x&&W.push({oldKey:P,newKey:e.cellKey(ot,b+N),cell:e.cells[P],oldRow:b})}W.sort((P,Ne)=>Ne.oldRow-P.oldRow);for(const P of W)Reflect.deleteProperty(e.cells,P.oldKey),e.cells[P.newKey]=P.cell;for(const P in e.cells){const Ne=P.indexOf(",");if(Ne<0)continue;const ot=parseInt(P.substring(Ne+1),10);ot>=x&&ot<=M&&Reflect.deleteProperty(e.cells,P)}const Oe=e.rowHeights.value,He=new Array(ye);for(let P=0;P<x;P++)He[P]=Oe[P];for(let P=x;P<=M;P++)He[P]=void 0;for(let P=x;P<ye;P++)He[P+N]=Oe[P];e.rowHeights.value=He,Te(ae),e.freeze.rows=Math.max(0,Math.min(e.freeze.rows,e.rowCount)),e.freeze.cols=Math.max(0,Math.min(e.freeze.cols,e.colCount))}function f(x,M){const N=M-x+1,te=e.colCount,me=e.rowCount,{lastCol:Ce}=h();Ce>=x&&Ce+N>=te&&e.ensureCapacity(te-1+N,me-1);const ye=e.colCount,ae=Be(x,M),W=[];for(const P in e.cells){const Ne=P.indexOf(",");if(Ne<0)continue;const ot=parseInt(P.substring(0,Ne),10),b=parseInt(P.substring(Ne+1),10);ot>=x&&W.push({oldKey:P,newKey:e.cellKey(ot+N,b),cell:e.cells[P],oldCol:ot})}W.sort((P,Ne)=>Ne.oldCol-P.oldCol);for(const P of W)Reflect.deleteProperty(e.cells,P.oldKey),e.cells[P.newKey]=P.cell;for(const P in e.cells){const Ne=P.indexOf(",");if(Ne<0)continue;const ot=parseInt(P.substring(0,Ne),10);ot>=x&&ot<=M&&Reflect.deleteProperty(e.cells,P)}const Oe=e.colWidths.value,He=new Array(ye);for(let P=0;P<x;P++)He[P]=Oe[P];for(let P=x;P<=M;P++)He[P]=100;for(let P=x;P<ye;P++)He[P+N]=Oe[P];e.colWidths.value=He,Te(ae),e.freeze.rows=Math.max(0,Math.min(e.freeze.rows,e.rowCount)),e.freeze.cols=Math.max(0,Math.min(e.freeze.cols,e.colCount))}function m(x,M){const N=M-x+1,te=Ve(x,M),me=[],Ce=[];for(const W in e.cells){const Oe=W.indexOf(",");if(Oe<0)continue;const He=parseInt(W.substring(0,Oe),10),P=parseInt(W.substring(Oe+1),10);He>=x&&He<=M?Ce.push(W):He>M&&me.push({oldKey:W,newKey:e.cellKey(He-N,P),cell:e.cells[W]})}for(const W of Ce)Reflect.deleteProperty(e.cells,W);for(const W of me)Reflect.deleteProperty(e.cells,W.oldKey),e.cells[W.newKey]=W.cell;const ye=e.colWidths.value,ae=new Array(ye.length);for(let W=0;W<x;W++)ae[W]=ye[W];for(let W=x;W<ye.length-N;W++)ae[W]=ye[W+N];for(let W=ye.length-N;W<ye.length;W++)ae[W]=100;e.colWidths.value=ae,Te(te),e.freeze.rows=Math.max(0,Math.min(e.freeze.rows,e.rowCount)),e.freeze.cols=Math.max(0,Math.min(e.freeze.cols,e.colCount))}function h(){let x=-1,M=-1;for(const N in e.cells){const te=N.split(",");if(te.length===2){const me=parseInt(te[0],10),Ce=parseInt(te[1],10),ye=e.cells[N];ye&&(ye.value!==""||ye.styleId!==void 0)&&(me>x&&(x=me),Ce>M&&(M=Ce))}}for(let N=e.colCount-1;N>=0;N--){const te=e.colWidths.value[N];if(te!==void 0&&te!==100){N>x&&(x=N);break}}for(let N=e.rowCount-1;N>=0;N--)if(e.rowHeights.value[N]!==void 0){N>M&&(M=N);break}return{lastCol:x,lastRow:M}}function S(x,M){const N=e.resolveStyle(e.cells[e.cellKey(x,M)]);return typeof(N==null?void 0:N.numberFormat)=="string"?N.numberFormat:""}function d(x,M,N){for(let te=M;te<=N;te++)if(e.getCellRaw(x,te).trim()!=="")return!0;return!1}function k(x){const{startRow:M,endRow:N,startCol:te,endCol:me}=x;let Ce=te,ye=me;for(;Ce>0&&d(Ce-1,M,N);)Ce--;for(;ye<e.colCount-1&&d(ye+1,M,N);)ye++;return{startRow:M,endRow:N,startCol:Ce,endCol:ye}}function v(x){const M=k(x);return M.startCol!==x.startCol||M.endCol!==x.endCol}function E(x,M,N,te=x){let me,Ce;if(N)me=N.startRow,Ce=N.endRow;else{const P=e.selection.value,Ne=!!P&&P.startRow===P.endRow&&P.startCol===P.endCol;me=Ne||!P?0:P.startRow,Ce=Ne||!P?e.rowCount-1:P.endRow}let ye=-1,ae=-1;for(let P=me;P<=Ce;P++){let Ne=!1;for(let ot=x;ot<=M;ot++)if(e.getCellRaw(ot,P).trim()!==""){Ne=!0;break}Ne&&(ye<0&&(ye=P),ae=P)}if(ye<0)return null;const W=[];for(let P=ye;P<=ae;P++){const Ne=e.getCellRaw(te,P);W.push(ul(Ne,S(te,P),e.locale.value))}const Oe=Ac(W)?ye+1:ye;let He=!1;for(let P=ye;P<=ae&&!He;P++)for(let Ne=x;Ne<=M;Ne++){const ot=e.cells[e.cellKey(Ne,P)];if(ot&&ot.value.startsWith("=")){He=!0;break}}if(!He)for(const P in e.merges){const Ne=e.merges[P];if(Ne&&Ne.startCol<=M&&Ne.endCol>=x&&Ne.startRow<=Ce&&Ne.endRow>=me){He=!0;break}}return{firstRow:ye,lastRow:ae,sortStart:Oe,blocked:He}}function J(x,M){const N=E(x,M);return!!N&&!N.blocked&&N.sortStart<N.lastRow}function j(x,M,N){var b,z;const te=M??e.selection.value;if(!te)return;const me=te.startCol,Ce=te.endCol,ye=N??me,ae=E(me,Ce,{startRow:te.startRow,endRow:te.endRow},ye);if(!ae||ae.blocked||ae.sortStart>=ae.lastRow)return;const W=Ce-me+1,Oe=ae.lastRow-ae.sortStart+1,He=[],P=[];for(let _=ae.sortStart;_<=ae.lastRow;_++){const se=new Array(W);for(let re=me;re<=Ce;re++)se[re-me]=e.cells[e.cellKey(re,_)]??null;He.push(se);const de=e.getCellRaw(ye,_);P.push(ul(de,S(ye,_),e.locale.value))}const Ne=Fc(P,x,e.locale.value);let ot=!1;for(let _=0;_<Oe;_++)if(Ne[_]!==_){ot=!0;break}if(ot){l.saveUndo();for(let _=0;_<Oe;_++){const se=He[Ne[_]],de=ae.sortStart+_;for(let re=me;re<=Ce;re++){const be=e.cellKey(re,de),Le=se[re-me],it=Le?Le.value:"",ht=(b=e.cells[be])==null?void 0:b.styleId;it!==""||ht!==void 0?e.cells[be]={value:it,styleId:ht}:e.delCell(be)}}bn();for(let _=ae.sortStart;_<=ae.lastRow;_++)for(let se=me;se<=Ce;se++)e.formulaDeps.markDirty(e.cellKey(se,_));(z=e.scheduleRender)==null||z.call(e),F()}}const le=t.ref(!1),L=t.ref(null);function g(x){const M=e.selection.value;if(!M||!v(M))return!1;const N=k(M);return L.value={order:x,originalRange:M,expandedRange:N},le.value=!0,!0}function he(x){const M=L.value;if(!M)return;const{order:N,originalRange:te,expandedRange:me}=M;le.value=!1,L.value=null,j(N,x?me:te,te.startCol),De.value=N}function Z(){le.value=!1,L.value=null}const ie=t.ref(!1),De=t.ref("asc");function _e(x){ie.value=x,x&&(l.textColorMenuOpen.value=!1,l.fillColorMenuOpen.value=!1,l.fontSizeMenuOpen.value=!1)}function xe(x){g(x)||(De.value=x,j(x))}function we(){g(De.value)||j(De.value)}function Te(x){Object.keys(e.merges).forEach(M=>Reflect.deleteProperty(e.merges,M));for(const M of x)if(!(M.newRange.startCol>M.newRange.endCol||M.newRange.startRow>M.newRange.endRow)&&(e.merges[M.newAnchorKey]={...M.newRange},M.anchorCell)){const N=M.anchorCell.value,te=M.anchorCell.styleId;N===""&&!te||(e.cells[M.newAnchorKey]={value:N,styleId:te||void 0})}}function et(x,M){const N=M-x+1,te=[];for(const me in e.merges){const Ce=e.merges[me];if(!Ce)continue;const ye=e.cells[me]?{value:e.cells[me].value,styleId:e.cells[me].styleId??0}:{value:"",styleId:0},{startCol:ae,endCol:W}=Ce;let{startRow:Oe,endRow:He}=Ce;if(Oe>M){Oe-=N,He-=N,te.push({newAnchorKey:e.cellKey(ae,Oe),newRange:{startCol:ae,startRow:Oe,endCol:W,endRow:He}});continue}if(He<x){te.push({newAnchorKey:me,newRange:{startCol:ae,startRow:Oe,endCol:W,endRow:He}});continue}if(Oe>=x&&He<=M||(Oe>=x&&Oe<=M&&(Oe=x),He>=x&&He<=M?He=x-1:He>M&&(He-=N),Oe>He))continue;const P=ae,Ne=Oe,ot=e.cellKey(P,Ne),z=me.split(",").map(Number)[1],_=z>=x&&z<=M||P!==Ce.startCol||Ne!==z;te.push({newAnchorKey:ot,newRange:{startCol:ae,startRow:Oe,endCol:W,endRow:He},anchorCell:_?ye:void 0})}return te}function Ve(x,M){const N=M-x+1,te=[];for(const me in e.merges){const Ce=e.merges[me];if(!Ce)continue;const ye=e.cells[me]?{value:e.cells[me].value,styleId:e.cells[me].styleId??0}:{value:"",styleId:0};let{startCol:ae,endCol:W}=Ce;const{startRow:Oe,endRow:He}=Ce;if(ae>M){ae-=N,W-=N,te.push({newAnchorKey:e.cellKey(ae,Oe),newRange:{startCol:ae,startRow:Oe,endCol:W,endRow:He}});continue}if(W<x){te.push({newAnchorKey:me,newRange:{startCol:ae,startRow:Oe,endCol:W,endRow:He}});continue}if(ae>=x&&W<=M||(ae>=x&&ae<=M&&(ae=x),W>=x&&W<=M?W=x-1:W>M&&(W-=N),ae>W))continue;const P=ae,Ne=Oe,ot=e.cellKey(P,Ne),z=me.split(",").map(Number)[0],_=z>=x&&z<=M||P!==z||Ne!==Ce.startRow;te.push({newAnchorKey:ot,newRange:{startCol:ae,startRow:Oe,endCol:W,endRow:He},anchorCell:_?ye:void 0})}return te}function ke(x,M){const N=M-x+1,te=[];for(const me in e.merges){const Ce=e.merges[me];if(!Ce)continue;const{startCol:ye,endCol:ae}=Ce;let{startRow:W,endRow:Oe}=Ce;Oe<x?te.push({newAnchorKey:me,newRange:{startCol:ye,startRow:W,endCol:ae,endRow:Oe}}):W>M?(W+=N,Oe+=N,te.push({newAnchorKey:e.cellKey(ye,W),newRange:{startCol:ye,startRow:W,endCol:ae,endRow:Oe}})):(Oe+=N,te.push({newAnchorKey:me,newRange:{startCol:ye,startRow:W,endCol:ae,endRow:Oe}}))}return te}function Be(x,M){const N=M-x+1,te=[];for(const me in e.merges){const Ce=e.merges[me];if(!Ce)continue;let{startCol:ye,endCol:ae}=Ce;const{startRow:W,endRow:Oe}=Ce;ae<x?te.push({newAnchorKey:me,newRange:{startCol:ye,startRow:W,endCol:ae,endRow:Oe}}):ye>M?(ye+=N,ae+=N,te.push({newAnchorKey:e.cellKey(ye,W),newRange:{startCol:ye,startRow:W,endCol:ae,endRow:Oe}})):(ae+=N,te.push({newAnchorKey:me,newRange:{startCol:ye,startRow:W,endCol:ae,endRow:Oe}}))}return te}let Xe=0;function Ge(){return Xe++,`s_${Xe}`}function oe(x,M){const N=Math.max(1,(M==null?void 0:M.colCount)??e.colCount),te=Math.max(1,(M==null?void 0:M.rowCount)??e.rowCount),me=new Array(N).fill(100),Ce=new Array(te).fill(void 0);return{id:Ge(),name:x,cells:{},merges:{},styles:[{}],borders:[{}],selection:{startCol:0,startRow:0,endCol:0,endRow:0},activeCell:{col:0,row:0},scrollX:0,scrollY:0,colWidths:me,rowHeights:Ce,colCount:N,rowCount:te,freeze:{rows:0,cols:0}}}const ge=t.ref([oe("Sheet1")]),u=t.ref(0);function D(){const x=ge.value[u.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],x.styles=[...e.styles],x.borders=[...e.borders],x.colCount=e.colCount,x.rowCount=e.rowCount,x.freeze={rows:e.freeze.rows,cols:e.freeze.cols})}function I(x){var ae;const M=ge.value[x];if(!M)return;Object.keys(e.cells).forEach(W=>e.delCell(W)),Object.assign(e.cells,M.cells),Object.keys(e.merges).forEach(W=>Reflect.deleteProperty(e.merges,W)),M.merges&&Object.assign(e.merges,M.merges),e.selection.value=M.selection?{...M.selection}:null,e.activeCell.value={...M.activeCell};const N=e.activeCell.value,te=e.selection.value,me=e.findMerge(N.col,N.row);me&&me.anchor===e.cellKey(N.col,N.row)&&(!te||te.startCol===N.col&&te.startRow===N.row&&te.endCol===N.col&&te.endRow===N.row)&&e.selectCell(N.col,N.row),e.scrollX.value=M.scrollX,e.scrollY.value=M.scrollY,e.colWidths.value=[...M.colWidths],e.rowHeights.value=[...M.rowHeights];const Ce=Math.max(1,M.colCount??e.colCount),ye=Math.max(1,M.rowCount??e.rowCount);(ae=e.setDims)==null||ae.call(e,Ce,ye),e.freeze.rows=Math.max(0,Math.min(M.freeze.rows,e.rowCount)),e.freeze.cols=Math.max(0,Math.min(M.freeze.cols,e.colCount)),e.syncStyles(M.styles),e.syncBorders(M.borders??[{}]),u.value=x}function G(x){x===u.value||x<0||x>=ge.value.length||(e.cancelEdit(),D(),I(x))}function $(x){return l.saveUndo(),e.cancelEdit(),D(),ge.value.push(oe(x??`Sheet${ge.value.length+1}`)),I(ge.value.length-1),ge.value.length-1}function ne(x){return ge.value.length<=1||(l.saveUndo(),e.cancelEdit(),ge.value.splice(x,1),I(Math.min(x,ge.value.length-1))),u.value}function H(x,M){ge.value[x]&&M.trim()&&(l.saveUndo(),ge.value[x].name=M.trim())}function c(x){l.saveUndo(),e.cancelEdit(),D();const M=ge.value[x];if(!M)return x;let N=M.name;const te=N.match(/^(.*?)\s*\((\d+)\)$/);let me=te?parseInt(te[2],10)+1:2;te&&(N=te[1]);let Ce=`${N} (${me})`;const ye=new Set(ge.value.map(W=>W.name));for(;ye.has(Ce);)me++,Ce=`${N} (${me})`;const ae={id:Ge(),name:Ce,cells:{...M.cells},merges:M.merges?{...M.merges}:{},styles:[...M.styles],borders:M.borders?[...M.borders]:[{}],selection:M.selection?{...M.selection}:null,activeCell:M.activeCell?{...M.activeCell}:{col:0,row:0},scrollX:M.scrollX,scrollY:M.scrollY,colWidths:[...M.colWidths],rowHeights:[...M.rowHeights],colCount:M.colCount,rowCount:M.rowCount,freeze:{...M.freeze}};return ge.value.splice(x+1,0,ae),I(x+1),x+1}function y(x,M){var Ce;const N=x+M;if(N<0||N>=ge.value.length)return;l.saveUndo();const te=u.value,me=ge.value.splice(x,1)[0];ge.value.splice(N,0,me),te===x?u.value=N:x<te&&N>=te?u.value=te-1:x>te&&N<=te&&(u.value=te+1),(Ce=e.scheduleRender)==null||Ce.call(e)}const at=t.computed(()=>ge.value.length);let ee="";const p=n;function F(){D();const x=ge.value.map(N=>{const te={};for(const[ae,W]of Object.entries(N.cells))te[ae]={value:W.value},W.styleId&&W.styleId>0&&(te[ae].styleId=W.styleId);const me={name:N.name,cells:te};N.styles&&N.styles.length>1&&(me.styles=[...N.styles]),N.borders&&N.borders.length>1&&(me.borders=[...N.borders]),N.merges&&Object.keys(N.merges).length&&(me.merges={...N.merges});const Ce={};for(let ae=0;ae<N.colWidths.length;ae++)N.colWidths[ae]!==100&&(Ce[ae]=N.colWidths[ae]);Object.keys(Ce).length&&(me.colWidths=Ce);const ye={};for(let ae=0;ae<N.rowHeights.length;ae++){const W=N.rowHeights[ae];W!=null&&(ye[ae]=W)}return Object.keys(ye).length&&(me.rowHeights=ye),N.colCount!==26&&(me.colCount=N.colCount),N.rowCount!==200&&(me.rowCount=N.rowCount),(N.freeze.rows!==0||N.freeze.cols!==0)&&(me.freeze={rows:N.freeze.rows,cols:N.freeze.cols}),me}),M=JSON.stringify(x);M!==ee&&(ee=M,p.value=x,a&&(a.value=M))}e.emitModelData=F;let Ue=!1;function vt(){Ue||(Ue=!0,Promise.resolve().then(()=>{Ue=!1,F()}))}const ce=t.computed(()=>e.props.theme==="dark"?Bl:xl),We=t.computed(()=>Nc(ce.value,e.props.width,e.props.height,jo)),Je=t.computed(()=>{const x={};for(const[M,N]of Object.entries(We.value))M.startsWith("--")&&(x[M]=N);return x}),gt=t.ref(null),kt=t.ref(null),Vt=t.ref(null),Ht=t.ref(null),Kt=t.ref(null),lo=t.reactive({w:800,h:600});e.viewSize&&t.watch(lo,x=>{e.viewSize&&(e.viewSize.w=x.w,e.viewSize.h=x.h)},{deep:!0});const Wt=48,yo=28,ro=11,Yt=t.computed(()=>Math.max(0,e.totalWidth.value-Math.max(0,lo.w-Wt-ro))),Mo=t.computed(()=>Math.max(0,e.totalHeight.value-Math.max(0,lo.h-yo-ro)));function xo(x,M){const N=Math.max(0,lo.w-Wt-ro),te=Math.max(0,lo.h-yo-ro),me=x??e.scrollX.value,Ce=M??e.scrollY.value,ye=40,ae=Math.max(0,e.totalWidth.value-N),W=Math.max(0,e.totalHeight.value-te);if(me>=ae-ye&&me>e.scrollX.value||Ce>=W-ye&&Ce>e.scrollY.value){const Oe=Math.max(0,Math.ceil((me+N)/100)+2),He=Math.max(0,Math.ceil((Ce+te)/24)+2);e.ensureCapacity(Oe,He)}e.scrollX.value=Math.max(0,Math.min(me,Math.max(0,e.totalWidth.value-N))),e.scrollY.value=Math.max(0,Math.min(Ce,Math.max(0,e.totalHeight.value-te)))}e.clampScroll=xo;function qt(){var x;return typeof window>"u"?!1:!((x=window.matchMedia)!=null&&x.call(window,"(hover: none) and (pointer: coarse)").matches)}function ao(x=!1){t.nextTick(()=>{const M=Ht.value;if(M){if(!e.editingCell.value&&!qt()){document.activeElement===M&&M.blur();return}M.focus({preventScroll:!0}),x&&M.select()}})}function uo(){ao()}function fo(){var M;const x=e.selection.value;if(x){l.saveUndo();for(let N=x.startRow;N<=x.endRow;N++)e.rowHeights.value[N]=void 0;(M=e.scheduleRender)==null||M.call(e),F()}}function io(){var M;const x=e.selection.value;if(x){l.saveUndo();for(let N=x.startCol;N<=x.endCol;N++)e.colWidths.value[N]=100;(M=e.scheduleRender)==null||M.call(e),F()}}return{deleteRows:i,insertRows:r,insertCols:f,deleteCols:m,sortSelectedColumns:j,canSortColumns:J,sortMenuOpen:ie,cachedSortOrder:De,onSortMenuToggle:_e,onSortChange:xe,applyCachedSort:we,sortConfirmOpen:le,prepareSortConfirmation:g,confirmSort:he,cancelSortConfirmation:Z,sheets:ge,activeSheetIndex:u,saveSheet:D,loadSheet:I,switchSheet:G,addSheet:$,removeSheet:ne,renameSheet:H,dupSheet:c,moveSheet:y,sheetCount:at,mkSheet:oe,emitModelData:F,scheduleOptEmit:vt,themeColors:ce,outerStyle:We,toolbarThemeVars:Je,wrapperRef:gt,canvasRef:kt,freezeCanvasRef:Vt,editInputRef:Ht,formulaBarRef:Kt,viewSize:lo,maxScrollX:Yt,maxScrollY:Mo,clampScroll:xo,canFocusHiddenEditor:qt,focusEditInput:ao,onCanvasFocus:uo,resetRowHeight:fo,resetColWidth:io,modelData:p}}function fl(e){return!!e&&e.width!==void 0&&e.width>0}function Tt(e,l,n,o){const a=fl(e),i=fl(l);if(!a&&!i)return;if(a&&!i)return e;if(!a&&i)return l;const r=e.width??0,f=l.width??0;return r>f?e:f>r?l:e}function Oc(e,l,n,o,a){let i=!1,r=null,f=1,m=()=>{},h=()=>{},S=()=>{};function d(){i||(i=!0,requestAnimationFrame(()=>{i=!1,J(),j()}))}e.scheduleRender=d;function k(s){const{frozenColumnsWidth:C}=e.getFrozenMetrics(),V=C>0&&s<52+C?s-52:s-52+e.scrollX.value;return e.hitCol(V)}function v(s){const{frozenRowsHeight:C}=e.getFrozenMetrics(),V=C>0&&s<24+C?s-24:s-24+e.scrollY.value;return e.hitRow(V)}const E="#444";function J(){const s=o.wrapperRef.value,C=o.canvasRef.value;if(!s||!C||(r=C.getContext("2d"),!r))return;f=window.devicePixelRatio||1;const V=s.getBoundingClientRect(),Y=V.width,A=V.height;o.viewSize.w=Y,o.viewSize.h=A,C.width=Y*f,C.height=A*f,C.style.width=Y+"px",C.style.height=A+"px",r.setTransform(f,0,0,f,0,0);const K=e.scrollX.value,ue=e.scrollY.value,X=52,pe=24,Fe=o.themeColors.value,It=e.colPositions.value,ut=e.rowPositions.value,Dt=e.colWidths.value,{frozenRowsHeight:ft,frozenColumnsWidth:Rt}=e.getFrozenMetrics(),Xt=X+Rt,jt=pe+ft,Jo=Math.max(0,Y-X-11-Rt),Bo=Math.max(0,A-pe-11-ft),Wo=Math.max(0,e.freeze.cols-1),Po=Math.max(0,e.freeze.rows-1),bo=Math.max(e.freeze.cols,e.hitCol(Rt+K));let Ko=bo;for(let R=bo;R<e.colCount&&!(X+It[R]-K>=Y);R++)Ko=R;const Do=Math.max(e.freeze.rows,e.hitRow(ft+ue));let mo=Do;for(let R=Do;R<e.rowCount&&!(pe+ut[R]-ue>=A);R++)mo=R;let Co=bo,zt=Ko,eo=Do,Lt=mo;Rt>0&&(Co=0,zt=Math.max(zt,Wo)),ft>0&&(eo=0,Lt=Math.max(Lt,Po));let Uo=Co,co=eo;for(const R in e.merges){const Ee=e.merges[R];Ee&&(Ee.startRow>Lt||Ee.endRow<eo||Ee.startCol>zt||Ee.endCol<Co||(Ee.startCol<Uo&&(Uo=Ee.startCol),Ee.startRow<co&&(co=Ee.startRow)))}const Go=new Array(co);for(let R=co;R<=Lt;R++)Go[R]=ut[R+1]-ut[R];r.fillStyle=Fe.bg,r.fillRect(0,0,Y,A),r.fillStyle=Fe.gridBg,r.fillRect(X,pe,Y-X,A-pe);const mt=e.selection.value,pn=e.editingCell.value;m=(R,Ee,$e,st,yt,Mt)=>{for(let Ze=st;Ze<=yt;Ze++)for(let ve=Ee;ve<=$e;ve++){if(e.findMerge(ve,Ze))continue;const Ye=e.cellToScreenRect(Ze,ve),ze=Ye.x,Ae=Ye.y,rt=Ye.width,dt=Ye.height;if(ze+rt<X||Ae+dt<pe||ze>Y||Ae>A)continue;const bt=e.findHighlight?e.findHighlight(ve,Ze):null,Ct=e.resolveStyle(e.cells[e.cellKey(ve,Ze)]),wt=typeof(Ct==null?void 0:Ct.backgroundColor)=="string"?Ct.backgroundColor:"";if(wt&&(R.fillStyle=wt,R.fillRect(ze,Ae,rt,dt)),bt&&(R.fillStyle=bt==="active"?Fe.findActiveBg:Fe.findMatchBg,R.fillRect(ze,Ae,rt,dt)),e.isSelected(ve,Ze)&&(R.fillStyle=Fe.selectionBg,e.selectionMode.value==="row"||e.selectionMode.value==="col"?R.fillRect(ze,Ae,Dt[ve],Mt[Ze]):R.fillRect(ze,Ae,rt,dt)),e.activeCell.value.col===ve&&e.activeCell.value.row===Ze&&(R.strokeStyle=Fe.activeCellBorder,R.lineWidth=2,R.strokeRect(ze+1,Ae+1,rt-2,dt-2)),bt==="active"&&(R.strokeStyle=Fe.findActiveBg,R.lineWidth=2,R.strokeRect(ze+1,Ae+1,rt-2,dt-2)),R.strokeStyle=Fe.gridLine,R.lineWidth=.5,R.strokeRect(ze+.25,Ae+.25,rt-.5,dt-.5),!(pn&&pn.col===ve&&pn.row===Ze)){const fe=e.resolveStyle(e.cells[e.cellKey(ve,Ze)]),q=e.getCellValue(ve,Ze),Re=typeof(fe==null?void 0:fe.numberFormat)=="string"?fe.numberFormat:"",Me=q?Ho(q,Re,e.locale.value):"";if(Me){const Pe=e.cellFontSize(ve,Ze),Et=typeof(fe==null?void 0:fe.fontFamily)=="string"&&fe.fontFamily?fe.fontFamily:Xo,Pt=(fe==null?void 0:fe.fontWeight)==="bold"?"bold":"normal",$t=(fe==null?void 0:fe.fontStyle)==="italic"?"italic":"normal",vo=(fe==null?void 0:fe.underline)==="underline",To=(fe==null?void 0:fe.strikethrough)==="line-through",wo=typeof(fe==null?void 0:fe.color)=="string"?fe.color:"",No=typeof(fe==null?void 0:fe.textAlign)=="string"?fe.textAlign:Rn(q,Re)?"right":"left",an=typeof(fe==null?void 0:fe.verticalAlign)=="string"?fe.verticalAlign:"top";R.fillStyle=wo||Fe.cellText,R.font=`${$t} ${Pt} ${Pe}px ${Et}`,R.textBaseline="alphabetic",R.save(),R.beginPath(),R.rect(ze+5,Ae+1,rt-10,dt-2),R.clip();const Io=(fe==null?void 0:fe.wrap)==="wrap",so=rt-10;let Fo=Me;const po=!Io&&Gn(Re),Ao=Me===gn||Yn(q,Re);if(Ao||po){if(Ao){const en=Math.max(1,R.measureText("#").width),hn=Math.max(1,Math.floor(so/en));Fo="#".repeat(hn)}else if(e.getWrappedLines(R,Me,1e9,!1).some(Vo=>Vo&&R.measureText(Vo).width>so)){const Vo=Math.max(1,R.measureText("#").width),cn=Math.max(1,Math.floor(so/Vo));Fo="#".repeat(cn)}}const to=e.getWrappedLines(R,Fo,so,Io),{ascent:Qo,descent:Cn}=e.measureFontMetrics(Et,Pe,Pt,$t),vn=Qo+Cn,as=to.length*vn;let wn;an==="middle"?wn=Ae+(dt-as)/2+Qo:an==="bottom"?wn=Ae+dt-e.BASE_CELL_VPAD-Cn-(to.length-1)*vn:wn=Ae+e.BASE_CELL_VPAD+Qo;for(let en=0;en<to.length;en++){const hn=to[en],Vo=wn+en*vn,cn=R.measureText(hn);let Yo;if(No==="center"?Yo=ze+rt/2-cn.width/2:No==="right"?Yo=ze+rt-5-cn.width:Yo=ze+5,R.fillText(hn,Yo,Vo),vo&&(R.strokeStyle=wo||Fe.cellText,R.lineWidth=1,R.beginPath(),R.moveTo(Yo,Vo+Cn+1),R.lineTo(Yo+cn.width,Vo+Cn+1),R.stroke()),To){R.strokeStyle=wo||Fe.cellText,R.lineWidth=1;const hl=Vo-Qo+vn*.42;R.beginPath(),R.moveTo(Yo,hl),R.lineTo(Yo+cn.width,hl),R.stroke()}}R.restore()}}}};const Ft=(R,Ee,$e)=>{const st=e.findMerge(R,Ee);return st?e.getCellBorderSide(e.cells[st.anchor],$e):e.getCellBorderSide(e.cells[e.cellKey(R,Ee)],$e)};h=(R,Ee,$e,st,yt,Mt)=>{R.fillStyle=E;for(let Ze=st;Ze<=yt;Ze++)for(let ve=Ee;ve<=$e;ve++){if(e.findMerge(ve,Ze))continue;const Ye=e.cellToScreenRect(Ze,ve),ze=Ye.x,Ae=Ye.y,rt=Ye.width,dt=Ye.height;if(ze+rt<X||Ae+dt<pe||ze>Y||Ae>A)continue;const bt=e.cells[e.cellKey(ve,Ze)],Ct={top:e.getCellBorderSide(bt,"top"),right:e.getCellBorderSide(bt,"right"),bottom:e.getCellBorderSide(bt,"bottom"),left:e.getCellBorderSide(bt,"left")},wt={top:Ft(ve,Ze-1,"bottom"),left:Ft(ve-1,Ze,"right"),bottom:Ft(ve,Ze+1,"top"),right:Ft(ve+1,Ze,"left")},fe=Tt(wt.top,Ct.top),q=Tt(wt.left,Ct.left),Re=Tt(Ct.bottom,wt.bottom),Me=Tt(Ct.right,wt.right),Pe=(fe==null?void 0:fe.width)??0,Et=(q==null?void 0:q.width)??0,Pt=(Re==null?void 0:Re.width)??0,$t=(Me==null?void 0:Me.width)??0;Pe>0&&(R.fillStyle=(fe==null?void 0:fe.color)||E,R.fillRect(ze,Ae,rt,Pe)),Pt>0&&(R.fillStyle=(Re==null?void 0:Re.color)||E,R.fillRect(ze,Ae+dt-Pt,rt,Pt)),Et>0&&(R.fillStyle=(q==null?void 0:q.color)||E,R.fillRect(ze,Ae,Et,dt)),$t>0&&(R.fillStyle=(Me==null?void 0:Me.color)||E,R.fillRect(ze+rt-$t,Ae,$t,dt)),Pe>0&&Et>0&&(R.fillStyle=(fe==null?void 0:fe.color)||(q==null?void 0:q.color)||E,R.fillRect(ze-Et,Ae-Pe,Et,Pe)),Pe>0&&$t>0&&(R.fillStyle=(fe==null?void 0:fe.color)||(Me==null?void 0:Me.color)||E,R.fillRect(ze+rt,Ae-Pe,$t,Pe)),Pt>0&&Et>0&&(R.fillStyle=(Re==null?void 0:Re.color)||(q==null?void 0:q.color)||E,R.fillRect(ze-Et,Ae+dt,Et,Pt)),Pt>0&&$t>0&&(R.fillStyle=(Re==null?void 0:Re.color)||(Me==null?void 0:Me.color)||E,R.fillRect(ze+rt,Ae+dt,$t,Pt))}};const nt=(R,Ee,$e,st,yt,Mt,Ze)=>{const ve=e.resolveStyle(e.cells[e.cellKey(Ee,$e)]),lt=e.getCellValue(Ee,$e),Ye=typeof(ve==null?void 0:ve.numberFormat)=="string"?ve.numberFormat:"",ze=lt?Ho(lt,Ye,e.locale.value):"";if(!ze)return;const Ae=e.cellFontSize(Ee,$e),rt=typeof(ve==null?void 0:ve.fontFamily)=="string"&&ve.fontFamily?ve.fontFamily:Xo,dt=(ve==null?void 0:ve.fontWeight)==="bold"?"bold":"normal",bt=(ve==null?void 0:ve.fontStyle)==="italic"?"italic":"normal",Ct=(ve==null?void 0:ve.underline)==="underline",wt=(ve==null?void 0:ve.strikethrough)==="line-through",fe=typeof(ve==null?void 0:ve.color)=="string"?ve.color:"",q=typeof(ve==null?void 0:ve.textAlign)=="string"?ve.textAlign:Rn(lt,Ye)?"right":"left",Re=typeof(ve==null?void 0:ve.verticalAlign)=="string"?ve.verticalAlign:"top";R.fillStyle=fe||Fe.cellText,R.font=`${bt} ${dt} ${Ae}px ${rt}`,R.textBaseline="alphabetic",R.save(),R.beginPath(),R.rect(Mt+5,Ze+1,st-10,yt-2),R.clip();const Me=(ve==null?void 0:ve.wrap)==="wrap",Pe=st-10;let Et=ze;const Pt=!Me&&Gn(Ye),$t=ze===gn||Yn(lt,Ye);if($t||Pt){if($t){const so=Math.max(1,R.measureText("#").width),Fo=Math.max(1,Math.floor(Pe/so));Et="#".repeat(Fo)}else if(e.getWrappedLines(R,ze,1e9,!1).some(po=>po&&R.measureText(po).width>Pe)){const po=Math.max(1,R.measureText("#").width),Ao=Math.max(1,Math.floor(Pe/po));Et="#".repeat(Ao)}}const vo=e.getWrappedLines(R,Et,Pe,Me),{ascent:To,descent:wo}=e.measureFontMetrics(rt,Ae,dt,bt),No=To+wo,an=vo.length*No;let Io;Re==="middle"?Io=Ze+(yt-an)/2+To:Re==="bottom"?Io=Ze+yt-e.BASE_CELL_VPAD-wo-(vo.length-1)*No:Io=Ze+e.BASE_CELL_VPAD+To;for(let so=0;so<vo.length;so++){const Fo=vo[so],po=Io+so*No,Ao=R.measureText(Fo);let to;if(q==="center"?to=Mt+st/2-Ao.width/2:q==="right"?to=Mt+st-5-Ao.width:to=Mt+5,R.fillText(Fo,to,po),Ct&&(R.strokeStyle=fe||Fe.cellText,R.lineWidth=1,R.beginPath(),R.moveTo(to,po+wo+1),R.lineTo(to+Ao.width,po+wo+1),R.stroke()),wt){R.strokeStyle=fe||Fe.cellText,R.lineWidth=1;const Qo=po-To+No*.42;R.beginPath(),R.moveTo(to,Qo),R.lineTo(to+Ao.width,Qo),R.stroke()}}R.restore()},At=(R,Ee,$e,st,yt,Mt,Ze,ve)=>{const lt=Ee.startCol,Ye=Ee.endCol,ze=Ee.startRow,Ae=Ee.endRow,rt=st,dt=Mt,bt=Ze&&Ye>=e.freeze.cols,Ct=ve&&Ae>=e.freeze.rows,wt=e.cells[e.cellKey(lt,ze)],fe={top:e.getCellBorderSide(wt,"top"),right:e.getCellBorderSide(wt,"right"),bottom:e.getCellBorderSide(wt,"bottom"),left:e.getCellBorderSide(wt,"left")};R.fillStyle=E;for(let q=lt;q<=Ye;q++){if(Ze&&q>=e.freeze.cols||e.isSameMergeInternal(q,ze-1,q,ze))continue;const Re=Ft(q,ze-1,"bottom"),Me=Tt(Re,fe.top);if(Me&&Me.width&&Me.width>0){const Pe=q<e.freeze.cols?X+It[q]:X+It[q]-K;R.fillStyle=Me.color||E,R.fillRect(Pe,rt,Dt[q],Me.width)}}if(!Ct)for(let q=lt;q<=Ye;q++){if(Ze&&q>=e.freeze.cols||e.isSameMergeInternal(q,Ae,q,Ae+1))continue;const Re=Ft(q,Ae+1,"top"),Me=Tt(fe.bottom,Re);if(Me&&Me.width&&Me.width>0){const Pe=q<e.freeze.cols?X+It[q]:X+It[q]-K;R.fillStyle=Me.color||E,R.fillRect(Pe,rt+dt-Me.width,Dt[q],Me.width)}}for(let q=ze;q<=Ae;q++){if(ve&&q>=e.freeze.rows||e.isSameMergeInternal(lt-1,q,lt,q))continue;const Re=Ft(lt-1,q,"right"),Me=Tt(Re,fe.left);if(Me&&Me.width&&Me.width>0){const Pe=q<e.freeze.rows?pe+ut[q]:pe+ut[q]-ue,Et=ut[q+1]-ut[q];R.fillStyle=Me.color||E,R.fillRect($e,Pe,Me.width,Et)}}if(!bt)for(let q=ze;q<=Ae;q++){if(ve&&q>=e.freeze.rows||e.isSameMergeInternal(Ye,q,Ye+1,q))continue;const Re=Ft(Ye+1,q,"left"),Me=Tt(fe.right,Re);if(Me&&Me.width&&Me.width>0){const Pe=q<e.freeze.rows?pe+ut[q]:pe+ut[q]-ue,Et=ut[q+1]-ut[q];R.fillStyle=Me.color||E,R.fillRect($e+yt-Me.width,Pe,Me.width,Et)}}{const q=e.isSameMergeInternal(lt,ze-1,lt,ze)?fe.top:Tt(Ft(lt,ze-1,"bottom"),fe.top),Re=e.isSameMergeInternal(lt-1,ze,lt,ze)?fe.left:Tt(Ft(lt-1,ze,"right"),fe.left),Me=(q==null?void 0:q.width)??0,Pe=(Re==null?void 0:Re.width)??0;Me>0&&Pe>0&&(R.fillStyle=(q==null?void 0:q.color)||(Re==null?void 0:Re.color)||E,R.fillRect($e-Pe,st-Me,Pe,Me))}if(!bt){const q=e.isSameMergeInternal(Ye,ze-1,Ye,ze)?fe.top:Tt(Ft(Ye,ze-1,"bottom"),fe.top),Re=e.isSameMergeInternal(Ye,ze,Ye+1,ze)?fe.right:Tt(fe.right,Ft(Ye+1,ze,"left")),Me=(q==null?void 0:q.width)??0,Pe=(Re==null?void 0:Re.width)??0;Me>0&&Pe>0&&(R.fillStyle=(q==null?void 0:q.color)||(Re==null?void 0:Re.color)||E,R.fillRect($e+yt,st-Me,Pe,Me))}if(!Ct){const q=e.isSameMergeInternal(lt,Ae,lt,Ae+1)?fe.bottom:Tt(fe.bottom,Ft(lt,Ae+1,"top")),Re=e.isSameMergeInternal(lt-1,Ae,lt,Ae)?fe.left:Tt(Ft(lt-1,Ae,"right"),fe.left),Me=(q==null?void 0:q.width)??0,Pe=(Re==null?void 0:Re.width)??0;Me>0&&Pe>0&&(R.fillStyle=(q==null?void 0:q.color)||(Re==null?void 0:Re.color)||E,R.fillRect($e-Pe,st+Mt,Pe,Me))}if(!bt&&!Ct){const q=e.isSameMergeInternal(Ye,Ae,Ye,Ae+1)?fe.bottom:Tt(fe.bottom,Ft(Ye,Ae+1,"top")),Re=e.isSameMergeInternal(Ye,Ae,Ye+1,Ae)?fe.right:Tt(fe.right,Ft(Ye+1,Ae,"left")),Me=(q==null?void 0:q.width)??0,Pe=(Re==null?void 0:Re.width)??0;Me>0&&Pe>0&&(R.fillStyle=(q==null?void 0:q.color)||(Re==null?void 0:Re.color)||E,R.fillRect($e+yt,st+Mt,Pe,Me))}};S=(R,Ee,$e,st,yt)=>{var Ye;const Mt=Ee+st,Ze=$e+yt,ve=Ee<Xt,lt=$e<jt;for(const ze in e.merges){const Ae=e.merges[ze];if(!Ae)continue;const rt=Ae.startCol,dt=Ae.startRow,bt=Ae.endCol,Ct=Ae.endRow,wt=e.cellToScreenRect(dt,rt),fe=e.cellToScreenRect(Ct,bt),q=wt.x,Re=wt.y,Me=fe.x+fe.width-q,Pe=fe.y+fe.height-Re,Et=ve&&bt>=e.freeze.cols?Math.min(Mt,Xt):Math.min(q+Me,Mt),Pt=lt&&Ct>=e.freeze.rows?Math.min(Ze,jt):Math.min(Re+Pe,Ze),$t=Math.max(q,Ee),vo=Math.max(Re,$e);if(Et<=$t||Pt<=vo)continue;const To=(Ye=e.resolveStyle(e.cells[e.cellKey(rt,dt)]))==null?void 0:Ye.backgroundColor;if(To&&(R.fillStyle=To,R.fillRect($t,vo,Et-$t,Pt-vo)),R.strokeStyle=Fe.gridLine,R.lineWidth=.5,R.strokeRect(q+.25,Re+.25,Et-q-.5,Pt-Re-.5),At(R,Ae,q,Re,Me,Pe,ve,lt),!(e.editingCell.value&&e.editingCell.value.col===rt&&e.editingCell.value.row===dt)){const wo=It[bt+1]-It[rt],No=ut[Ct+1]-ut[dt],an=ve?q:q-K,Io=lt?Re:Re-ue;nt(R,rt,dt,wo,No,an,Io)}}},r.save(),r.beginPath(),r.rect(Xt,jt,Jo,Bo),r.clip(),m(r,Uo,zt,co,Lt,Go),h(r,Uo,zt,co,Lt,Go),S(r,Xt,jt,Jo,Bo),r.restore(),Rt>0&&(r.strokeStyle=Fe.headerSep,r.lineWidth=1,r.beginPath(),r.moveTo(Xt+.5,pe),r.lineTo(Xt+.5,A),r.stroke()),ft>0&&(r.strokeStyle=Fe.headerSep,r.lineWidth=1,r.beginPath(),r.moveTo(X,jt+.5),r.lineTo(Y,jt+.5),r.stroke()),r.fillStyle=Fe.headerBg,r.fillRect(X,0,Y-X,pe);for(let R=bo;R<=Ko;R++){const Ee=X+It[R]-K,$e=Dt[R];Ee+$e<X||Ee>Y||(mt&&R>=mt.startCol&&R<=mt.endCol&&(r.fillStyle=Fe.selectionBg,r.fillRect(Ee,0,$e,pe)),r.strokeStyle=Fe.headerBorder,r.lineWidth=.5,r.strokeRect(Ee+.25,.25,$e-.5,pe-.5),mt&&R>=mt.startCol&&R<=mt.endCol&&(r.strokeStyle=Fe.activeCellBorder,r.lineWidth=2,r.beginPath(),r.moveTo(Ee,pe-1),r.lineTo(Ee+$e,pe-1),r.stroke()),r.fillStyle=Fe.headerText,r.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',r.textAlign="center",r.textBaseline="middle",r.fillText(pt(R),Ee+$e/2,pe/2))}if(Rt>0){r.fillStyle=Fe.headerBg,r.fillRect(X,0,Rt,pe);for(let R=0;R<=Wo;R++){const Ee=X+It[R],$e=Dt[R];Ee+$e<X||Ee>Y||(mt&&R>=mt.startCol&&R<=mt.endCol&&(r.fillStyle=Fe.selectionBg,r.fillRect(Ee,0,$e,pe)),r.strokeStyle=Fe.headerBorder,r.lineWidth=.5,r.strokeRect(Ee+.25,.25,$e-.5,pe-.5),mt&&R>=mt.startCol&&R<=mt.endCol&&(r.strokeStyle=Fe.activeCellBorder,r.lineWidth=2,r.beginPath(),r.moveTo(Ee,pe-1),r.lineTo(Ee+$e,pe-1),r.stroke()),r.fillStyle=Fe.headerText,r.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',r.textAlign="center",r.textBaseline="middle",r.fillText(pt(R),Ee+$e/2,pe/2))}}r.strokeStyle=Fe.headerSep,r.lineWidth=1,r.beginPath(),r.moveTo(X,pe+.5),r.lineTo(Y,pe+.5),r.stroke(),r.fillStyle=Fe.headerBg,r.fillRect(0,pe,X,A-pe);for(let R=Do;R<=mo;R++){const Ee=pe+ut[R]-ue,$e=Go[R];Ee+$e<pe||Ee>A||(mt&&R>=mt.startRow&&R<=mt.endRow&&(r.fillStyle=Fe.selectionBg,r.fillRect(0,Ee,X,$e)),r.strokeStyle=Fe.headerBorder,r.lineWidth=.5,r.strokeRect(.25,Ee+.25,X-.5,$e-.5),mt&&R>=mt.startRow&&R<=mt.endRow&&(r.strokeStyle=Fe.activeCellBorder,r.lineWidth=2,r.beginPath(),r.moveTo(X-1,Ee),r.lineTo(X-1,Ee+$e),r.stroke()),r.fillStyle=Fe.headerText,r.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',r.textAlign="center",r.textBaseline="middle",r.fillText(String(R+1),X/2,Ee+$e/2+.5))}if(ft>0){r.fillStyle=Fe.headerBg,r.fillRect(0,pe,X,ft);for(let R=0;R<=Po;R++){const Ee=pe+ut[R],$e=Go[R];Ee+$e<pe||Ee>A||(mt&&R>=mt.startRow&&R<=mt.endRow&&(r.fillStyle=Fe.selectionBg,r.fillRect(0,Ee,X,$e)),r.strokeStyle=Fe.headerBorder,r.lineWidth=.5,r.strokeRect(.25,Ee+.25,X-.5,$e-.5),mt&&R>=mt.startRow&&R<=mt.endRow&&(r.strokeStyle=Fe.activeCellBorder,r.lineWidth=2,r.beginPath(),r.moveTo(X-1,Ee),r.lineTo(X-1,Ee+$e),r.stroke()),r.fillStyle=Fe.headerText,r.font='11px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',r.textAlign="center",r.textBaseline="middle",r.fillText(String(R+1),X/2,Ee+$e/2+.5))}}r.strokeStyle=Fe.headerSep,r.lineWidth=1,r.beginPath(),r.moveTo(X+.5,pe),r.lineTo(X+.5,A),r.stroke()}function j(){const s=o.freezeCanvasRef.value,C=o.wrapperRef.value;if(!s||!C)return;const V=s.getContext("2d");if(!V)return;const Y=C.getBoundingClientRect(),A=Y.width,K=Y.height,ue=52,X=24,pe=o.themeColors.value,Fe=e.colPositions.value,It=e.rowPositions.value,ut=e.scrollX.value,Dt=e.scrollY.value;s.width=A*f,s.height=K*f,s.style.width=A+"px",s.style.height=K+"px",V.setTransform(f,0,0,f,0,0),V.clearRect(0,0,A,K);const{frozenRowsHeight:ft,frozenColumnsWidth:Rt}=e.getFrozenMetrics();if(ft<=0&&Rt<=0)return;const Xt=ue+Rt,jt=X+ft,Jo=Math.max(0,A-ue-11-Rt),Bo=Math.max(0,K-X-11-ft),Wo=Math.max(0,e.freeze.cols-1),Po=Math.max(0,e.freeze.rows-1),bo=Math.max(e.freeze.cols,e.hitCol(Rt+ut));let Ko=bo;for(let nt=bo;nt<e.colCount&&!(ue+Fe[nt]-ut>=A);nt++)Ko=nt;const Do=Math.max(e.freeze.rows,e.hitRow(ft+Dt));let mo=Do;for(let nt=Do;nt<e.rowCount&&!(X+It[nt]-Dt>=K);nt++)mo=nt;let Co=bo,zt=Ko,eo=Do,Lt=mo;Rt>0&&(Co=0,zt=Math.max(zt,Wo)),ft>0&&(eo=0,Lt=Math.max(Lt,Po));let Uo=Co,co=eo;for(const nt in e.merges){const At=e.merges[nt];At&&(At.startRow>Lt||At.endRow<eo||At.startCol>zt||At.endCol<Co||(At.startCol<Uo&&(Uo=At.startCol),At.startRow<co&&(co=At.startRow)))}const Go=new Array(co);for(let nt=co;nt<=Lt;nt++)Go[nt]=It[nt+1]-It[nt];const mt=(nt,At,R)=>{const Ee=e.findMerge(nt,At);return Ee?e.getCellBorderSide(e.cells[Ee.anchor],R):e.getCellBorderSide(e.cells[e.cellKey(nt,At)],R)},pn=(nt,At,R,Ee,$e)=>{nt.fillStyle="#444";for(let st=Ee;st<=$e;st++)for(let yt=At;yt<=R;yt++){const Mt=e.findMerge(yt,st);if(Mt&&!(yt===Mt.range.startCol&&st===Mt.range.startRow))continue;const Ze=e.cellToScreenRect(st,yt),ve=Ze.x,lt=Ze.y,Ye=Ze.width,ze=Ze.height;if(ve+Ye<ue||lt+ze<X||ve>A||lt>K)continue;const Ae=e.cells[e.cellKey(yt,st)],rt={top:e.getCellBorderSide(Ae,"top"),right:e.getCellBorderSide(Ae,"right"),bottom:e.getCellBorderSide(Ae,"bottom"),left:e.getCellBorderSide(Ae,"left")};if(Mt)continue;const dt={top:mt(yt,st-1,"bottom"),left:mt(yt-1,st,"right"),bottom:mt(yt,st+1,"top"),right:mt(yt+1,st,"left")},bt=Tt(dt.top,rt.top),Ct=Tt(dt.left,rt.left),wt=Tt(rt.bottom,dt.bottom),fe=Tt(rt.right,dt.right),q=(bt==null?void 0:bt.width)??0,Re=(Ct==null?void 0:Ct.width)??0,Me=(wt==null?void 0:wt.width)??0,Pe=(fe==null?void 0:fe.width)??0;q>0&&(nt.fillStyle=(bt==null?void 0:bt.color)||"#444",nt.fillRect(ve,lt,Ye,q)),Me>0&&(nt.fillStyle=(wt==null?void 0:wt.color)||"#444",nt.fillRect(ve,lt+ze-Me,Ye,Me)),Re>0&&(nt.fillStyle=(Ct==null?void 0:Ct.color)||"#444",nt.fillRect(ve,lt,Re,ze)),Pe>0&&(nt.fillStyle=(fe==null?void 0:fe.color)||"#444",nt.fillRect(ve+Ye-Pe,lt,Pe,ze))}},Ft=(nt,At,R,Ee,$e,st,yt,Mt)=>{R<=0||Ee<=0||(V.save(),V.beginPath(),V.rect(nt,At,R,Ee),V.clip(),V.fillStyle=pe.gridBg,V.fillRect(nt,At,R,Ee),m(V,$e,st,yt,Mt,Go),pn(V,$e,st,yt,Mt),S(V,nt,At,R,Ee),V.restore())};Rt>0&&ft>0&&Ft(ue,X,Rt,ft,0,Wo,0,Po),ft>0&&Ft(Xt,X,Jo,ft,Uo,zt,0,Po),Rt>0&&Ft(ue,jt,Rt,Bo,0,Wo,co,Lt),V.strokeStyle=pe.headerSep,V.lineWidth=1,Rt>0&&(V.beginPath(),V.moveTo(Xt+.5,X),V.lineTo(Xt+.5,K),V.stroke()),ft>0&&(V.beginPath(),V.moveTo(ue,jt+.5),V.lineTo(A,jt+.5),V.stroke()),V.fillStyle=pe.headerBg,V.fillRect(0,0,ue,X),V.strokeStyle=pe.headerSep,V.lineWidth=1,V.strokeRect(.5,.5,ue-.5,X-.5)}const le=t.computed(()=>pt(e.activeCell.value.col)+String(e.activeCell.value.row+1)),L=t.ref(""),g=t.ref(!1),he=t.computed(()=>e.editingCell.value?L.value:e.getCellRaw(e.activeCell.value.col,e.activeCell.value.row));t.watch(()=>e.editingCell.value,(s,C)=>{if(s&&!C){const V=e.editValue.value||e.getCellRaw(s.col,s.row)||"";L.value=V,xe=!1}else!s&&C&&(L.value="",g.value=!1,xe=!1)},{immediate:!0}),t.watch(()=>[e.activeCell.value.col,e.activeCell.value.row],()=>{e.editingCell.value||(L.value="",xe=!1)});function Z(){e.editingCell.value||(e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(),d())}function ie(s){const C=s.target.value;e.editingCell.value?e.editValue.value=C:e.startEdit(C),L.value=C,xe=!0}function De(s){var V,Y;const C={...e.activeCell.value};e.editingCell.value?(e.editValue.value=s,e.commitEdit()):((V=e.saveUndo)==null||V.call(e),e.setCellValue(C.col,C.row,s)),L.value="",xe=!1,d(),(Y=o.emitModelData)==null||Y.call(o)}let _e=!1,xe=!1;function we(){var K,ue,X,pe,Fe,It,ut,Dt,ft;if(_e)return;const s=o.formulaBarRef.value,C=!!(s&&typeof document<"u"&&document.activeElement===s);if(!e.editingCell.value&&!C&&!xe)return;const V={...e.activeCell.value},Y=e.editingCell.value?e.editingCell.value.col:V.col,A=e.editingCell.value?e.editingCell.value.row:V.row;if(!e.editingCell.value){const Rt=e.getCellRaw(Y,A),Xt=L.value!==Rt;if(!xe)return;_e=!0,Xt&&((K=e.saveUndo)==null||K.call(e),e.setCellValue(Y,A,L.value),d(),(ue=o.emitModelData)==null||ue.call(o)),(X=o.formulaBarRef.value)==null||X.blur(),L.value="",g.value=!1,xe=!1,t.nextTick(()=>{_e=!1});return}_e=!0,xe?(e.editValue.value=L.value,e.commitEdit(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),(pe=o.formulaBarRef.value)==null||pe.blur(),L.value="",g.value=!1,xe=!1,d(),o.focusEditInput(),(Fe=o.emitModelData)==null||Fe.call(o),t.nextTick(()=>{_e=!1})):C?(L.value=e.editValue.value,e.commitEdit(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),(It=o.formulaBarRef.value)==null||It.blur(),L.value="",g.value=!1,xe=!1,d(),o.focusEditInput(),(ut=o.emitModelData)==null||ut.call(o),t.nextTick(()=>{_e=!1})):(e.commitEdit(),(Dt=o.formulaBarRef.value)==null||Dt.blur(),L.value="",g.value=!1,xe=!1,d(),o.focusEditInput(),(ft=o.emitModelData)==null||ft.call(o),t.nextTick(()=>{_e=!1}))}function Te(){var s;_e||(_e=!0,e.editingCell.value&&e.cancelEdit(),(s=o.formulaBarRef.value)==null||s.blur(),L.value="",g.value=!1,xe=!1,d(),o.focusEditInput(),t.nextTick(()=>{_e=!1}))}function et(s){if(!s.isComposing){if(s.key==="Enter"&&(s.altKey||s.metaKey)&&!s.ctrlKey){s.preventDefault(),s.stopPropagation();const C=s.target;if(!C)return;e.editingCell.value||e.startEdit();const V=C.selectionStart??C.value.length,Y=C.selectionEnd??C.value.length,A=C.value,K=A.substring(0,V)+`
|
|
7
|
+
`+A.substring(Y),ue=V+1;L.value=K,g.value||(g.value=!0),t.nextTick(()=>{try{C.setSelectionRange(ue,ue)}catch{}if(g.value)try{C.scrollTop=C.scrollHeight}catch{}try{C.focus({preventScroll:!0})}catch{}});return}s.key==="Enter"?(s.preventDefault(),we()):s.key==="Escape"&&(s.preventDefault(),Te())}}function Ve(){we()}const ke=t.ref(null),Be=t.ref("");function Xe(s){ke.value===null&&(o.switchSheet(s),d())}function Ge(s){s!==o.activeSheetIndex.value&&(o.saveSheet(),o.loadSheet(s),d()),ke.value=s,Be.value=o.sheets.value[s].name,t.nextTick(()=>{const C=document.querySelector(".tab-rename-input");C==null||C.focus(),C==null||C.select()})}function oe(){ke.value!==null&&(o.renameSheet(ke.value,Be.value),t.nextTick(()=>o.emitModelData())),ke.value=null,Be.value=""}function ge(){ke.value=null,Be.value=""}function u(s){s.key==="Enter"?(s.preventDefault(),oe()):s.key==="Escape"&&(s.preventDefault(),ge())}const D=t.ref(null);let I=null;function G(){I&&(document.removeEventListener("click",I),I=null)}function $(s,C,V){G();const Y=140,A=V.length*28+8,K=window.innerWidth,ue=window.innerHeight;s+Y>K&&(s-=Y),C+A>ue&&(C-=A),D.value={x:s,y:C,items:V},I=()=>{D.value=null,G()},setTimeout(()=>document.addEventListener("click",I,{once:!0}),0)}const ne=t.ref(!1);function H(s,C){if(C.disabled){ne.value=!1;return}if(!C.children){ne.value=!1;return}const Y=s.currentTarget.querySelector(".context-submenu");if(!Y){ne.value=!1;return}const A=Y.getBoundingClientRect();ne.value=A.right>window.innerWidth}function c(s,C){s.preventDefault(),s.stopPropagation(),$(s.clientX,s.clientY,[{label:T(e.locale.value,"insert"),action:()=>{o.addSheet(),d()}},{label:T(e.locale.value,"copy"),action:()=>{o.dupSheet(C)}},{label:T(e.locale.value,"rename"),action:()=>{Ge(C)}},{label:T(e.locale.value,"delete"),action:()=>{o.removeSheet(C),d()},disabled:o.sheetCount.value<=1},{label:T(e.locale.value,"moveSheetLeft"),action:()=>{o.moveSheet(C,-1)},disabled:C===0},{label:T(e.locale.value,"moveSheetRight"),action:()=>{o.moveSheet(C,1)},disabled:C===o.sheets.value.length-1}])}function y(s){s.preventDefault(),!(s.target.closest(".tab-item")||s.target.closest(".tab-bar__add-btn"))&&$(s.clientX,s.clientY,[{label:T(e.locale.value,"insert"),action:()=>{o.addSheet(),d()}}])}function at(s){s.preventDefault(),e.selectAll(),d(),$(s.clientX,s.clientY,[{label:T(e.locale.value,"cut"),action:()=>{n.cutSelected(),o.emitModelData()}},{label:T(e.locale.value,"copy"),action:()=>n.copyToClipboard()},{label:T(e.locale.value,"paste"),action:()=>{l.saveUndo(),n.pasteFromClipboard().then(()=>{d(),t.nextTick(()=>o.emitModelData())})}},{label:T(e.locale.value,"delete"),action:()=>{l.saveUndo(),n.clearSelected();for(let C=0;C<e.colCount;C++)e.colWidths.value[C]=100;for(let C=0;C<e.rowCount;C++)e.rowHeights.value[C]=void 0;d(),o.emitModelData()}}])}function ee(s,C){s.preventDefault();const V=s.clientX,Y=s.clientY,A=e.selection.value;A&&A.startCol===0&&A.endCol===e.colCount-1&&C>=A.startRow&&C<=A.endRow||(e.selectRange(0,C,e.colCount-1,C,"row"),d());const K=e.selection.value;$(s.clientX,s.clientY,[{label:T(e.locale.value,"insert"),action:()=>{l.saveUndo(),o.insertRows(K.startRow,K.endRow),d(),o.emitModelData()}},{label:T(e.locale.value,"cut"),action:()=>{l.saveUndo(),n.copyRowCol(),e.clearCellsInRange(0,e.colCount-1,K.startRow,K.endRow),d(),o.emitModelData()}},{label:T(e.locale.value,"copy"),action:()=>n.copyRowCol()},{label:T(e.locale.value,"paste"),action:()=>{l.saveUndo(),n.pasteFromClipboard().then(()=>{d(),t.nextTick(()=>o.emitModelData())})}},{label:T(e.locale.value,"delete"),action:()=>{l.saveUndo(),o.deleteRows(K.startRow,K.endRow),d(),o.emitModelData()}},{label:`${T(e.locale.value,"rowHeight")}...`,action:()=>Je("row",V,Y)},{label:T(e.locale.value,"autoRowHeight"),action:()=>o.resetRowHeight()},{label:T(e.locale.value,"freezeToRow"),action:()=>{e.setFreeze(C+1,e.freeze.cols),d()}}])}function p(s,C){s.preventDefault();const V=s.clientX,Y=s.clientY,A=e.selection.value;A&&A.startRow===0&&A.endRow===e.rowCount-1&&C>=A.startCol&&C<=A.endCol||(e.selectRange(C,0,C,e.rowCount-1,"col"),d());const K=e.selection.value,ue=!o.canSortColumns(K.startCol,K.endCol);$(s.clientX,s.clientY,[{label:T(e.locale.value,"insert"),action:()=>{l.saveUndo(),o.insertCols(K.startCol,K.endCol),d(),o.emitModelData()}},{label:T(e.locale.value,"cut"),action:()=>{l.saveUndo(),n.copyRowCol(),e.clearCellsInRange(K.startCol,K.endCol,0,e.rowCount-1),d(),o.emitModelData()}},{label:T(e.locale.value,"copy"),action:()=>n.copyRowCol()},{label:T(e.locale.value,"paste"),action:()=>{l.saveUndo(),n.pasteFromClipboard().then(()=>{d(),t.nextTick(()=>o.emitModelData())})}},{label:T(e.locale.value,"delete"),action:()=>{l.saveUndo(),o.deleteCols(K.startCol,K.endCol),d(),o.emitModelData()}},{label:T(e.locale.value,"sort"),disabled:ue,children:[{label:T(e.locale.value,"sortAsc"),action:()=>{o.prepareSortConfirmation("asc")||o.sortSelectedColumns("asc")},disabled:ue},{label:T(e.locale.value,"sortDesc"),action:()=>{o.prepareSortConfirmation("desc")||o.sortSelectedColumns("desc")},disabled:ue}]},{label:`${T(e.locale.value,"colWidth")}...`,action:()=>Je("col",V,Y)},{label:T(e.locale.value,"defaultColWidth"),action:()=>o.resetColWidth()},{label:T(e.locale.value,"freezeToCol"),action:()=>{e.setFreeze(e.freeze.rows,C+1),d()}}])}function F(s,C,V){s.preventDefault(),e.isSelected(C,V)||(e.selectCell(C,V),d());const Y=e.selection.value,A=!!(Y&&Y.startCol===Y.endCol&&Y.startRow===Y.endRow);$(s.clientX,s.clientY,[{label:T(e.locale.value,"cut"),action:()=>{n.cutSelected(),o.emitModelData()}},{label:T(e.locale.value,"copy"),action:()=>n.copyToClipboard()},{label:T(e.locale.value,"paste"),action:()=>{l.saveUndo(),n.pasteFromClipboard().then(()=>{d(),t.nextTick(()=>o.emitModelData())})}},{label:T(e.locale.value,"delete"),action:()=>{l.saveUndo(),n.clearSelected(),d(),o.emitModelData()}},{label:T(e.locale.value,"calculate"),children:[{label:T(e.locale.value,"sum"),action:n.sumSelected,disabled:A},{label:T(e.locale.value,"avg"),action:n.avgSelected,disabled:A},{label:T(e.locale.value,"count"),action:n.countSelected,disabled:A}]}])}const Ue=t.ref(null),vt=t.ref(null);let ce=null;function We(){ce&&(document.removeEventListener("mousedown",ce),ce=null)}function Je(s,C,V){We();const Y=e.selection.value;let A="";if(Y){const Fe=s==="row"?e.getRowHeight(Y.startRow):e.colWidths.value[Y.startCol];A=Fe!=null&&Fe>0?String(Math.round(Fe)):""}const K=220,ue=118;let X=C,pe=V;X+K>window.innerWidth&&(X=window.innerWidth-K-8),pe+ue>window.innerHeight&&(pe=window.innerHeight-ue-8),X<8&&(X=8),pe<8&&(pe=8),vt.value={type:s,x:X,y:pe,value:A,error:""},ce=()=>{vt.value=null},setTimeout(()=>document.addEventListener("mousedown",ce,{once:!0}),0),t.nextTick(()=>{const Fe=Ue.value;Fe&&(Fe.focus(),Fe.select())})}function gt(s){const C=vt.value;if(!C)return;const V=s.target,Y=V.value,A=Y.replace(/[^\d]/g,"");C.value=A,Y!==A&&(V.value=A),C.error=""}function kt(s){s.key==="Enter"?(s.preventDefault(),Ht()):s.key==="Escape"&&(s.preventDefault(),Kt())}function Vt(){const s=vt.value;if(!s)return;const C=s.value.trim(),V=Number(C),Y=s.type==="row",A=Y?24:30,K=Y?500:1e3;if(C===""||!Number.isFinite(V)){Kt();return}const ue=Math.max(A,Math.min(K,Math.round(V)));s.value=String(ue),s.error=""}function Ht(){const s=vt.value,C=e.selection.value;if(!s||!C)return;const V=s.value.trim(),Y=Number(V),A=s.type==="row",K=A?24:30,ue=A?500:1e3;if(V===""||!Number.isFinite(Y)){s.error=T(e.locale.value,"dimNumberError");return}if(Y<K||Y>ue){s.error=T(e.locale.value,"dimRangeError").replace("{min}",String(K)).replace("{max}",String(ue));return}const X=Y;if(l.saveUndo(),A)for(let pe=C.startRow;pe<=C.endRow;pe++)e.rowHeights.value[pe]=X;else for(let pe=C.startCol;pe<=C.endCol;pe++)e.colWidths.value[pe]=X;d(),o.emitModelData(),Kt()}function Kt(){We(),vt.value=null}const lo=t.computed(()=>{const s=!e.editingCell.value,C=e.editingCell.value??e.activeCell.value,V=C.col,Y=C.row,A=e.resolveStyle(e.cells[e.cellKey(V,Y)]),K=e.cellFontSize(V,Y),ue=typeof(A==null?void 0:A.fontFamily)=="string"&&A.fontFamily?A.fontFamily:Xo,X=(A==null?void 0:A.fontWeight)==="bold"?"bold":"normal",pe=(A==null?void 0:A.fontStyle)==="italic"?"italic":"normal",Fe=(A==null?void 0:A.underline)==="underline"?"underline":(A==null?void 0:A.strikethrough)==="line-through"?"line-through":"none",It=(A==null?void 0:A.underline)==="underline"&&(A==null?void 0:A.strikethrough)==="line-through"?"underline line-through":Fe,ut=typeof(A==null?void 0:A.color)=="string"?A.color:void 0,Dt=typeof(A==null?void 0:A.backgroundColor)=="string"?A.backgroundColor:void 0,ft=typeof(A==null?void 0:A.numberFormat)=="string"?A.numberFormat:"",Rt=e.editValue.value??e.getCellValue(V,Y),Xt=typeof(A==null?void 0:A.textAlign)=="string"?A.textAlign:Rn(Rt,ft)?"right":"left",jt=typeof(A==null?void 0:A.verticalAlign)=="string"?A.verticalAlign:"top",Jo=e.findMerge(V,Y),Bo=Jo?e.rowPositions.value[Jo.range.endRow+1]-e.rowPositions.value[Y]:e.getRowHeight(Y),Wo=2,{ascent:Po,descent:bo}=e.measureFontMetrics(ue,K,X,pe),Ko=Po+bo,mo=(e.editValue.value?e.editValue.value.split(`
|
|
8
|
+
`).length:1)*Ko,Co=e.BASE_CELL_VPAD-Wo;let zt=0,eo=0;jt==="middle"?(zt=Math.floor((Bo-mo)/2),eo=Math.max(0,Bo-mo-zt)):jt==="top"?(zt=Co,eo=Math.max(0,Bo-mo-zt)):jt==="bottom"&&(eo=Co,zt=Math.max(0,Bo-mo-eo));const Lt=e.cellToScreenRect(Y,V);return{left:`${Lt.x}px`,top:`${Lt.y}px`,width:`${Lt.width}px`,height:`${Lt.height}px`,fontFamily:ue,fontSize:`${K}px`,lineHeight:1,fontWeight:X,fontStyle:pe,textDecoration:It,textAlign:Xt,paddingTop:`${zt}px`,paddingRight:"3px",paddingBottom:`${eo}px`,paddingLeft:"3px",opacity:s?0:1,pointerEvents:s?"none":"auto",color:s?"transparent":ut,caretColor:s?"transparent":void 0,borderColor:s?"transparent":void 0,background:s?"transparent":Dt,boxShadow:s?"none":void 0}});function Wt(){return Math.max(0,o.viewSize.w-52-11)}function yo(){return Math.max(0,o.viewSize.h-24-11)}const ro=t.computed(()=>Math.max(0,Wt()-e.getFrozenMetrics().frozenColumnsWidth)),Yt=t.computed(()=>Math.max(0,yo()-e.getFrozenMetrics().frozenRowsHeight)),Mo=t.computed(()=>52+e.getFrozenMetrics().frozenColumnsWidth),xo=t.computed(()=>24+e.getFrozenMetrics().frozenRowsHeight),qt=t.computed(()=>Math.max(0,ro.value-11*2)),ao=t.computed(()=>Math.max(0,Yt.value-11*2)),uo=t.computed(()=>o.maxScrollX.value<=0?qt.value:Math.max(24,ro.value/e.totalWidth.value*qt.value)),fo=t.computed(()=>o.maxScrollX.value<=0?0:e.scrollX.value/o.maxScrollX.value*(qt.value-uo.value)),io=t.computed(()=>o.maxScrollY.value<=0?ao.value:Math.max(24,Yt.value/e.totalHeight.value*ao.value)),x=t.computed(()=>o.maxScrollY.value<=0?0:e.scrollY.value/o.maxScrollY.value*(ao.value-io.value));let M=null,N=0,te=0;function me(s){s.preventDefault(),M="v",N=s.clientY,te=e.scrollY.value,document.addEventListener("mousemove",ye),document.addEventListener("mouseup",ae)}function Ce(s){s.preventDefault(),M="h",N=s.clientX,te=e.scrollX.value,document.addEventListener("mousemove",ye),document.addEventListener("mouseup",ae)}function ye(s){if(M==="v"){const V=(s.clientY-N)/(ao.value-io.value);o.clampScroll(null,te+V*o.maxScrollY.value),d()}else if(M==="h"){const V=(s.clientX-N)/(qt.value-uo.value);o.clampScroll(te+V*o.maxScrollX.value,null),d()}}function ae(){M=null,document.removeEventListener("mousemove",ye),document.removeEventListener("mouseup",ae)}function W(s){if(M)return;const C=s.currentTarget.getBoundingClientRect(),V=s.clientY-C.top;V<x.value?o.clampScroll(null,e.scrollY.value-yo()):V>x.value+io.value&&o.clampScroll(null,e.scrollY.value+yo()),d()}function Oe(s){if(M)return;const C=s.currentTarget.getBoundingClientRect(),V=s.clientX-C.left;V<fo.value?o.clampScroll(e.scrollX.value-Wt(),null):V>fo.value+uo.value&&o.clampScroll(e.scrollX.value+Wt(),null),d()}let He=!1,P=0,Ne=0,ot=!1,b=!1,z=0,_=0,se=0,de=0,re=0,be=0,Le=0,it=0,ht=!1,xt=!1,Bt=0,Nt=0,Qe="cell",w=0,B=-1,O=-1;function U(s){if(s.button!==0)return;s.preventDefault(),D.value=null;const C=Zo(s,o.canvasRef.value);if(C.y<24&&C.x>=52){const K=C.x-52+e.scrollX.value,ue=k(C.x),X=ue>=0?e.cellToScreenRect(0,ue).x+e.colWidths.value[ue]:-1;if(ue>=0&&Math.abs(C.x-X)<=4){l.saveUndo(),ot=!0,z=ue,se=e.colWidths.value[ue],de=K,d();return}}if(C.x<52&&C.y>=24){const K=C.y-24+e.scrollY.value,ue=v(C.y),X=ue>=0?e.cellToScreenRect(ue,0).y+e.getRowHeight(ue):-1;if(ue>=0&&Math.abs(C.y-X)<=4){l.saveUndo(),b=!0,_=ue,se=e.getRowHeight(ue),de=K,d();return}}if(C.x<52||C.y<24){{const K=o.formulaBarRef.value,ue=!!(K&&typeof document<"u"&&document.activeElement===K);(e.editingCell.value||ue||xe)&&we()}if(C.y<24&&C.x>=52){const K=k(C.x);K>=0&&(e.selectRange(K,0,K,e.rowCount-1,"col"),He=!0,P=K,Ne=0)}else if(C.x<52&&C.y>=24){const K=v(C.y);K>=0&&(e.selectRange(0,K,e.colCount-1,K,"row"),He=!0,P=0,Ne=K)}else C.x<52&&C.y<24&&e.selectAll();d();return}const V=e.screenToCell(C.x,C.y);if(!V)return;const Y=V.col,A=V.row;{const K=o.formulaBarRef.value,ue=!!(K&&typeof document<"u"&&document.activeElement===K);(e.editingCell.value||ue||xe)&&we()}if(s.shiftKey&&e.selection.value){const K=e.selection.value;e.selectRange(K.startCol,K.startRow,Y,A)}else e.selectCell(Y,A);He=!0,P=Y,Ne=A,o.focusEditInput(),d()}function Q(s){if(ot){const ue=Zo(s,o.canvasRef.value).x-52+e.scrollX.value-de,X=se+ue;X>=30&&X<=1e3?e.colWidths.value[z]=X:X<30?e.colWidths.value[z]=30:e.colWidths.value[z]=1e3,d();return}if(b){const ue=Zo(s,o.canvasRef.value).y-24+e.scrollY.value-de,X=se+ue;X>=24&&X<=500?e.rowHeights.value[_]=X:X<24?e.rowHeights.value[_]=24:e.rowHeights.value[_]=500,d();return}if(!He){const K=o.canvasRef.value;if(!K)return;if(l.paintFmt.value){K.style.cursor="copy";return}const ue=Zo(s,K);if(ue.y<24&&ue.x>=52){const X=k(ue.x),pe=X>=0?e.cellToScreenRect(0,X).x+e.colWidths.value[X]:-1;if(X>=0&&Math.abs(ue.x-pe)<=4){K.style.cursor="col-resize";return}}if(ue.x<52&&ue.y>=24){const X=v(ue.y),pe=X>=0?e.cellToScreenRect(X,0).y+e.getRowHeight(X):-1;if(X>=0&&Math.abs(ue.y-pe)<=4){K.style.cursor="row-resize";return}}K.style.cursor="cell";return}const C=Zo(s,o.canvasRef.value);if(P<0||Ne<0)return;if(C.x<52||C.y<24){if(C.y<24&&C.x>=52){const K=k(C.x);K>=0&&e.selectRange(Math.min(P,K),0,Math.max(P,K),e.rowCount-1,"col")}else if(C.x<52&&C.y>=24){const K=v(C.y);K>=0&&e.selectRange(0,Math.min(Ne,K),e.colCount-1,Math.max(Ne,K),"row")}d();return}const V=e.screenToCell(C.x,C.y);if(!V)return;const Y=V.col,A=V.row;Ne===0&&P>=0&&e.selection.value&&e.selection.value.startRow===0&&e.selection.value.endRow===e.rowCount-1?e.selectRange(Math.min(P,Y),0,Math.max(P,Y),e.rowCount-1,"col"):P===0&&Ne>=0&&e.selection.value&&e.selection.value.startCol===0&&e.selection.value.endCol===e.colCount-1?e.selectRange(0,Math.min(Ne,A),e.colCount-1,Math.max(Ne,A),"row"):e.selectRange(P,Ne,Y,A),d()}function Se(s){const C=ot||b;He=!1,ot=!1,b=!1,C&&o.scheduleOptEmit(),l.paintFmt.value&&l.applyPaintFormat()}function Ie(){const s=ot||b;He=!1,ot=!1,b=!1,s&&o.scheduleOptEmit()}function Ke(s){s.preventDefault();const C=Zo(s,o.canvasRef.value);if(C.x<52&&C.y<24){at(s);return}if(C.y<24&&C.x>=52){const V=k(C.x);V>=0&&p(s,V);return}if(C.x<52&&C.y>=24){const V=v(C.y);V>=0&&ee(s,V);return}if(C.x>=52&&C.y>=24){const V=e.screenToCell(C.x,C.y);V&&F(s,V.col,V.row)}}function tt(s){const C=Zo(s,o.canvasRef.value);if(C.x<52||C.y<24)return;const V=e.screenToCell(C.x,C.y);if(!V)return;const Y=V.col,A=V.row;{const K=o.formulaBarRef.value,ue=!!(K&&typeof document<"u"&&document.activeElement===K);(e.editingCell.value||ue||xe)&&we()}e.selectCell(Y,A),e.ensureVisible(Y,A),e.startEdit(),d(),o.focusEditInput()}function je(s){const C=e.scrollX.value+s.deltaX,V=e.scrollY.value+s.deltaY,Y=40,A=o.maxScrollX.value,K=o.maxScrollY.value;if(C>=A-Y&&s.deltaX>0||V>=K-Y&&s.deltaY>0){const ue=Math.max(0,o.viewSize.w-28-11),X=Math.max(0,o.viewSize.h-28-11),pe=Math.max(0,Math.ceil((C+ue)/100)+2),Fe=Math.max(0,Math.ceil((V+X)/24)+2);e.ensureCapacity(pe,Fe)}o.clampScroll(C,V),d()}function qe(s){if(s.touches.length!==1){ht=!1;return}const C=s.touches[0],V=o.canvasRef.value;if(!V)return;const Y=V.getBoundingClientRect(),A=C.clientX-Y.left,K=C.clientY-Y.top;A>=52&&K>=24?(s.preventDefault(),ht=!0,xt=!1,Qe="cell",re=A,be=K,Le=e.scrollX.value,it=e.scrollY.value,Bt=k(A),Nt=v(K)):A>=0&&K>=0&&(A<52||K<24)&&(s.preventDefault(),ht=!0,xt=!1,re=A,be=K,Le=e.scrollX.value,it=e.scrollY.value,K<24&&A>=52?(Qe="col",Bt=k(A),Nt=-1):A<52&&K>=24?(Qe="row",Nt=v(K),Bt=-1):(Qe="all",Bt=-1,Nt=-1))}function Ot(s){if(!ht||s.touches.length!==1)return;const C=s.touches[0],V=o.canvasRef.value;if(!V)return;const Y=V.getBoundingClientRect(),A=C.clientX-Y.left,K=C.clientY-Y.top;(Math.abs(A-re)>8||Math.abs(K-be)>8)&&(xt=!0,s.preventDefault(),o.clampScroll(Le+(re-A),it+(be-K)),d())}function ct(){if(ht&&(ht=!1,!xt))if(Qe==="cell"&&Bt>=0&&Nt>=0){const s=Date.now();Bt===B&&Nt===O&&s-w<300?(e.selectCell(Bt,Nt),e.startEdit(),d(),o.focusEditInput(),w=0):(e.commitEdit(),e.selectCell(Bt,Nt),d(),w=s),B=Bt,O=Nt,o.focusEditInput()}else Qe==="col"&&Bt>=0?(e.commitEdit(),e.selectRange(Bt,0,Bt,e.rowCount-1,"col"),d()):Qe==="row"&&Nt>=0?(e.commitEdit(),e.selectRange(0,Nt,e.colCount-1,Nt,"row"),d()):Qe==="all"&&(e.commitEdit(),e.selectAll(),d())}function St(s){return s.isComposing||s.key==="Process"||s.keyCode===229}function Ut(s){return s.key.length===1&&!s.ctrlKey&&!s.metaKey&&!s.altKey}function zo(s){if(e.editingCell.value)return;const C=s.ctrlKey||s.metaKey,V=s.shiftKey;switch(!0){case(C&&(s.key==="c"||s.key==="C")):s.preventDefault(),n.copyToClipboard();return;case(C&&(s.key==="x"||s.key==="X")):s.preventDefault(),n.cutSelected();return;case(C&&(s.key==="z"||s.key==="Z")):s.preventDefault(),l.undo();return;case(C&&(s.key==="y"||s.key==="Y")):s.preventDefault(),l.redo();return;case(C&&(s.key==="v"||s.key==="V")):s.preventDefault(),l.saveUndo(),n.pasteFromClipboard().then(()=>{d(),t.nextTick(()=>o.emitModelData())});return;case(C&&(s.key==="a"||s.key==="A")):s.preventDefault(),e.selectAll(),d();return;case(C&&s.key==="Home"):s.preventDefault(),e.selectCell(0,0),e.ensureVisible(0,0),d();return;case(C&&s.key==="End"):s.preventDefault(),e.selectCell(e.colCount-1,e.rowCount-1),e.ensureVisible(e.colCount-1,e.rowCount-1),d();return;case s.key==="Home":s.preventDefault(),e.selectCell(0,e.activeCell.value.row),e.ensureVisible(0,e.activeCell.value.row),d();return;case s.key==="End":s.preventDefault(),e.selectCell(e.colCount-1,e.activeCell.value.row),e.ensureVisible(e.colCount-1,e.activeCell.value.row),d();return;case s.key==="ArrowUp":s.preventDefault(),e.moveActive(0,-1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),d();return;case s.key==="ArrowDown":s.preventDefault(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),d();return;case s.key==="ArrowLeft":s.preventDefault(),e.moveActive(-1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),d();return;case s.key==="ArrowRight":s.preventDefault(),e.moveActive(1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),d();return;case s.key==="Tab":s.preventDefault(),e.moveActive(V?-1:1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),d();return;case s.key==="Enter":s.preventDefault(),e.moveActive(0,V?-1:1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),d();return;case s.key==="F2":s.preventDefault(),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(),d(),o.focusEditInput();return;case s.key==="Delete":case s.key==="Backspace":s.preventDefault(),l.saveUndo(),n.clearSelected(),d();return;case s.key==="Escape":s.preventDefault(),e.cancelEdit(),l.paintFmt.value=null,d();return;case Ut(s):if(St(s)){e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(""),d(),o.focusEditInput();return}s.preventDefault(),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(s.key),d(),t.nextTick(()=>{const Y=o.editInputRef.value;Y&&(Y.focus(),Y.setSelectionRange(1,1))});return}}let Jt=!1,Lo=!1;function ln(s){const C=s.target.value;if(!e.editingCell.value){e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(C),L.value=C,d();return}e.editValue.value=C,L.value=C}function $o(){Jt=!0,e.editingCell.value||(e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),e.startEdit(""),L.value="",d())}function Hn(s){Jt=!1,Lo=!0,setTimeout(()=>{Lo=!1},0);const C=s.target.value;e.editValue.value=C,L.value=C}function _o(s){if(!e.editingCell.value){if(Ut(s)||St(s))return;zo(s);return}if(!(Jt||St(s))&&!(Lo&&(s.key==="Enter"||s.key==="Escape")))if(s.key==="Enter"&&(s.altKey||s.metaKey)){s.preventDefault();const C=o.editInputRef.value;if(!C)return;const V=C.selectionStart??C.value.length,Y=C.selectionEnd??C.value.length,A=C.value,K=A.slice(0,V)+`
|
|
9
|
+
`+A.slice(Y);e.editValue.value=K,C.value=K,C.selectionStart=C.selectionEnd=V+1,d()}else s.key==="Enter"?(s.preventDefault(),e.commitEdit(),e.moveActive(0,1),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),d(),o.focusEditInput()):s.key==="Tab"?(s.preventDefault(),e.commitEdit(),e.moveActive(s.shiftKey?-1:1,0),e.ensureVisible(e.activeCell.value.col,e.activeCell.value.row),d(),o.focusEditInput()):s.key==="Escape"&&(s.preventDefault(),e.cancelEdit(),d(),o.focusEditInput())}function rn(s){e.editingCell.value}function fn(){setTimeout(()=>{e.editingCell.value&&(e.commitEdit(),d())},0)}let Qt=null;function mn(){var C;const s=(C=o.wrapperRef.value)==null?void 0:C.getBoundingClientRect();if(s){const V=jo(e.props.width),Y=jo(e.props.height);V!=null?o.viewSize.w=V:o.viewSize.w=s.width,Y!=null?o.viewSize.h=Y:o.viewSize.h=s.height}o.clampScroll(null,null),d()}function rs(){t.onMounted(()=>{const s=jo(e.props.width),C=jo(e.props.height);(s==null||C==null)&&(Qt=new ResizeObserver(()=>mn()),o.wrapperRef.value&&Qt.observe(o.wrapperRef.value)),t.nextTick(()=>{mn(),o.focusEditInput()}),e.selectCell(0,0),o.modelData.value&&o.modelData.value.length>0&&(a.value=JSON.stringify(o.modelData.value),o.sheets.value=o.modelData.value.map(V=>{const Y=o.mkSheet(V.name,{colCount:V.colCount,rowCount:V.rowCount}),{cells:A,styles:K}=cl(V.cells);if(Object.assign(Y.cells,A),Y.styles=V.styles??K,V.borders)Y.borders=V.borders;else{const ue=sl(Y.styles);Y.styles=ue.styles,Y.borders=ue.borders}if(V.colWidths)for(const[ue,X]of Object.entries(V.colWidths)){const pe=Number(ue);pe>=0&&pe<(Y.colCount??e.colCount)&&X>=30&&(Y.colWidths[pe]=X)}if(V.rowHeights)for(const[ue,X]of Object.entries(V.rowHeights)){const pe=Number(ue);pe>=0&&pe<(Y.rowCount??e.rowCount)&&X>=24&&(Y.rowHeights[pe]=X)}if(V.merges)for(const[ue,X]of Object.entries(V.merges))Y.merges[ue]={...X};return Y.freeze=V.freeze?{rows:V.freeze.rows,cols:V.freeze.cols}:{rows:0,cols:0},Y}),o.sheets.value.length>0&&o.loadSheet(0))}),t.watch(()=>[e.props.width,e.props.height],()=>{const s=jo(e.props.width),C=jo(e.props.height);s!=null&&C!=null?(Qt==null||Qt.disconnect(),Qt=null):!Qt&&o.wrapperRef.value&&(Qt=new ResizeObserver(()=>mn()),Qt.observe(o.wrapperRef.value)),t.nextTick(()=>mn())}),t.watch(()=>e.props.theme,()=>d()),t.watch(()=>({...e.cells}),()=>t.nextTick(()=>o.emitModelData()),{deep:!1}),t.watch(()=>({...e.merges}),()=>{t.nextTick(()=>o.emitModelData()),d()},{deep:!1}),t.watch(o.activeSheetIndex,()=>t.nextTick(()=>o.emitModelData())),t.watch(()=>o.modelData.value,s=>{if(!s||s.length===0)return;const C=JSON.stringify(s);if(C===a.value)return;a.value=C;const V=e.selection.value?{...e.selection.value}:null,Y={...e.activeCell.value};o.sheets.value=s.map(X=>{const pe=o.mkSheet(X.name),{cells:Fe,styles:It}=cl(X.cells);if(Object.assign(pe.cells,Fe),pe.styles=X.styles??It,X.borders)pe.borders=X.borders;else{const ut=sl(pe.styles);pe.styles=ut.styles,pe.borders=ut.borders}if(X.colWidths)for(const[ut,Dt]of Object.entries(X.colWidths)){const ft=Number(ut);ft>=0&&ft<e.colCount&&Dt>=30&&(pe.colWidths[ft]=Dt)}if(X.rowHeights)for(const[ut,Dt]of Object.entries(X.rowHeights)){const ft=Number(ut);ft>=0&&ft<e.rowCount&&Dt>=24&&(pe.rowHeights[ft]=Dt)}if(X.merges)for(const[ut,Dt]of Object.entries(X.merges))pe.merges[ut]={...Dt};return pe.freeze=X.freeze?{rows:X.freeze.rows,cols:X.freeze.cols}:{rows:0,cols:0},pe}),o.sheets.value.length>0&&o.loadSheet(0),V&&(e.selection.value=V),e.activeCell.value=Y;const A=e.activeCell.value,K=e.selection.value,ue=e.findMerge(A.col,A.row);ue&&ue.anchor===e.cellKey(A.col,A.row)&&(!K||K.startCol===A.col&&K.startRow===A.row&&K.endCol===A.col&&K.endRow===A.row)&&e.selectCell(A.col,A.row),d()},{deep:!0}),t.onBeforeUnmount(()=>{Qt==null||Qt.disconnect()})}return{scheduleRender:d,render:J,renderFrozenOverlay:j,activeCellLabel:le,formulaBarDisplay:he,formulaBarDraft:L,formulaBarExpanded:g,onFormulaBarFocus:Z,onFormulaBarInput:ie,onFormulaBarKeydown:et,onFormulaBarBlur:Ve,acceptFormulaBarEdit:we,cancelFormulaBarEdit:Te,insertFunctionIntoCell:De,renTab:ke,renTabVal:Be,onTabClick:Xe,onTabDblClick:Ge,commitTabRename:oe,cclTabRename:ge,onTabRenameKd:u,ctxMenu:D,ctxSubmenuLeft:ne,onCtxItemEnter:H,onTabCtxMenu:c,onTabBarCtx:y,onCornerCtx:at,onRowHdrCtx:ee,onColHdrCtx:p,onCellCtx:F,dimInputRef:Ue,dimPanel:vt,openDimPanel:Je,onDimInput:gt,onDimKeydown:kt,onDimBlur:Vt,applyDimPanel:Ht,closeDimPanel:Kt,editInputStyle:lo,hScrollbarW:ro,vScrollbarH:Yt,hScrollbarLeft:Mo,vScrollbarTop:xo,hTrackW:qt,vTrackH:ao,hThumbW:uo,hThumbL:fo,vThumbH:io,vThumbT:x,onVStart:me,onHStart:Ce,onSbMove:ye,onSbUp:ae,onVTrk:W,onHTrk:Oe,onMouseDown:U,onMouseMove:Q,onMouseUp:Se,onMouseLeave:Ie,onCanvasCtx:Ke,onDblClick:tt,onWheel:je,onTouchStart:qe,onTouchMove:Ot,onTouchEnd:ct,onKeydown:zo,onEditInput:ln,onEditCompositionStart:$o,onEditCompositionEnd:Hn,onEditKd:_o,onEditPaste:rn,onEditBlur:fn,applySize:mn,setupLifecycle:rs}}function Hc(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ml(e,l,n,o){return l?o?n?e===l:e.toLowerCase()===l.toLowerCase():n?e.includes(l):e.toLowerCase().includes(l.toLowerCase()):!1}function zc(e,l,n,o){if(!l)return e;if(o){const i=e.indexOf(l);return i<0?e:e.slice(0,i)+n+e.slice(i+l.length)}const a=e.toLowerCase().indexOf(l.toLowerCase());return a<0?e:e.slice(0,a)+n+e.slice(a+l.length)}function Lc(e,l,n,o){return l?o?e.indexOf(l)<0?e:e.split(l).join(n):e.toLowerCase().indexOf(l.toLowerCase())<0?e:e.replace(new RegExp(Hc(l),"gi"),()=>n):e}function On(e,l,n,o,a,i,r){const f=[];if(r){for(let m=r.startRow;m<=r.endRow;m++)for(let h=r.startCol;h<=r.endCol;h++){const S=e[n(h,m)];S&&ml(S.value,o,a,i)&&f.push({sheetIndex:l,col:h,row:m})}return f}for(const m in e){const h=e[m];if(h&&ml(h.value,o,a,i)){const S=m.split(","),d=Number(S[0]),k=Number(S[1]);!Number.isNaN(d)&&!Number.isNaN(k)&&f.push({sheetIndex:l,col:d,row:k})}}return f}function $c(e,l,n,o){const a=t.ref(!1),i=t.ref(""),r=t.ref(""),f=t.ref("sheet"),m=t.ref(!1),h=t.ref(!1),S=t.ref(-1),d=t.ref([]),k=t.ref(""),v=t.ref(0),E=t.ref(""),J=t.computed(()=>{const oe=new Set,ge=n.activeSheetIndex.value;for(const u of d.value)u.sheetIndex===ge&&oe.add(`${u.col},${u.row}`);return oe}),j=t.computed(()=>{if(S.value<0||S.value>=d.value.length)return null;const oe=d.value[S.value];return oe.sheetIndex!==n.activeSheetIndex.value?null:`${oe.col},${oe.row}`});e.findHighlight=(oe,ge)=>{const u=`${oe},${ge}`;return j.value===u?"active":J.value.has(u)?"match":null};function le(oe){var D,I;const ge=e.cellKey(oe.col,oe.row);if(oe.sheetIndex===n.activeSheetIndex.value)return((D=e.cells[ge])==null?void 0:D.value)??"";const u=n.sheets.value[oe.sheetIndex];return((I=u==null?void 0:u.cells[ge])==null?void 0:I.value)??""}function L(oe,ge){const u=e.cellKey(oe.col,oe.row);if(oe.sheetIndex===n.activeSheetIndex.value)e.setCellValue(oe.col,oe.row,ge);else{const D=n.sheets.value[oe.sheetIndex];if(!D)return;const I=D.cells[u];D.cells[u]={value:String(ge),styleId:I==null?void 0:I.styleId}}}function g(){if(E.value){k.value=E.value;return}if(!i.value){k.value="";return}if(f.value==="selection"&&!e.selection.value){k.value=T(e.locale.value,"findNeedSelection");return}if(d.value.length===0){k.value=T(e.locale.value,"findNoResult");return}k.value=""}function he(){const oe=i.value,ge=[];if(oe)if(f.value==="workbook")n.sheets.value.forEach((u,D)=>{ge.push(...On(u.cells,D,e.cellKey,oe,m.value,h.value))});else if(f.value==="selection"){const u=e.selection.value;u&&ge.push(...On(e.cells,n.activeSheetIndex.value,e.cellKey,oe,m.value,h.value,u))}else ge.push(...On(e.cells,n.activeSheetIndex.value,e.cellKey,oe,m.value,h.value));d.value=ge,ge.length===0?S.value=-1:S.value>=ge.length?S.value=ge.length-1:S.value<0&&(S.value=0),g()}function Z(){if(S.value<0||S.value>=d.value.length)return;const oe=d.value[S.value];oe.sheetIndex!==n.activeSheetIndex.value&&n.switchSheet(oe.sheetIndex),f.value==="selection"?e.activeCell.value={col:oe.col,row:oe.row}:e.selectCell(oe.col,oe.row),e.ensureVisible(oe.col,oe.row)}const ie=typeof requestAnimationFrame=="function"?requestAnimationFrame:oe=>setTimeout(oe,16);let De=!1,_e=!1;function xe(oe){if(De){_e=_e||oe;return}De=!0,_e=oe,ie(()=>{var ge;De=!1,he(),_e&&d.value.length>0&&S.value>=0&&Z(),_e=!1,(ge=e.scheduleRender)==null||ge.call(e)})}function we(){var oe;a.value=!0,v.value++,he(),d.value.length>0&&(S.value=0,Z()),(oe=e.scheduleRender)==null||oe.call(e)}function Te(){we()}function et(){var oe;a.value=!1,d.value=[],S.value=-1,E.value="",k.value="",(oe=e.scheduleRender)==null||oe.call(e)}function Ve(){var oe;d.value.length!==0&&(S.value=(S.value+1)%d.value.length,Z(),(oe=e.scheduleRender)==null||oe.call(e))}function ke(){var oe;d.value.length!==0&&(S.value=(S.value-1+d.value.length)%d.value.length,Z(),(oe=e.scheduleRender)==null||oe.call(e))}function Be(){var I,G;if(S.value<0||S.value>=d.value.length)return;const oe=d.value[S.value],ge=le(oe),u=zc(ge,i.value,r.value,m.value);if(u===ge)return;l.saveUndo(),L(oe,u);const D=S.value;he(),d.value.length>0?(S.value=Math.min(D,d.value.length-1),Ve()):S.value=-1,(I=e.emitModelData)==null||I.call(e),(G=e.scheduleRender)==null||G.call(e)}function Xe(){var D,I;const oe=i.value;if(!oe||d.value.length===0)return;l.saveUndo();let ge=0;const u=d.value.slice();for(const G of u){const $=le(G),ne=Lc($,oe,r.value,m.value);ne!==$&&(L(G,ne),ge++)}d.value=[],S.value=-1,E.value=T(e.locale.value,"findReplacedAll").replace("{n}",String(ge)),g(),(D=e.emitModelData)==null||D.call(e),(I=e.scheduleRender)==null||I.call(e)}function Ge(){const oe=ge=>{if(!(ge.ctrlKey||ge.metaKey))return;const D=ge.key.toLowerCase();(D==="f"||D==="h")&&(ge.preventDefault(),we())};window.addEventListener("keydown",oe),t.onBeforeUnmount(()=>window.removeEventListener("keydown",oe))}return t.watch(i,()=>{a.value&&(E.value="",S.value=0,xe(!0))}),t.watch([f,m,h],()=>{a.value&&(E.value="",S.value=0,xe(!0))}),t.watch(e.cells,()=>{a.value&&xe(!1)},{deep:!0}),t.watch(()=>e.selection.value,()=>{a.value&&f.value==="selection"&&(S.value=0,xe(!0))}),t.watch([()=>l.undoStack.value.length,()=>l.redoStack.value.length],()=>{a.value&&xe(!1)}),{open:a,findText:i,replaceText:r,scope:f,matchCase:m,matchEntireCell:h,currentIndex:S,results:d,message:k,focusToken:v,activeSheetMatches:J,activeMatchKey:j,openFind:we,openReplace:Te,close:et,recompute:he,findNext:Ve,findPrev:ke,replace:Be,replaceAll:Xe,setupLifecycle:Ge}}const _c={class:"formula-bar__cell-label"},Wc={class:"formula-bar__buttons"},Pc=["title","aria-label"],Kc=["rows","value"],Uc=["title"],Gc={key:0,width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true"},Yc={key:1,width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true"},Xc=["value"],jc={key:2,class:"sb-corner"},Zc=["onClick","onMouseenter"],qc={class:"context-menu__label"},Jc={key:0,class:"context-menu__arrow",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"22869"},Qc=["onClick"],es={class:"dim-panel__title"},ts={class:"dim-panel__body"},os=["value"],ns={key:0,class:"dim-panel__error"},ls={class:"dim-panel__footer"},pl=Zt(t.defineComponent({__name:"spreader",props:t.mergeModels({rowCount:{default:200},colCount:{default:26},width:{},height:{},theme:{default:"light"},locale:{default:"zh-CN"}},{data:{default:()=>[]},dataModifiers:{}}),emits:["update:data"],setup(e){const l=e,n=t.useModel(e,"data"),o={value:""},a=xc(l,{rowCount:l.rowCount,colCount:l.colCount,theme:l.theme,locale:l.locale}),i={sheets:t.ref([]),activeSheetIndex:t.ref(0),saveSheet:()=>{},loadSheet:H=>{},mkSheet:H=>({id:"",name:H,cells:{},merges:{},styles:[{}],borders:[{}],selection:null,activeCell:{col:0,row:0},scrollX:0,scrollY:0,colWidths:[],rowHeights:[],colCount:0,rowCount:0,freeze:{rows:0,cols:0}})},r=Bc(a,i),f=Tc(a,r);Dc(r,{borderMenuOpen:f.borderMenuOpen,mergeMenuOpen:f.mergeMenuOpen});const m=Vc(a,r,n,void 0,o);i.sheets=m.sheets,i.activeSheetIndex=m.activeSheetIndex,i.saveSheet=m.saveSheet,i.loadSheet=m.loadSheet,i.mkSheet=m.mkSheet;const h=Oc(a,r,f,m,o);h.setupLifecycle();const S=$c(a,r,m);S.setupLifecycle();const d=t.reactive(a),k=t.reactive(r),v=t.reactive(f),E=t.reactive(m),J=m.sheets,j=m.activeSheetIndex,le=m.sortMenuOpen,L=m.cachedSortOrder,g=t.reactive(h),he=t.reactive(S),Z=t.computed(()=>{const H=d.selection;return!!H&&H.startCol===H.endCol&&H.startRow===H.endRow}),ie=t.computed(()=>{const H=d.selection;return H?m.canSortColumns(H.startCol,H.endCol):!1}),De=t.computed(()=>{const H=k.selNumberFormat;if(H!==ho&&H!==Eo)return H;const c=d.activeCell,y=a.resolveStyle(d.cells[d.cellKey(c.col,c.row)]);return typeof(y==null?void 0:y.numberFormat)=="string"?y.numberFormat:""});function _e(H){r.nfDialogOpen.value=H}const xe=t.ref(!1);function we(){xe.value=!0}function Te(H){xe.value=H}function et(H){h.insertFunctionIntoCell(H)}function Ve(H){const c=d.freeze;if(H==="panes"){const y=d.selection,at=y?y.startRow:d.activeCell.row,ee=y?y.startCol:d.activeCell.col;d.setFreeze(at,ee)}else H==="firstRow"?d.setFreeze(1,c.cols):H==="firstCol"?d.setFreeze(c.rows,1):H==="unfreeze"&&d.clearFreeze();g.scheduleRender()}function ke(H){r.fontSizeMenuOpen.value=H}function Be(H){r.textColorMenuOpen.value=H}function Xe(H){r.fillColorMenuOpen.value=H}function Ge(H){h.renTabVal.value=H}function oe(){h.ctxMenu.value=null}const ge=H=>{m.formulaBarRef.value=H};function u(){h.formulaBarExpanded.value=!h.formulaBarExpanded.value}const D=H=>{m.wrapperRef.value=H},I=H=>{m.canvasRef.value=H},G=H=>{m.freezeCanvasRef.value=H},$=H=>{m.editInputRef.value=H},ne=H=>{h.dimInputRef.value=H};return(H,c)=>(t.openBlock(),t.createElementBlock("div",{class:"spreadsheet-outer",style:t.normalizeStyle(E.outerStyle)},[t.createVNode(Ga,{locale:d.locale,"can-undo":k.canUndo,"can-redo":k.canRedo,"paint-fmt-active":k.paintFmt!==null,"has-selection":k.hasSelection,"font-family-options":k.fontFamilyOptions,"font-size-options":k.fontSizeOptions,"sel-font-family":k.selFontFamily,"sel-font-size":k.selFontSize,"font-size-input":k.fontSizeInput,"font-size-menu-open":k.fontSizeMenuOpen,"sel-font-weight":k.selFontWeight,"sel-font-style":k.selFontStyle,"sel-underline":k.selUnderline,"sel-strikethrough":k.selStrikethrough,"sel-text-color":k.selTextColor,"text-color-menu-open":k.textColorMenuOpen,"sel-fill-color":k.selFillColor,"fill-color-menu-open":k.fillColorMenuOpen,"cached-text-color":k.cachedTextColor,"cached-fill-color":k.cachedFillColor,"border-menu-open":v.borderMenuOpen,"cached-border":v.cachedBorder,"sort-menu-open":t.unref(le),"cached-sort-order":t.unref(L),"can-sort":ie.value,"h-align-options":k.hAlignOptions,"v-align-options":k.vAlignOptions,"sel-h-align":k.selHAlign,"sel-v-align":k.selVAlign,"sel-wrap":k.selWrap,"merge-menu-open":v.mergeMenuOpen,"calc-menu-open":v.calcMenuOpen,"is-single-cell":Z.value,"has-freeze":d.freeze.rows>0||d.freeze.cols>0,"sel-number-format":k.selNumberFormatDisplay,"nf-options":k.nfOptions,"can-increase-decimals":k.canIncreaseDecimals,"can-decrease-decimals":k.canDecreaseDecimals,"theme-vars":E.toolbarThemeVars,onUndo:c[0]||(c[0]=y=>k.undo()),onRedo:c[1]||(c[1]=y=>k.redo()),onPaintFormat:k.onPaintFormat,onClearFormat:c[2]||(c[2]=y=>k.clearFormat()),onNumberFormatChange:c[3]||(c[3]=y=>k.onNumberFormatChange(y)),onIncreaseDecimals:k.onIncreaseDecimals,onDecreaseDecimals:k.onDecreaseDecimals,onFontFamilyChange:c[4]||(c[4]=y=>k.onFontFamilyChange(y)),onFontSizeInput:c[5]||(c[5]=y=>k.onFontSizeInput(y)),onFontSizeBlur:k.onFontSizeBlur,onFontSizeKeydown:c[6]||(c[6]=y=>k.onFontSizeKeydown(y)),onFontSizeChange:c[7]||(c[7]=y=>k.onFontSizeChange(y)),"onUpdate:fontSizeMenuOpen":c[8]||(c[8]=y=>ke(y)),onFontSizeToggle:c[9]||(c[9]=y=>k.toggleFontSizeMenu()),onFontSizeStepUp:k.onFontSizeStepUp,onFontSizeStepDown:k.onFontSizeStepDown,onBoldToggle:k.toggleFontWeight,onItalicToggle:k.toggleFontStyle,onUnderlineToggle:k.toggleUnderline,onStrikethroughToggle:k.toggleStrikethrough,onTextColorChange:c[10]||(c[10]=y=>k.onTextColorChange(y)),"onUpdate:textColorMenuOpen":c[11]||(c[11]=y=>Be(y)),onFillColorChange:c[12]||(c[12]=y=>k.onFillColorChange(y)),"onUpdate:fillColorMenuOpen":c[13]||(c[13]=y=>Xe(y)),onApplyTextColor:k.applyCachedTextColor,onApplyFillColor:k.applyCachedFillColor,"onUpdate:borderMenuOpen":c[14]||(c[14]=y=>k.onBorderMenuToggle(y)),onBorderChange:c[15]||(c[15]=y=>v.onBorderChange(y)),onApplyBorder:v.applyCachedBorder,"onUpdate:sortMenuOpen":c[16]||(c[16]=y=>E.onSortMenuToggle(y)),onSortChange:c[17]||(c[17]=y=>E.onSortChange(y)),onApplySort:E.applyCachedSort,onFreezeChange:c[18]||(c[18]=y=>Ve(y)),onHAlignChange:c[19]||(c[19]=y=>k.onHAlignChange(y)),onVAlignChange:c[20]||(c[20]=y=>k.onVAlignChange(y)),onWrapToggle:k.onWrapToggle,"onUpdate:mergeMenuOpen":c[21]||(c[21]=y=>v.onMergeMenuToggle(y)),onMergeChange:c[22]||(c[22]=y=>v.onMergeChange(y)),onApplyMerge:v.onApplyMerge,"onUpdate:calcMenuOpen":c[23]||(c[23]=y=>v.onCalcMenuToggle(y)),onCalcSum:v.onCalcSum,onCalcAvg:v.onCalcAvg,onCalcCount:v.onCalcCount,onFind:c[24]||(c[24]=y=>t.unref(S).openFind())},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","sort-menu-open","cached-sort-order","can-sort","h-align-options","v-align-options","sel-h-align","sel-v-align","sel-wrap","merge-menu-open","calc-menu-open","is-single-cell","has-freeze","sel-number-format","nf-options","can-increase-decimals","can-decrease-decimals","theme-vars","onPaintFormat","onIncreaseDecimals","onDecreaseDecimals","onFontSizeBlur","onFontSizeStepUp","onFontSizeStepDown","onBoldToggle","onItalicToggle","onUnderlineToggle","onStrikethroughToggle","onApplyTextColor","onApplyFillColor","onApplyBorder","onApplySort","onWrapToggle","onApplyMerge","onCalcSum","onCalcAvg","onCalcCount"]),t.createVNode(bi,{open:he.open,"find-text":he.findText,"replace-text":he.replaceText,scope:he.scope,"match-case":he.matchCase,"match-entire-cell":he.matchEntireCell,"current-index":he.currentIndex,total:he.results.length,message:he.message,"focus-token":he.focusToken,locale:d.locale,"theme-vars":E.toolbarThemeVars,"onUpdate:findText":c[25]||(c[25]=y=>t.unref(S).findText.value=y),"onUpdate:replaceText":c[26]||(c[26]=y=>t.unref(S).replaceText.value=y),"onUpdate:scope":c[27]||(c[27]=y=>t.unref(S).scope.value=y),"onUpdate:matchCase":c[28]||(c[28]=y=>t.unref(S).matchCase.value=y),"onUpdate:matchEntireCell":c[29]||(c[29]=y=>t.unref(S).matchEntireCell.value=y),onPrev:c[30]||(c[30]=y=>t.unref(S).findPrev()),onNext:c[31]||(c[31]=y=>t.unref(S).findNext()),onReplace:c[32]||(c[32]=y=>t.unref(S).replace()),onReplaceAll:c[33]||(c[33]=y=>t.unref(S).replaceAll()),onClose:c[34]||(c[34]=y=>t.unref(S).close())},null,8,["open","find-text","replace-text","scope","match-case","match-entire-cell","current-index","total","message","focus-token","locale","theme-vars"]),t.createVNode(Ui,{"model-open":k.nfDialogOpen,locale:d.locale,"current-format":De.value,"is-custom":k.selNumberFormat===t.unref(Eo),"onUpdate:modelOpen":c[35]||(c[35]=y=>_e(y)),onApply:c[36]||(c[36]=y=>k.applyNumberFormatCode(y))},null,8,["model-open","locale","current-format","is-custom"]),t.createVNode(ec,{"model-open":E.sortConfirmOpen,locale:d.locale,"onUpdate:modelOpen":c[37]||(c[37]=y=>E.sortConfirmOpen=y),onConfirm:c[38]||(c[38]=y=>E.confirmSort(y)),onCancel:c[39]||(c[39]=y=>E.cancelSortConfirmation())},null,8,["model-open","locale"]),t.createVNode(vc,{"model-open":xe.value,locale:d.locale,"onUpdate:modelOpen":c[40]||(c[40]=y=>Te(y)),onInsert:c[41]||(c[41]=y=>et(y))},null,8,["model-open","locale"]),t.createElementVNode("div",{class:t.normalizeClass(["formula-bar",{"formula-bar--expanded":g.formulaBarExpanded}])},[t.createElementVNode("div",_c,t.toDisplayString(g.activeCellLabel),1),t.createElementVNode("div",Wc,[t.createElementVNode("button",{type:"button",class:"formula-bar__btn formula-bar__btn--cancel",title:"取消(Esc)","aria-label":"取消",onMousedown:c[42]||(c[42]=t.withModifiers(()=>{},["prevent"])),onClick:c[43]||(c[43]=t.withModifiers((...y)=>g.cancelFormulaBarEdit&&g.cancelFormulaBarEdit(...y),["stop"]))},[...c[94]||(c[94]=[t.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true"},[t.createElementVNode("path",{d:"M3 3l8 8M11 3l-8 8",fill:"none",stroke:"#e53935","stroke-width":"1.8","stroke-linecap":"round"})],-1)])],32),t.createElementVNode("button",{type:"button",class:"formula-bar__btn formula-bar__btn--accept",title:"接受(Enter)","aria-label":"接受",onMousedown:c[44]||(c[44]=t.withModifiers(()=>{},["prevent"])),onClick:c[45]||(c[45]=t.withModifiers((...y)=>g.acceptFormulaBarEdit&&g.acceptFormulaBarEdit(...y),["stop"]))},[...c[95]||(c[95]=[t.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true"},[t.createElementVNode("path",{d:"M2.5 7.5l3.5 3.5L12 3.5",fill:"none",stroke:"#2e7d32","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],32),t.createElementVNode("button",{type:"button",class:"formula-bar__btn formula-bar__btn--fx",title:t.unref(T)(d.locale,"insertFunctionTitle"),"aria-label":t.unref(T)(d.locale,"insertFunctionTitle"),onMousedown:c[46]||(c[46]=t.withModifiers(()=>{},["prevent"])),onClick:t.withModifiers(we,["stop"])},[...c[96]||(c[96]=[t.createElementVNode("span",{class:"formula-bar__fx-label"},"fx",-1)])],40,Pc)]),t.createElementVNode("textarea",{ref:ge,class:t.normalizeClass(["formula-bar__input",{"formula-bar__input--expanded":g.formulaBarExpanded}]),rows:g.formulaBarExpanded?3:1,value:g.formulaBarDisplay,spellcheck:"false",onFocus:c[47]||(c[47]=(...y)=>g.onFormulaBarFocus&&g.onFormulaBarFocus(...y)),onInput:c[48]||(c[48]=(...y)=>g.onFormulaBarInput&&g.onFormulaBarInput(...y)),onKeydown:c[49]||(c[49]=(...y)=>g.onFormulaBarKeydown&&g.onFormulaBarKeydown(...y)),onBlur:c[50]||(c[50]=(...y)=>g.onFormulaBarBlur&&g.onFormulaBarBlur(...y))},null,42,Kc),t.createElementVNode("button",{type:"button",class:"formula-bar__toggle",title:g.formulaBarExpanded?"折叠为1行":"展开为3行",onMousedown:c[51]||(c[51]=t.withModifiers(()=>{},["prevent"])),onClick:t.withModifiers(u,["stop"])},[g.formulaBarExpanded?(t.openBlock(),t.createElementBlock("svg",Yc,[...c[98]||(c[98]=[t.createElementVNode("path",{d:"M2 8l4-4 4 4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):(t.openBlock(),t.createElementBlock("svg",Gc,[...c[97]||(c[97]=[t.createElementVNode("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))],40,Uc)],2),t.createElementVNode("div",{ref:D,class:"spreadsheet-wrapper"},[t.createElementVNode("canvas",{ref:I,class:"grid-canvas",tabindex:"0",onMousedown:c[52]||(c[52]=(...y)=>g.onMouseDown&&g.onMouseDown(...y)),onMousemove:c[53]||(c[53]=(...y)=>g.onMouseMove&&g.onMouseMove(...y)),onMouseup:c[54]||(c[54]=(...y)=>g.onMouseUp&&g.onMouseUp(...y)),onMouseleave:c[55]||(c[55]=(...y)=>g.onMouseLeave&&g.onMouseLeave(...y)),onDblclick:c[56]||(c[56]=(...y)=>g.onDblClick&&g.onDblClick(...y)),onWheel:c[57]||(c[57]=t.withModifiers((...y)=>g.onWheel&&g.onWheel(...y),["prevent"])),onFocus:c[58]||(c[58]=(...y)=>E.onCanvasFocus&&E.onCanvasFocus(...y)),onKeydown:c[59]||(c[59]=(...y)=>g.onKeydown&&g.onKeydown(...y)),onContextmenu:c[60]||(c[60]=(...y)=>g.onCanvasCtx&&g.onCanvasCtx(...y)),onTouchstart:c[61]||(c[61]=t.withModifiers((...y)=>g.onTouchStart&&g.onTouchStart(...y),["prevent"])),onTouchmove:c[62]||(c[62]=t.withModifiers((...y)=>g.onTouchMove&&g.onTouchMove(...y),["prevent"])),onTouchend:c[63]||(c[63]=(...y)=>g.onTouchEnd&&g.onTouchEnd(...y))},null,32),t.createElementVNode("canvas",{ref:G,class:"grid-canvas grid-canvas--freeze","aria-hidden":"true"}),t.createElementVNode("textarea",{ref:$,class:"cell-editor",value:d.editValue,style:t.normalizeStyle(g.editInputStyle),onInput:c[64]||(c[64]=(...y)=>g.onEditInput&&g.onEditInput(...y)),onKeydown:c[65]||(c[65]=(...y)=>g.onEditKd&&g.onEditKd(...y)),onCompositionstart:c[66]||(c[66]=(...y)=>g.onEditCompositionStart&&g.onEditCompositionStart(...y)),onCompositionend:c[67]||(c[67]=(...y)=>g.onEditCompositionEnd&&g.onEditCompositionEnd(...y)),onBlur:c[68]||(c[68]=(...y)=>g.onEditBlur&&g.onEditBlur(...y)),onPaste:c[69]||(c[69]=(...y)=>g.onEditPaste&&g.onEditPaste(...y))},null,44,Xc),E.maxScrollY>0?(t.openBlock(),t.createElementBlock("div",{key:0,class:"v-scrollbar",style:t.normalizeStyle({top:g.vScrollbarTop+"px",height:`calc(100% - ${g.vScrollbarTop+t.unref(11)}px)`})},[t.createElementVNode("button",{class:"sb-btn sb-btn--up",title:"",onMousedown:c[70]||(c[70]=t.withModifiers(y=>{E.clampScroll(null,d.scrollY-50),g.scheduleRender()},["prevent"]))},[...c[99]||(c[99]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--up"},null,-1)])],32),t.createElementVNode("div",{class:"sb-track sb-track--v",onMousedown:c[72]||(c[72]=(...y)=>g.onVTrk&&g.onVTrk(...y))},[t.createElementVNode("div",{class:"sb-thumb sb-thumb--v",style:t.normalizeStyle({top:g.vThumbT+"px",height:g.vThumbH+"px"}),onMousedown:c[71]||(c[71]=(...y)=>g.onVStart&&g.onVStart(...y))},null,36)],32),t.createElementVNode("button",{class:"sb-btn sb-btn--down",onMousedown:c[73]||(c[73]=t.withModifiers(y=>{E.clampScroll(null,d.scrollY+50),g.scheduleRender()},["prevent"]))},[...c[100]||(c[100]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--down"},null,-1)])],32)],4)):t.createCommentVNode("",!0),E.maxScrollX>0?(t.openBlock(),t.createElementBlock("div",{key:1,class:"h-scrollbar",style:t.normalizeStyle({left:g.hScrollbarLeft+"px",width:`calc(100% - ${g.hScrollbarLeft+t.unref(11)}px)`})},[t.createElementVNode("button",{class:"sb-btn sb-btn--left",onMousedown:c[74]||(c[74]=t.withModifiers(y=>{E.clampScroll(d.scrollX-50,null),g.scheduleRender()},["prevent"]))},[...c[101]||(c[101]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--left"},null,-1)])],32),t.createElementVNode("div",{class:"sb-track sb-track--h",onMousedown:c[76]||(c[76]=(...y)=>g.onHTrk&&g.onHTrk(...y))},[t.createElementVNode("div",{class:"sb-thumb sb-thumb--h",style:t.normalizeStyle({left:g.hThumbL+"px",width:g.hThumbW+"px"}),onMousedown:c[75]||(c[75]=(...y)=>g.onHStart&&g.onHStart(...y))},null,36)],32),t.createElementVNode("button",{class:"sb-btn sb-btn--right",onMousedown:c[77]||(c[77]=t.withModifiers(y=>{E.clampScroll(d.scrollX+50,null),g.scheduleRender()},["prevent"]))},[...c[102]||(c[102]=[t.createElementVNode("span",{class:"sb-arrow sb-arrow--right"},null,-1)])],32)],4)):t.createCommentVNode("",!0),E.maxScrollX>0&&E.maxScrollY>0?(t.openBlock(),t.createElementBlock("div",jc)):t.createCommentVNode("",!0)]),t.createVNode(ri,{locale:d.locale,sheets:t.unref(J),"active-sheet-index":t.unref(j),"ren-tab":g.renTab,"ren-tab-val":g.renTabVal,onTabClick:c[78]||(c[78]=y=>g.onTabClick(y)),onTabDblclick:c[79]||(c[79]=y=>g.onTabDblClick(y)),onTabContextmenu:c[80]||(c[80]=y=>g.onTabCtxMenu(y.ev,y.i)),onTabRenameInput:c[81]||(c[81]=y=>Ge(y)),onTabRenameKeydown:c[82]||(c[82]=y=>g.onTabRenameKd(y)),onTabRenameCommit:g.commitTabRename,onTabbarContextmenu:c[83]||(c[83]=y=>g.onTabBarCtx(y)),onDeleteSheet:c[84]||(c[84]=y=>{E.removeSheet(y),g.scheduleRender()}),onAddSheet:c[85]||(c[85]=y=>{E.addSheet(),g.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(()=>[g.ctxMenu?(t.openBlock(),t.createElementBlock("div",{key:0,class:"context-menu",style:t.normalizeStyle({left:g.ctxMenu.x+"px",top:g.ctxMenu.y+"px"}),onClick:c[86]||(c[86]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.ctxMenu.items,(y,at)=>(t.openBlock(),t.createElementBlock("div",{key:at,class:t.normalizeClass(["context-menu__item",{"context-menu__item--disabled":y.disabled}]),onClick:ee=>!y.disabled&&y.action&&(y.action(),oe()),onMouseenter:ee=>g.onCtxItemEnter(ee,y)},[t.createElementVNode("span",qc,t.toDisplayString(y.label),1),y.children?(t.openBlock(),t.createElementBlock("svg",Jc,[...c[103]||(c[103]=[t.createElementVNode("path",{d:"M361.386667 180.053333a32 32 0 0 0 0 45.226667L648.106667 512l-286.72 286.72a32 32 0 1 0 45.226666 45.226667l309.333334-309.333334a32 32 0 0 0 0-45.226666L406.613333 180.053333a32 32 0 0 0-45.226666 0z","p-id":"22870"},null,-1)])])):t.createCommentVNode("",!0),y.children?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["context-submenu",{"context-submenu--left":g.ctxSubmenuLeft}])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.children,(ee,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,class:t.normalizeClass(["context-menu__item",{"context-menu__item--disabled":ee.disabled}]),onClick:t.withModifiers(F=>!ee.disabled&&ee.action&&(ee.action(),oe()),["stop"])},t.toDisplayString(ee.label),11,Qc))),128))],2)):t.createCommentVNode("",!0)],42,Zc))),128))],4)):t.createCommentVNode("",!0)]),_:1})])),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"menu-pop"},{default:t.withCtx(()=>[g.dimPanel?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dim-panel",style:t.normalizeStyle({left:g.dimPanel.x+"px",top:g.dimPanel.y+"px"}),onMousedown:c[92]||(c[92]=t.withModifiers(()=>{},["stop"])),onClick:c[93]||(c[93]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",es,t.toDisplayString(g.dimPanel.type==="row"?"行高":"列宽"),1),t.createElementVNode("div",ts,[t.createElementVNode("input",{ref:ne,class:t.normalizeClass(["dim-panel__input",{"dim-panel__input--error":g.dimPanel.error}]),type:"number",step:"1",min:"1",inputmode:"numeric",value:g.dimPanel.value,onInput:c[87]||(c[87]=(...y)=>g.onDimInput&&g.onDimInput(...y)),onKeydown:c[88]||(c[88]=(...y)=>g.onDimKeydown&&g.onDimKeydown(...y)),onBlur:c[89]||(c[89]=(...y)=>g.onDimBlur&&g.onDimBlur(...y))},null,42,os)]),g.dimPanel.error?(t.openBlock(),t.createElementBlock("div",ns,t.toDisplayString(g.dimPanel.error),1)):t.createCommentVNode("",!0),t.createElementVNode("div",ls,[t.createElementVNode("button",{class:"dim-panel__btn dim-panel__btn--primary",onClick:c[90]||(c[90]=(...y)=>g.applyDimPanel&&g.applyDimPanel(...y))}," 确定 "),t.createElementVNode("button",{class:"dim-panel__btn",onClick:c[91]||(c[91]=(...y)=>g.closeDimPanel&&g.closeDimPanel(...y))}," 取消 ")])],36)):t.createCommentVNode("",!0)]),_:1})]))],4))}}),[["__scopeId","data-v-a7c5466d"]]);Oo.Spreader=pl,Oo.default=pl,Object.defineProperties(Oo,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|